SOA Principles Poster ESP
-
Upload
samuelcamarillotorres -
Category
Documents
-
view
87 -
download
5
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.