Arquitectura Orientada a Servicios (SOA) M.C. Juan Carlos Olivares Rojas Julio 2011.

Post on 21-Apr-2015

33 views 3 download

Transcript of Arquitectura Orientada a Servicios (SOA) M.C. Juan Carlos Olivares Rojas Julio 2011.

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