SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Aplicaciones JEE
2008-2009

DASDI

1
Repasamos …

Tres tipos de aplicaciones
Aplicaciones Web Java
Objetos distribuidos EJBs
Aplicaciones Empresariales

2008-2009

DASDI

2
Plataforma
J2EE

2008-2009

DASDI

3
Clientes

2008-2009

DASDI

4
Aplicaciones Web Java

2008-2009

DASDI

5
Aplicación Web Java
Colección de recursos:
Jsps
Servlets
Ficheros Html, Imagenes
Librerías (jars), etc…

Ubicados en un URI específico
http://www.dasdi.uniovi.es/calculadora

Resuelven una funcionalidad
Interfaz de usuario Web
2008-2009

DASDI

6
Aplicaciones Web J2EE
Organización: estructura jerárquica de
directorios
dos partes
Un árbol de directorios privado: WEB-INF
contiene los recursos que no son descargables para el cliente

Un árbol de directorios público

2008-2009

aplicación
index.html
login.jsp
images *.gif
doc *.pdf
META-INFMANIFEST.MF
WEB-INF
WEB-INF
web.xml
Deployment Descriptor
classes *.class
lib *.jar DASDI

7
Archivos WAR
Web Application Archive
Permiten empaquetar en una sola
unidad aplicaciones web java
completas
Se despliega en un servidor de
aplicaciones
contenedor Web
Hacer un “deploy” al servidor
El servidor “desmonta” el war y coloca
cada cosa donde lo necesita
Cada servidor a su manera
2008-2009

DASDI

8
Archivos WAR
Son una extensión del archivo JAR
Se introdujeron en la especificación
2.2 de los servlets.
Multiplataforma
MultiVendor
root
META-INF MANIFEST.MF
*.*

Estructura de un JAR
2008-2009

DASDI

9
Archivos WAR: Ventajas
Simplifican el despliegue de
aplicaciones web.
Facilidad de instalación
Copiar fichero en el servidor
Uno para cada servidor si es un cluster.

Seguridad
No permite el acceso entre aplicaciones
web distintas (aunque se ejecuten en el
mismo servidor)
2008-2009

DASDI

10
Ejemplo de Estructura
JSP pages, HTML documents, image files

app.war

Content
directories

JSP pages, HTML documents, image files

web.xml

WEB-INF

Class files

classes

beans

Package
directories

lib

2008-2009

JAR files

tlds

Class files

TLD files

DASDI

11
Estructura Ejemplo

index.html

faq.war
WEB-INF
web.xml

list.jsp
admin
classes

lib

tlds

show.jsp

add.jsp delete.jsp

psql.jar
faqServlet.class

2008-2009

DASDI

faqtags.tld
12
Descriptor de Despliegue: web.xml
WEB-INF/web.xml
Documento XML
<?xml version=”1.0” encoding=”ISO-8859-1” ?>
<DOCTYPE web-app PUBLIC
”-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN”
”http://java.sun.com/j2ee/dtds/web-app_2_2.dtd”>
<web-app>
. . .
</web-app>

En él se dan de alta Servlets, JSPs, TLDs,
Filtros, etc…
Se informa al servidor de como es la aplicación
2008-2009

DASDI

13
Ejemplo de Web.xml

2008-2009

web.xml tiene muchas opciones de
configuración, echa un vistazo a la
DASDI
14
especificación
Creación manual de .WAR

2008-2009

DASDI

15
Empaquetado de
Enterprise JavaBeans

2008-2009

DASDI

16
EJBs
Los EJBs se agrupan en paquetes para
poder ser distribuidos.
En un solo paquete se pueden dar de
alta varios EJBs de diferentes tipos:
Sesión, Entidad, MDB

El módulo o paquete de distribución es
un archivo JAR con una determinada
estructura.

2008-2009

DASDI

17
Archivo EJB-JAR
Un EJB-JAR es la manera en que son
distribuidos desarrollos EJB's
WAR modulariza aplicaciones con
JSP's/Servlets
EJB-JAR modulariza aplicaciones con
EJB's

Facilitan el despliegue de los EJBs en
cualquier servidor de aplicaciones
J2EE compatible
2008-2009

DASDI

18
Estructura EJB-JAR
/*.class

Bajo este directorio base se encuentran
las diversas clases que conforman a un
EJB
/META-INF/ejb-jar.xml
ejb-

Descriptor de despliegue
/META-INF/*

Otros archivos de configuración
requeridos por el contenedor de EJBs
Nombre y formato particular a cada vendor
orion-jar.xml, jboss.xml, web-sphere.xml, etc
2008-2009

DASDI

19
Ejemplo estructura EJB-JAR

2008-2009

DASDI

20
ejb-jar.xml
Descriptor de Despliegue
META-INF/ejb-jar.xml
Documento XML
En él se dan de alta y declaran
EJBs
Parámetros del contexto
Relaciones
Políticas transaccionales
etc

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-ar PUBLIC
"-//Sun Microsystems, Incprise JavaBeans 2.0//EN"
"http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar >
. . .
</ejb-jar>
2008-2009

DASDI

21
Ejemplo ejb-jar.xml

2008-2009

DASDI

22
Aplicaciones
Empresariales Java

2008-2009

DASDI

23
Aplicación empresarial JEE
Aplicación empresarial JEE
=
Aplicación/es web java empaquetadas en
WAR
+
Objetos distribuidos EJB empaquetados en

JAR
= Archivo EAR.

Soluciona problemas relativos al
ClassLoader del sistema

2008-2009

DASDI

24
Estructura del Enterprise Application
Archive
/*.war
Archivos WAR.
/*.jar
Archivos EJB-JAR (jar).
/META-INF/application.xml
application.xml
Descriptor de despliegue del módulo EAR.

2008-2009

DASDI

25
META-INF/application.xml
Descriptor de Despliegue
En él se dan de alta y declaran
Nombre y descripción de la aplicación que se despliega
Los diferentes módulos web y EJB que forman la
aplicación.
<?xml version="1.0" ?>
<!DOCTYPE application PUBLIC
"-//Sun Microsystems, Inc. //DTD J2EE Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
<display-name>Piloto curso Web. Seresco.</display-name>
<description>Prácticas del curso de desarrollo
web</description>
<module>
<web>
<web-uri>appblank.war</web-uri>
<context-root>/appblank</context-root>
</web>
</module>
2008-2009
DASDI
</application>

26
Estructura application.xml

2008-2009

DASDI

27
Referencias
•

Libros
Web Development with JavaServer Pages by
Duane Fields and Mark Kolb (Manning)
Core Servlets and JavaServer Pages by Marty
Hall (Prentice-Hall)
Java Server Programming J2EE Edition (Wrox)
Books

URLs
Servlet specification available at
http://java.sun.com/products/servlet/download.html

www.javasoft.com
www.theserverside.com

2008-2009

DASDI

28
Taller práctico …
Construcción “a mano”
de mi primera aplicación
Web

2008-2009

DASDI

29
Paso a paso …
El OC4J sólo admite el despliegue de
aplicaciones J2ee completas, es decir, archivos
EAR.
Tenemos que construir nuestro propio archivo
EAR conteniendo un solo archivo WAR con una
página HTML estática.
Primero entonces, vamos a “montar” nuestra
aplicación Web …

2008-2009

DASDI

30
Paso a paso …
Mi primera aplicación Web
Como mínimo, vamos a tener que crear una
página estática (index.html) y un descriptor de
despliegue web.xml.
Creamos una carpeta temporal TRABAJO
colgando de la carpeta PROYECTOS
Dentro de trabajo creamos una carpeta WEB-INF.
Ahora, colgando de trabajo y con el bloc de notas
creamos el archivo index.html con el clásico
“Hola Mundo!”.
Y dentro de WEB-INF, creamos el archivo
web.xml con el siguiente contenido …

2008-2009

DASDI

31
Paso a paso …
Web.xml básico
Contenido del Web.xml básico:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-namePrototipo Curso Web. Seresco.</display-name>
<description>
Prototipo desarrollado para el curso sobre desarrollo web para
Seresco.</description>
<!-- Página de entrada por defecto -->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

2008-2009

DASDI

32
Paso a paso …
Estructura del WAR
Tenemos ya la estructura básica del archivo
WAR:
trabajo
WEB-INF

web.xml
index.html

2008-2009

DASDI

33
Paso a paso …
Creación del WAR
Abrimos una ventana de comandos mediante
setenv.bat
Nos colocamos DENTRO del directorio trabajo
Creamos un archivo jar mediante la herramienta jar
del jdk y lo llamamos trabajo.war

jar cvf trabajo.war *
Ya tenemos el archivo war creado. Podemos
comprobar que es un zip común abriéndolo con el
Winrar. ¿Lo desplegamos ya?
No podemos: El OC4J sólo admite despliegue de
módulos EAR.

2008-2009

DASDI

34
Paso a paso …
Creación del EAR
Como mínimo, vamos a tener que crear
un descriptor de despliegue
application.xml.
Creamos una carpeta temporal TRABAJO-EAR
colgando de la carpeta PROYECTOS
Movemos dentro el archivo trabajo.war
Dentro de trabajo creamos una carpeta METAINF.
Y dentro de META-INF, creamos el archivo
application.xml con el siguiente contenido …

2008-2009

DASDI

35
Paso a paso …
application.xml básico
Contenido del application.xml básico:
<?xml version="1.0" ?>
<!DOCTYPE application PUBLIC
"-//Sun Microsystems, Inc. //DTD J2EE Application 1.2//EN"
"http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
<display-name>Piloto curso Web. Seresco.</display-name>
<description>Prácticas del curso de desarrollo web</description>
<module>
<web>
<web-uri>trabajo.war</web-uri>
<context-root>/trabajo</context-root>
</web>
</module>
</application>
2008-2009

DASDI

36
Paso a paso …
Estructura del WAR
Tenemos ya la estructura básica del archivo
WAR:
Trabajo-ear
META-INF

application.xml
trabajo.war

2008-2009

DASDI

37
Paso a paso …
Creación del EAR
Abrimos una ventana de comandos mediante setenv.bat
Nos colocamos DENTRO del directorio trabajo-ear
Creamos un archivo jar mediante la herramienta jar del jdk y
lo llamamos trabajo.ear
jar cvf trabajo.ear *
Ya tenemos el archivo ear creado.
Para desplegar:
Arrancamos el OC4J
Desplegamos el nuevo EAR por medio de la herramienta de
administración del OC4J:
java -jar %OC4J_HOME%admin.jar ormi://localhost admin admin -deploy -file trabajo.ear deploymentName trabajo

HAY QUE DAR DE ALTA LA APP WEB EN EL http-website.xml
Lo probamos en http://localhost:8888/trabajo

2008-2009

DASDI

38
Paso a paso …
Creación del EAR

2008-2009

DASDI

39

Más contenido relacionado

La actualidad más candente

ASPEK HUKUM PRAKTIK KEPERAWATAN PROFESIONAL
ASPEK  HUKUM PRAKTIK KEPERAWATAN PROFESIONALASPEK  HUKUM PRAKTIK KEPERAWATAN PROFESIONAL
ASPEK HUKUM PRAKTIK KEPERAWATAN PROFESIONALpjj_kemenkes
 
Modul 2 kb 2 post traumatic stres disorder (ptsd)
Modul 2 kb 2 post traumatic stres disorder (ptsd)Modul 2 kb 2 post traumatic stres disorder (ptsd)
Modul 2 kb 2 post traumatic stres disorder (ptsd)Uwes Chaeruman
 
Presentación Drupal
Presentación DrupalPresentación Drupal
Presentación DrupalMedio y forma
 
Konsep dan Implementasi Vedika dan Kelengkapannya
Konsep dan Implementasi Vedika dan KelengkapannyaKonsep dan Implementasi Vedika dan Kelengkapannya
Konsep dan Implementasi Vedika dan KelengkapannyaDokter Tekno
 
(8) aturan re seleksi morbiditas
(8) aturan re seleksi morbiditas(8) aturan re seleksi morbiditas
(8) aturan re seleksi morbiditasImelda Wijaya
 
Konsep Dasar Praktik Keperawatan Profesional
Konsep Dasar Praktik Keperawatan Profesional Konsep Dasar Praktik Keperawatan Profesional
Konsep Dasar Praktik Keperawatan Profesional pjj_kemenkes
 
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatan
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan KeperawatanMetode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatan
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatanpjj_kemenkes
 
Aplikasi perhitungan tenaga keperawatan need (douglas)
Aplikasi perhitungan tenaga keperawatan need (douglas)Aplikasi perhitungan tenaga keperawatan need (douglas)
Aplikasi perhitungan tenaga keperawatan need (douglas)Yabniel Lit Jingga
 
Prespektif Keperawatan Paliatif
Prespektif Keperawatan PaliatifPrespektif Keperawatan Paliatif
Prespektif Keperawatan PaliatifVicky Thio
 
Sejarah Keperawatan Pada Masa Perang Dunia ke II
Sejarah Keperawatan Pada Masa Perang Dunia ke IISejarah Keperawatan Pada Masa Perang Dunia ke II
Sejarah Keperawatan Pada Masa Perang Dunia ke IIIndry Ardina
 
Sistem pembiayaan di sektor kesehatan (2)
Sistem pembiayaan di sektor kesehatan (2)Sistem pembiayaan di sektor kesehatan (2)
Sistem pembiayaan di sektor kesehatan (2)Muttaqien Al-Maidin
 
Makalah falsafah dan paradigma keperawatan
Makalah falsafah dan paradigma keperawatanMakalah falsafah dan paradigma keperawatan
Makalah falsafah dan paradigma keperawatanIyounk Mandalahi
 
Sistem informasi kesehatan metode prototyping
Sistem informasi kesehatan metode prototypingSistem informasi kesehatan metode prototyping
Sistem informasi kesehatan metode prototypingAncox
 
Manajemen Sumber Daya Keluarga (Askep Keluarga)
Manajemen Sumber Daya Keluarga (Askep Keluarga)Manajemen Sumber Daya Keluarga (Askep Keluarga)
Manajemen Sumber Daya Keluarga (Askep Keluarga)Ahmad Kholid
 
Proses Keperawatan: Tahap Pengkajian Keperawatan
Proses Keperawatan: Tahap Pengkajian KeperawatanProses Keperawatan: Tahap Pengkajian Keperawatan
Proses Keperawatan: Tahap Pengkajian KeperawatanAnnisa Setia Candra
 

La actualidad más candente (20)

Kb 3 neoplasma
Kb 3 neoplasmaKb 3 neoplasma
Kb 3 neoplasma
 
Tomcat
TomcatTomcat
Tomcat
 
ASPEK HUKUM PRAKTIK KEPERAWATAN PROFESIONAL
ASPEK  HUKUM PRAKTIK KEPERAWATAN PROFESIONALASPEK  HUKUM PRAKTIK KEPERAWATAN PROFESIONAL
ASPEK HUKUM PRAKTIK KEPERAWATAN PROFESIONAL
 
Modul 2 kb 2 post traumatic stres disorder (ptsd)
Modul 2 kb 2 post traumatic stres disorder (ptsd)Modul 2 kb 2 post traumatic stres disorder (ptsd)
Modul 2 kb 2 post traumatic stres disorder (ptsd)
 
Presentación Drupal
Presentación DrupalPresentación Drupal
Presentación Drupal
 
Konsep dan Implementasi Vedika dan Kelengkapannya
Konsep dan Implementasi Vedika dan KelengkapannyaKonsep dan Implementasi Vedika dan Kelengkapannya
Konsep dan Implementasi Vedika dan Kelengkapannya
 
Seri bpjs kesehatan gate keeper concept
Seri bpjs kesehatan gate keeper conceptSeri bpjs kesehatan gate keeper concept
Seri bpjs kesehatan gate keeper concept
 
(8) aturan re seleksi morbiditas
(8) aturan re seleksi morbiditas(8) aturan re seleksi morbiditas
(8) aturan re seleksi morbiditas
 
Konsep Dasar Praktik Keperawatan Profesional
Konsep Dasar Praktik Keperawatan Profesional Konsep Dasar Praktik Keperawatan Profesional
Konsep Dasar Praktik Keperawatan Profesional
 
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatan
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan KeperawatanMetode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatan
Metode Pemberian Asuhan Keperawatan atau Metode Penugasan Asuhan Keperawatan
 
Aplikasi perhitungan tenaga keperawatan need (douglas)
Aplikasi perhitungan tenaga keperawatan need (douglas)Aplikasi perhitungan tenaga keperawatan need (douglas)
Aplikasi perhitungan tenaga keperawatan need (douglas)
 
Prespektif Keperawatan Paliatif
Prespektif Keperawatan PaliatifPrespektif Keperawatan Paliatif
Prespektif Keperawatan Paliatif
 
Sejarah Keperawatan Pada Masa Perang Dunia ke II
Sejarah Keperawatan Pada Masa Perang Dunia ke IISejarah Keperawatan Pada Masa Perang Dunia ke II
Sejarah Keperawatan Pada Masa Perang Dunia ke II
 
Sistem pembiayaan di sektor kesehatan (2)
Sistem pembiayaan di sektor kesehatan (2)Sistem pembiayaan di sektor kesehatan (2)
Sistem pembiayaan di sektor kesehatan (2)
 
Makalah falsafah dan paradigma keperawatan
Makalah falsafah dan paradigma keperawatanMakalah falsafah dan paradigma keperawatan
Makalah falsafah dan paradigma keperawatan
 
Kode diagnosa bpjs
Kode diagnosa bpjsKode diagnosa bpjs
Kode diagnosa bpjs
 
Obat
ObatObat
Obat
 
Sistem informasi kesehatan metode prototyping
Sistem informasi kesehatan metode prototypingSistem informasi kesehatan metode prototyping
Sistem informasi kesehatan metode prototyping
 
Manajemen Sumber Daya Keluarga (Askep Keluarga)
Manajemen Sumber Daya Keluarga (Askep Keluarga)Manajemen Sumber Daya Keluarga (Askep Keluarga)
Manajemen Sumber Daya Keluarga (Askep Keluarga)
 
Proses Keperawatan: Tahap Pengkajian Keperawatan
Proses Keperawatan: Tahap Pengkajian KeperawatanProses Keperawatan: Tahap Pengkajian Keperawatan
Proses Keperawatan: Tahap Pengkajian Keperawatan
 

Similar a Aplicaciones JEE: Aplicaciones Web Java, EJBs y Aplicaciones Empresariales

Similar a Aplicaciones JEE: Aplicaciones Web Java, EJBs y Aplicaciones Empresariales (20)

Tema 4
Tema 4Tema 4
Tema 4
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Deploy
DeployDeploy
Deploy
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Barracuda mvc
Barracuda mvcBarracuda mvc
Barracuda mvc
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
spring
springspring
spring
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
J2EE - 01 Arquitectura Web
J2EE - 01   Arquitectura WebJ2EE - 01   Arquitectura Web
J2EE - 01 Arquitectura Web
 
framework.pptx
framework.pptxframework.pptx
framework.pptx
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
02 instalación
02 instalación02 instalación
02 instalación
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 

Aplicaciones JEE: Aplicaciones Web Java, EJBs y Aplicaciones Empresariales

  • 2. Repasamos … Tres tipos de aplicaciones Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales 2008-2009 DASDI 2
  • 6. Aplicación Web Java Colección de recursos: Jsps Servlets Ficheros Html, Imagenes Librerías (jars), etc… Ubicados en un URI específico http://www.dasdi.uniovi.es/calculadora Resuelven una funcionalidad Interfaz de usuario Web 2008-2009 DASDI 6
  • 7. Aplicaciones Web J2EE Organización: estructura jerárquica de directorios dos partes Un árbol de directorios privado: WEB-INF contiene los recursos que no son descargables para el cliente Un árbol de directorios público 2008-2009 aplicación index.html login.jsp images *.gif doc *.pdf META-INFMANIFEST.MF WEB-INF WEB-INF web.xml Deployment Descriptor classes *.class lib *.jar DASDI 7
  • 8. Archivos WAR Web Application Archive Permiten empaquetar en una sola unidad aplicaciones web java completas Se despliega en un servidor de aplicaciones contenedor Web Hacer un “deploy” al servidor El servidor “desmonta” el war y coloca cada cosa donde lo necesita Cada servidor a su manera 2008-2009 DASDI 8
  • 9. Archivos WAR Son una extensión del archivo JAR Se introdujeron en la especificación 2.2 de los servlets. Multiplataforma MultiVendor root META-INF MANIFEST.MF *.* Estructura de un JAR 2008-2009 DASDI 9
  • 10. Archivos WAR: Ventajas Simplifican el despliegue de aplicaciones web. Facilidad de instalación Copiar fichero en el servidor Uno para cada servidor si es un cluster. Seguridad No permite el acceso entre aplicaciones web distintas (aunque se ejecuten en el mismo servidor) 2008-2009 DASDI 10
  • 11. Ejemplo de Estructura JSP pages, HTML documents, image files app.war Content directories JSP pages, HTML documents, image files web.xml WEB-INF Class files classes beans Package directories lib 2008-2009 JAR files tlds Class files TLD files DASDI 11
  • 13. Descriptor de Despliegue: web.xml WEB-INF/web.xml Documento XML <?xml version=”1.0” encoding=”ISO-8859-1” ?> <DOCTYPE web-app PUBLIC ”-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN” ”http://java.sun.com/j2ee/dtds/web-app_2_2.dtd”> <web-app> . . . </web-app> En él se dan de alta Servlets, JSPs, TLDs, Filtros, etc… Se informa al servidor de como es la aplicación 2008-2009 DASDI 13
  • 14. Ejemplo de Web.xml 2008-2009 web.xml tiene muchas opciones de configuración, echa un vistazo a la DASDI 14 especificación
  • 15. Creación manual de .WAR 2008-2009 DASDI 15
  • 17. EJBs Los EJBs se agrupan en paquetes para poder ser distribuidos. En un solo paquete se pueden dar de alta varios EJBs de diferentes tipos: Sesión, Entidad, MDB El módulo o paquete de distribución es un archivo JAR con una determinada estructura. 2008-2009 DASDI 17
  • 18. Archivo EJB-JAR Un EJB-JAR es la manera en que son distribuidos desarrollos EJB's WAR modulariza aplicaciones con JSP's/Servlets EJB-JAR modulariza aplicaciones con EJB's Facilitan el despliegue de los EJBs en cualquier servidor de aplicaciones J2EE compatible 2008-2009 DASDI 18
  • 19. Estructura EJB-JAR /*.class Bajo este directorio base se encuentran las diversas clases que conforman a un EJB /META-INF/ejb-jar.xml ejb- Descriptor de despliegue /META-INF/* Otros archivos de configuración requeridos por el contenedor de EJBs Nombre y formato particular a cada vendor orion-jar.xml, jboss.xml, web-sphere.xml, etc 2008-2009 DASDI 19
  • 21. ejb-jar.xml Descriptor de Despliegue META-INF/ejb-jar.xml Documento XML En él se dan de alta y declaran EJBs Parámetros del contexto Relaciones Políticas transaccionales etc <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-ar PUBLIC "-//Sun Microsystems, Incprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> <ejb-jar > . . . </ejb-jar> 2008-2009 DASDI 21
  • 24. Aplicación empresarial JEE Aplicación empresarial JEE = Aplicación/es web java empaquetadas en WAR + Objetos distribuidos EJB empaquetados en JAR = Archivo EAR. Soluciona problemas relativos al ClassLoader del sistema 2008-2009 DASDI 24
  • 25. Estructura del Enterprise Application Archive /*.war Archivos WAR. /*.jar Archivos EJB-JAR (jar). /META-INF/application.xml application.xml Descriptor de despliegue del módulo EAR. 2008-2009 DASDI 25
  • 26. META-INF/application.xml Descriptor de Despliegue En él se dan de alta y declaran Nombre y descripción de la aplicación que se despliega Los diferentes módulos web y EJB que forman la aplicación. <?xml version="1.0" ?> <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc. //DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd"> <application> <display-name>Piloto curso Web. Seresco.</display-name> <description>Prácticas del curso de desarrollo web</description> <module> <web> <web-uri>appblank.war</web-uri> <context-root>/appblank</context-root> </web> </module> 2008-2009 DASDI </application> 26
  • 28. Referencias • Libros Web Development with JavaServer Pages by Duane Fields and Mark Kolb (Manning) Core Servlets and JavaServer Pages by Marty Hall (Prentice-Hall) Java Server Programming J2EE Edition (Wrox) Books URLs Servlet specification available at http://java.sun.com/products/servlet/download.html www.javasoft.com www.theserverside.com 2008-2009 DASDI 28
  • 29. Taller práctico … Construcción “a mano” de mi primera aplicación Web 2008-2009 DASDI 29
  • 30. Paso a paso … El OC4J sólo admite el despliegue de aplicaciones J2ee completas, es decir, archivos EAR. Tenemos que construir nuestro propio archivo EAR conteniendo un solo archivo WAR con una página HTML estática. Primero entonces, vamos a “montar” nuestra aplicación Web … 2008-2009 DASDI 30
  • 31. Paso a paso … Mi primera aplicación Web Como mínimo, vamos a tener que crear una página estática (index.html) y un descriptor de despliegue web.xml. Creamos una carpeta temporal TRABAJO colgando de la carpeta PROYECTOS Dentro de trabajo creamos una carpeta WEB-INF. Ahora, colgando de trabajo y con el bloc de notas creamos el archivo index.html con el clásico “Hola Mundo!”. Y dentro de WEB-INF, creamos el archivo web.xml con el siguiente contenido … 2008-2009 DASDI 31
  • 32. Paso a paso … Web.xml básico Contenido del Web.xml básico: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-namePrototipo Curso Web. Seresco.</display-name> <description> Prototipo desarrollado para el curso sobre desarrollo web para Seresco.</description> <!-- Página de entrada por defecto --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> 2008-2009 DASDI 32
  • 33. Paso a paso … Estructura del WAR Tenemos ya la estructura básica del archivo WAR: trabajo WEB-INF web.xml index.html 2008-2009 DASDI 33
  • 34. Paso a paso … Creación del WAR Abrimos una ventana de comandos mediante setenv.bat Nos colocamos DENTRO del directorio trabajo Creamos un archivo jar mediante la herramienta jar del jdk y lo llamamos trabajo.war jar cvf trabajo.war * Ya tenemos el archivo war creado. Podemos comprobar que es un zip común abriéndolo con el Winrar. ¿Lo desplegamos ya? No podemos: El OC4J sólo admite despliegue de módulos EAR. 2008-2009 DASDI 34
  • 35. Paso a paso … Creación del EAR Como mínimo, vamos a tener que crear un descriptor de despliegue application.xml. Creamos una carpeta temporal TRABAJO-EAR colgando de la carpeta PROYECTOS Movemos dentro el archivo trabajo.war Dentro de trabajo creamos una carpeta METAINF. Y dentro de META-INF, creamos el archivo application.xml con el siguiente contenido … 2008-2009 DASDI 35
  • 36. Paso a paso … application.xml básico Contenido del application.xml básico: <?xml version="1.0" ?> <!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc. //DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd"> <application> <display-name>Piloto curso Web. Seresco.</display-name> <description>Prácticas del curso de desarrollo web</description> <module> <web> <web-uri>trabajo.war</web-uri> <context-root>/trabajo</context-root> </web> </module> </application> 2008-2009 DASDI 36
  • 37. Paso a paso … Estructura del WAR Tenemos ya la estructura básica del archivo WAR: Trabajo-ear META-INF application.xml trabajo.war 2008-2009 DASDI 37
  • 38. Paso a paso … Creación del EAR Abrimos una ventana de comandos mediante setenv.bat Nos colocamos DENTRO del directorio trabajo-ear Creamos un archivo jar mediante la herramienta jar del jdk y lo llamamos trabajo.ear jar cvf trabajo.ear * Ya tenemos el archivo ear creado. Para desplegar: Arrancamos el OC4J Desplegamos el nuevo EAR por medio de la herramienta de administración del OC4J: java -jar %OC4J_HOME%admin.jar ormi://localhost admin admin -deploy -file trabajo.ear deploymentName trabajo HAY QUE DAR DE ALTA LA APP WEB EN EL http-website.xml Lo probamos en http://localhost:8888/trabajo 2008-2009 DASDI 38
  • 39. Paso a paso … Creación del EAR 2008-2009 DASDI 39