Curs 1 - Java EE

22
Java Enterprise Edition (Java EE) Tehnologii Java – p.3/2

description

JAVA EE

Transcript of Curs 1 - Java EE

Page 1: Curs 1 - Java EE

Java Enterprise Edition (Java EE)

Tehnologii Java – p.3/24

Page 2: Curs 1 - Java EE

Cuprins

Ce reprezinta Java EE ?

Avantajele platformei

Tehnologiile de baza

Sisteme distribuite

Aplicatii Java EE

Tehnologii Java – p.4/24

Page 3: Curs 1 - Java EE

Contextul de lucru

Bancar

Bursa

Telefonie

Lanturi comerciale

Transport, ...

Caracteristici comune:

Sisteme complexe

Sisteme distribuite

Tehnologii Java – p.5/24

Page 4: Curs 1 - Java EE

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

Page 5: Curs 1 - Java EE

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

Page 6: Curs 1 - Java EE

Avantajele Java EE

Bazat pe specificatii - implement ari

Portabilitate

Scalabilitate

Interoperabilitate

Performant a

Simplitate

Costuri reduse

Standard industrial

Tehnologii Java – p.8/24

Page 7: Curs 1 - Java EE

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

Page 8: Curs 1 - Java EE

"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

Page 9: Curs 1 - Java EE

Competitori

Microsoft .NET

"LAMP" (Linux, Apache, MySQL, PHP/Python/Perl)

Tehnologii Java – p.11/24

Page 10: Curs 1 - Java EE

Sisteme distribuite

Tehnologii Java – p.12/24

Page 11: Curs 1 - Java EE

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

Page 12: Curs 1 - Java EE

Aplicatii pe mai multe niveluri

Tehnologii Java – p.14/24

Page 13: Curs 1 - Java EE

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

Page 14: Curs 1 - Java EE

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

Page 15: Curs 1 - Java EE

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

Page 16: Curs 1 - Java EE

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

Page 17: Curs 1 - Java EE

Aplicatii Java EE

Tehnologii Java – p.19/24

Page 18: Curs 1 - Java EE

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

Page 19: Curs 1 - Java EE

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

Page 20: Curs 1 - Java EE

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

Page 21: Curs 1 - Java EE

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

Page 22: Curs 1 - Java EE

Bibliografie

The Java EE Tutorialhttp://java.sun.com/javaee/5/docs/tutorial/doc/

...

Tehnologii Java – p.24/24