Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Octubre del 2017)
1.070 visualizaciones desde el 20 de Octubre del 2017
1,1 MB
23 paginas
Creado hace 11a (23/06/2013)
Arquitectura de Proyectos de IT
Integración
Ing. Gastón Coco
Ing. Nicolás Passerini
Ing. Juan Arias
Ing. Gustavo A. Brey
Ing. Santiago Blanco
© 2005
Agenda
#
Tema
1
2
3
4
5
¿Por qué integración?
Métodos de integración
Mecanismos de integración
Tendencias
Puntos a tener en cuenta / Conclusiones
Duración
10 min
25 min
25 min.
15 mins
10 min.
2
Arquitectura de Proyectos de IT
¿Por qué integración?
Es muy difícil que una aplicación
funcione completamente separada
e independiente
La complejidad de desarrollo, y
del negocio hace que se
desarrollen aplicaciones para
nichos específicos
La solución integral a los
problemas de negocio está dada
por las aplicaciones funcionando
en conjunto
3
Arquitectura de Proyectos de IT
Agenda
#
Tema
1
2
3
4
5
¿Por qué integración?
Métodos de integración
Mecanismos de integración
Tendencias
Puntos a tener en cuenta / Conclusiones
Duración
10 min
25 min
25 min.
15 mins
10 min.
4
Arquitectura de Proyectos de IT
User interface level
Esta integración se realiza generalmente con la aplicación final que el usuario
está operando.
Se usa en casos en que el acceso directo a la base de datos no es fácil o no es
posible. También se usa cuado la lógica de negocios está embebida en la UI.
Por lo general se usa como la última posibilidad.
Ejemplos
http://www.kapowtech.com/
http://www.openspan.com/
5
Arquitectura de Proyectos de IT
Method level
Consiste en la posibilidad de compartir una
serie de métodos comunes. Estos métodos
pueden ser agrupados en un servidor central
o estar distribuidos. Esta orientado a la
reutilización de métodos.
Este nivel requiere la posibilidad de realizar
llamadas remotas a los métodos (como RPC)
en las aplicaciones integradas
Ejemplos
Remoting
JCA
6
Arquitectura de Proyectos de IT
Application level
Este nivel se puede tomar como un subconjunto del anterior Estas
interfaces dan acceso a servicios provistos por una aplicación
particular o un paquete de servicios.
Por lo general es considerada la mejor forma de acceder (es
transparente para la aplicación y preserva la integridad de datos de
la aplicación)
Ejemplos
REST
Web Services
7
Arquitectura de Proyectos de IT
Data level
•Este nivel de integración se realiza entre los repositorios de datos de las
aplicaciones a integrar.
•Push-based: llamadas a otra base de datos mediante links o stored procedures.
•Pull-based: se maneja con triggers y polling. Con los primeros se capturan
eventos, y a partir de ahí se escribe información en tablas que actúan de intefarce.
Ejemplos
•ETL
•DBLinks
8
Arquitectura de Proyectos de IT
Agenda
#
Tema
1
2
3
4
5
¿Por qué integración?
Métodos de integración
Mecanismos de integración
Tendencias
Puntos a tener en cuenta / Conclusiones
Duración
10 min
25 min
25 min.
15 mins
10 min.
9
Arquitectura de Proyectos de IT
Mecanismos de integración
Puntuales / on-line
http/xml
Web Services
REST
Colas
Archivos
Base de datos
Socket
CORBA
Masivos / off-line
Colas
Archivos
Base de datos
ETL
10
Arquitectura de Proyectos de IT
Métodos de integración
http / xml
– Utilización de un transporte de datos estándar
– Comprendido por casi todas las tecnologías
– Es necesario definir un contrato “no estándar” entre los
participantes -> acoplamiento a nivel datos
– Se envían mucha cantidad de datos innecesaria, con poca
información útil.
Web Services
– Generalmente, sobre http
– Mejora la contra de http/xml, haciendo que el contrato se genere
de una forma estándar
– Se sigue enviando mucha cantidad de datos innecesaria
11
Arquitectura de Proyectos de IT
Métodos de integración
REST
– REpresentational State Transfer
– Basado en HTTP y sus estándares asociados, como URI y HTML
– Principios
– Todo recurso debe ser identificable y alcanzable
– Debe existir una interfaz uniforme y restringida
– GET: Consulta / lectura
– POST: Alta / Creación
– PUT: Actualización / Modificación
– DELETE: Borrar
– Los recursos pueden tener múltiples representaciones
– HTML, XML, Json, YAML
– La comunicación debe ser stateless
12
Arquitectura de Proyectos de IT
Métodos de integración
REST (continuación)
– Ubicuidad y portabilidad (heredado de HTTP)
– Independencia del contrato (un recurso puede definirse de
diferentes maneras)
– Funciona sobre tecnologías ya probadas en ambientes heterogéneos
– Al no manejar estado, la escalabilidad horizontal es relativamente
simple
– Al no tener un contrato definido, puede resultar engorroso acordar
una forma de interacción entre las partes
– Ciertas cuestiones de integración no estan cubiertas
– Seguridad
– Manejo de transacciones
– Utilizarlo para la exposición o consulta de recursos, pero no
para modificación o eliminación.
13
Arquitectura de Proyectos de IT
Métodos de integración
Colas / Comunicación asíncrona / Mensajería
– Permite
Transmisión segura
Mensajería asíncrona
– Se basa en el intercambio de mensajes
– Partes
Emisor
Receptor
Canal
14
Arquitectura de Proyectos de IT
Agenda
#
Tema
1
2
3
4
5
¿Por qué integración?
Métodos de integración
Mecanismos de integración
Tendencias
Puntos a tener en cuenta / Conclusiones
Duración
10 min
25 min
25 min.
15 mins
10 min.
15
Arquitectura de Proyectos de IT
SOA
Tantas cosas dijeron de SOA… pero … ¿Qué es SOA?
•SOA != Web Services
•SOA no existe tal como lo venden los consultores
(perdón a quien lo sea)
•Lo mas importante es el concepto arquitectónico de
orientación a servicios
•Es aplicable en contextos empresariales
•No se debe pensar un sistema isolado orientado a
servicios
•Utilizar servicios para Comunicación
•Principios
•Un sistema es una entidad proveedora de servicios
•Los servicios deben ser fácilmente ubicables
•Los servicios deben tener un contrato claro
16
Esto no es SOA!!!!
Arquitectura de Proyectos de IT
BPM
Los procesos son la interacción entre sistemas y personas, o personas
entre si, aplicando reglas de negocio
Desarrollarlos, administrarlos y mantenerlos no es trivial
Personas
Call Center
Coordinator
Claims
Handler
Internal
Assessor
Loss
Adjuster
Customer
Notice
of loss
Claim
Allocation
Handling/
Assessment
Settlement
3rd Party
Admin
Sistemas
17
Arquitectura de Proyectos de IT
Cloud Computing
Estilo arquitectónico donde recursos son
publicados como servicios a través de internet.
Estos recursos son:
– Altamente escalables
– Muchas veces virtualizados
La idea es no tener costos asociados con el
mantenimiento, infraestructura ni licencias de
base sobre los recursos utilizados por la
empresa.
18
Arquitectura de Proyectos de IT
Cloud Computing (continuación)
Que tiene que ver con integración?
– Muchas aplicaciones empresariales hacen uso de
funcionalidades que hoy están disponibles en internet:
– IAAS: Infraestructure as as service
– PAAS: Platform as a service
Ejemplos:
– Google Apps
– GoGrid
– Microsoft Online Services
– Microsoft Azure
19
Arquitectura de Proyectos de IT
SaaS
Un tipo particular de Cloud Computing
Modelo de negocios donde una empresa delega en un tercero la
implementación de una funcionalidad que de soporte al
funcionamiento de la misma.
¿Qué tiene que ver la integración en todo esto?
– Es probable que la funcionalidad sea expuesta por un tercero
(especialista en este tipo de sistemas) como un servicio.
– Es necesario que los servicios se expongan de una manera estándar
para la industria en cuestión (por ejemplo, facturación, o CRM) ->
Minimizar costos
– Es necesario que los servicios expuestos por el tercero manejen
transaccionalidad, seguridad, escalabilidad, etc.
20
Arquitectura de Proyectos de IT
Agenda
#
Tema
1
2
3
4
5
¿Por qué integración?
Métodos de integración
Mecanismos de integración
Tendencias
Puntos a tener en cuenta / Conclusiones
Duración
10 min
25 min
25 min.
15 mins
10 min.
21
Arquitectura de Proyectos de IT
Puntos a tener en cuenta
•Disponibilidad de los datos
• Momento en que son necesarios los datos
•Transaccionalidad
•Modificabilidad
•Modelo canónico de entidades
•Seguridad
•Multiplataforma
•Sincronismo / asincronismo
•Existencia de contratos estándares por industria
•SID
•N7
22
Arquitectura de Proyectos de IT
Conclusiones
Siempre caemos en la necesidad de integrar
aplicaciones
Existen diferentes formas de integrar
sistemas
Para seleccionar por la que vamos, debemos
tener en cuenta muchas cuestiones.
Lo mas importante, es no ir siempre por la
mas fácil o acostumbrada, sino tener un
criterio que nos permita elegir la mejor
alternativa.
23
Arquitectura de Proyectos de IT
Comentarios de: Integración - Arquitectura de Proyectos de IT (0)
No hay comentarios