240 likes | 335 Views
Java Web. Bugnar Alexandru. Evolutia tehnologilor de dezvoltare a aplicatiilor web. C CGI Java Applet JSP/Servleti Model 2. “Model 2”.
E N D
Java Web Bugnar Alexandru
Evolutia tehnologilor de dezvoltare a aplicatiilor web • C • CGI • Java Applet • JSP/Servleti • Model 2
“Model 2” • Un model de dezvoltare descrie o problema care apare de mai multe ori apoi descrie solutia la acea problema, in asa fel incat sa poti folosi solutia de cate ori este necesar fara a o face la fel de doua ori • Separa partea de prezentare de partea de logica • Interactiunea se face prin intermediul unui “controller”
Model 2 in Java • Se bazeaza pe arhitectura Model-View-Controller • Model – partea de lucru – Clase java • View – partea de prezentare – JSP • Controller – leaga celelalte parti - servlet
Tehnologi de dezvoltare aplicatii web in java • Servleti • JSP • Etichete personalizate(custom tags) • Model 2 (Plarforme de dezvoltare)
Servleti • Sunt prima tehnologie folosita in dezvoltarea web • Codul java care se ocupa de partea de prezentare este combinat cu cel care se ocupa de logica aplicatiei • Recomandat pentru aplicatii extrem de mici • Odata cu aparitia tehnologiei JSP dezvoltarea bazata numai pe servleti a fost abandonata.
JSP – Java Server Pages • Tinta tehnologiei JSP este sa ajute partea de prezentare fara a pierde beneficiile servletilor acelea de a fi compilate o singura data • JSP sunt mai sigure deoarece o buna parte din infrastructura este rezolvata de standard • Dezavantajele principale apar in momentul in care aplicatia trebuie adaugate noi functionalitati • Dezvoltatorii sunt incurajati sa puna partea de prezentare si de logica pe aceeasi pagina ceea ce face dificil lucrul la pagina de catre o echipa specializata
Etichete personalizate(custom tags) • Incapsuleaza diferite secvente complexe de cod • Sunt reutilizabile • Exista biblioteci specializate
Model 2 (Plarforme de dezvoltare) • Este mult mai eficienta decat metodele anterioare. • Presupune existenta unor echipe specializate • Platforme de dezvoltare - Strut - Tapestry - Velocity - Cocoon
Strut • Fluxul de informatii in aplicatiile care folosesc Strut este similar cu cel din aplicatiile bazate pe “Model 2” • Nu ofera nici o alta functionalitate inafara de cele din “Model 2” • Este cea mai populara platforma
Tapestry • Se departeaza de ideea aplicatiei web si permite crearea de aplicatii web care seamana mai mult cu aplicatiile traditionale. • Este foarte complexa comparativ cu Strut • Documentatia si exemplele extrem de bune • Depanarea aplicatiilor scrise cu “Tapestry” este foarte usoara
Velocity • Se ocupa doar de partea de prezentare fata de celelalte platforme • Inlocuieste tehnologia JSP si alte tehnologii de vizualizare • Documentatia este buna si exemplele intuitive • Este o platforma indeajuns de simpla sa nu necesite instrumente de depanare
Cocoon • Este o platforma de dezvoltare dar si de publicare. • Bazata pe tehnologia XML si XSLT • Documentatia este foarte imprastiata • Exemplele sunt toate in aceeasi aplicatie.
Evaluarea performantele platformelor • Scalabilitate in functie de aplicatie • Viteza de dezvoltare • Durata de viata si intretinere • Documentatie • Ghidul dezvoltatorului • JavaDoc • Codul sursa • Instrumente
Evaluarea performantele platformelor (continuare) • Criterii externe • Masa critica • Comunitatea de dezvoltatori. • Interfata utilizatorului • Usurinta de utilizare • Complexitate • Flexibilitate • “Apreciere”
Practici in dezvoltarea web • Separarea elementelor aplicatiei • Eficienta • Depanare • Testare • Servicii web
Separarea elementelor aplicatiei • Folosirea de interfete pentru a ascunde implementarea • Interfete JDBC • JavaBeans
Eficienta • Se refera la resursele necesare aplicatiei • Tehnici de verificare • Masurarea memoriei • Verificarea performantei • Testarea performantei
Depanare • Este raul necesar al dezvoltarii software • Metode de depanare • Depanare folosind SDK-ul java • Depanarea folosind medii de dezvoltare • Depanarea folosind loguri.
Testare • Concept cheie in dezvoltarea java • Creste calitatea codului • Este indispensabil in dezvoltarea in care timpul este factor critic • Instrumente de testare • JUnit • JwebUnit
Servicii web • Reprezinta o noua paradigma de a realiza “Remote Procedure Calls-RPC” • Servicii web este un termen acoperitor pentru a face cereri RPC prin HTTP folosind SOAP ca mecanismul de transmitere a datelor • Standardul de servicii web este bazat pe protocoalde deja existente: XML si HTTP • Standardul mai cuprinde: Web Service Description Language(WSDL) si Universal Description, Discovery and Integration(UDDI)
Axis • O platforma open-source de realizare servicii web in Java • Cererile se fac peste unul dintre protocoalele folosite de platforma • Cererea este transmisa printr-un lant de operatii • Cand cererea ajunge la un punct special in lant numit “pivot point” se intoarce spre client.
Conceptul de interoperabilitate • Serviciile web promit interoperabilitate peste mai multe sisteme cu configuratii, sisteme de operare si limbaje de programare diferite • Interoperabilitatea completa nu poate fi obtinuta din considerentele: nu toate versiunile standului sunt compatibile si Nu este clar cum se va permite versionarea unui serviciu web