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