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