Sunteți pe pagina 1din 22

Java Enterprise Edition (Java EE)

Tehnologii Java p.3/24


Cuprins
Ce reprezint a Java EE ?
Avantajele platformei
Tehnologiile de baz a
Sisteme distribuite
Aplicatii Java EE
Tehnologii Java p.4/24
Contextul de lucru
Bancar
Bursa
Telefonie
Lanturi comerciale
Transport, ...
Caracteristici comune:
Sisteme complexe
Sisteme distribuite
Tehnologii Java p.5/24
Imagine de ansamblu
Ce avem la dispozitie (la momentul 0):
Protocoale
TCP, UDP, HTTP, SOAP, XML-RPC, ...
Limbaje de programare
Tehnici de programare n re tea
Datagrame, Socket-uri, RMI, ...
Ce vrem: un cadru de lucru pentru dezvoltarea de
aplicatii complexe.
Tehnologii Java p.6/24
Ce este Java EE ?
Java Platform, Enterprise Edition (Java EE) dene ste
standardul pentru dezvoltarea de aplicatii:
distribuite
multi-platform a
bazate pe componente
pe mai multe niveluri
(Java EE = urma sul lui J2EE)
Tehnologii Java p.7/24
Avantajele Java EE
Bazat pe specicatii - implement ari
Portabilitate
Scalabilitate
Interoperabilitate
Performan t a
Simplitate
Costuri reduse
Standard industrial
Tehnologii Java p.8/24
Tehnologii
Servlet
JSP Java Server Pages
JSF Java Server Faces
JNDI Java Naming and Directoy Interface
JTA Java Transaction API
JMS Java Message Service
EJB Enterprise Java Beans
JAX-WS Web Services
JDBC, JPA, JAXP, ...
Tehnologii Java p.9/24
"Sustin atori"
Sun: GlassFish
IBM:IBM WebSphere
Oracle: Oracle Application Server
Apache: Apache Tomcat, Geronimo
RedHat (JBoss): JBoss Application Server
BEA: BEA WebLogic Application Server
SAP: SAP NetWeave
Macromedia: JRun
...
Tehnologii Java p.10/24
Competitori
Microsoft .NET
"LAMP" (Linux, Apache, MySQL, PHP/Python/Perl)
Tehnologii Java p.11/24
Sisteme distribuite
Tehnologii Java p.12/24
Aplicatii distribuite
Aplicatie distribuit a = aplicatie compus a din mai multe
componente distincte ce ruleaz a pe platforme eterogene
conectate prin retea.
Modele
2-tier (client-server)
3-tier (client-middleware-server)
multitier (client-multiple middleware-multiple
servers)
Tehnologii Java p.13/24
Aplicatii pe mai multe niveluri
Tehnologii Java p.14/24
Nivelul client
Responsabil cu interactiunea direct a cu utilizatorul.
Clien ti Web (thin)
Appleturi (plug-in, securitate)
Aplicatii Webstart (smart client)
Aplicatii desktop clasice (heavy)
Comunicare: Client-Web-Business, Client-Business
Tehnologii Java p.15/24
Nivelul Web
Responsabil cu generarea de continut dinamic.
Servlet-uri
Pagini JSP
Java Server Faces
Java-based Web application framework
Orientat pe componente GUI - AJAX
Model bazat pe evenimente server-side.
Suport pentru: navigare, validare, conversie,
internationalizare, etc.
Tehnologii Java p.16/24
Nivelul de logica aplicatiei
Enterprise Java Beans (EJB)
Modeleaz a actiuni: autenticare si autorizare,
accesarea unui sistem extern sau a unei baze de
date, apelarea altor componente, etc.
Modeleaz a date, ind obiecte ce contin informatii
dintr-un mediu persistent.
Permit denirea de actiuni ce pot apelate prin
mesaje.
Tehnologii Java p.17/24
Nivelul informational
Modalit ati de stocare a informatiei
Baze de date
relationale
obiectuale
Sisteme de siere
Sisteme dedicate de persistent a
Tehnici de accesare a informatiei
JDBC, JPA
JAXP, JAXB
JNDI, ...
Tehnologii Java p.18/24
Aplicatii Java EE
Tehnologii Java p.19/24
Denitii
Aplicatie Java EE = colectie de componente: servleturi,
pagini html, clase, resurse, etc. care pot rulate n
containere standard oferite de diver si produc atori.
Container = interfat a ntre o component a si
functionalit atile specice platformei care asigur a
functionarea componentei.
Server de aplicatii = Sistem software ce implementeaz a
diverse tipuri de containere, oferind mecanismele
necesare executiei unei aplicatii Java EE.
Tehnologii Java p.20/24
Ciclul de via t a al unei aplicatii
Containerul unei aplicatii va generara evenimente:
Cnd o aplicatie este initializat a
Cnd o aplicatie este eliminat a
Cnd este primit a o cerere
Cnd este creat a o sesiune de lucru
etc.
Tehnologii Java p.21/24
Organizarea componentelor
La nivel de surse: Java EE blueprints
La nivel executabil war, ear
\aplicatie
Pagini Web, Resurse
\WEB-INF
web.xml
Alte fisiere de configurare
\classes
.class, .properties
\lib
.jar
web.xml este sierul principal de congurare al oric arei
aplicatii Web.
Tehnologii Java p.22/24
Exemplu de sier web.xml
<web-app>
<display-name>aplicatie</display-name>
<description>Prima mea aplicatie</description>
<session-timeout>30</session-timeout>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.samples.FirstServlet</servlet-class>
</servlet>
</web-app>
Tehnologii Java p.23/24
Bibliograe
The Java EE Tutorial
http://java.sun.com/javaee/5/docs/tutorial/doc/
...
Tehnologii Java p.24/24

S-ar putea să vă placă și