Arquitectura Orientada a Servicios (SOA)
M.C. Juan Carlos Olivares Rojas
Julio 2011
Software Hoy en Día•Mito: los programadores de ahora ya no
programan como los de antes.
•Herramientas más fáciles y productivas•El software es cada día más complejo
ServicioServicio ServicioServicio ServicioServicio
ServicioServicio ServicioServicio ServicioServicio
BusBus
Solución
SOASOA
Arquitectura del Sistema
Desde el Punto de Vista del Usuario
Arquitectura de una Casa
Desde el Punto de Vista del Constructor
Planta Alta Planta Baja
Arquitectura de Hardware
Arquitectura Windows NT 5.0
Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones, intervalos de temporizadores, DMA, control de memoria cache , etc.)
Sistema de Despachador de Sistemas
Admon- de Tareas
Explorer
SvcHost.Exe
WinMgt.Exe
SpoolSv.Exe
Servicio de Control de
Gestión
LSASS
Man
ejado
r de
Ob
jetos
WindowsUSER,
GDI
Cach
é del
Sistem
a de
Arch
ivos
Manejador E/S
Subistema de Entornos
Aplicaciones de los Usuarios
Subsistema de DLLs
Procesos del Sistema Servicios Aplicaciones
Hilos de Sistemas
UserMode
KernelMode
NTDLL.DLL
Manejador del Sistema de Archivos y
Dispositivos
WinLogon
Manejador de Sesiones
Services.Exe POSIX
Windows DLLs
Ad
min
istrado
rD
e Plu
g an
d P
lay
Ad
min
istrado
rD
e En
ergía
Mo
nito
r de
Referen
ciasD
e Seg
urid
ad
Mem
oria
Virtu
al
Pro
cesos e
Hilo
s
Llam
ada a
Pro
cesos
Lo
cales Manejadorde Gráficos
Kernel
Hardware Abstraction Layer (HAL)
(interfaces invocables en el modo kernel)
Ad
min
istrado
rD
e Co
nfig
uració
n(R
egistro
)
OS/2
Windows
Arquitectura de un Sistema
Arquitectura de Datos
Almacén de Datos en Copo de Nieve
Arquitectura de Software
Servicios(SOA)
ArquitecturasMonolíticas
Antes 1950’shasta 1960’s
1970’s mediados 1980’s
Mediados1990’sComienzo 2000’s
HoyFinales 1990’s
Subrutinas/Llamadas a
Procedimientos Remotos
Invocación de Objetos Remotos
Procesamiento de Mensajes
Web
1980’s mediados 1990’s
Línea del Tiempo del Desarrollo de Arquitecturas
Mayor Flexibilidad
Arquitecturas Empresariales
Accounting Marketing
SupportProduct Development
Accounting Marketing
SupportProduct Development
Integración Años más Tarde
Enterprise Service Bus
•Agilidad
•SOA
•Servicios Web
•Middleware ESB
Servicios: ¿Piedra Angular?
Servicio: Nivel de abstracción
Ejemplo de Servicios en SOA
Contabilidad
ProveedorProveedor
Servicios CompartidosServicios Compartidos
Divisiones
ClienteCliente
Proceso de Negocio de una Aplicación
¿Qué es SOA?
• “SOA es un estilo de arquitectura que promueve descomponer la lógica funcional de una aplicación en unidades autónomas denominadas servicios”
De acuerdo al W3C
Arquitectura de Servicios Web
Proveedor del Servicio
Consumidor el Servicio
Directorio de Servicios
Publicación del Servicio
Descubrimiento del Servicio
Invocación y respuesta
1
3
2
UDDI
4
SOAP
Definición del Servicio
WSDL
Características de SOASin 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
CLIENTES GRUPO EJECUTIVO
Proceso: Gestión solicitud crédito
BPMDashboard,KPI (Key Performance Indicator)
BAM
Crear cliente
RealizarAnálisis crediticio
ValidarRiesgo
CrearCrédito
Desembolsarcrédito
SERVICIOS
RiesgoCréditoCRM Core Bancario
EMPLEADOS
EIS
PORTAL
¿Qué es SOA?
¿Qué es SOA?
Servicios Reutilizables
Crédito Inversiones
CRM
ServicioHistorial
Servicio de Acceso
ChecaCrédito
Detecciónde Fraudes
DWH
ServicioClientes
Servicio Datos
Internet
HistorialAdeudos
ChequesFondo Retiro
Fuentes de Información
Cálculo de Intereses
ChecaInversiones
Bancos Finanzas
Acceso Multiplataforma
Componetes de Negocio
Reutilizables
Arquitectura SOA de Oracle
Apps Bulk ELT
Adapters
Partners
B2B
RFID
SES
DB
Multi Protocol Routing
XSLTTransform
Enterprise Service Bus
NativeBPEL
Business Rules
Human 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 PackAIA Foundation Pack
J2EE Application Server
ODI
Process Integration Packs
Enterprise Business Service & Object Library SOA Governance
SOA ReferenceArchitecture
SOA ProgrammingModel
La Pila de Protocolos WS-*
De acuerdo al W3C
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
Arquitectura SOA de IBM
Business Innovation & Optimization Services
Dev
elo
pm
ent
Ser
vice
s
Interaction Services Process Services Information Services
Partner Services Business App Services Access Services
Enterprise Service Bus: Facilitates communication between services
IT S
ervi
ceM
anag
emen
t
Infrastructure Services
Clo
ud
Com
pu
ting
• Cloud computing, es un paradigma que permite ofrecer servicios de computación a través de Internet.
• Está compuesto por tres áreas: SaaS, PaaS, IaaS
Clo
ud
Com
pu
ting
• SaaS: Software as a Service es el más popular. Consiste en tener un modelo de aplicaciones accesibles para cualquiera.
• Ejemplo: Salesforce.com• Google Docs
Clo
ud
Com
pu
ting
• PaaS: Platform as a Service, es la parte media, consiste en proveer de una arquitectura de hw/sw de desarrollo. Ejemplo: Windows Azure, Google Appengine
• IaaS: Infraestructure as a Service, es la parte más baja y consiste en obtener poder de cómputo y almacenamiento de un proveedor.
Conclusiones• SOA no es una moda, es un estilo
arquitectónico que tiene muchos años de madurez.
• Existen actualmente problemas de interoperabilidad debido a las diferentes implementaciones de la arquitectura.
• No hay un estándar “de jure” para SOA.• Puede ser que en el futuro surjan nuevas
arquitecturas más poderosas.
Du
das