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