CROSSNET - Introduccion SOA

Preview:

DESCRIPTION

Introducción a SOA

Citation preview

Introducción a la Arquitectura Orientada a

Servicios

Mag. Javier Lacherre

Mag. Joel Moreno

CROSSNET

www.crossnet.ws

Agenda

• Definición de Arquitectura Orientada a

Servicios

• El concepto de Servicio

• Enfoque Tradicional vs Enfoque SOA

• Escenarios para introducción de SOA

• Beneficios de SOA

• Rutas de aprendizaje con Oracle

University

Arquitectura Orientada a Servicios

• SOA establece un modelo de arquitectura

que pretende incrementar la eficiencia,

agilidad y productividad de una empresa

posicionando los servicios como un

mecanismo esencial para el logro de las

metas estratégicas de la

organización(SOA: Principles of Service

Design by Thomas Erl)

Arquitectura Orientada a Servicios

• Arquitectura orientada a servicios es una

estrategia de TI que organiza las

funciones contenidas en las aplicaciones

empresariales en servicios interoperables

basados en estándares que pueden

combinarse y reutilizarse rápidamente

para satisfacer las necesidades del

negocio (Definición de Oracle)

Definición de Arquitectura de un Sistema

• Arquitectura: La organización básica de un sistema

formado por sus componentes, las relaciones, el

ambiente y los principios que guían su diseño y

evolución. (ANSI/IEEE 1471-2000:ISO/IEC 42010-

2007)

Característica de Diseño

• Una característica de algo es simplemente

un atributo o una cualidad de una solución

• Ejemplos:• Acoplamiento: medida de la interdependencia entre

los componentes de un sistema (objetos, procedimientos, tablas)

• Reusabilidad: medida en la que un componente puede ser reusado

Principio de Diseño

• Principio de diseño• Práctica aceptada por la industria

• Ejemplos:• Promover el bajo acoplamiento entre los

componentes

• Promover el reuso de los componentes

Paradigma de Diseño

• Un paradigma de diseño es un enfoque

de gobierno para el diseño lógico de una

solución.

• Es un conjunto complementario de reglas

o principios que en conjunto definen el

enfoque representado por el paradigma

Orientación a Servicios

• La Orientación a Servicios es un

Paradigma de Diseño o Modelo

Arquitectónico

• La aplicación de este paradigma resulta en

una Solución Orientada a Servicios.

• La unidad principal o bloque de

construcción de una solución orientada a

servicios es el Servicio

¿Qué es un Servicio?

• Es una unidad de software independiente,

empaquetada en forma de componente reusable

y con relevancia empresarial.

• Expone un conjunto de capacidades (funciones)

a través de la red de una manera estándar (Por

ejemplo: WSDL)

• Las aplicaciones clientes invocan a las

capacidades del servicio a través de

mecanismos estándar de comunicación y de

intercambio de mensajes (Por ejemplo: HTTP y

SOAP)

¿Qué es un Servicio?

• Simplificadamente, consta de dos partes: • Interfaz: capacidades (operaciones), parámetros de

entrada y salida (mensajes), la ubicación en la red (end point), protocolo de intercambio de mensajes, protocolo de comunicación

• Implementación: lógica de negocio + datos

• Las aplicaciones clientes solo tienen

conocimiento de la interfaz del servicio

Servicios Web

• Es una tecnología que abarca un conjunto

de estándares que posibilitan la

publicación, el descubrimiento y provisión

de servicios a través de la web

• Los principales estándares son:• XML: Es un metalenguaje (lenguaje para definir otros lenguajes)

• SOAP: Estándar para el intercambio de mensajes (basado en XML)

• WSDL: Estándar para describir la interfaz de un servicio web (basado en XML)

• UDDI: Estándar publicar y localizar información de los Servicios Web en un directorio (basado en XML)

Interacción de Servicios Web

Publicar el Servicio vía

UDDI

Conectar via SOAP.

Buscar el servicio via

UDDI

Recuperar ladescripcióndel Serviciovía WSDL

Registro de Servicios

(UDDI)

Service providerService requester

132

4

Enfoque tradicional: Servicio de Atención de Denuncias

FormularioFormulario de de PresentacionPresentacion de de

DenunciasDenuncias

FormularioFormulario de de EvaluacionEvaluacionDenunciasDenuncias

FormularioFormulario de de ConsultaConsulta del del

ResultadoResultado

FormularioFormulario de de VerificacionVerificacionDenunciasDenuncias

Lógica de NegocioLógica de Negocio

Base de Base de DatosDatosDenunciasDenuncias N-tier

J2EEPL/SQL

Base de Base de DatosDatosDeclaracionDeclaracion

JuradaJurada

Base de Base de DatosDatosSistemaSistema ControlControl

Sistema de Atención de Denuncias

Enfoque SOA: Enfoque SOA: Servicio de Atención de DenunciasServicio de Atención de Denuncias

DenunciaDenuncia OCIOCI Reglas de Reglas de AsignaciónAsignación

Reglas de Reglas de ValidaciónValidación

Proceso de DenunciaProceso de DenunciaRegistro de Registro de DenunciaDenuncia

Verificación Verificación de Denunciade Denuncia

Validación Validación de Denunciade Denuncia

Asignación Asignación de Denunciade Denuncia

Sistema de DenunciaSistema de Denuncia Sistema de Registro Sistema de Registro de Declaraciones de Declaraciones

JuradasJuradas

Sistema de ControlSistema de ControlGubernamentalGubernamental

Proceso de Registro de Proceso de Registro de Declaraciones JuradasDeclaraciones Juradas

Proceso de Proceso de Elaboración de Plan Elaboración de Plan

de Controlde Control

Plan de Plan de ControlControl

Portafolio de Servicios

Inventario o portafolio de servicios

Enfoque SOA

Proveedores de Servicios

Aplicaciones Legacy Componentes J2EE Componentes .NET

Proveedor de Servicios de IT

• Correo

• Logging

• FTP

Servicios

PLATAFORMA SOA

Consumidores de Servicios

Aplicaciones Internas Aplicaciones Externas

Finalmente….

• La aplicación de este paradigma o

enfoque de TI conduce:• Una colección de servicios, conocido como portafolio

de servicios

• Clasificada en tipos

• Organizada en capas

• Gobernada por principios y guías

Algunos principios

• Los Servicios deben ser reusables:

Todo servicio debe ser diseñado y

construido pensando en su reutilización

dentro de la misma aplicación, dentro del

dominio de aplicaciones de la empresa o

incluso dentro del dominio público para su

uso masivo.

Algunos principios

• Los Servicios deben tener bajo

acoplamiento: Es decir, se debe minimizar la

dependencia entre los servicios.

• Los Servicios deben permitir la composición:

Todo servicio debe ser construido de tal manera

que pueda ser utilizado para construir otros

servicios.

• Los Servicios deben tener un nivel adecuado

de abstracción

Los servicios deben publicar sólo información

esencial sobre sus capacidades

SOA Escenario I – Integración de

Aplicaciones

SOA Escenario II – Gestión de datos

maestros

SOA Escenario III -

Optimización de Procesos de Negocio

Beneficios de SOA

Agilidad

EficienciaFlexibilidad

Beneficio principal para el Negocio

• Mayor Agilidad, Flexibilidad y

Eficiencia para el Negocio porque se

pueden desarrollar nuevos negocios

y modificar los existentes con mayor

rapidez y con un menor costo.

Beneficio: Eficiencia

• Menores tiempos, esfuerzo y costos • Desarrollo

• Mantenimiento

• Integración

Beneficio: Eficiencia

Beneficio: Eficiencia

Beneficio: Eficiencia

El servicio como pieza clave

• Los beneficios de SOA solo se pueden

alcanzar si:• Los servicios son reusables

• Los servicios tienen bajo acoplamiento

• Los servicios participan en composiciones

Preguntas de autoevaluación

• Qué es SOA?

• Qué es un Servicio?

• Servicio y Servicio Web es lo mismo?

• Cuál es el beneficio principal del enfoque

SOA?