Publicado el 12 de Julio del 2017
1.376 visualizaciones desde el 12 de Julio del 2017
5,7 MB
144 paginas
Creado hace 13a (01/01/2012)
Diseño e Implementación con
Tecnologías de Integración de
ó
g
g
Aplicaciones
Carlos Alberto Pan Bermúdez
Carlos Alberto Pan Bermúdez
J osé Losada Pérez
Temario
� Tema 1. Introducción a las tecnologías de integración de
aplicaciones
Tema 2 Int od cción a XML
� Tema 2. Introducción a XML
� 2.1 El lenguaje XML
� 2.2 Parsing de documentos XML
Tema 3 Integración de aplicaciones heterogéneas con Servicios
� Tema 3. Integración de aplicaciones heterogéneas con Servicios
Web
� 3.1 Introducción a los Servicios Web
� 3 2 Arquitectura REST
� 3.2 Arquitectura REST
� 3.3 Caso de estudio: diseño e implementación de un
servicio/cliente REST
� 3.4 J AX-WS
� 3.5 Caso de estudio: diseño e implementación de un
� 3.6 Servicios Web RESTful
servicio/cliente SOAP con J AX-WS
� Tema 4. Diseño de flujos inter-aplicación
ó
� 4.1 Introducción a los sistemas EAI y ESB
� 4.2 Orquestación de servicios Web
ó d d
� Tema 5. Introducción a la integración de datos distribuidos
b d
d
ó
ñ
d
l
Objetivos
� Conocer el problema de la integración de aplicaciones
� Conocer estándares, tecnologías y técnicas de diseño
para la integración de aplicaciones heterogéneas
para la integración de aplicaciones heterogéneas
� Conocer los principios básicos de la integración de
� Conocer los principios básicos de la integración de
datos distribuidos
� Orientación de la asignatura: práctica
Laboratorio
� Una práctica de integración de servicios
Grupos de 2 personas
� Grupos de 2 personas
� Desarrollo iterativo
Primera iteración
� Primera iteración
� Implementación de la parte inicial
� Entrega: Mayo
� Objetivo de la corrección: detectar errores de enfoque y
orientar sobre cómo resolverlos
� Segunda iteración
� Segunda iteración
� Corrección de errores e implementación del resto de la
funcionalidad
� Entrega: J unio/J ulio
Entrega: J unio/J ulio
� Objetivo de la corrección: determinar la nota de la
práctica
� Ambas iteraciones son obligatorias
Evaluación
Material de clase
� Laboratorio
� Nota mínima: 5
� Nota mínima: 5
� Examen tipo test
� Objetivo: comprobar que se ha hecho la práctica y que los
� Objetivo: comprobar que se ha hecho la práctica y que los
conceptos se han asimilado correctamente
� Nota mínima: 4
� En principio, la nota final es la de la práctica (si en el
examen se supera la nota mínima)
� La nota del examen puede subir o bajar la nota final
l
b j
� Si en el examen se saca entre un 4 y un 5, la nota final
t d l
bi
fi
d
L
t
l
máxima es un 5
� Se conservan notas (de prácticas y exámenes) hasta
la convocatoria de Diciembre
Bibliografía recomendada
� E. R. Harold, W. S. Means, XML in a Nutshell: A
DesktopQuickReferenceThirdedition
DesktopQuickReference, Thirdedition,
O’Reilly, 2004
� B. McLaughlin, JavaandXML,ThirdEdition,
� B. McLaughlin, JavaandXML,ThirdEdition,
O’Reilly, 2006
,
� Martin Kalin, Java Web Services: Up and
p
Running. O’Reilly, 2009
� J . McGovern, S. Tyagi, M. E. Stevens, S. Mathew,
Java Web Services Architecture, Morgan
Kaufmann, 2003
d i h d
� Leonard Richardson, Sam Ruby. RESTful Web
b Sfl b
S
Services, O’Reilly Media, 2007
� Página Web en Moodle
� Transparencias
� Transparencias.
� En breve:
� Código con los ejemplos.
� Enlaces (en Internet) al software usado en el laboratorio.
Bibliografía complementaria
� E. Gamma, R. Helm, R. J ohnson, J . Vlissides, Design
Patterns:ElementsofReusableObject-Oriented
Patterns:ElementsofReusableObjectOriented
Software, Addisson-Wesley, 1994
� K. Arnold, J . Gosling, D. Holmes, TheJava
� K. Arnold, J . Gosling, D. Holmes, TheJava
Programming Language, 4th edition, Addison-Wesley,
2005
� G. Booch, I. J acobson, J . Rumbaugh, Unified
Modeling Language User Guide, 2nd edition, Addison-
2005
Wesley, 2005
W l
Recursos en Internet (1)
� Información general sobre XML y Servicios Web
� http://www.xml.org
� http://www.webservices.org
� Estándares XML y Servicios Web
� http://www.w3c.org (generales)
� http://java.sun.com/webservices (J ava)
E tá d
BPEL
� http://www.oasis-
� Estándares BPEL para flujos inter-aplicación:
i t
ió
fl
li
j
open.org/committees/tc home.php?wg abbrev=wsbpel
ope o g/co
sbpe
(WS-BPEL 2.0)
ttees/tc_ o e p p
g_abb e
� http://www-
128 ibm com/developerworks/library/specification/ws bpel
128.ibm.com/developerworks/library/specification/ws-bpel
(BPEL4WS 1.1)
Recursos en Internet (y 2)
� Principales paquetes J ava que usaremos para invocar
e implementar Servicios Web
e implementar Servicios Web
� J DOM
� http://www.jdom.org
� J akarta Commons HttpClient
� http://jakarta.apache.org/commons/httpclient
Tomcat
� Tomcat
� http://tomcat.apache.org
� Google Web Toolkit (GWT)
)
g
(
� http://code.google.com/webtoolkit
� J ava Web Services
� http://java.sun.com/webservices/
n om/ eb e i e /
http //j
Tema 1: Introducción a las tecnologías
de integración de aplicaciones
de integración de aplicaciones
Índice
� Introducción
Integración de Aplicaciones
� Integración de Aplicaciones
� Arquitectura de referencia
� Capa de Integración de Plataforma
� Capa de Integración de Plataforma
� Capa de Acceso e Integración de Datos
� Capa de Procesos de Negocio
Capa de Procesos de Negocio
� Estructura de la asignatura
� Tecnologías de Integración de Plataforma
� Tecnologías de Integración de Plataforma
� Historia: RPC, CORBA, J AVA RMI, DCOM,…
� Servicios Web
� SOAP
� El enfoque REST
Introducción (1)
Introducción (2)
� Integración de aplicaciones
� Hoy en día construir nuevas aplicaciones a menudo
� Hoy en día, construir nuevas aplicaciones a menudo
involucra hacer colaborar entre sí a aplicaciones distribuidas,
heterogéneas y posiblemente autónomas.
� Distribución: las diferentes aplicaciones pueden ejecutarse
ó
en máquinas conectadas a través de una red:
� LAN
� Internet
� Autonomía: El sistema de integración no puede esperar que
la aplicación cambie su forma de actuar para facilitar la
la aplicación cambie su forma de actuar para facilitar la
integración
� Aplicaciones heredadas
� Aplicaciones de otros departamentos
� Aplicaciones de otras empresas (B2B)
Introducción (y 3)
� Heterogeneidad: Razones
� Decisiones de ingeniería
� Decisiones de ingeniería
problema
d
� Razones de coste
� Diferentes personas eligen diferentes soluciones a un mismo
� Se compra el tipo de software/hardware que cumpla los
requisitos y tenga un precio razonable
� Evolución tecnológica: Aplicaciones antiguas
� No es posible desecharlas y rehacerlas con las tecnologías más
modernas
modernas
� Es preciso seguir utilizándolas hasta amortizar su coste de
desarrollo y obtener beneficio
� Heterogeneidad
� Máquinas: mainframes, servidores (Sun, IBM, HP, etc.),
� Máquinas: mainframes servidores (Sun IBM HP etc )
estaciones de trabajo (Compatibles PC, Apple Macintosh,
Sun, IBM, HP, etc.)
� Sistemas operativos: Solaris, HP-UX, AIX, Linux, MacOS, MS-
Windows (9x, NT, 2000, XP), etc.
Aplicaciones en distintos lenguajes: J ava, C++, Visual Basic,
� Aplicaciones en distintos lenguajes: J ava, C++, Visual Basic,
Visual C++, Delphi, COBOL, etc.
� Distintas arquitecturas de datos: ficheros, bases de datos de
distintos modelos y fabricantes sitios web
distintos modelos y fabricantes, sitios web,…
� Distintos esquemas y formatos de datos. Ejemplo:
� App A: DIRECCION=“C\ Alcala, 32, 28080 Madrid”.
� App B: CALLE=“Calle Alcalá” NUM=“32”, CP=“28080”,
pp
CIUDAD=“Madrid”.
Arquitectura de Referencia
App1
App2
App3
App4
Componentes reusables de Lógica de
negocio: JEE/ .NET/ ESB / EAI
Capa de Acceso e Integración de Datos
Integración de Plataforma
Integración de Plataforma
Aplicaciones
finales de
usuario
usuario
Gobernanza
Seguridad
Gestión
Aplicaciones
Proveedoras de
Servicios
CRM
ERP
SRM
Web
Services
Web
Docum
entos
Ficher
os
Arquitectura de referencia (2)
Arquitectura de referencia (3)
� Aplicaciones proveedoras de servicios:
� Gestión de clientes (CRM), Gestión de recursos (ERP),
Gestión de proveedores (SRM), Facturación, Almacén,…
I
� Integración de Plataforma
� Aplicaciones externas: socios, proveedores, clientes, cloud.
t
� Comunicación entre aplicaciones independientemente de
localización, hardware, SO y lenguaje de programación.
localización, hardware, SO y lenguaje de programación.
ió d Pl t f
� Tecnología dominante: Servicios Web.
Arquitectura de referencia (4)
d A
� Capa de Acceso e Integración de Datos (cont)
t)
ió d D t
C
� Gobernanza. Punto único para:
I t
(
� Definir políticas de acceso a datos: permisos.
Definir políticas de acceso a datos: permisos
� Determinar el impacto de cambios.
� Monitorizar el acceso a fuentes de datos: e.g. Limitar
g
accesos concurrentes, detectar errores...
� Software de soporte a esta capa puede incorporar:
� ...
S ft
� Maneras declarativas de crear combinaciones de datos:
� Ejemplo: “join” entre información de CRM aplicación
join entre información de CRM, aplicación
� Ejemplo:
d i
d
t
t
de incidencias y aplicación de facturación.
� Componentes reusables sin escribir código.
� Optimización de consultas distribuidas.
� Definición de vistas virtuales.
� Múltiples modos de acceso: J DBC, SOAP,...
� ...
Múltiples modos de acceso: J DBC SOAP
� Capa de Acceso e Integración de Datos
� Punto único de acceso a datos. Generalización del patrón
DAO (Data Access Object)
DAO (Data Access Object).
� Ofrece API única de acceso a datos, independiente de
arquitectura de almacenamiento.
� Proporciona componentes de acceso a datos reusables.
Ejemplo:
� Obtener los datos de un cliente junto con sus incidencias
� Obtener los datos de un cliente junto con sus incidencias
graves abiertas y nuestro nivel de facturación con él.
� Independencia Física y Lógica. Si hay cambios en la
localización/esquemas de las fuentes de datos sólo hay que
localización/esquemas de las fuentes de datos, sólo hay que
tocar esta capa, no las aplicaciones. Ejemplos
� Una fuente cambia su esquema de datos.
� Una fuente (e.g. M
Comentarios de: Diseño e Implementación con Tecnologías de Integración de Aplicaciones (0)
No hay comentarios