SOA Principles Poster ESP

Post on 06-Aug-2015

87 views 5 download

Transcript of SOA Principles Poster ESP

<de�nitions> <types> ... </types>

<message> <part/> ... </message>

<portType> ... </portType> ...</de�nitions>

<Policy> <ExactlyOne> <All> assertions ... </All> <All> assertions ... </All> </ExactlyOne> ...</Policy>

áreasafectadas

por la estandarización

<schema> <element > <complexType> <sequence> <element .../> <element .../> <element .../> </sequence> </complexType> </element> ... ...</schema>

implementación

proceso denegocio

padre

consumidoresdel servicio

tecnología devendedor

.NET WSJ2EE

miembros de la

composicióndel

servicio

lógica delservicio

contrato delservicio

Acuerdo de Nivelde Servicio

(ANS)contrato técnico del servicio Web

contrato del servicio

WSDL WS Policy

EsquemaXML

servicio detarea A

servicio deentidad A

servicio deentidad B

servicio de utilidad A

servicio de utilidad B

altopotencial

deautonomía

autonomíadependiente

autonomíaindependiente

bajo

alto

niveltípico de

autonomía

Estandarización de los Contratos de Servicios

"Los servicios dentro de un mismo inventario cumplen con los mismos estándares de diseño de contratos."

Bajo Acoplamiento de los Servicios

"Los contratos de los servicios imponen requerimientos de bajo acoplamiento con el consumidor y son ellos mismos,

desacoplados de su entorno."

Abstracción en los Servicios

"Los contratos del servicio sólo contienen la informaciónesencial, y la información sobre los servicios se limita

a lo que es publicado en los contratos de servicio."

Reutilizabilidad de los Servicios

"Los servicios contienen y expresan lógica agnóstica y puedenser ubicados como recursos empresariales reutilizables."

Autonomía de los Servicios

"Los servicios ejercen un alto nivel de control sobre suambiente de ejecución subyancente en tiempo de ejecución."

Carencia de Estado en los Servicios

"Los servicios minimizan el consumo de recursosposponiendo, según la necesidad,

el manejo de la información acerca de los estados."

Descubribilidad del Servicio

"Los servicios son complementados con metadatoscomunicativos con los cuales pueden ser efectivamente

descubiertos e interpretados.”

Compuestabilidad de los Servicios

"Los servicios son participantes efectivos de las composiciones,sin importar el tamaño y la complejidad de la composición."

W

Q R S

K L

G

A D

Proyecto deDesarrollo # 20

Proyecto deDesarrollo # 21

Proyecto deDesarrollo # 22

inventario de servicios

K R S

W

D Q R

A

L P

G

Z B C E

F H I J

M N O

P T

U V X Y

activo+

con estado

activo+

sin estado

repositoriode datos

del estado

pre-invocación

comienzaparticipaciónen actividad

pausaparticipaciónen actividad

continúaparticipaciónen actividad

pausaparticipaciónen actividad

�nalizaparticipaciónen actividad

post-invocación

dueños del servicio

diseñadores delprograma consumidordel servicio

especi�caciones de diseño, código fuente, etc.

accesoabrierto

accesocontrolado

sinacceso

contrato del servicio

tecnología delvendedor

la lógica del servicio será

implementada (ypor lo tanto, acoplada)

con la tecnologíapropietaria

del vendedor

implementación

.NET WSJ2EE

lógica delservicio

el contrato del servicio puede estar

acoplado conla lógica del

servicio

la lógica del servicio puede estar

acoplada conmúltiples servicios

y esto puede necesitarde la composición

el contrato del servicio y cualquier lógica subyacente

pueden estar acoplados con un proceso de

negocio padre

proceso denegocio

padre

la lógica delservicio puedeestar acopladacon el contrato

del servicio

si el contrato del servicioestá acoplado con la lógica

del servicio, éste puede asumir características

de acoplamiento relacionadas con la lógica

la lógica del servicio puedeestar acoplada con varios recursos que hacen parte del ambiente completo

de implementación

miembros de la

composicióndel

servicio

ProcesoReclamos.wsdl

Reclamos.wsdl ValidarReportes.wsdl

Reportes.wsdl

EncabezadoReporte.xsd

DetalleReporte.xsd

EncabezadoReclamos.xsd

DetalleReclamos.xsd

PoliticaSeguridad.xml

PoliticaReclamaciones.xml

Servicio

Funcional Tecnología

Calidaddel

ServicioProgramática

Capacidad ACapacidad B

Servicio B

Capacidad ACapacidad B

Servicio C

Capacidad ACapacidad B

Servicio D

Capacidad A

Servicio A

ProgramaConsumidorde Servicios

A

(2)

(3) (4) (5) (7)

(1)

(6)

detallado conciso optimizado

Paso 1:

Personalizar el diseñodel contrato delservicio Web.

Paso 2:

Importar el contratodel servicio Web en un ambiente dedesarrollo.

Paso 3:

Construir la lógica dela solución subyacente,como soporte delcontrato pre-de�nidodel servicio Web.

Importar

Cuando un servicio es implementado como un Servicio Web, elcontrato del servicio puede estar compuesto por una definiciónWSDL y múltiples definiciones de Esquemas XML y políticas, al igual que con documentos complementarios, tal como un ANS.

Este principio impulsa el enfoque del “contrato primero” parala entrega del servicio, por el cual los contratos se desarrollan de forma personalizada (antes del desarrollo de la lógica del servicio) de acuerdo con los estándares de diseño que aplican a todos los servicios dentro de un inventario dado de servicios.

Las políticas y los esquemas estandarizados se pueden cen-tralizar, de tal forma que, una definición representa un conjunto“oficial” de aserciones de políticas o de tipos complejos, quepueden ser referenciados por múltiples definiciones WSDL.

Capítulo 6: Contratos del Servicio (Estandarización y Diseño)

Los estándares de diseño delcontrato pueden afectar ydar forma a muchasdefiniciones de elementosy a la estructura completade los documentos WSDL,Esquema XML y definiciónde políticas.

Un contrato de servicio, que se deriva de su ambiente subyacente, puede terminar formando tipos negativos de

acoplamiento sobre las partes del ambiente.

El acomplamiento Logica-a-contrato se considera una forma positiva de acoplamiento porque representa la creación independiente de un contrato que está desacoplado del ambiente del servicio.Los programasconsumidores de serviciosrequieren de acoplarsecon un contrato de servicio.Como resultado, ellos heredan cualesquiera formasde acoplamiento positivoo negativo que residanen el contrato del servicio.

Este principio se relaciona con el pa-trón de Centralizacióndel Contrato, el cual establece que el con-trato del servicio seráel único medio paraacceder a la lógica yrecursos del servicio.

Capítulo 7: Acoplamiento del Servicio(Dependencias Intra-Servicio y Consumidor)

Cuando se determina cuál información debería abstraerse acerca de un servicio, se utilizapara categorizar los metadatos delservicio en distintas categorías.

La aplicación de este principio puede afectar la abstracción de cada uno de esos tipos de metainformación de manera diferente.

Este principio aboga por el ocultamiento

deliberado de meta- datos del servicio,

de tal forma que unamínima cantidad de

información sobre unservicio es accedida

por el mundo exterior.

La aplicación de este principio puede convertir, efectivamente, a un servicio en una “caja negra”, donde la única información que esté disponible acerca del servicio es la que está publicadaen su contrato (la cual puede acompasarse con lo que tambiénestá publicado en un registro de servicio).

Por lo tanto, el contenidodel contrado del servicio,en sí mismo, es el punto primario de enfoque para el cual existen diferentes niveles de abstracción.

Capítulo 8: Abstracción del Servicio(Ocultamiento de Información y Tipos de Meta Abstracción)

A B

G K

X T

Como resultado de este principio, los diseñadoresdel programa consumidordel servicio puede no serconscientes que un servicioestá componiendo a otros.

Esto coloca un gran énfasisen la fiabilidad y laprevisibilidad de unservicio, a pesar de lo que pueda ser encapsulado (locual también plantea cues-tiones en cuanto a lo quedebería publicarse en losANS del servicio).

servicio concapacidades deprocesamiento

redundantespara factura

servicio o�cial deentidad Factura

lógica subyacentedel servicio

La Centralization delContrato asegura que los

consumidores de serviciossólo acceden a un servicio

a través del contratopublicado del servicio

2

1

La Centralización de la Lógica asegura que los consumidores

del servicio sólo tienen unpunto de acceso para cualquier

cuerpo dado de lógica

consumidordel servicioFactura

ProcFac

“No construiremos nuevalógica para procesamiento

de facturas porque se requiere que utilicemos

el servicio existentede Factura.”

“A nuestro equipo deproyectos se le requiereautomatizar un nuevo

proceso de negocio queinvolucra la funcionalidad

de facturación que yaexiste dentro delservicio Factura.”

“A nuestro equipode proyectos se le

requiere automatizar una tarea de

procesamiento POcuya lógica de solución

no existe aún.”

“Buscaremos en elinventario existente

para con�rmar que no existe ningún servicio que proporcioneesta lógica. Luego construiremos

un servicio PO de tal maneraque pueda ser reutilizado

por otros en el futuro.”

La proliferación del acoplamiento positivo

es deseable para permitir la evolución de

las implementaciones del servicio, sin impactar

a los consumidoresdel servicio.

Posicionar los servicios como recursos empresarialesreutilizables se relaciona conel patrón de diseño Centralizaciónde la Lógica, el cual indica quecada servicio reutilizable debe serel único punto de acceso para elcuerpo de la lógica que éste representa.

Cuando se combinan,la Centralización de laLógica y del Contrato,resultan en un inven-

tario de servicios alta- mente estandarizado

y normalizado comosoporte completopara maximizar el

potencial de re-utilizabilidad y el

bajo acoplamiento dede los consumidores.

Capítulo 9: Reutilizabilidad del Servicio(Diseño Comercial y Agnóstico)

Los procesos de entrega normalmente necesitancambiarse como resultado de la incorporaciónconsistente de este principio, detal manera que aseguren quela Centralización de la Lógicasiempre sea respetada y queel potencial dereutilización delos serviciosagnósticos seamaximizado.

El obstáculo más grande paraalcanzar este principio está asociado normalmente con superar la resistencia cultural a estos cambios.

Servicio AServicio A Servicio B Servicio C

Servicio A Servicio B Servicio C Servicio A Servicio B Servicio C

Entre más control tiene un servicio sobre su implementaciónsubyacente en tiempo de ejecución, más predecible será sucomportamiento en tiempo de ejecución. Reducir el accesocompartido a los recursos e incrementar el aislamiento físicodel servicio pueden incrementar la habilidad del servicio parafuncionar autónomamente.

La autonomía de los servicios inviduales es especialmenteimportante para la efectividad de las composiciones delservicio. Debido a que un servicio que compone a otro automáticamente pierde autonomía, el nivel de autonomíaque un controlador de composición puede añadir, a menudo,está limitado a los niveles de autonomía colectiva de losmiembros de su composición.

Capítulo 10: Autonomía del Servicio(Límites y Control del Procesamiento)

Capítulo 11: Carencia de Estado del Servicio(Aplazar la Gestión del Estado y Diseñar la Carencia de Estado)

Capítulo 12: Descubribilidad del Servicio(Interpretabilidad y Comunicación)

Capítulo 13: Compuestabilidad del Servicio(Diseñar Miembro de Composición y Composiciones Complejas)

active

passive

stateful

stateless

context

session

contextdata

estadoprimario

condiciones pri-marias del estado

tipos de informa-ción del estado

tipos de datosdel contexto

contextrules

activo

pasivo

con estado

sin estado

contexto

sesión

datos delcontexto

reglas delcontexto

negocio

Formulas

AgregarBaseObtenerSimular

base de datosde estados

activo y sin estado

se trasladan los datos del estado desde la memoria

hacia la base de datos Ejecutar

Proyecto Lab

Iniciar

datos delos estados

en memoria

serviciodescubierto

registrode servicios

contrato del servicio

El humano busca en el registro de servicios paralocalizar un servicio con la funcionalidaddeseada.

El humano puede recuperarluego el contrato del serviciocorrespondiente. Basado en su nivelde interpretabilidad, el humanopuede escoger o descartar esteservicio. Si el servicio no tiene lascapacidades necesarias, pero aúnproporciona un contexto funcional adecuado, éste puede ser identi�cado como la ubicación en la cual debe agregar la funcionalidad requerida(como una extensión para el servicio).

2 Basado en el nivel de rastreo de la descubribilidad einterpretabilidad del registro de servicios,el humano es capaz dedescubrir e identi�car unservicio potencialmente capaz de cumplir con sus requirimientos.

inventario de

servicios

el humanodueño de

un programaplani�cado para ser

consumidor del servicio

3

1contiene meta información acerca de cada servicio enel inventario de servicios,

al igual que un apuntador acada contrato de servicio

La centralización de losdocumentos del contrato del

servicio es, por sí misma,un estándar de diseño

relacionado con el contrato.

Dependiendo de la naturaleza de su lógica y su rol dentro deuna composición, un servicio puede necesitar la transición através de diferentes estados y puede necesitar de manejardiferentes tipos y cantidades de datos del estado.

La gestión de datos del estado consume recursos del sistemay puede resultar en un gasto significativo de recursos cuandomúltiples instancias de losservicios son invocadasconcurrentemente,especialmente con servicios agnósticos queestán involucrados en laautomatización de múlti-ples procesos de negocios.

Por lo tanto, la delegacióntemporal y el aplazamientode la gestión del estadopueden incrementar laescalabilidad del servicio ysoportar un amplio rangode re-utilización y re-composición en el tiempo.

Los datos del estado son apla- zados comúnmente en tiempode ejecución, permitiendo que

un servicio permanezca activo y sin estado mientras ocurren

otros procesamientos.

Existen diferentes niveles de carencia de estado que un diseño de servicio puede alcanzar, dependiendo de la frecuencia delaplazamiento del estado y de la cantidad de los datos del estado que están siendo aplazados. Estos niveles, normal-mente, son específicos para cada capacidad del servicio.

De los cuatro tipos de meta información del servicio, losdatos funcionales y de calidaddel servicio son más relevantescuando se enfocan en la calidadde las comunicaciones de losservicios, para lograr los propósitos de descubribilidade interpretabilidad.

La aplicación de este principio soporta un procesoestandarizado de descubrimientodel servicio y de interpretación dentro de unaorganización a través del uso de un registro de servicioscomo el repositorio central de los metadatos del servicio.

Servicio

Funcional Tecnología

Calidaddel

ServicioProgramática

inventario de servicios

registro deservicios

existe como unaextensión de lainfraestructura que soporta el

descubrimiento y la interpretación de losservicios dentro de un

contiene servicios con contratos que

son idealmentedescubribles einterpretables,

independientementedel

Tanto los contratos de los servicios como los registros dentro de un registro de servicios contienen metainformación con características dedescubribilidad e interpretabilidad.

Mucha de esta información se relaciona y origina con el documento del perfildel servicio, el cualpudo haber sido creado y mantenido desde que el servicio fue conceptualizado porprimera vez durantela fase de modelado del servicio (ver Capítulo 15y Apéndice B).

SOA: Principles of Service DesignDerechos reservados © 2008 SOA Systems Inc.ISBN: 0132344823, Prentice Hall(compra este póster en www.soaposters.com)Traducido por: Iván Guarín y Sandra Barón

by Thomas Erlwww.whatissoa.comwww.soaprinciples.comwww.soapatterns.comwww.soaspecs.comwww.soaglossary.com

www.soabooks.comwww.prenhall.comwww.soasystems.comwww.soaschool.comwww.soamag.com

Prentice HallService-OrientedComputing Seriesfrom Thomas Erl

unidades de la lógica de la solución,donde cada una direcciona (soluciona)

un problema pequeño

para solucionar el problema grande, las unidades son ensambladas en

una con�guración especí�ca que lespermite llevar a

cabo su lógica desolución de

forma coordinada

Problema Grande A

ProblemaPequeño los problemas

pequeños, en conjunto,

representan elproblema grande

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

ProblemaPequeño

soluciona el Problema Grande A

E F G HA B C D

C

A F

B E D G H

La orientación a servicios es un paradigma de diseño con unenfoque distinto para realizar una separación de intereses.

Los servicios capacesde direccionar problemas agnósticos o transversalespueden serreutilizadospara solucionarmúltiplesproblemas.

Esto requiere de un medio efectivo de des-composición de lalógica de la solucióny re-componerlarepetidamente parasolucionar nuevosproblemas.Este principio está re-lacionado principalmente con la habilidad del serviciopara actuar como un miembro efectivo de una composición,de tal manera que pueda soportar la realización de nuevos requerimientos de negocio que puedan ser completados porel ensamble de composiciones de servicios.El potencial decompuestabilidadde un servicio seincrementa y se vuelve importanteincrementalmente,mientras másservicios estándisponibles dentrode un inventariode servicios dado.Un aspecto clave de este principio y de las composiciones deservicios, en general, es que los problemas individuales son, de hecho, solucionados por las capacidades, porque son las

capacidades las que estáncompuestas dentro de una

composición de servicios.

El diseño exitoso de lacomposición de servicios

se basa en el potencial de compuestabilidad

colectiva de cadamiembro de la

composición.

inventario de servicos parauna empresa especí�ca con

alto potencial de reutilización

productos comerciales paramercado de masa y

con alto potencial de reuso

La EmpresaOrietada a Servicios

Paso 1Paso 2Paso 3

...

ciclo de vidade la entregade servicios

aplicaciones a la medida parausuarios empresariales

especí�cos y con poco oningún potencial de reuso

Paso 1Paso 2Paso 3

...

ciclo de vidapara la

entrega de un productode desarrolloa la medida

Paso 1Paso 2Paso 3

...

ciclo de vidapara la

entrega de un producto

comercial

Vendedor deProductos

ComercialesEmpresa

Tradicional

Dentro de la orientación a servicios, la reutilizabilidadrepresenta una característica primaria y central del diseñoque está ligada a la meta de alcanzar unRDI (ROI) repetido paralos servicios agnósticos.

Este principio combinatécnicas del diseño deproductos comercialestradicionales con la entrega tradicional deproyectos empresariales.

Los procedimientos de control de acceso, por consiguiente,se pueden convertir en unrequerimiento,el cual necesitaría ser orientado sobre un nivel organizacional,a través de laintroducciónde procesosnuevos omodificados.

diseñador del potencialprograma consumidor del servicio

detalles de diseño eimplementación del servicio

contrato del serviciooptimizado

servicio

Una meta primordial de esteprincipio es habilitar un

amplio rango de miembrosdel equipo de proyectos para llevar a cabo efectivamente

el proceso de descubrimiento y no limitarlo a aquellos conexperiencia técnica.

Los diseñadores de losconsumidores del serviciopueden no ser conscien-

tes del hecho de que la dependencia

del contrato, que su pro-grama está formando, está

acoplada negativamente.

Esto puede originar muchasformas de acoplamiento

“indirecto” o no intencional.

La proliferación delacoplamiento negativoes indeseable porque

da lugar a un inventariode servicios frágil e

inflexible, comorecuerdo de anteriores

arquitecturas deintegración.