52
Arquitectura Orientada a Servicios Javier Rosado Carrizo Consultor SOA, PriceWaterHouseCooper [email protected] [email protected]

Soa Java Day Uni

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Soa Java Day Uni

Arquitectura Orientada a

Servicios

Javier Rosado Carrizo

Consultor SOA, PriceWaterHouseCooper

[email protected]@pe.pwc.com

Page 2: Soa Java Day Uni

Ambientes heterogéneos -

múltiples aplicaciones

Services To

External SourcesServices From

External Sources

Organizational Boundary

Page 3: Soa Java Day Uni

El cambio, una constante en los

negocios

CAMBIO

Competencia

Regulaciones

Demanda de clientes

Fusiones y Adquicisiones

Optimización de procesos

Nuevas Tecnologías

Asociados de Negocio

Un negocio nunca es estático

Subcontratación

Page 4: Soa Java Day Uni

Negocios Ágiles

Las compañías requieren un

negocio ágil…

Respuestas rápidas al cambio,

y Administrar el cambio como

ventaja competitivaLa agilidad es la clave de la

innovación

Page 5: Soa Java Day Uni

• Deben usar activos

existentes…

…no diseñados

para colaborar

• Deben mostrar un

rápido y medible

ROI

• No pueden

someterse a un

riesgo operativo

…Las TI están limitadas

• Desarrollo de nuevos

productos y servicios

• Acelerar transacciones

de negocios

• Cumplir con

• reglamentación

• Integrar adquisiciones

• Contar con funciones de

negocio en outsourcing

El Negocio Exige cambios…

La Presión en TI

Tecnologías

De Información

Page 6: Soa Java Day Uni

Desarrollo de arquitécturas

Servicios

(SOA)ArquitecturasMonolíticas

Antes 1950’s

hasta 1960’s

1970’s

mediados

1980’s

Mediados1990’s

Comienzo

2000’sHoyFinales

1990’s

Subrutinas/Llamadas a

Procedimientos Remotos

Invocación de Objetos Remotos

Procesamiento de Mensajes

Web

1980’s

mediados

1990’s

Mayor Flexibilidad

Page 7: Soa Java Day Uni

La evolución de la industria de

Software

Construir Comprar Componer

Sistemas Centrales• Pagos corporativos• Manejo de Quejas• Sistema de facturación

Infraestructura de Negocio•Automatización de Procesos•SOA y Gobernabilidad•Integración•Modernización

•Servicios Web •Integración

1970 1990 200019801960 2010

Foco en TI

2020

Sistemas de Soporte• RH• Nómina• CRM

Page 8: Soa Java Day Uni

Impacto de SOA en la evolución

de las TI

Page 9: Soa Java Day Uni

Dilema de TI: El Problema

de IntegraciónOrder

ProcessingApplication

Aplicación Contable

Nueva Aplicación Inventarios

Aplicación Proceso de

Ordenes

BusinessIntelligence

SupplyChain

Servicios

Servicios Globales Aplicación

B2B

Page 10: Soa Java Day Uni

Introduciendo SOA

• Un enfoque para crear aplicaciones de negocios Ágiles y Flexibles

– Sistemas “Loosely coupled” = “loosely coupled” (flexibles) procesos de negocios

• Lo que no es SOA:

– Un producto o aplicación

– Una tecnología específica

– Un estándar específico

Page 11: Soa Java Day Uni

Características SOA

Sin SOA Con SOA

Orientado a Función Orientado a Procesos

Construido para Durar Construido para Cambiar

Ciclo de Desarrollos

Largos

Ciclos de Desarrollo

Incrementales

Aplicaciones Aisladas Aplicaciones Orquestadas

Fuerte Acoplamiento Bajo Acoplamiento

Orientada a Objetos Orientado a Mensajes

Page 12: Soa Java Day Uni

Proveedor de Servicios

• Logra una unidad autónoma definida de trabajo

– No depende de otros proceoso o funciones

• Esconde detalles internos

– Lenguaje de programación

– Lógica ejecutora

– Almacenamiento

• Ofrece una interfaz definida

– Estable y permanente

Service Interface

Service Implementation

Data

Service

Logic

Todo es acerca de servicios…

Page 13: Soa Java Day Uni

Contrato de Servicios

• ¿Qué operaciones de Servicio hay?

– Los mensajes de input & output

soportados por cada operación

– El modelo de representación

de datos para cada

contenido de mensajes

• Reglas/Políticas de uso

de Servicio

• Calidad de Servicio

Términos y condiciones para solicitantes del Servicio

* Ejemplo Web Service

Page 14: Soa Java Day Uni

Implementando contratos

de Servicio• Especificaciones impresas

• Esquema XML Compartido

• Representational State Transfer (REST)

– HTTP Get/Post/Put/Delete and XML

• Lenguaje Descriptivo del

Servicio Web (WSDL)

– Métodos de Negocio disponibles

– Estructura de mensajes (campos, tipos)

– Uniones operativas (SOAP over HTTP)

Algunas posibilidades…

Page 15: Soa Java Day Uni

Servicios en Acción

Service Interface

Implementación de ServiciosProveedor

de

servicios Data

Service

Logic

Solicitante

de

serviciosFn()

Solicitud de

Servicios

Respuesta de

Servicios

* Ejemplo Cliente Web Service

Page 16: Soa Java Day Uni

Localizando Servicios

Proveedor de Servicios Solicitante de Servicios

Contrato de

Servicios

Directorio de Servicios

Run Time f(x)

Contrato de

Servicios

? Tiempo de

desarrollo

* Ejemplo Governance

Page 17: Soa Java Day Uni

Cliente

Mainframe

Partner

Vendedor

J2EE

Otro

Productor

OpenEdge

Otro

Consumidor

.NET

Consumidores de Servicios

Productores de Servicios

Page 18: Soa Java Day Uni

Partner

Clientes

Otros

Consumidores

Mainframe

J2EE

Apps

Otros

Productores

OpenEdge

.NET

ESB

SOA

MgmtBAM

Consumidores de Servicios

Productores de Servicios

Event

Process-

ing

Engine de

BPMEngine de

reglas

Registries

Page 19: Soa Java Day Uni

Infraestructura SOA

• Conecta consumidores de servicios

con los proveedores

• Puede utilizarse para comunicarse con

el Registro de Servicio

• Se puede implementar con varias

tecnologías

Solicitante

de servicio

Proveedor

de servicio

Infraestructura SOA

AppServer™

REST

JMS

FTP

Web Services

Page 20: Soa Java Day Uni

Requerimientos críticos de una

infraestructura SOA• Confiabilidad,

Disponibilidad,

performance

• Distribución

geográfica

• SOA Heterogénea

• Administración,

visibilidad, control

Page 21: Soa Java Day Uni

Ambientes Heterogéneos –

múltiples protocolos y

estándares

Services To

External SourcesServices From

External Sources

Organizational Boundary

http/https

RMI JMS

JDBCWeb Services EJB

ESB

ESB

Page 22: Soa Java Day Uni

Roadmap Tecnológico SOA

ESBMainframe Service Bus

Business Process Visibility

BPEL Server

Business Activity Monitoring& ESP/CEP

BUSINESS BENEFITS

Optimization

Transformation

Responsiveness

Cost Effectiveness

Functionality

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1 Initial Services

SOA MATURITY LEVEL

Web Service Management & Mediation

Page 23: Soa Java Day Uni

Comenzando con SOA:

Servicios Iniciales

• Beneficio: Nueva Funcionalidad

• Alcance: Investigación, proyectos

piloto, Web, portales, integración

personalizada

• Campeón:

Gerentes de Desarrollo

• Metas:

Aprender tecnología SOA

• Prácticas: Crear Definiciones de servicios

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1Initial Services

Page 24: Soa Java Day Uni

Ejemplo: Servicios Iniciales

Aplicación de orden

En línea

Administración de

Ordenes

?WSDL

Administración

De Clientes

?WSDL

Administración

De Inventarios

?WSDL

Capa de

Servicio

Básico

Capa de

Aplicación de

Cliente

Aplicación

De Bodega

Page 25: Soa Java Day Uni

Siguiente paso:

Institucionalizar SOA

• Beneficios: Reducción

de costos TI y control

• Alcance: Aplicaciones

• de integración múltiple

• Campeón: CIO

• Metas: Institucionalizar

el uso de SOA

• Prácticas: Crear estándares tecnológicos

clave para Protocolos, Plataformas, Políticas

y Procesos

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1Initial Services

Page 26: Soa Java Day Uni

SOA Multinivel

Online Ordering

Application

Order

Management

Customer

Management

Inventory

Management

Capa de

Servicio

Básico

Capa de

Aplicación

Cliente

Order and Ship

Capa de Servicio

Intermedio

Page 27: Soa Java Day Uni

SOA enfocado a procesos

Online

Ordering

Application

Order

Management

Customer

Management

Inventory

Management

Capa de

Servicio

Básico

Capa de

Aplicación de

Cliente

Order and Ship

Capa de Servicio

Intermedio

Catalog

Service

Capa de Proceso

de Negocios

Order

Cancellation

Service

Page 28: Soa Java Day Uni

¿Está ya resuelto el problema

de integración?• ¿Cómo implementa,

monitorea y controla Servicios o sus interacciones?

• ¿Cómo conecta sistemas Legacy con distintos protocolos?

• ¿Cómo media formatos de datos y los modelos de interacción?

• ¿Cómo escalarlo?

J2EE™

APPLICATION

PACKAGED

APPLICATION

& LEGACY

SYSTEMS

.NET™

APPLICATION

PARTNER

SYSTEM

FUTURE

SERVICES

Page 29: Soa Java Day Uni

Las corporaciones son

complejasSu oferta Sitio WebEAI

Cadena de

Suministros

Matriz

Module 2

Module 3

Module 1

Partner

Website

Web Order

Entry

Accounting

Application

CRM

Application

XML Partners

EDI PartnersCorp

Purchasing

Corp

Accounting

Corporate

SystemTrading

System

Page 30: Soa Java Day Uni

Los Procesos están

fragmentados

Aplicaciones instaladas en distintos departamentos y unidades de negocio se convierten en silos de datos y procesos.

¿Cómo puedo incorporar de manera flexible datos y procesos a lo largo del

corporativo?

Page 31: Soa Java Day Uni

Visión SOA

APPLICATION

SERVER

USER-DEFINED

SERVICE

LEGACY

APPLICATION

PROCESS

SERVER

RELATIONAL

DATABASE

BATCH

SYSTEM

PORTAL

SERVICE

Para 2008, Gartner predice que SOA será la práctica de

ingenieria de software que prevalesca, terminando con el domino

de 40 años de la arquitectura de software monolítica

Mundo ideal en dónde datos y procesos fluyen naturalmente

Page 32: Soa Java Day Uni

CAD/PDMBATCH

SYSTEM

CRM/ERP

Infraestructura de Integración SOA pre-fabricada

Y esto es lo que SOA es…

•Un Backplane de integración basado en estándares

•Provee Conectividad, Escalabilidad y Seguridad

•Conecta Aplicaciones expresadas como Servicios

•Transformación de Datos, Ruteo basado en contenido

SAP (financials)

QAD

(manufacturing/finance)

LEGACY

APPLICATIONS

PEOPLESOFT

(HR)

Visión SOA – ESB es Realidad

Page 33: Soa Java Day Uni

El Enfoque ESB

INFRAESTRUCTURA

SERVICIOS

COMUNICACIONES CONFIABLES

MEDIACIÓN DE

SERVICIOHOSTEO DEL

SERVICIO

Capacidad para manejar un servicio avanzado

Page 34: Soa Java Day Uni

Provee Infraestructura

SOA Adicional

ENTERPRISE SERVICE BUS

APLICACIÓN

APLICACÍÓN

OPENEDGE APLICACIÓN

.NET

SISTEMA

SOCIO

SERVICIO

WEB

…para mapear servicios, procesos y activos de TI

Page 35: Soa Java Day Uni

Agregando valor más allá

de servicios básicos

• Mediación del Intercambio

– Transporte en forma confiable datos y

eventos de negocios

– Refuerce políticas de seguridad

– Transforme datos entre servicios

• Controle el Proceso

– Defina y altere los flujos de proceso

– Rastree las transacciones de negocios

entre los procesos

Capacidades ESB…

Page 36: Soa Java Day Uni

Adoptando un ESB

• Beneficio: Respuesta del Negocio

• Alcance: Procesos dentro y fuera de la Unidad de Negocios

• Campeón: Administrador de la Unidad de Negocios

• Metas: Una alianza permanente entre las Organizaciones de Negocios y las de Tecnología

• Prácticas: Especificar políticas de uso de SOA en la creación o modificación de los Procesos

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1Initial Services

CollaborativeServicesb

Page 37: Soa Java Day Uni

Transformando su Negocio

• Beneficios: Decisiones del Negocio en tiempo real

• Alcance: Unidad de Negocio o Corporativo

• Campeón: CFO

• Metas: Definir y cumplir métricas de desempeño orientadas al Negocio

• Prácticas: Recolectar y Analizar Métricas de desempeño en tiempo real

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1Initial Services

Page 38: Soa Java Day Uni

Optimizando su SOA

• Beneficios: Optmización del Negocio

• Alcance: Unidad de Negocio o Corporativo

• Campeón: Presidente/ CEO

• Metas: Liderazgo en toda la organización reglamentado por SOA

• Prácticas: Implementar Procesos de Negocio que sean autocorregibles

5Optimized Business Services

4Measured Business

Services

2 Architected Services

3BusinessServices

CollaborativeServices

a b

1Initial Services

Page 39: Soa Java Day Uni

Beneficios de SOA

Ingreso Nuevos mercados, canales y valor de sistemas existentes

Flexibilidad Soporte a modelos flexibles de Negocio habilitados por

servicios y tecnología- enfoque agnóstico

Velocidad Permite reuso de componentes pre fabricados de servicio de

la siguiente generación para implementaciones rápidas

Eficacia Integra sistemas separados de distintas plataformas

Automatiza procesos clave de negocios

Los recursos trabajan para la misma estrategia de TI

Servico Ofrecer nuevos servicios a clientes y socios utilizando la

infraestructura de TI existente

Costo Eliminar duplicidad de sistemas

Riesgo Mejorar visibilidad de procesos de negocio

Page 40: Soa Java Day Uni

Administración SOA

ADMINISTRACION DE SOA

Administración de la Empresa

Administración de

Identidad

Directorios

Software de Gestión

SOA

Areas del Negocio

Servicios de

fuentes

externas

Servicios a

fuentes

externas

SERVICIOS

Dueños del negocio o Aplicación

Área de IT o

Propietarios de

SOA

Staff de Seguridad y/o

Cumplimiento

•SOAP

•JDBC

•JMS

•Servlets (HTTP)

•ADO.Net

•EJB

Page 41: Soa Java Day Uni

Herramientas SOA

BPMBusiness Process Managememt

Allows automated integration

of separate services to

create integrated enterprise

level business processes.

ESBEnterprise Service Bus

Allows a network of disparate

systems to interact as one

unified enterprise system

by resolving differences in

system HW, SW, networks,

and location.

BAMBusiness Activity Monitoring

Provides End-to-End process

performance monitoring

Real-time insight and control

of business.

Standard-based

(WS-*) CommunicationWeb Services XML, SOAP, UDDI

Allows standardized

point-to-point communication

between systems through

widely accepted open standards.

Web Service

Consumer

Web Service Provider

(Existing System)

Request Message

Response Message

`

Can also call:

Database

Operating System

Message Queue

Active Directory

Etc...

getBiographics

Client Code

Interface Contract

(WSDL)

HTTP XML SOAP

HTTPXMLSOAP

Web Service

Business

Logic

Interface Contract (WSDL)

Interface

getBiographics

queryWatchList

Code

Page 42: Soa Java Day Uni

Herramientas Open Source

JBOSS ESB, jBPMOpenESB Sun(Oracle)

Apache ServiceMixMuleESB

Page 43: Soa Java Day Uni

Integración

de Legados

Datos delCliente

Interacción del Cliente

Historia delPedido

Polìtica dePedidos

Envío

Orquestación

de Servicio

de Negocio Información del

Cliente

Administración de

Pedidos

Compensación de

Pedidos

CRM ERPDatos del Cliente Pedidos Logística

Aplicaciones

Compuestas

Procesos de

NegocioObtener

Datos

Verificar

Detalles

Capturar

Pedido

Revisar

Pedido

Aprobar

Pedido

Iniciar

Envío

Administración de Pedidos

Ejemplo

MONITOREO & ANÁLISIS

GOBERNABILIDAD

Area

Crítica

Do

min

io d

e l

os

An

alis

tas d

e

Neg

ocio

Do

min

io d

e lo

s

Arq

uit

ecto

s y

De

sa

rro

lla

do

res

Page 44: Soa Java Day Uni

Ejemplo

Business Processes,Orchestrated in aBPM Engine

Pre-Existing Systems

B. P.

CRM BillingERP

Business ServicesExposed onan ESB S S S S S S S S S S S S

System X

B. P. B. P.

Composite SolutionsAssembled in aPortal Server,Rendered for various devices

Portlet Portlet RemotePortlet

RemotePortlet

Portlet Portlet

Page 45: Soa Java Day Uni

En Resumen

• SOA: La Arquitectura

para Negocios Ágiles

• SOA es un diseño de

estructura, no una

tecnología

• Tome pasos cortos:

Evolución, no

Revolución

Page 46: Soa Java Day Uni

En Resumen

1. Entender el Proceso

2. Entender sus datos

3. ¡Gobernar primero!

4. Solicitar la validación de terceros

5. Construir un caso de negocio enfocado al valor

6. No (siempre) llamarlo SOA

7. Foco en el negocio y en el suceso urgente

8. La reutilización no es el único beneficio

9. Empezar con poco….pensar en grande

10. Promover una cultura de compartir

Page 47: Soa Java Day Uni

Demo: Reserva

de viaje

Page 48: Soa Java Day Uni

¿Preguntas?

Page 49: Soa Java Day Uni

Gracias por su

tiempo

Page 50: Soa Java Day Uni

Servicio A (Verificación de Crédito)

Portlet A

Servicio D (Colocar una Orden)

Servicio B (Balance de Cuenta)

Servicio C (Verificación de Inventario)

Portlet B

Portlet C

Portlet D

Page 51: Soa Java Day Uni

Apps Bulk ELT

Adapters

Partners

B2B

RFID

SES

DB

Multi Protocol Routing

XSLTTransform

Enterprise Service Bus

Native

BPEL

Business

RulesHuman

Workflow

BPEL Process Manager

ROUTING & ORCHESTRATION

Messaging

UDDI

Policies

Security

Web Services Manager

Registry

Events AnalyticsBusiness

Monitoring System Monitoring

EMBAM BI

App DevFramework

&Web Center

JDeveloper

Analyst Tools

BPA Suite

AIA Foundation Pack

J2EE Application Server

ODI

Process Integration Packs

Enterprise Business

Service & Object LibrarySOA Governance

SOA Reference

Architecture

SOA Programming

Model

Page 52: Soa Java Day Uni

Manages diverse

data and content in a

unified manner

Integrated

environment

for design

and creation

of solution

assets

Manage

and secure

services,

applications

&

resources

Facilitates better decision-making

with real-time business information

Enables collaboration

between people,

processes & information

Orchestrate and

automate business

processes

Connect with trading

partners

Build on a robust,

scaleable, and secure

services environment

Facilitates interactions

with existing information

and application assets

Optimizes throughput,

availability and performance

Business Innovation & Optimization Services

De

ve

lop

me

nt

Se

rvic

es

Interaction Services Process Services Information Services

Partner Services Business App Services Access Services

Enterprise Service Bus: Facilitates communication between services

IT S

erv

ice

Ma

na

ge

me

nt

Infrastructure Services