40
Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Embed Size (px)

Citation preview

Page 1: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura Orientada a Servicios

M.C. Juan Carlos Olivares Rojas

Morelia, Michoacán, México, Octubre 2008

Page 2: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

DisclaimerEl autor es responsable de toda la información contenida en esta presentación, la cual no refleja el punto de vista de toda la Línea de Investigación de Ingeniería de Software.

Parte del material de esta presentación se ha obtenido de diversas fuentes cada una de las cuales tiene propiedad intelectual, por lo que en esta presentación se tiene solamente algunos derechos reservados.

Page 3: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Agenda• Introducción

• SOA: una nueva piedra angular en el desarrollo de software

• Caso Práctico

• Conclusiones

Page 4: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 5: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

ServicioServicio ServicioServicio ServicioServicio

ServicioServicio ServicioServicio ServicioServicio

BusBus

Solución

SOASOA

Page 6: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura del Sistema

Desde el Punto de Vista del Usuario

Page 7: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura de una Casa

Desde el Punto de Vista del Constructor

Planta Alta Planta Baja

Page 8: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura de Hardware

Page 9: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 10: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura de un Sistema

Page 11: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitectura de Datos

Almacén de Datos en Copo de Nieve

Page 12: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 13: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Motivación

“Casas de Perros”Proyectos EscolaresSIN ARQUITECTURAPoco $

CasasProyecto de PyMESARQUITECTURAS SIMPLESRentable $

EdificiosGrandes CorporativosARQUITECTURAS COMPLEJASMucho $$$$

Desarrollo de Software en la Academia

Page 14: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Arquitecturas Empresariales HoyAccounting Marketing

SupportProduct Development

Page 15: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Accounting Marketing

SupportProduct Development

Integración Años más Tarde

Enterprise Service Bus

•Agilidad

•SOA

•Servicios Web

•Middleware ESB

Page 16: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Servicios

Page 17: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Servicio: Nivel de abstracción

Page 18: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Ejemplo de Servicios en SOA

Contabilidad

ProveedorProveedor

Servicios CompartidosServicios Compartidos

Divisiones

ClienteCliente

Proceso de Negocio de una Aplicación

Page 19: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

¿Qué es SOA?• “Conjunto de componentes que pueden ser

invocados, cuyas descripciones de interfaces se pueden publicar y descubrir”

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

Page 20: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 21: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 22: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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?

Page 23: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

¿Qué es SOA?

Servicios Reutilizables

Crédito Inversiones

CRM

ServicioHistorial

Servicio de Acceso

ChecaCrédito

Detecciónde Fraudes

DWH

ServicioClientes

Servicio Datos

Internet

HistorialAdeudo

s ChequesFondo Retiro

Fuentes de Información

Cálculo de Intereses

ChecaInversiones

Bancos Finanzas

Acceso Multiplataforma

Componetes de Negocio

Reutilizables

Page 24: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

ESBClienteAdministración de

servicios

Ruteo Transacción Orquestación Seguridad Auditoria Otros

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Se

rvic

ios

de

Ne

go

cio

Middleware de Servicios

Page 25: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Composición de AplicacionesServicio 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 26: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Agenda• Introducción

• SOA: una nueva piedra fundamental en el desarrollo de software

• Caso Práctico

• Conclusiones

Page 27: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 28: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

La Pila de Protocolos WS-*

De acuerdo al W3C

Page 29: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

JAVA Integration Server

J2EE + JBI

Page 30: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

Page 31: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Agenda• Introducción

• SOA: una nueva piedra fundamental en el desarrollo de software

• Caso Práctico

• Conclusiones

Page 32: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Caso de Uso

Fallecimiento de una Persona

Page 33: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Identificar Servicios• Alta fallecimiento

• Cerrar Vínculos

• Fin de Trámites

• Fin de Relaciones Laborales

Page 34: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Orquestación del Proceso de Negocio

Diagrama de Flujo de Trabajo

Page 35: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

© Bull36

Page 36: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Parte Práctica

• Consumir/Construir Servicios Distintas Plataformas– Java– .NET– Office

• Composición de Servicios Web utilizando NetBeans– Hola Mundo

Page 37: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Agenda• Introducción

• SOA: una nueva piedra fundamental en el desarrollo de software

• Caso Práctico

• Conclusiones

Page 38: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

Conclusiones• SOA no es una moda, es un estilo

arquitectónico que tiene muchos años de madurez.

• El desarrollo de software es un proceso socio-tecnológico, por lo que para tener éxito implantando una Arquitectura Orientada a Servicios no sólo requiere de tecnologías sino de personas.

• Se debe pensar en grande pero actuar en pequeño.

Page 39: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

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

• Se debe tener cuidado en crear arquitecturas de tipo espagueti.

Page 40: Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008

¿Preguntas?E-mail: [email protected]: [email protected]: http://antares.itmorelia.edu.mx/~jcolivar/

Ubicación: Coordenadas (19.72388, -101.1848) Edificio J