Documente Academic
Documente Profesional
Documente Cultură
Rusu Catalin
Inginerie Software
An II
Java SE conine un API care ofer funcionalitatea core a limbajului de programare Java, o
main virtual, instrumente de dezvoltare, tehnologii de deployment i alte biblioteci de clase
i toolkits folosite n aplicaiile Java.
Platforma Java EE este construit peste platforma Java SE.
Java ME ofer un API (subset al Java SE API) i o main virtual special pentru rularea
aplicaiilor Java pe dispositive mici cum sunt telefoanele mobile. Aplicaiile Java ME sunt adesea
clieni ai serviciilor de platform Java EE.
JavaFX este o platform ce permite crearea de aplicaii internet ample ce folosesc lightweight
user-interface API. Aplicaiile JavaFX pot fi clieni ai serviciilor de platform Java EE.
Enterprise JavaBeans (EJB) componente de business care ruleaz pe serverul Java EE.
enterprise beans care se execut pe serverul Java EE unde pot beneficia de securitatea, viteza, i
sigurana tehnologiilor Java EE de pe partea de server.
O pagin web primit de la nivelul web poate include applet-uri embedded. Acestea se execut
pe maina virtual Java instalat n browser. Componentele web sunt API-ul preferat pentru
crearea unui program client web, acestea permind o proiectare mai curat i mai modulara a
aplicaiei deoarece ofer o cale de a separa programarea aplicaiilor de proiectarea paginii web.
Clienii aplicaie se execut pe maina clientului. Acetia acceseaz direct bean-urile enterprise
care ruleaz n nivelul de business. Totui, dac cerinele aplicaiei garanteaz acest lucru, un
client aplicaie poate deschide o conexiune HTTP pentru a stabili o comunicare cu un servlet ce
ruleaz pe nivelul web.
Nivelele server i client includ de asemenea i componente bazate pe arhitectura
componentelor JavaBeans pentru a administra fluxul de date dintre un client aplicaie sau un
applet i componentele ce ruleaz pe serverul Java EE, sau dintre componentele de server i o
baz de date. Componentele JavaBeans nu sunt considerate ca fiind componente Java EE de
catre specificaia Java EE. [4]
n ceea ce privete comunicarea cu serverul Java EE, clientul comunic cu nivelul business care
ruleaz pe serverul Java EE, fie direct fie, n cazul unui client ce ruleaz ntr-un browser, prin
pagini JSP sau servlete ce ruleaz n nivelul web. [5]
Nivelul enterprise information system manipuleaz software EIS i include systeme enterprise
de infrastructur cum ar fi planificare de resurse, procesare de tranzacii mainframe, sisteme de
baze de date sau alte sisteme de informaie legacy. [4]
Arhitectura Java EE bazata pe componente si independent de platform face ca aplicaiile s fie
uor de scris datorit faptului c logica de business este organizat n componente reutilizabile.
n plus, serverul Java EE ofer
servicii de baz sub form de container pentru fiecare
component.
Containerele sunt interfaa dintre o component i funcionalitatea specific de platform de
nivel redus (low level), care suport componenta. nainte ca o component client web sau
enterprise bean sau client aplicaie s fie executat, ea trebuie s fie asamblat ntr-un modul
Java EE i apoi lansat (deployed) n container-ul ei.
Datorit faptului c arhitectura Java EE ofer servicii configurabile, componentele aplicaiei din
cadrul aceleiai aplicaii Java EE se pot comporta diferit n funcie de unde sunt acestea lansate
(deployed).
securitate specifice pentru mediul respectiv, useri i metode. ntr-un fisier de clas, informaiile
legate de securitate sunt specificate cu ajutorul anotaiilor (numite i metadate).
Securitatea programatic este incorporat ntr-o aplicaie i folosit pentru a lua decizii de
securitate. [11]
Scalabilitatea i disponibilitatea sunt date de folosirea clusterelor ca mediu de execuie pentru
platforma Java EE. [12, 13]
Un alt atribut de calitate care este promovat de Platforma Java EE este sigurana (reliability).
Mecanismele care asigur obinerea livrrii sigure de mesaje sunt: controlarea confirmrii
mesajelor (se pot specifica nivele de control al confirmrii mesajelor), specificarea persistenei
mesajelor (se poate specifica faptul c mesajele sunt persistente, pentru ca acestea s nu fie
pierdute n cazul unui eec la nivel de provider), setarea nivelelor de prioritate a mesajelor
(aceste nivele afectaz modul n care mesajele vor fi livrate), permiterea expirrii mesajelor
(acestea nu vor mai fi expediate dac au depit un anumit termen), crearea de destinaii
temporare (acestea rmn doar pe perioada conexiunii). [14]
Testabilitatea n Java EE 6 poate fi nbuntit cu ajutorul framework-ului Arquillian. Testarea
de integrare este un punct important n Java EE, deoarece componentele de business
interacioneaz adesea cu resursele container-ului sau cu subsistemul, i multe servicii
declarative sunt aplicate componentei la runtime. Dei cea mai mare parte a logicii de business
poate fi testat acum n afara container-ului, multe servicii de infrastructur (tranzacii,
securitate, etc.) au fost adugate n construcii de programare declarative cu scopul de a izola
serviciile de logica de business. Framework-ul Arquillian pentru rularea de teste n container
ajut la confirmarea faptului c logica de business funcioneaz corect n context i verific dac
serviciile de infrastructur sunt aplicate corect. [15]
Documentaie
Documentaia pentru standardul Java EE se gsete n cea mai mare parte pe site-ul oficial
Oracle. Este o documentaie ampl, cuprinztoare, bine structurat, disponibil att online ct i
n format de download (PDF). Un lucru de menionat este c poate fi gsit att documentaia
pentru versiunea cea mai actual a standardului, ct i documentaiile pentru versiunile
anterioare.
Documentaia de pe site-ul Oracle este de asemenea prezentat ntr-o manier user-friendly,
usor de accesat i este uor de navigat prin ea. Seciunea FAQ ofer rspunsuri utile i la obiect
pentru cele mai frecvente ntrebri.
Exist i alte site-uri i blog-uri pe care pot fi gsite informaii legate de standardul Java EE i mai
ales aspecte practice din utilizarea Java EE. Numeroase opinii i soluii sunt date de diveri
utilizatori/arhiteci, acestea fiind mai mult sau mai puin obiective. Dar pot fi de folos pentru cei
interesai n a analiza avantajele/dezavantajele standardului sau n a gsi soluii pentru propriile
aplicaii.
n general documentaia de pe site-urile oficiale cum e Oracle, prezint cu precdere avantajele,
punctele tari i beneficiile, cutnd s minimalizeze sau s nu pomeneasc de punctele slabe
sau de defectele platformei. O mbuntire a documentaiei, din punctul de vedere al
utilizatorului, ar fi ca documentaia s fie mai explicit i mai onest cu privire la deficienele i
inconvenientele pe care le prezint.
Bibliografie
[1] http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition
[2] http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html
[3] http://docs.oracle.com/javaee/6/firstcup/doc/firstcup.pdf
[4] Curs Tehnologii Web, an III, prof. S. Mihalas
[5] http://docs.oracle.com/cd/E19798-01/821-1841/bnabh/index.html
[6] http://docs.oracle.com/javaee/6/tutorial/doc/bnaay.html
[7] http://www.oracle.com/technetwork/articles/javaee/javaee6overview-141808.html
[8] http://www.adam-bien.com/roller/abien/entry/java_ee_or_net_an
[9] http://blog.jelastic.com/2012/03/19/jelastic-holy-grail-of-java-hosting/
[10] http://docs.oracle.com/javaee/6/tutorial/doc/gijqy.html
[11] http://docs.oracle.com/javaee/5/tutorial/doc/bnbwk.html
[12] http://marakana.com/bookshelf/javaee_tutorial/high_availability_and_scalability.html
[13] http://docs.oracle.com/cd/E18930_01/html/821-2432/gktqx.html
[14] http://docs.oracle.com/cd/E19798-01/821-1841/bncfv/index.html
[15] http://java.dzone.com/articles/arquillian-making-integration