Está en la página 1de 52

Introduccin a la arquitectura J2EE con ejemplos prcticos

Lic. Gisela Rodrguez Gmez, !!E

www.whyfloss.com/conference

Introduccin a la Arquitectura J2EE (Java 2 Enterprise Edition)

Disertante !ic" #isela $odr%&ue' #(e'

29 de Mayo - 2007

)*+etivos
Descu*rir los aspectos nuevos y aquellos (,s relevantes de la tecnolo&%a J2EE y su aplicacin al desarrollo de soluciones -e* corporativas de todos los ta(a.os *a+o esta plata/or(a" 0(o y porqu1 se construyen 2oy en d%a las aplicaciones corporativas"

29 de Mayo - 2007

A&enda
Introduccin a J2EE" 3ecnolo&%as de 4ervicios" 0onectividad JD50" 3ecnolo&%as de 0o(unicaciones" 3ecnolo&%as de 0o(ponentes" Arquitectura J2EE" Introduccin a los 4ervicios -e*" E+e(plos de aplicacin"
29 de Mayo - 2007 4

Introduccin
Internet y la --- son la *ase de la econo(%a de la in/or(acin" 6na aplicacin accesi*le desde Internet puede usarse en cualquier (o(ento desde cualquier lu&ar7 (2897)" !a (eta de J2EE es de/inir un est,ndar que ayude a suplir estos retos tecnol&icos" J2EE soporta aplicaciones distri*uidas que to(an venta+as de las tecnolo&%as e:istentes y en desarrollo si(pli/icando el proceso a trav1s de un (odelo de aplicaciones *asados en co(ponentes"
29 de Mayo - 2007 5

Introduccin
J2EE soporta aplicaciones corporativas 2asta E-0o((erce con -e* en Internet" ;rovee soporte tanto para el lado del servidor co(o para el lado del cliente para aplicaciones corporativas (ulti-nivel"
<" 0liente Inter/ase de usuario" 2" !&ica de datos < o (,s7 servicios al cliente y la l&ica de ne&ocios para la aplicacin" =" Datos &estin de datos"
29 de Mayo - 2007 6

Arquitectura 5,sica
-e* container
J4;

>33;(s)

Browser

Datos

>3M!7 ?M!

4ervlet

29 de Mayo - 2007

E:isten = cate&or%as

3ecnolo&%as

Servicios Comunicaciones Componentes

29 de Mayo - 2007

3ecnolo&%as de 4ervicios
Existen varias formas de interactuar con una base de datos
Procedimiento Almacenado: propio de cada SGBD. SQL !SQL para ava"# est$ndar pero no totalmente extendido. %C& !%racle Components for ava": no est$ndar pero de 'ran versatilidad. DBC! ava Data Base Connectivit(": est$ndar ( ampliamente extendido.

29 de Mayo - 2007

3ecnolo&%as de 4ervicios
Conectividad DBC: provee al desarrollador la capacidad de conectarse o unirse de (anera independiente a las *ases de datos relacionadas" ;er(ite
E)ecutar conexiones ( autenticaci*n a un servidor de BD. Gestionar transacciones. +eali,ar sentencias SQL sobre el motor de BD. E)ecutar procedimientos almacenados. -nspeccionar ( modificar los resultados de una sentencia select. Es independiente de donde se encuentre el cliente ( el servidor. Es una AP- de alto nivel ( diferentes drivers cada uno para conectarse a una base de datos distinta.
29 de Mayo - 2007 10

3ecnolo&%as de 4ervicios
Pa.uetes importantes de ava:

29 de Mayo - 2007

11

3ecnolo&%as de 4ervicios

6na aplicacin se conecta a una *ase de datos con JD50 reali'ando las si&uientes operaciones
-mportaci*n de pa.uetes. Car'a del driver DBC. Conexi*n con la base de datos. Construcci*n de la sentencia SQL ( e)ecuci*n. Procesamiento de resultados# si los /a(. Cierre de la sentencia ( del cursor# si lo /a(. Cierre de la conexi*n.

29 de Mayo - 2007

12

3ecnolo&%as de 0o(unicacin
4on aquellas que proveen al desarrollador la capacidad de co(unicarse con los usuarios de las aplicaciones" A trav1s de
ava 0ail: AP- de 'esti*n autom$tica de mensa)es# 1sencillo2. 0S: AP- de servicios de mensa)er3a de ava# 1potente2. -nternet Protocol.

29 de Mayo - 2007

13

3ecnolo&%as de 0o(unicacin
-nternet Protocol un cliente (uy /recuente es un *ro@ser situado en cualquier parte del (undo" !a peticin de un cliente y la respuesta de un servidor son co(unicadas so*re = protocolos principales"
>33; protocolo de nivel de aplicacin que tra*a+a en *ase a peticin9respuesta" 30;9I; 2 protocolos co(*inados en uno para transportar los datos a trav1s de Internet" 44! utili'a cripto&ra/%a para encriptar el /lu+o de in/or(acin entre cliente y el servidor"
29 de Mayo - 2007 14

3ecnolo&%as de 0o(ponentes
!a &estin de co(ponentes se *asa en el (odelo de AContenedoresB" 6n contenedor provee un a(*iente estandari'ado de e+ecucin que provee servicios espec%/icos a co(ponentes7 co(o acceso a las A;ICs" !os contenedores ta(*i1n poseen acceso a siste(as de in/or(acin e(presarial ($D5M47 JD50)"

29 de Mayo - 2007

15

#estin de 0o(ponentes

0o(ponentes del cliente


4eb bro5sers con 670L est$ndar. 670L din$mico como SP. Applets. ava stand8alone apps

0o(ponentes de la l&ica de ne&ocios


La forma m$s est$ndar de acceder un cliente a la si'uiente capa es a trav9s de: /ttp# /tml# xml. -nterfaces m$s comple)as son: Servlets.

0o(ponentes de los datos


E B: Enterprise avaBeans. El modelo de componentes E B es el bac:bone del modelo de pro'ramaci*n ;EE.
29 de Mayo - 2007 16

0liente

A(*iente

Datos

29 de Mayo - 2007

17

0o(ponentes -e*
;roveen respuesta a requeri(ientos" #enera inter/aces de usuario para apps *asadas en -e*" J2EE especi/ica 2 tipos de co(ponentes -e*
<. ;. Servlets. ava Server Pa'es

17odos los componentes 4eb proveen soporte para re.uerimientos de clientes# reali,ar un procesamiento ( retornar los resultados2.
29 de Mayo - 2007 18

4ervlets
Pro'rama .ue extiende la funcionalidad de un servidor 4eb" $eci*e un requeri(iento de un cliente7 din,(ica(ente &eneran las respuestas y lue&o la (andan en docu(ento >3M! o ?M! al cliente"

4ervlts

29 de Mayo - 2007

19

4ervlets
4ervicios
-niciar ( finali,ar servlets. Acceso al ambiente servlets. +ecibir re.uerimientos ( enviar respuestas. 0antener informaci*n de sesi*n. -nteractuar con otros servlets o componentes.

4on pro&ra(as del lado del servidor que per(iten a la l&ica de aplicacin ser inte&rada en el proceso de respuesta de peticin >33;"

29 de Mayo - 2007

20

4ervlets

29 de Mayo - 2007

21

Java 4erver ;a&es AJ4;B


Provee una forma de 'enerar contenido din$mico para un cliente 4eb" Es un docu(ento de te:to que descri*e co(o procesar un requeri(iento para crear una respuesta"

J4;

29 de Mayo - 2007

22

Java 4erver ;a&es AJ4;B


0ontiene
=na plantilla de datos para formatear un documento 4eb !670L# >0L". Separa la presentaci*n del procesamiento din$mico. Elementos ( scriptles SP 'eneran contenido din$mico. =na p$'ina SP puede usar componentes B o E B.

;roveen una (anera de inte&rar co(ponentes din,(icos dentro de una p,&ina est,tica co(o >3M!7 el cdi&o se incluye dentro de las etiquetas

DE y EF

Scriptlet
29 de Mayo - 2007 23

Java 4erver ;a&es AJ4;B

29 de Mayo - 2007

24

4ervicios -e*
>0L (Extensible 0ar:up Lan'ua'e) es uno de los /or(atos de in/or(acin (,s aceptados7 por la /le:i*ilidad y uni/or(idad que *rinda para interca(*iar in/or(acin variando desde transacciones /inancieras7 aplicaciones inal,(*ricas 2asta aplicaciones de servidorG todo partiendo de un solo docu(ento (aestro con la con/ia*ilidad de que el /or(ato sea acepta*le a(plia(ente" ?M! 3E0H)!)#IA DE JAH#6A$DIA"
E)emplo del uso de esta tecnolo'3a: Goo'le Searc/
29 de Mayo - 2007 25

4ervicios -e*
Crear un servicio 4eb: Crear una clase ava con un m9todo por cada servicio 5eb a publicar. Depositar la clase )ava en un arc/ivo .)ar ( ubicar 9ste en un contenedor ;EE. Crear un servicio 5eb !fic/ero.5sdl" ( asociarlo con la clase )ava anterior. Publicar el servicio 5eb en un servidor de aplicaciones. Crear un cliente .ue acceda a dic/o servicio 5eb.

29 de Mayo - 2007

26

4ervicios -e*

29 de Mayo - 2007

27

0ontenedores de 0o(ponentes -e*


!os co(ponentes -e* son 2ospedados por contenedores servlets7 J4; y -e*" 6n contenedor servlet provee servicios de red7 decodi/icacin de requeri(ientos y /or(ato de respuestas" 3odos los contenedores servlets tienen que soportar >33; as% co(o protocolo para requeri(ientos y respuestas" 6n contenedor J4; provee los (is(os servicios que uno de servlets ade(,s de un (otor de interpretacin y procesa(iento de p,&inas J4; dentro de un servlet" 6n contenedor -e* provee los (is(os servicios que un J4; ade(,s de servicios J2EE y A;I"

29 de Mayo - 2007

28

0o(ponentes EJ5
La ar.uitectura E B es una tecnolo'3a del lado del servidor para desarrollo ( e)ecuci*n de componentes para l*'ica de ne'ocio de una aplicaci*n empresarial. EJ5 son escala*les7 transaccionales y (ultiusuario"

7odos los contenedores E B proveen soporte para 'esti*n de transacciones# ciclo de vida# locali,aci*n# ( otros servicios.

29 de Mayo - 2007

29

0o(ponentes EJ5

E:isten dos tipos de EJ5:


Session Bean: provee al'?n servicio detr$s de un cliente ( usualmente durante una ?nica sesi*n. E)ecuta operaciones como c$lculos o accesos a DB para el cliente. El contenedor E B administra el estado si el estado tiene .ue ser removido de memoria# pero el mismo ob)eto session bean tiene .ue 'estionar sus datos persistentes

29 de Mayo - 2007

30

0o(ponentes EJ5
Entit( Bean: un bean de entidad es un ob)eto persistente .ue representa el mantenimiento de los datos en un almacenamiento. Es decir es una envoltura de ob)eto para los datos (a .ue est$ centrado en los datos. Puede vivir tanto como los datos .ue este representa.

29 de Mayo - 2007

31

0ontenedores de co(ponentes EJ5


EJ5 son 2ospedados por un contenedor EJ5" Ade(,s de un contenedor est,ndar de servicios7 uno de EJ5 provee un ran&o de servicios de transacciones y persistencia y acceso a servicios J2EE y A;ICs de co(unicaciones"

29 de Mayo - 2007

32

Entorno de desarrollo de una aplicacin -e* *a+o la plata/or(a J2EE


6tili'ando el so/t@are -e*4p2ere de I5M" 4i(pli/icando el tra*a+o (ediante la utili'acin de A-i'ardsB para el desarrollo de las aplicaciones" ;roporciona cdi&o preconstruido y pretesteado" Kacilita el (anteni(iento" ;er(ite custo(i'ar el ,rea de tra*a+o"

29 de Mayo - 2007

33

;erspectivas del @orL*enc2

29 de Mayo - 2007

34

;erspectiva J2EE

29 de Mayo - 2007

35

;erspectiva -e*

29 de Mayo - 2007

36

;erspectiva Java

29 de Mayo - 2007

37

Jistas de las perspectivas


Jista 4i(ple

Jista Apilada

29 de Mayo - 2007

38

3ool*ars
-orL*enc2 3ool*ar

Acceso Directo 3ool*ar

Jista 3ool*ar

29 de Mayo - 2007

39

0reando un nuevo proyecto


4e puede crear cualquier tipo de proyecto en cualquier perspectiva"

29 de Mayo - 2007

40

I(portando o creando paquetes Java


;royecto creado desde la vista A;acLa&e E:plorerB de la perspectiva Java

29 de Mayo - 2007

41

0onstruyendo el cdi&o y (ane+o de errores


Jista A;ro*le(asB Jista AEditorB Jista A)utlineB

Jista A;acLa&e E:plorerB

29 de Mayo - 2007

42

Arquitectura de una aplicacin J2EE


0ontenedores por de/ault

Jista Have&ador

29 de Mayo - 2007

43

Arquitectura de una aplicacin J2EE

0reando >3M!

29 de Mayo - 2007

44

Arquitectura de una aplicacin J2EE

Editando >3M! Jista Editor ;erspectiva -e*

29 de Mayo - 2007

45


0reando 4ervidor

4ervidores

Jista 4ervidor

29 de Mayo - 2007

46

E+ecutando la aplicacin J2EE

0orriendo el 4ervidor

29 de Mayo - 2007

47

E+ecutando la aplicacin J2EE

-e* *ro@ser

4ervidor 0orriendo

29 de Mayo - 2007

<number>

$esu(en
Crear ( traba)ar en un pro(ecto ;EE. Crear pa.uetes o importarlos. Crear clases. Crear p$'inas. Locali,ar errores de compilaci*n en el c*di'o. Crear ( correr el servidor. E)ecutar la aplicaci*n.

29 de Mayo - 2007

<number>

0onclusiones
Conceptos m$s relevantes sobre ;EE. @enta)as ( desventa)as de la tecnolo'3a ;EE. Soft5are para el desarrollo de una aplicaci*n ;EE. Aplicaciones corporativas solucionan problemas de escalabilidad# mantenimiento# fiabilidad# se'uridad ( velocidad de desarrollo. 7endencia a los Servicios 4eb: la flexibilidad es importante para poder construir 'randes aplicaciones a partir de componentes distribuidos mas pe.ueAos. 6o( comercio8e# 'obierno8e# aprendi,a)e8e# pa'os8e# tramitaciones8e.

29 de Mayo - 2007

<number>

Direcciones de Inter1s

/ttp:BB555.sun.com /ttp:BB)ava.sun.comBdocsBboo:sBtutorial /ttp:BB)ava.sun.comB)avaseBdo5nloadsBindex.)sp /ttp:BB)ava.sun.comB)avaseBtec/nolo'iesBdatabase.)sp /ttp:BB555.informit.comBarticlesBarticle.aspCpDE<FGHI /ttp:BB)ava.sun.comB

29 de Mayo - 2007

<number>

M60>A4 #$A0IA4

29 de Mayo - 2007

<number>

También podría gustarte