SOA Principles Poster ESP

1
<definitions> <types> ... </types> <message> <part/> ... </message> <portType> ... </portType> ... </definitions> <Policy> <ExactlyOne> <All> assertions ... </All> <All> assertions ... </All> </ExactlyOne> ... </Policy> áreas afectadas por la estandarización <schema> <element > <complexType> <sequence> <element .../> <element .../> <element .../> </sequence> </complexType> </element> ... ... </schema> implementación proceso de negocio padre consumidores del servicio tecnología de vendedor .NET WS J2EE miembros de la composición del servicio lógica del servicio contrato del servicio Acuerdo de Nivel de Servicio (ANS) contrato técnico del servicio Web contrato del servicio WSDL WS Policy Esquema XML servicio de tarea A servicio de entidad A servicio de entidad B servicio de utilidad A servicio de utilidad B alto potencial de autonomía autonomía dependiente autonomía independiente bajo alto nivel tí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ón esencial, 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 pueden ser ubicados como recursos empresariales reutilizables." Autonomía de los Servicios "Los servicios ejercen un alto nivel de control sobre su ambiente de ejecución subyancente en tiempo de ejecución." Carencia de Estado en los Servicios "Los servicios minimizan el consumo de recursos posponiendo, según la necesidad, el manejo de la información acerca de los estados." Descubribilidad del Servicio "Los servicios son complementados con metadatos comunicativos 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 de Desarrollo # 20 Proyecto de Desarrollo # 21 Proyecto de Desarrollo # 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 repositorio de datos del estado pre- invocación comienza participación en actividad pausa participación en actividad continúa participación en actividad pausa participación en actividad finaliza participación en actividad post- invocación dueños del servicio diseñadores del programa consumidor del servicio especificaciones de diseño, código fuente, etc. acceso abrierto acceso controlado sin acceso contrato del servicio tecnología del vendedor la lógica del servicio será implementada (y por lo tanto, acoplada) con la tecnología propietaria del vendedor implementación .NET WS J2EE lógica del servicio el contrato del servicio puede estar acoplado con la lógica del servicio la lógica del servicio puede estar acoplada con múltiples servicios y esto puede necesitar de la composición el contrato del servicio y cualquier lógica subyacente pueden estar acoplados con un proceso de negocio padre proceso de negocio padre la lógica del servicio puede estar acoplada con el contrato del servicio si el contrato del servicio está acoplado con la lógica del servicio, éste puede asumir características de acoplamiento relacionadas con la lógica la lógica del servicio puede estar acoplada con varios recursos que hacen parte del ambiente completo de implementación miembros de la composición del servicio Proceso Reclamos.wsdl Reclamos.wsdl Validar Reportes.wsdl Reportes.wsdl Encabezado Reporte.xsd Detalle Reporte.xsd Encabezado Reclamos.xsd Detalle Reclamos.xsd Politica Seguridad.xml Politica Reclamaciones.xml Servicio Funcional Tecnología Calidad del Servicio Programática Capacidad A Capacidad B Servicio B Capacidad A Capacidad B Servicio C Capacidad A Capacidad B Servicio D Capacidad A Servicio A Programa Consumidor de Servicios A (2) (3) (4) (5) (7) (1) (6) detallado conciso optimizado Paso 1: Personalizar el diseño del contrato del servicio Web. Paso 2: Importar el contrato del servicio Web en un ambiente de desarrollo. Paso 3: Construir la lógica de la solución subyacente, como soporte del contrato pre-definido del servicio Web. Importar Cuando un servicio es implementado como un Servicio Web, el contrato del servicio puede estar compuesto por una definición WSDL 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” para la 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, que pueden ser referenciados por múltiples definiciones WSDL. Capítulo 6: Contratos del Servicio (Estandarización y Diseño) Los estándares de diseño del contrato pueden afectar y dar forma a muchas definiciones de elementos y a la estructura completa de los documentos WSDL, Esquema XML y definición de 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 programas consumidores de servicios requieren de acoplarse con un contrato de servicio. Como resultado, ellos heredan cualesquiera formas de acoplamiento positivo o negativo que residan en el contrato del servicio. Este principio se relaciona con el pa- trón de Centralización del Contrato, el cual establece que el con- trato del servicio será el único medio para acceder a la lógica y recursos 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 utiliza para categorizar los metadatos del servicio en distintas categorías. La aplicación de este principio puede afectar la abstracción de cada uno de esos tipos de meta información de manera diferente. Este principio aboga por el ocultamiento deliberado de meta- datos del servicio, de tal forma que una mínima cantidad de información sobre un servicio 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á publicada en su contrato (la cual puede acompasarse con lo que también está publicado en un registro de servicio). Por lo tanto, el contenido del 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ñadores del programa consumidor del servicio puede no ser conscientes que un servicio está componiendo a otros. Esto coloca un gran énfasis en la fiabilidad y la previsibilidad de un servicio, a pesar de lo que pueda ser encapsulado (lo cual también plantea cues- tiones en cuanto a lo que debería publicarse en los ANS del servicio). servicio con capacidades de procesamiento redundantes para factura servicio oficial de entidad Factura lógica subyacente del servicio La Centralization del Contrato asegura que los consumidores de servicios sólo acceden a un servicio a través del contrato publicado del servicio 2 1 La Centralización de la Lógica asegura que los consumidores del servicio sólo tienen un punto de acceso para cualquier cuerpo dado de lógica consumidor del servicio Factura ProcFac “No construiremos nueva lógica para procesamiento de facturas porque se requiere que utilicemos el servicio existente de Factura.” “A nuestro equipo de proyectos se le requiere automatizar un nuevo proceso de negocio que involucra la funcionalidad de facturación que ya existe dentro del servicio Factura.” “A nuestro equipo de proyectos se le requiere automatizar una tarea de procesamiento PO cuya lógica de solución no existe aún.” “Buscaremos en el inventario existente para confirmar que no existe ningún servicio que proporcione esta lógica. Luego construiremos un servicio PO de tal manera que 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 consumidores del servicio. Posicionar los servicios como recursos empresariales reutilizables se relaciona con el patrón de diseño Centralización de la Lógica, el cual indica que cada servicio reutilizable debe ser el único punto de acceso para el cuerpo de la lógica que éste representa. Cuando se combinan, la Centralización de la Lógica y del Contrato, resultan en un inven- tario de servicios alta- mente estandarizado y normalizado como soporte completo para maximizar el potencial de re- utilizabilidad y el bajo acoplamiento de de los consumidores. Capítulo 9: Reutilizabilidad del Servicio (Diseño Comercial y Agnóstico) Los procesos de entrega normalmente necesitan cambiarse como resultado de la incorporación consistente de este principio, de tal manera que aseguren que la Centralización de la Lógica siempre sea respetada y que el potencial de reutilización de los servicios agnósticos sea maximizado. El obstáculo más grande para alcanzar este principio está asociado normalmente con superar la resistencia cultural a estos cambios. Servicio A Servicio 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ón subyacente en tiempo de ejecución, más predecible será su comportamiento en tiempo de ejecución. Reducir el acceso compartido a los recursos e incrementar el aislamiento físico del servicio pueden incrementar la habilidad del servicio para funcionar autónomamente. La autonomía de los servicios inviduales es especialmente importante para la efectividad de las composiciones del servicio. Debido a que un servicio que compone a otro automáticamente pierde autonomía, el nivel de autonomía que un controlador de composición puede añadir, a menudo, está limitado a los niveles de autonomía colectiva de los miembros 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) estado primario condiciones pri- marias del estado tipos de informa- ción del estado tipos de datos del contexto activo pasivo con estado sin estado contexto sesión datos del contexto reglas del contexto negocio Formulas AgregarBase Obtener Simular base de datos de estados activo y sin estado se trasladan los datos del estado desde la memoria hacia la base de datos Ejecutar Proyecto Lab Iniciar datos de los estados en memoria servicio descubierto registro de servicios contrato del servicio El humano busca en el registro de servicios para localizar un servicio con la funcionalidad deseada. El humano puede recuperar luego el contrato del servicio correspondiente. Basado en su nivel de interpretabilidad, el humano puede escoger o descartar este servicio. Si el servicio no tiene las capacidades necesarias, pero aún proporciona un contexto funcional adecuado, éste puede ser identificado 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 e interpretabilidad del registro de servicios, el humano es capaz de descubrir e identificar un servicio potencialmente capaz de cumplir con sus requirimientos. inventario de servicios el humano dueño de un programa planificado para ser consumidor del servicio 3 1 contiene meta información acerca de cada servicio en el inventario de servicios, al igual que un apuntador a cada contrato de servicio La centralización de los documentos 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 de una composición, un servicio puede necesitar la transición a través de diferentes estados y puede necesitar de manejar diferentes tipos y cantidades de datos del estado. La gestión de datos del estado consume recursos del sistema y puede resultar en un gasto significativo de recursos cuando múltiples instancias de los servicios son invocadas concurrentemente, especialmente con servicios agnósticos que están involucrados en la automatización de múlti- ples procesos de negocios. Por lo tanto, la delegación temporal y el aplazamiento de la gestión del estado pueden incrementar la escalabilidad del servicio y soportar un amplio rango de re-utilización y re- composición en el tiempo. Los datos del estado son apla- zados comúnmente en tiempo de 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 del aplazamiento 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, los datos funcionales y de calidad del servicio son más relevantes cuando se enfocan en la calidad de las comunicaciones de los servicios, para lograr los propósitos de descubribilidad e interpretabilidad. La aplicación de este principio soporta un proceso estandarizado de descubrimiento del servicio y de interpretación dentro de una organización a través del uso de un registro de servicios como el repositorio central de los metadatos del servicio. Servicio Funcional Tecnología Calidad del Servicio Programática inventario de servicios registro de servicios existe como una extensión de la infraestructura que soporta el descubrimiento y la interpretación de los servicios dentro de un contiene servicios con contratos que son idealmente descubribles e interpretables, independientemente del Tanto los contratos de los servicios como los registros dentro de un registro de servicios contienen meta información con características de descubribilidad e interpretabilidad. Mucha de esta información se relaciona y origina con el documento del perfil del servicio, el cual pudo haber sido creado y mantenido desde que el servicio fue conceptualizado por primera vez durante la fase de modelado del servicio (ver Capítulo 15 y Apéndice B). SOA: Principles of Service Design Derechos 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 Erl www.whatissoa.com www.soaprinciples.com www.soapatterns.com www.soaspecs.com www.soaglossary.com www.soabooks.com www.prenhall.com www.soasystems.com www.soaschool.com www.soamag.com Prentice Hall Service-Oriented Computing Series from 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 configuración específica que les permite llevar a cabo su lógica de solución de forma coordinada Problema Grande A Problema Pequeño los problemas pequeños, en conjunto, representan el problema grande Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño Problema Pequeño soluciona el Problema Grande A E F G H A B C D C A F B E D G H La orientación a servicios es un paradigma de diseño con un enfoque distinto para realizar una separación de intereses. Los servicios capaces de direccionar problemas agnósticos o transversales pueden ser reutilizados para solucionar múltiples problemas. Esto requiere de un medio efectivo de des- composición de la lógica de la solución y re-componerla repetidamente para solucionar nuevos problemas. Este principio está re- lacionado principalmente con la habilidad del servicio para 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 por el ensamble de composiciones de servicios. El potencial de compuestabilidad de un servicio se incrementa y se vuelve importante incrementalmente, mientras más servicios están disponibles dentro de un inventario de servicios dado. Un aspecto clave de este principio y de las composiciones de servicios, en general, es que los problemas individuales son, de hecho, solucionados por las capacidades, porque son las capacidades las que están compuestas dentro de una composición de servicios. El diseño exitoso de la composición de servicios se basa en el potencial de compuestabilidad colectiva de cada miembro de la composición. inventario de servicos para una empresa específica con alto potencial de reutilización productos comerciales para mercado de masa y con alto potencial de reuso La Empresa Orietada a Servicios Paso 1 Paso 2 Paso 3 ... ciclo de vida de la entrega de servicios aplicaciones a la medida para usuarios empresariales específicos y con poco o ningún potencial de reuso Paso 1 Paso 2 Paso 3 ... ciclo de vida para la entrega de un producto de desarrollo a la medida Paso 1 Paso 2 Paso 3 ... ciclo de vida para la entrega de un producto comercial Vendedor de Productos Comerciales Empresa Tradicional Dentro de la orientación a servicios, la reutilizabilidad representa una característica primaria y central del diseño que está ligada a la meta de alcanzar un RDI (ROI) repetido para los servicios agnósticos. Este principio combina técnicas del diseño de productos comerciales tradicionales con la entrega tradicional de proyectos empresariales. Los procedimientos de control de acceso, por consiguiente, se pueden convertir en un requerimiento, el cual necesitaría ser orientado sobre un nivel organizacional, a través de la introducción de procesos nuevos o modificados. diseñador del potencial programa consumidor del servicio detalles de diseño e implementación del servicio contrato del servicio optimizado servicio Una meta primordial de este principio es habilitar un amplio rango de miembros del equipo de proyectos para llevar a cabo efectivamente el proceso de descubrimiento y no limitarlo a aquellos con experiencia técnica. Los diseñadores de los consumidores del servicio pueden no ser conscien- tes del hecho de que la dependencia del contrato, que su pro- grama está formando, está acoplada negativamente. Esto puede originar muchas formas de acoplamiento “indirecto” o no intencional. La proliferación del acoplamiento negativo es indeseable porque da lugar a un inventario de servicios frágil e inflexible, como recuerdo de anteriores arquitecturas de integración.

Transcript of SOA Principles Poster ESP

Page 1: 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.