31
www.EvencoCCC.com

Arq. De Software Edward Ortega Robles Soa

Embed Size (px)

Citation preview

Page 1: Arq. De Software Edward Ortega Robles    Soa

www.EvencoCCC.com

Page 2: Arq. De Software Edward Ortega Robles    Soa

Arquitecturas Orientadas a Servicios, evolucionando hacia un mundo de aplicaciones y sistemas mas relacionados.

Edward A. Ortega Robles Consultor‐Arquitecto SOA & BPM

[email protected]@cysce.com

Page 3: Arq. De Software Edward Ortega Robles    Soa

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

Page 4: Arq. De Software Edward Ortega Robles    Soa

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

Page 5: Arq. De Software Edward Ortega Robles    Soa
Page 6: Arq. De Software Edward Ortega Robles    Soa
Page 7: Arq. De Software Edward Ortega Robles    Soa

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.

Page 8: Arq. De Software Edward Ortega Robles    Soa

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

Page 9: Arq. De Software Edward Ortega Robles    Soa

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?

Page 10: Arq. De Software Edward Ortega Robles    Soa

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

Page 11: Arq. De Software Edward Ortega Robles    Soa

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

Page 12: Arq. De Software Edward Ortega Robles    Soa

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

Page 13: Arq. De Software Edward Ortega Robles    Soa
Page 14: Arq. De Software Edward Ortega Robles    Soa

Portal ModelerProcess engine

Process Monitor

Monitor

ESB/BROKER/WSRR

Application development

Requisite Application

Process development

Partner Gateway

Application server

AdaptersNetwork 

Deployment

Page 15: Arq. De Software Edward Ortega Robles    Soa

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

Page 16: Arq. De Software Edward Ortega Robles    Soa

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.

Page 17: Arq. De Software Edward Ortega Robles    Soa

XML/WSDL

j2EE / .NET

SOAP(Simple ObjectAccess Protocol)

SSL HTTP

Page 18: Arq. De Software Edward Ortega Robles    Soa

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.

Page 19: Arq. De Software Edward Ortega Robles    Soa
Page 20: Arq. De Software Edward Ortega Robles    Soa

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

Page 21: Arq. De Software Edward Ortega Robles    Soa

• 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

Page 22: Arq. De Software Edward Ortega Robles    Soa

• 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

Page 23: Arq. De Software Edward Ortega Robles    Soa

• 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

Page 24: Arq. De Software Edward Ortega Robles    Soa
Page 25: Arq. De Software Edward Ortega Robles    Soa

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

Page 26: Arq. De Software Edward Ortega Robles    Soa
Page 27: Arq. De Software Edward Ortega Robles    Soa
Page 28: Arq. De Software Edward Ortega Robles    Soa
Page 29: Arq. De Software Edward Ortega Robles    Soa

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

Page 30: Arq. De Software Edward Ortega Robles    Soa

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

Page 31: Arq. De Software Edward Ortega Robles    Soa

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