Arquitectura Orientada a Servicios (SOA) M.C. Juan Carlos Olivares Rojas Julio 2011
Software Hoy en Día • Mito: programadores ahora ya programan como de antes.
los de no los
• Herramientas más fáciles y productivas • El software es cada día más complejo
Soluci贸n
SOA Servicio
Servicio
Servicio
Bus
Servicio
Servicio
Servicio
Arquitectura del Sistema
Desde el Punto de Vista del Usuario
Arquitectura de una Casa
Planta Baja Planta Alta Desde el Punto de Vista del Constructor
Arquitectura de Hardware
Arquitectura Windows NT 5.0 Procesos del Sistema
Servicios
Servicio de Control de Gestión LSASS WinLogon User Mode
SvcHost.Exe
Windows
Admon- de Tareas
WinMgt.Exe
Explorer
SpoolSv.Exe
Manejador de Sesiones
Subistema de Entornos
Aplicaciones
OS/2
Aplicaciones de los Usuarios
Services.Exe
POSIX Subsistema de DLLs
Windows DLLs
NTDLL.DLL
Hilos de Sistemas Kernel Mode
Sistema de Despachador de Sistemas Windows USER, GDI
(interfaces invocables en el modo kernel)
Kernel Hardware Abstraction Layer (HAL) Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones, intervalos de temporizadores, DMA, control de memoria cache , etc.)
Llamada a Procesos Locales
Administrador De Configuración (Registro)
Procesos e Hilos
Memoria Virtual
Monitor de Referencias De Seguridad
Administrador De Energía
Manejador de Objetos
Caché del Sistema de Archivos
Manejador del Sistema de Archivos y Dispositivos
Administrador De Plug and Play
Manejador E/S
Manejador de Gráficos
Arquitectura de un Sistema
Arquitectura de Datos
AlmacĂŠn de Datos en Copo de Nieve
Arquitectura de Software Antes 1950’s hasta 1960’s
Arquitecturas Monolíticas
1970’s mediados 1980’s
1980’s mediados 1990’s
Subrutinas /Llamadas a Procedimient os Remotos
Invocación de Objetos Remotos
Mediados1990’s Comienzo 2000’s
Procesamient o de Mensajes
Finales 1990’s
Web
Hoy
Servicios (SOA)
Mayor Flexibilidad Línea del Tiempo del Desarrollo de Arquitecturas
Arquitecturas Empresariales
Integración Años más Tarde •Agilidad •SOA
Enterprise Service Bus
•Servicios Web •Middleware ESB
Servicios: 多Piedra Angular?
Servicio: Nivel de abstracci贸n
Ejemplo de Servicios en SOA Cliente
Divisiones Servicios Compartidos Proveedor
Contabilidad
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 1
Publicaci贸n del Servicio
Proveedor del Servicio
WSDL
Directorio de Servicios UDDI
2
3 Definici贸n del Servicio
Descubrimiento del Servicio
Consumidor el Servicio
4 Invocaci贸n y respuesta SOAP
Caracter铆sticas de 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
¿Qué es SOA? CLIENTES
GRUPO EJECUTIVO
PORTAL
BAM Proceso: Gestión solicitud crédito
BPM
Crear cliente
Dashboard, KPI (Key Performance Indicator)
Realizar Análisis crediticio
CRM
SERVICIOS
Crear Crédito
Validar Riesgo
Crédito
Riesgo
Desembolsar crédito
Core Bancario
EIS EMPLEADOS
¿Qué es SOA? Fondo Cheques Retiro
Adeudo Historial s
Acceso Multiplataforma
Crédito
Componetes de Negocio Reutilizables
Servicios Servicio Clientes
Detección de Fraudes
Checa Crédito
Servicio de Acceso
Inversiones
Reutilizables Cálculo de Intereses
Checa Inversiones
Internet
Servicio Historial
Servicio Datos
Fuentes de Información CRM
Bancos
Finanzas
DWH
Arquitectura SOA de Oracle Process Integration Packs
AIA Foundation Pack SOA Reference Architecture
SOA Programming Model
BPA Suite
BAM
Analyst Tools
JDeveloper
BI
ROUTING & Business ORCHESTRATION Events Analytics Monitoring
BPEL Process Manager Native BPEL
App Dev Framework & Web Center
Human Workflow
Business Rules
Multi Protocol
Apps
DB
XSLT Transform
ODI Bulk ELT
SOA Governance
EM System Monitoring
Web Services Manager Policies
Enterprise Service Bus
Adapters
Messaging
Enterprise Business Service & Object Library
B2B Partners
J2EE Application Server
Routing
SES RFID
Security
Registry UDDI
La Pila de Protocolos WS-*
De acuerdo al W3C
Arquitectura SOA de IBM Business Innovation & Optimization Services
Integrated environment for design and creation of solution assets
Interaction Services
Process Services
Information Services
Enables collaboration between people, processes & information
Orchestrate and automate business processes
Manages diverse data and content in a unified manner
Enterprise Service Bus:
Facilitates communication between services
Partner Services
Business App Services
Access Services
Connect with trading partners
Build on a robust, scaleable, and secure services environment
Facilitates interactions with existing information and application assets
Infrastructure Services Optimizes throughput, availability and performance
IT Service Management
Development Services
Facilitates better decision-making with real-time business information
Manage and secure services, applications & resources
Cloud Computing
• 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
Cloud Computing
• 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
Cloud Computing
• 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.
Dudas