Post on 12-Jun-2015
transcript
www.EvencoCCC.com
Arquitecturas Orientadas a Servicios, evolucionando hacia un mundo de aplicaciones y sistemas mas relacionados.
Edward A. Ortega Robles Consultor‐Arquitecto SOA & BPM
eortega@cysce.comeortega@cysce.com
SilosOrganizacionales –
BarrerasCorporativas
MúltiplesAplicativosaislados
Replicación enMultiples sistemas
Dificultad en el MantenimientoDe aplicaciones
SistemasHeterogeneos
Un programa nuevoPara cada nuevo
servicio
Dificultad en el Desarrollo de nuevas
funcionalidades
OSS
BSSFinanzas
RH
Compras
OtrosSistemas
Clientes
Gestión del Cliente Facturación
ActivaciónGestión delInventario
Gestión delFallas
Gestión de laFuerza de Trabajo
Red
Capa de Procesos Independiente
Conexiones punto a punto entre aplicaciones.Conectividad simple y básica.
EAI aplicaciones conectadas vía un Hub centralizado.Más fácil de manejar largos números de conexiones.
Integración de aplicaciones y plataformas usando interacción de servicios y un ESB.
Mon
o líti
c o
Estru
ctur
ado
Cl ie
n t/S
e rve
r
3-Ti
er,
N-T
i er
Ob j
eto s
dis t
ribui
dos
Co m
pone
nte s
Web
Se r
vice
s
Serv
i cio
s
Abstracción
Vertical Horizontal Ecosistema
Una tarea de negocio repetible, por ejemplo: determinar el saldo de cuenta de un cliente, crear una nueva cuenta.
… un servicio?
Un estilo de arquitectura de IT que soporta el negocio mediante la orientación al servicio.
… arquitectura orientada a servicios(SOA)?
Una forma de integrar las soluciones de negocios como servicios interrelacionados.
… orientación a servicios?
Un conjunto de servicios relacionados e integrados que soportan los procesos de negocio construidos sobre SOA.
… aplicaciones compuestas?
• Gartner: "SOA es una relación de servicios y consumidores de servicios, ambos suficientemente amplios para representar una función de negocios completa".
• IBM: “Una arquitectura de aplicación en la cual todas las funciones se definen como servicios independientes con interfaces invocables bien definidas, que pueden ser llamadas en secuencias definidas para formar procesos de negocios”.
• Mitre:Una aplicación SOA es una colección de servicios.Un servicio es la unidad atómica de una SOA.Los servicios encapsulan procesos de negocios.Los proveedores de servicios se registran solos.Un servicio involucra: Find, Bind, Execute.Las instancias más conocidas son los web services.
• SOA Governance define cambios en la administración del área tecnológica (TI) para asegurar que los conceptos y principios de SOA, y su arquitectura distribuida sean manejados apropiadamente, y que sea capaz de lograr los objetivos de negocio de los servicios.
• SOA Governance ya no es una opción, es un imperativo, sin esta administración (governance) el retorno de la inversión es mucho menor, y todo proyecto SOA estará en riesgo.
• Lograr crecer en SOA con la disciplina necesaria para asegurar la reutilización de los servicios, y que se evite la duplicación de servicios, esto solo se puede lograr a través de procesos de Governance cuidadosamente diseñados, y fuertemente impuestos.
• Define:• Que Hacer: El plan global de proyecto SOA de la
Empresa, define el “SOA Roadmap” (Plan de Ruta SOA).
• Quien lo Hace: La estructura organizacional (los grupos de trabajo), define la “SOA Office”.
• Como Hacerlo: Los procesos (procedimientos) de administración, las normas.
• Como Medirlo: Las métricas para medir el éxito.
Portal ModelerProcess engine
Process Monitor
Monitor
ESB/BROKER/WSRR
Application development
Requisite Application
Process development
Partner Gateway
Application server
AdaptersNetwork
Deployment
Consumidor. Consume los servicios que provee el medio de publicación. Corresponde a las aplicaciones clientes que se presentan frente al usuario final.
Medio de Publicación. Bus de Servicios empresariales (ESB) donde se exponen los servicios que se resuelven en los servicios de datos que serán consumidos por los consumidores de la solución.
Proveedor. Provee los servicios de datos o lógicas de negocio que son publicados en el ESB. Corresponde a las aplicaciones servidoras que proveen los servicios de datos y lógicas de negocio de la organización.
Transporte
BuscarConsumir
Publicar
Consumidor de Servicios
Proveedor de Servicios
Directorio de Servicios
Presentación. Son las aplicaciones que interactúan con el usuario final y que se preocupa de generar la petición de servicios (si no utiliza la capa de negocio) o de actividades del procesos de negocio (que a su vez consume servicios del ESB).
Procesos de Negocio. Son los procesos automatizados y que consumen los servicios de la capa de servicios. Esta capa es la única prescindible de la arquitectura orientada a servicios, mientras no se busque automatizar procesos de negocios.
Servicios. Son las funcionalidades expuestas en el ESB que permiten acceder a las lógicas de negocio que se exponen en la capa de componentes.
Componentes. Son las lógicas que realizan las operaciones básicas del negocio y que satisfacen las necesidades de la compañía para operar comercialmente.
Sistemas Operacionales. Son los sistemas bases que proveen las funcionalidades que serán utilizadas por las componentes.
XML/WSDL
j2EE / .NET
SOAP(Simple ObjectAccess Protocol)
SSL HTTP
Un ESB es un componente de software que implementa una infraestructura flexible para integrar aplicaciones y servicios.
Un ESB ejecuta las siguientes funciones entre un consumidor y un proveedor:Enrutamiento entre
mensajes, servicios y aplicaciones.
Conversión Entre protocolos de transporte.
Transformación Entre formatos de mensajes.
Manejo Entre eventos de negocios de fuentes dispersas.
• El Servicio de ESB será el ente encargado de recibir el requerimiento desde uno de los entornos de la solución. Este componente soporta flujos de mensajes que involucran diferentes usuarios, sistemas y procesos. Incluye una función de programación y automatización de tareas y eventos.
• se identifican al menos 3 tipos de servicios que para efectos de la arquitectura denominaremos:
Servicio Básico.Servicio Mediación.Servicio Compuesto.
• Un Servicio ESB es clasificado como Servicio Básico cuando el formato de requerimiento tanto de entrada como de salida es el mismo que el Servicio de Backend invocado. El componente de Gestión de Servicios sólo realiza la función de RUTEO, enviando el requerimiento al Servicio de Backendcorrespondiente, a través del adaptador del proveedor de servicio correspondiente.
Receptor de Requerimientos
CONECTOR
Despachador de Respuestas
CATALOGO TRX EN VUELO
Request
Reply
SERVICE.REQ
ESB.TO.APP..RESP
SERVICE.IN
ESB.TO.APP.REQ
SERVICE.OUT
SERVICE.RESP
CONS
UMID
ORES
PROVEEDORES
• Es un Servicio ESB que necesita de sólo un Servicio Básico de Backend y que requiere transformaciones de formatos para poder ser invocado. Estos servicios realizan transformación y ruteo de información.
Receptor de Requerimientos
Servicios ESBMediación Reqs
CONECTOR
Despachador de Respuestas
Servicios ESB Mediación Resp
CATALOGO TRX EN VUELO
Request
Reply
SERVICE.REQ
ESB.TO.APP..RESP
SERVICE.IN
ESB.TO.APP.REQ
SERVICE.OUT
SERVICE.RESP
CONS
UMID
ORES
PROVEEDORES
SERVICE.IN
• Es un Servicio ESB que requiere de alguna lógica especial para ser resuelto debido que consumen 2 o más servicios ESB. Estos servicios realizan transformación, ruteo además de composición. Un servicio de ESB compuesto puede invocar servicios básicos, servicios de mediación, a otros compuestos, o una mezcla de ellos.
Receptor de Requerimientos
Servicios ESBMediación Reqs
CONECTOR
Despachador de Respuestas
Servicios ESB Mediación Resp
CATALOGO TRX EN VUELO
Request
Reply
SERVICE.REQ
ESB.TO.APP..RESP
SERVICE.IN
ESB.TO.APP.REQ
SERVICE.OUT
SERVICE.RESP
CONS
UMID
ORES
PROVEEDORES
SERVICE.IN
ProgramaciónEstructurada
Objetos Componentes Servicios
Granularidad Muy fina Fina Intermedia Gruesa
Contrato Definido Privado/Publico Publico Publicado
Reusabilidad Baja Baja Intermedia Alta
Acoplamiento Fuerte Fuerte Débil Muy débil
DependenciasTiempo deCompilación
Tiempo deCompilación
Tiempo deCompilación Run‐Time
Ámbito deComunicación Intra‐Aplicación
Intra‐Aplicación
Inter‐Aplicaciones Inter‐Empresas
WebSphereApplication Server
Software Architect
WebSphereBusiness Modeler
Rational Application Developer
WebSphere Portal / POS
WebSphere Process Server
WebSphereMessage Broker
WebSphereMessage Queue
WebSphereBusiness AdapterWAS Gateway
Clear Case
Requisite Pro
WebSphereBusiness Monitor
Tivoli Enterprise Monitoring
WebSphereInformation Services
SAPOracle Core AS400Informix 4GL
WAS NDWebSphereIntegration Developer
WebSphere Portal
RADWebSphere Process Server
MODELER
WIDWebSphere Application server/Gateway
LD
AP
TIV
OLI
WA
S N
D
WebSphere Message Broker
MQ
AS/400
Aplicaciones Cobol, RPG
UNIX
PorFinOracle
Windows
OIDVB5–SQL Srv
Unix
InforI4GL-Informix
MQ MQ MQ MQ
ClienteNavegador Web
<<WebSphere Portal Framework>>Filtro Interceptor
AutorizaciónColaboración
Servicios de Interacción
<<FacesServlet>>Controlador Frontal<<Faces JSP>>
<<Portlet API>>Vista de Salida
<<EJB Client>>Delegado de Negocio
<<Session EJB>><<CommandInvoker>>
Invocación de Lógica de Negocio<<Singleton>>
<<Localizador de Servicios>>Cache de llamados remotos
<<Objeto Java>>Ayudantes de lógica de negocio
<<Data Mediator SDO>>Lectura y Escritura de Datos
CAPA DE LOGICA DE NEGOCIO
CAPA DE INTEGRACION Y EIS
CAPA WEB
VO
VO
VO
VO
<<Objeto Java>>Delegados de Servicio
VO
ARQUITECTURA PORTAL
EJBObject
Servidor de CorreoServidor de Base de Datos WebSphere Message Broker
<<Command Pattern Implementation>>Lógica de Negocio
VO
<<Data Graph SDO>>Delegados de Persistencia
VO
<<ServiceInvoker>>Invocación de Lógica y Servicios Externos
VOSDO