Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris...

25
Tehnologii Java Curs - Cristian Fr ˘ asinaru [email protected] Facultatea de Informatic ˘ a Universitatea ”Al. I. Cuza” Ias ¸i

Transcript of Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris...

Page 1: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Tehnologii JavaCurs -

Cristian Frasinaru

[email protected]

Facultatea de Informatica

Universitatea ”Al. I. Cuza” Iasi

Page 2: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Introducere

Tehnologii Java – p.1/24

Page 3: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Informatii despre curs

Scopul

Motivatia

Modul de lucru

Platforma de programare

Documentatia

EvaluareaLaborator: probleme, proiecte, referate → usorExamen: test scris → greu

Tehnologii Java – p.2/24

Page 4: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Java Enterprise Edition (Java EE)

Tehnologii Java – p.3/24

Page 5: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Cuprins

Ce reprezinta Java EE ?

Avantajele platformei

Tehnologiile de baza

Sisteme distribuite

Aplicatii Java EE

Tehnologii Java – p.4/24

Page 6: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Contextul de lucru

Bancar

Bursa

Telefonie

Lanturi comerciale

Transport, ...

Caracteristici comune:

Sisteme complexe

Sisteme distribuite

Tehnologii Java – p.5/24

Page 7: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 8: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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

versiunea curent a: Java EE 7 (2013)

"urmasul" lui J2EE

Tehnologii Java – p.7/24

Page 9: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Avantajele Java EE

Bazat pe specificatii - implement ari

Portabilitate

Scalabilitate

Interoperabilitate

Performant a

Simplitate

Costuri reduse

Standard industrial

Tehnologii Java – p.8/24

Page 10: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Tehnologii

Servlet

JSP Java Server Pages

JSF Java Server Faces

JNDI Java Naming and Directoy Interface

JPA Java Persistence API

EJB Enterprise Java Beans

JAX-WS, JAX-RS Web Services

CDI Context and Dependency Injection

JMS, JTA, ...

Tehnologii Java – p.9/24

Page 11: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

"Sustinatori"

Sun

Oracle : GlassFish, Oracle Application Server, OracleWebLogic Server (BEA)

IBM:IBM WebSphere

RedHat (JBoss) : JBoss Application Server

Apache : Apache Tomcat, Geronimo, TomEE

ObjectWeb Consortium (OW2) : JOnAS

Caucho : Resin Server

SAP: SAP NetWeave

Macromedia : JRun

...Tehnologii Java – p.10/24

Page 12: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Competitori

Microsoft .NET

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

...

Tehnologii Java – p.11/24

Page 13: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Sisteme distribuite

Tehnologii Java – p.12/24

Page 14: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Aplicatii distribuite

Aplicatie distribuita = aplicatie compusa din mai multecomponente distincte ce ruleaza pe platforme eterogeneconectate în retea.

Modele

2-tier (client-server)

3-tier (client-middleware-server)

multitier (client-multiple middleware-multipleservers)

Tehnologii Java – p.13/24

Page 15: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Aplicatii pe mai multe niveluri

Tehnologii Java – p.14/24

Page 16: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 17: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 18: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 19: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 20: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Aplicatii Java EE

Tehnologii Java – p.19/24

Page 21: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 22: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 23: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 24: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

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 25: Tehnologii Java - profs.info.uaic.roacf/tj/slides/j2ee_intro_slide.pdf · Examen: test scris →greu ... Suport pentru: navigare, validare, conversie, interna¸tionalizare, etc. Tehnologii

Bibliografie

The Java EE Tutorial

The Java EE API

...

Tehnologii Java – p.24/24