36
JCA Copyright © 2002-2003 Universidad de Alicante J2EE-1 EAI Sesión 3: Introducción a JCA

EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-1

EAISesión 3:

Introducción a JCA

Page 2: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-2

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 3: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-3

Introducción

Hay una necesidad real de integrar las aplicaciones existentesJ2EE es una plataforma a tener en cuenta para realizar la integración de aplicacionesPROBLEMA:

Servidor de aplicaciones

J2EE

¿CÓMO COMUNICARLOS?

EIS

EIS

EIS

Page 4: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-4

Soluciones de conexión posibles

Solución 1: establecer conexiones ad-hoc entre los servidores de aplicaciones y los EIS

Solución 2: estandarizar la forma de realizar las conexiones

S1

S2

EIS1

EIS1

EIS1

n servidoresm EISTotal: n × m conexiones

S1

S2

EIS1

EIS1

EIS1

C

n servidoresm EISTotal: n + m conexiones

menor esfuerzo de integración

Page 5: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-5

JCA: Java Connector Architecture

Especificaciones que proporcionan un API estándar para permitir la interacción entre componentes J2EE y EIS heterogéneas

Estandariza la infraestructura y arquitectura para la aplicación de adaptadores de recursos

El objetivo de JCA es extender las capacidades de integración de los servidores de aplicaciones

Actualmente se dispone de la versión 1.5 en http://java.sun.com/j2ee/connector

Page 6: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-6

Ventajas de la arquitectura Connector

El desarrollo de aplicaciones es más rápido y más sencillo:

El desarrollador se centra en la lógica del desarrollo

Se reduce el ámbito de integración:Contratos a nivel de sistemaContratos a nivel de aplicación

Page 7: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-7

Adaptador de recursos (AR)

Es un componente software que conecta dos EIS incompatibles con el propósito de facilitar el intercambio de información entre ellas

Patrones de integración relacionados:Sincronización de datosServicios on-lineAutomatización de procesos

Page 8: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-8

Tipos de adaptadores de recursos

Adaptadores de integración (AI) punto a punto

AI brokered

AI conversacionales

AI query

AI broadcast

AI eventos

Page 9: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-9

AR y servidor de aplicaciones

El adaptador de recursos se usa dentro del espacio de direcciones del servidor de aplicacionesEs un componente más del servidor de aplicaciones. Hay 1 adaptador de recursos para cada EISCaracterísticas del componente:

No son gestionados por un contenedor JCAEs una extensión del servidor de aplicaciones

Se definen contratos a nivel de SISTEMA entre el servidor de aplicaciones y el EISEl adaptador de recursos implementa la parte del EIS de los contratos a nivel de sistemaEl servidor de aplicaciones actúa como un broker entre los EJBsy los adaptadores de recursos

Page 10: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-10

Adaptador de recursos y EIS

Un adaptador de recursos es específico para un EIS

Un adaptador de recursos se asemeja a un driver JDBC

Un AR está contenido en un fichero de adaptador de recursos RAR( RAR: Resource Adapter aRchive)

El desarrollo de un AR es una tarea compleja que es realizada por los vendedores de software comercial

Page 11: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-11

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 12: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-12

Elementos JCA

JCA está implementada en un servidor de aplicaciones J2EE

Los AR están implementados por un vendedor EIS

JCA define los siguientes elementos y servicios que tienen que soportar los adaptadores de recursos:

Contratos y servicios a nivel de sistemaContratos y servicios a nivel de aplicaciones (CCI)Interfaces de empaquetado y despliegue

Page 13: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-13

Arquitectura CONNECTOR: contratos

Servidor de aplicaciones

Contenedor

Contratos a nivel de sistema

Componente de Aplicación

Contrato componente-contenedor

Adaptador de recursos

Contratos de la aplicación

Contratos del sistema

Interfaz específica EIS

EIS

Page 14: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-14

JCA y tipos de integración

Integración INBOUNDsistemas externos inician peticiones de datos a nuestros sistemas

Integración OUTBOUNDnuestro sistema inicia peticiones de datos a otros sistemas

Connector 1.0 especifica contratos de sistema para permitir conectividad outbound

Connector 1.5 introduce capacidades adicionales con respecto a la conectividad inbound

Page 15: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-15

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 16: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-16

Contratos a nivel de sistema

Se consideran un SPI (Service Provider Interface)

Un SPI proporciona una forma estándar para que un vendedor de un servidor de aplicaciones extienda un contenedor para soportar conectividad con múltiples EIS

El AR es plugged en el servidor de aplicaciones (SA)

Se definen los servicios que un SA debe proporcionar pero no cómo los debe proporcionar

Page 17: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-17

Contratos a nivel de sistema

Gestión de conexiones

Gestión de transacciones

Gestión de la seguridad

Gestión del ciclo de vida

Gestión de trabajos

Flujos de transacciones de entrada

Flujos de mensajes de entrada

Page 18: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-18

Escenario ejemplo: adaptadores

Aplicación J2EE de gestión de

pedidos

Servidor de aplicaciones J2EE

Aplicación gestión

inventarios(Mainframe)

Aplicación logística(ERP)

Aplicación financiera

(ERP)BD de clientes BD de pedidos

Adaptador de recursos

Adaptador de recursos

Adaptador de recursos

Proveedor JMS

DriverJDBC

Page 19: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-19

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 20: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-20

Gestión de conexiones: objetivos

Establecer una práctica de programación consistente para proporcionar conexiones para aplicaciones gestionadas y no gestionadas

Permitir que un AR proporcione una connectionfactory e interfaces de conexión específicas del EIS

Proporcionar un mecanismo genérico para que J2EE pueda proporcionar servicios como transacciones, seguridad y registro de errores

Proporcionar soporte para servicios de pooling de conexiones

Page 21: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-21

Arquitectura de la gestión de conexiones

Clases requeridas:(paquete javax.resource.spi)• ManagedConnectionFactory• ManagedConnection• ManagedConnectionMetaData• ConnectionManager• ConnectionEvent• ConnectionEventListener

Page 22: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-22

Modelo para obtener una conexión

El suministrador del componente especifica los requerimientos para la connection factory para el componente de aplicación

El encargado del despliegue fija la configuración para el adaptador de recursos

El componente de aplicación busca una instancia de la connection factory mediante JNDI

Se invoca al método getConnection

El componente usa la conexión obtenida para acceder al EIS

El componente cierra la conexión

Page 23: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-23

Ejemplo

Descriptor de despliegue:res-ref-name: eis/MyEisres-type: javax.resource.cci.ConnectionFactoryres-auth: Application (o Container)

Configuración del adaptador de recursos:jdbc:pointbase:server://localhost/demo

Búsqueda de la connection factoryContext initctx = new InitialContext( );javax.resource.cci.ConnectionFactory cfx =

(javax.resource.cci.ConnectionFactory)initctx.lookup("java:comp/env/eis/MyEis);

Obtención de la conexiónjavax.resource.cci.Connection cx = cfx.getConnection( );

Usamos la conexión (p.ej. PreparedStatement ps = cx.prepareStatement("select *");

Cerramos la conexióncx.close( );

Page 24: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-24

Ejemplo

Descriptor de despliegue:res-ref-name: eis/MyEisres-type: javax.resource.cci.ConnectionFactoryres-auth: Application (o Container)

Configuración del adaptador de recursos:jdbc:pointbase:server://localhost/demo

Búsqueda de la connection factoryContext initctx = new InitialContext( );javax.resource.cci.ConnectionFactory cfx =

(javax.resource.cci.ConnectionFactory)initctx.lookup("java:comp/env/eis/MyEis);

Obtención de la conexiónjavax.resource.cci.Connection cx = cfx.getConnection( );

Usamos la conexión (p.ej. PreparedStatement ps = cx.prepareStatement("select *");

Cerramos la conexióncx.close( );

Page 25: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-25

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 26: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-26

Interfaces de empaquetado y despliegue

Módulo adaptador de

recursos

Adaptador de recursos

Vendedor de EIS

Recursos del adaptador

empaquetados

Configuración del entorno

Deployer Deployer

Incluye módulos J2EE

Servidor de aplicaciones

Contenedor Web

Contenedor EJB Adap. Rec.

EIS

Adap. Rec. específico EIS

Page 27: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-27

Pasos para empaquetar un AR

Crear un directorio temporalCompilar y/o copiar las clases java del adaptador de recursos (en un *.jar)Crear un subdirectorio denominado:META-INFCrear los ficheros de descriptores de despliegue del AR:

ra.xmlweblogic-ra.xml

Crear el fichero *.rar del adaptador de recursos:jar cvf adaptadorRec.rar -C dir_temporal .

Page 28: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-28

Ejemplo archivo rar

/dir_temporal

/dir_temporal/adaptador.jar

/dir_temporal/META-INF

/dir-temporal/META-INF/ra.xml

/dir-temporal/META-INF/weblogic-ra.xml

Creamos el fichero rar:jar cvf adaptadorRec.rar -C /dir_temporal .

Contenido del fichero adaptadorRec.rar/adaptador.jar

/META-INF

/META-INF/ra.xml

/META-INF/weblogic-ra.xml

Page 29: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-29

Descriptores de despliegue: ra.xml

Información general del adaptador<display-name>BlackBoxNoTx</display-name><vendor-name>Java Software</vendor-name><spec-version>1.0</spec-version><eis-type>JDBC Database<eis-type><version>1.0</version>

Nombre completo de la clase java que implementa la interfaz javax.resource.spi.ManagedConnectionFactory<managedconnectionfactory-class>

com.sun.connector.blackbox.NoTxManagedConnectionFactory

<managedconnectionfactory-class>

Page 30: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-30

Descriptores de despliegue: ra.xml

Interfaz y clase para la connection factory<connectionfactory-interface>

javax.sql.DataSource</connectionfactory-interface><connectionfactory-impl-class>

com.sun.connector.blackbox.JdbcDataSource</connectionfactory-impl-class>

Interfaz y clase para connection<connection-interface>javax.sql.Connection</connection-interface><connection-impl-class>

com.sun.connector.blackbox.JdbcConnection</connection-impl-class>

Nivel de transacción soportado<transaction-support>NoTransaction</transaction-support>

Page 31: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-31

Descriptores de despliegue: ra.xmlPropiedades para cada instancia ManagedConnectionFactory<config-property>

<config-property-name>ConnectionURL</config-property-name> <config-property-type>java.lang.String</config-property-

type> <config-property-value>

jdbc:pointbase:server://localhost/demo;create=true </config-property-value>

</config-property>

Mecanismos de autentificación<authentication-mechanism>

<authentication-mechanism-type>BasicPassword</authentication-mechanism-type> <credential-interface> javax.resource.security.PasswordCredential

</credential-interface> </authentication-mechanism>

Soporte de re-autentificación de una conexión existente. <transaction-support>NoTransaction</transaction-support>

Page 32: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-32

Roles y responsabilidades del despliegue

Suministrador del adaptador de recursosespecifica el descriptor de despliegue

Vendedor del servidor de aplicacionesproporciona la implementación JCA

Suministrador del componente de aplicacióndesarrolla programas utilizando CCIno crea código para proporcionar seguridad, transacciones, concurrencia y distribución

Encargado del despliegueconfigura el AR para el entorno de destino J2EE

Page 33: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-33

Opciones de despliegue de un adaptador

El despliegue de AR es similar al despliegue de aplicaciones web, EJBs, y aplicaciones de empresa

Podemos desplegar el AR por separado o formando parte de una aplicación de empresa:

Utilizando la consola de administración del servidor WebLogicUtilizando la utilidad Deployer de WebLogicUtilizar el auto-despliegue

Page 34: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-34

INDICE

IntroducciónElementos JCAContratos a nivel de sistema

Gestión de conexionesInterfaces de empaquetado y despliegueAdaptadores de recursos black-box

Ejemplo de aplicación

Page 35: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-35

Adaptadores de recursos black box

Son adaptadores cuyo propósito es servir para comprobar si un servidor J2EE cumple con JCAEl EIS subyacente es una base de datos relacionalEl API cliente es el API JDBC 2.0 y la interfaz javax.sql.DataSourceAdaptadores proporcionados:

blackbox-notx.rarblackbox-tx.rarblackbox-xa.rarcciblackbox-tx.rarcciblackbox-xa.rar

Page 36: EAI Sesión 3: Introducción a JCAjtech.ua.es/j2ee/2003-2004/modulos/eai/sesion03-traspas.pdf · 2010. 7. 30. · Ventajas de la arquitectura Connector El desarrollo de aplicaciones

JCA Copyright © 2002-2003 Universidad de Alicante J2EE-36

Propiedades e instalación

ConnectionURLblackbox-notx.rar, blackbox-tx.rar, cciblackbox-tx.rar