Curs 1 - Java EE
-
Upload
darius-moti -
Category
Documents
-
view
119 -
download
4
description
Transcript of Curs 1 - Java EE
Java Enterprise Edition (Java EE)
Tehnologii Java – p.3/24
Cuprins
Ce reprezinta Java EE ?
Avantajele platformei
Tehnologiile de baza
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):
ProtocoaleTCP, UDP, HTTP, SOAP, XML-RPC, ...
Limbaje de programare
Tehnici de programare în reteaDatagrame, Socket-uri, RMI, ...
Ce vrem : un cadru de lucru pentru dezvoltarea deaplicatii complexe.
Tehnologii Java – p.6/24
Ce este Java EE ?
Java Platform, Enterprise Edition (Java EE) definestestandardul pentru dezvoltarea de aplicatii:
distribuite
multi-platform a
bazate pe componente
pe mai multe niveluri
(Java EE = urmasul lui J2EE)
Tehnologii Java – p.7/24
Avantajele Java EE
Bazat pe specificatii - implement ari
Portabilitate
Scalabilitate
Interoperabilitate
Performant 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
"Sustinatori"
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 distribuita = aplicatie compusa din mai multecomponente distincte ce ruleaza pe platforme eterogeneconectate prin retea.
Modele
2-tier (client-server)
3-tier (client-middleware-server)
multitier (client-multiple middleware-multipleservers)
Tehnologii Java – p.13/24
Aplicatii pe mai multe niveluri
Tehnologii Java – p.14/24
Nivelul client
Responsabil cu interactiunea directa cu utilizatorul.
Clienti 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 FacesJava-based Web application frameworkOrientat pe componente GUI - AJAXModel 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)
Modeleaza actiuni : autentificare si autorizare,accesarea unui sistem extern sau a unei baze dedate, apelarea altor componente, etc.
Modeleaza date , fiind obiecte ce contin informatiidintr-un mediu persistent.
Permit definirea de actiuni ce pot fi apelate prinmesaje .
Tehnologii Java – p.17/24
Nivelul informational
Modalitati de stocare a informatieiBaze de date
relationaleobiectuale
Sisteme de fisiereSisteme dedicate de persistenta
Tehnici de accesare a informatieiJDBC, JPAJAXP, JAXBJNDI, ...
Tehnologii Java – p.18/24
Aplicatii Java EE
Tehnologii Java – p.19/24
Definitii
Aplicatie Java EE = colectie de componente: servleturi,pagini html, clase, resurse, etc. care pot fi rulate încontainere standard oferite de diversi producatori.
Container = interfata între o componenta sifunctionalitatile specifice platformei care asigurafunctionarea componentei.
Server de aplicatii = Sistem software ce implementeazadiverse tipuri de containere, oferind mecanismelenecesare executiei unei aplicatii Java EE.
Tehnologii Java – p.20/24
Ciclul de viata al unei aplicatii
Containerul unei aplicatii va generara evenimente:
Când o aplicatie este initializata
Când o aplicatie este eliminata
Când este primita o cerere
Când este creata 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.xmlAlte fisiere de configurare\classes
.class, .properties\lib
.jar
web.xml este fisierul principal de configurare al oricareiaplicatii Web.
Tehnologii Java – p.22/24
Exemplu de fisier 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
Bibliografie
The Java EE Tutorialhttp://java.sun.com/javaee/5/docs/tutorial/doc/
...
Tehnologii Java – p.24/24