Transcript Java Web
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-ViewController 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 Sfarsit