soa java day uni
DESCRIPTION
TRANSCRIPT
Arquitectura Orientada a
Servicios
Javier Rosado Carrizo
Consultor SOA, PriceWaterHouseCooper
[email protected]@pe.pwc.com
Ambientes heterogéneos -
múltiples aplicaciones
Services To
External SourcesServices From
External Sources
Organizational Boundary
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
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
• 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
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
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
Impacto de SOA en la evolución
de las TI
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
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
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
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…
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
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…
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
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
Cliente
Mainframe
Partner
Vendedor
J2EE
Otro
Productor
OpenEdge
Otro
Consumidor
.NET
Consumidores de Servicios
Productores de Servicios
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
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
Requerimientos críticos de una
infraestructura SOA• Confiabilidad,
Disponibilidad,
performance
• Distribución
geográfica
• SOA Heterogénea
• Administración,
visibilidad, control
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
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
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
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
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
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
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
¿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
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
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?
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
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
El Enfoque ESB
INFRAESTRUCTURA
SERVICIOS
COMUNICACIONES CONFIABLES
MEDIACIÓN DE
SERVICIOHOSTEO DEL
SERVICIO
Capacidad para manejar un servicio avanzado
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
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…
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
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
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
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
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
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
Herramientas Open Source
JBOSS ESB, jBPMOpenESB Sun(Oracle)
Apache ServiceMixMuleESB
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
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
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
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
Demo: Reserva
de viaje
¿Preguntas?
Gracias por su
tiempo
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
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
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