Está en la página 1de 45

JavaEE Java Enterprise Edition

www.javasoft.com

Por qu Java en el servidor?


Ventajas
Independencia de la plataforma portabilidad Gran conjunto de APIs Reusabilidad y modularidad Seguro en la ejecucin de cdigo mvil Gratis
2008-2009 DASDI 2

Por qu Java en el servidor?


Inconvenientes
Curva de aprendizaje pronunciada En el caso de sistemas Web, inadecuado para proyectos pequeos que puedan construirse con una solucin simple y rpida.

2008-2009

DASDI

Qu es JEE?
Internet y WWW representan el fundamento sobre los cuales se esta construyendo la economa de la informacin. La meta de JEE es definir un estndar que ayude a suplir los retos tecnolgicos en esta nueva era. JEE soporta aplicaciones distribuidas que toma ventajas de las tecnologas existentes y en desarrollo simplificando el proceso a travs de un modelo de aplicaciones basados en componentes. JEE soporta aplicaciones desde las C/S corporativas hasta e-commerce con Web en Internet. Define estndares que son implementados por distintos proveedores y fabricantes, no fuerza a emplear ningn producto especfico. Mxima interoperabilidad (Web services, IIOP, RMI, etc.).
2008-2009 DASDI 4

Plataforma JEE
Conjunto de especificaciones y prcticas coordinadas que juntas permiten soluciones para el desarrollo, despliegue y gestin de aplicaciones multicapa centradas en servidor. Provee soporte tanto para el lado del servidor como para el lado del cliente para aplicaciones corporativas multi-nivel (multi-tier) Client-tier: interface de usuario Middle-tier (1 o ms): servicios al cliente y la lgica del negocio para la aplicacin. Backend-tier: gestin de datos

2008-2009

DASDI

Entorno JEE

2008-2009

DASDI

Entorno JEE: escenarios (1)

2008-2009

DASDI

Entorno JEE: escenarios (y 2)

2008-2009

DASDI

Arquitectura JEE y APIs

2008-2009

DASDI

APIs detalle

Para qu sirve cada una?

2008-2009

DASDI

10

APIs y Especificaciones JavaEE 5


Web Services Technologies Implementing Enterprise Web Services (JSR 109) Java API for XML-Based Web Services (JAX-WS) 2.0 (JSR 224) Java API for XML-Based RPC (JAX-RPC) 1.1 (JSR 101) Java Architecture for XML Binding (JAXB) 2.0 (JSR 222) SOAP with Attachments API for Java (SAAJ) (JSR 67) Streaming API for XML (JSR 173) Web Service Metadata for the Java Platform (JSR 181) Web Application Technologies Java Servlet 2.5 (JSR 154) JavaServer Faces 1.2 (JSR 252) JavaServer Pages 2.1 (JSR 245) JavaServer Pages Standard Tag Library (JSR 52)
2008-2009 DASDI

Enterprise Application Technologies Enterprise JavaBeans 3.0 (JSR 220) JEE Connector Architecture 1.5 (JSR 112) Common Annotations for the Java Platform (JSR 250) Java Message Service API (JSR 914) Java Persistence API (JSR 220) Java Transaction API (JTA) (JSR 907) JavaBeans Activation Framework (JAF) 1.1 (JSR 925) JavaMail (JSR 919) Management and Security Technologies JEE Application Deployment (JSR 88) JEE Management (JSR 77) Java Authorization Contract for Containers (JSR 115)

En continua revisin y expansin


11

Tecnologas de la plataforma JEE. Clasificacin


Tres categoras:
componentes servicios comunicaciones

Componentes
Utilizados por desarrolladores para crear partes esenciales de una aplicacin empresarial

Utilizados en la interfaz de usuario y lgica del negocio


2008-2009 DASDI 12

Gestin de componentes basado en contenedores


De la mano de un modelo basado en componentes esta la nocin de contenedor. Un contenedor provee un ambiente estandarizado de ejecucin que provee servicios especficos a componentes. Por ejemplo todos los contenedores Web proveen soporte para requerimientos de clientes, realizar un procesamiento y retornar los resultados.
Ej.: Todos los contenedores EJB proveen soporte para gestin de transacciones, ciclo de vida, localizacin y otros servicios.

Los contenedores tambin poseen acceso a sistemas de informacin empresarial (RDBMS, JDBC, etc.)

2008-2009

DASDI

13

Tecnologas de componentes
Componente: unidad de software de nivel aplicacin
Ej: Javabeans, applets, componentes web, etc.

Los componentes JEE se ejecutan dentro de su correspondiente contenedor. El contenedor proporciona los servicios necesarios a los componentes en tiempo de ejecucin Permite declarar en lugar de programar determinados aspectos de comportamiento de los componentes
2008-2009 DASDI 14

Contenedores JEE
Cuatro aspectos:
Contrato de componentes API de servicio del contenedor Servicios Declarativos Otros servicios de contenedores

2008-2009

DASDI

15

Contrato de componentes
Los componentes son gestionados por el contenedor.
Deben cumplir el contrato del contenedor Contrato: Conjunto de mtodos a implementar por el componente y que permiten al contenedor interactuar con l.

Los contratos son interfaces java java.


2008-2009 DASDI 16

API del servicio del contenedor


El contenedor aporta una implementacin para las APIs de extensin de java. Ejemplo:
Servicio de mensajera JMS (JSR 914)
Driver que cumple la especificacin
Implementacin de los interfaces JSR 914

Gestor de mensajes y colas

2008-2009

DASDI

17

Servicios Declarativos
Algunos de los servicios ofrecidos por el contenedor a los componentes se declaran en lugar de programarse. La declaracin se realiza mediante descriptores de despliegue.
Por ejemplo, especificar que un mtodo tiene que estar inmerso en una transaccin.

Descriptor de despliegue: Contrato entre el contenedor y el componente.

2008-2009

DASDI

18

Otros Servicios
Gestin del ciclo de vida del componente Reserva de recursos Publicacin de componentes y otros recursos en espacio JNDI Clustering. Etc
2008-2009 DASDI 19

Componentes Web
Entidades que sirven respuestas a peticiones HTTP Normalmente generan interfaces de usuario basadas en Web Dos tecnologas:
Servlets JSP (Java Server Pages)

2008-2009

DASDI

20

Componentes Web: Servlets


Extienden la funcionalidad de un servidor Web Portables Se ejecutan en un contenedor de servlets.

2008-2009

DASDI

21

Componentes Web: JSP

Respuesta de Sun a las ASP de Microsoft Cuando se compilan, generan un servlet. Son pginas html con cdigo java incrustado.
2008-2009 DASDI 22

Componentes Web
Se ejecutan en un contenedor Web Contenedor web =
contenedor JSPs + contenedor servlets

Proporciona los servicios necesarios para la ejecucin de servlets y jsps, y controla su ciclo de vida. Escucha, decodifica y responde peticiones HTTP/HTTPS.
2008-2009 DASDI 23

Servicios de un contenedor Web


Seguridad Concurrencia Ciclo de vida Procesamiento de transacciones Despliege No estndar pero frecuentes:
Pool de conexiones Administracin remota
2008-2009 DASDI 24

Componentes Enterprise JavaBeans


EJB: Tecnologa de servidor para el desarrollo y despliegue de componentes que contienen la lgica de negocio de una aplicacin empresarial Lo EJBs son escalables, transaccionales y seguros en utilizacin multiusuario.
2008-2009 DASDI 25

Componentes Enterprise JavaBeans


Tres tipos:
De sesin, con estado y sin estado De entidad. Dirigidos por mensajes.

Contenedores EJB: Proporcionan los servicios de transacciones y persistencia y accede a las APIS de servicios y comunicaciones de JEE.

2008-2009

DASDI

26

Arquitectura JEE

2008-2009

DASDI

27

Construccin de aplicaciones: Roles

2008-2009

DASDI

28

Servicios plataforma JEE


Simplifican el desarrollo de aplicaciones poniendo recursos a su disposicin
Servicios de nombrado: Proporcionan a las aplicaciones cliente, EJBs y componentes WEB el acceso al entorno de nombrado JNDI. Permite personalizar un componente sin necesidad de acceder o cambiar su cdigo. Servicios de despliegue: Permiten personalizar los componentes y aplicaciones en el momento del empaquetamiento de despliegue.
Aplicacin JEE = conjunto de unidades o mdulos. Mdulo = uno o ms componentes JEE para el mismo tipo de contenedor En cada mdulo, un descriptor de despliegue.
2008-2009 DASDI 29

Despliege: Mdulos JEE


Empaquetan componentes o aplicaciones JEE. Tres tipos:
Archivos JAR (Java ARchive) Archivos WAR (Web Application ARchive) Archivos EAR (Enterprise Application ARchive)

2008-2009

DASDI

30

Archivos JAR (Java Archive)


Permite agrupar distintos archivos java en uno solo. Sigue el formato ZIP Incorporado en la versin 1.1 del JDK Contienen:
Clases java Recursos que emplean las clases META-INF\MANIFEST.MF
Manifest-Version: 1.2 Main-Class: DiveLog Created-By: 1.4 (Sun Microsystems Inc.) Specification-Title: "Java Utility Classes" Specification-Version: "1.2" Implementation-Title: "java.util" DASDI 31 Implementation-Version: "build57

2008-2009

Archivos WAR (Web Application ARchive)

Permiten empaquetar en una sola unidad aplicaciones web java completas.


Servlets y JSPs Contenido esttico
Html, imgenes, etc.

Librerias usadas por la aplicacin


Otros jars.

Otros recursos web


2008-2009 DASDI 32

Archivos EAR (Enterprise Application ARchive)

Archivos desplegables en servidores de aplicaciones JEE Contienen


Archivos WAR EJBs
Empaquetados en ficheros JAR

2008-2009

DASDI

33

Servicios plataforma JEE


Servicio de transacciones
Operaciones atmicas Un sistema transaccional garantiza que cada unidad o transaccin se termina completamente sin interferencia de otros procesos.
Commit Rollbak
2008-2009 DASDI 34

Servicios plataforma JEE


Servicio de seguridad
Garantiza que los recursos son accedidos por los usuarios autorizados. Distinguimos:
Autentificacin Autorizacin

Tcnicas
Declarativa Programtica

2008-2009

DASDI

35

Tecnologas de servicios
API JDBC
Proporciona conectividad independiente de la base de datos entre la plataforma JEE y un amplio rango de orgenes de datos

JAXP
Soporta el procesamiento de documentos XML mediante DOM y SAX, y transformaciones XSLT.

2008-2009

DASDI

36

Tecnologas de servicios
JNDI
Proporciona acceso a servicio de nombrado y directorio Independiente de implementaciones especficas (LDAP, NIS, etc.).

JCA
API estndar para la conexin de la plataforma JEE a otros sistemas de informacin, ej: SAP.
2008-2009 DASDI 37

Tecnologas de servicios
JTA (Java Transaction API)
API estndar para el acceso a los monitores transaccionales con independencia de implementaciones especficas.

JTS (Java Transaction Service).


Especificacin para la implementacin de un gestor de transacciones que soporte JCA. Impone como debe comunicarse un monitor transaccional con sus clientes.
2008-2009 DASDI 38

Tecnologas de comunicaciones
Mecanismos de comunicacin, implementaciones de protocolos.
Protocolos de Internet
TCP/IP, HTTP, HTTPS (http + ssl)

Protocolos de invocacin remota Protocolos OMG


Java IDL RMI-IIOP

2008-2009

DASDI

39

Tecnologas de comunicaciones
Tecnologas de mensajera.
JMS JavaMail.
Conjunto de clases e interfaces para el acceso a servidores de email. Ej, POP3, SMTP, IMAP4.

2008-2009

DASDI

40

Servicios WEB
Son aplicaciones modulares autodescriptivas que se pueden publicar, ubicar e invocar desde cualquier punto de la Web o desde el interior de una red local basada en estndares abiertos de Internet
Multiplataforma multilenguaje, tanto para el proveedor del servicio como para el usuario del mismo El acceso a servicios web se realiza a travs de protocolos de Internet como HTTP o SMTP basados en XML
2008-2009 DASDI 41

Servicios WEB

2008-2009

DASDI

42

Servicios Web

2008-2009

DASDI

43

Arquitectura Servicios WEB


Localizacin
UDDI (Universal Description Discovery and integration): Medio para la publicacin de servicios web en los registros de servicios web. Las empresas publican en los registros los servicios que ofrecen y la informacin tcnica para acceder a ellos. XML, HTTP, DNS, SOAP.
2008-2009 DASDI 44

Arquitectura Servicios WEB


Descripcin
WSDL (Web Services Definition Language) Define y describe los servicios web SOAP, XML.

Invocacin
SOAP (Simple Object Access Protocol) XML Formatos de mensajes para encapsula invocaciones a objetos en XML Puede emplear distintos protocolos de Internet para el transporte (SMTP, http, etc.
2008-2009 DASDI 45

También podría gustarte