23
Arquitectura de Proyectos de IT © 2005 Integración Ing. Gastón Coco Ing. Nicolás Passerini Ing. Juan Arias Ing. Gustavo A. Brey Ing. Santiago Blanco

Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

  • Upload
    vonga

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

Arquitectura de Proyectos de IT

© 2005

Integración

Ing. Gastón Coco Ing. Nicolás Passerini Ing. Juan Arias Ing. Gustavo A. Brey Ing. Santiago Blanco

Page 2: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

2 Arquitectura de Proyectos de IT

Agenda

# Tema Duración

1 ¿Por qué integración? 10 min

2 Métodos de integración 25 min

3 Mecanismos de integración 25 min.

4 Tendencias 15 mins

5 Puntos a tener en cuenta / Conclusiones 10 min.

Page 3: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

3 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

Page 4: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

4 Arquitectura de Proyectos de IT

Agenda

# Tema Duración

1 ¿Por qué integración? 10 min

2 Métodos de integración 25 min

3 Mecanismos de integración 25 min.

4 Tendencias 15 mins

5 Puntos a tener en cuenta / Conclusiones 10 min.

Page 5: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

5 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/

Page 6: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

6 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

Page 7: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

7 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

Page 8: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

8 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

Page 9: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

9 Arquitectura de Proyectos de IT

Agenda

# Tema Duración

1 ¿Por qué integración? 10 min

2 Métodos de integración 25 min

3 Mecanismos de integración 25 min.

4 Tendencias 15 mins

5 Puntos a tener en cuenta / Conclusiones 10 min.

Page 10: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

10 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

Page 11: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

11 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

Page 12: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

12 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

Page 13: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

13 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.

Page 14: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

14 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

Page 15: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

15 Arquitectura de Proyectos de IT

Agenda

# Tema Duración

1 ¿Por qué integración? 10 min

2 Métodos de integración 25 min

3 Mecanismos de integración 25 min.

4 Tendencias 15 mins

5 Puntos a tener en cuenta / Conclusiones 10 min.

Page 16: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

16 Arquitectura de Proyectos de IT

SOA

Tantas cosas dijeron de SOA… pero … ¿Qué es SOA?

Esto no 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

Page 17: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

17 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

Notice

of loss

Handling/

Assessment

Admin 3rd Party Settlement Allocation Claim

Personas

Sistemas

Call Center Coordinator Customer Loss

Adjuster

Claims

Handler

Internal

Assessor

Page 18: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

18 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.

Page 19: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

19 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

Page 20: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

20 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.

Page 21: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

21 Arquitectura de Proyectos de IT

Agenda

# Tema Duración

1 ¿Por qué integración? 10 min

2 Métodos de integración 25 min

3 Mecanismos de integración 25 min.

4 Tendencias 15 mins

5 Puntos a tener en cuenta / Conclusiones 10 min.

Page 22: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

22 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

Page 23: Arquitectura de Software - APIT-UTNapit.wdfiles.com/local--files/start/03_apit_integracion_nueva.pdf•Este nivel de integración se realiza entre los repositorios de datos de las

23 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.