martes, 18 de octubre de 2011

Patrones SOA

Para la construcción de aplicaciones orientadas a servicios que utilizan Arquitecturas SOA, se han desarrollado patrones clasificados bajo las siguientes categorías:

Los patrones fundamentales de inventario

Inventario de la empresa (ERL)
Cómo puede la exposición de los servicios maximizar recomposición dentro de la organización.

Inventario de dominio (ERL)
Cómo puede la exposición de los servicios maximizar la recomposición en toda la empresa cuando no es posible la normalización.

Servicio de Normalización (ERL)
Cómo puede un inventario de servicios evitar la lógica de servicio redundante.

Lógica de centralización (ERL)
Cómo evitar el mal uso de la lógica de servicio redundante.

Servicio de Capas (ERL)
Cómo crear un inventario de servicios, organizado sobre la base de similitud funcional

Canónica Protocolo (ERL)
Cómo evitar protocolo puente mediante los servicios.

Canónica de esquema (ERL)
Cómo evitar la transformación de los datos del modelo mediante los servicios.


Patrones de la capa de lógica de inventario

Utilidad de la abstracción (ERL)
Cómo unificar los conceptos de negocio comunes y la lógica de negocio centralizada que debe funcionar de forma separada, debe ser reutilizable, y debe regirse de forma independiente.

Entidad de abstracción (ERL)
Cómo puede la lógica de negocio independiente ser dividida, reutilizable, y regirse de forma independiente.

Proceso de abstracción (ERL)
Cómo puede la lógica de los procesos agnósticos ser separada y gobernada de forma independiente.


Patrones de inventario de centralización

Proceso de centralización (ERL)
Cómo se puede gobernar de forma centralizada la lógica de procesos abstraida.

Esquema de centralización (ERL)
Cómo diseñar contratos para evitar la representación redundante de los datos.

La centralización política (ERL)
Cómo se pueden normalizar las políticas y ser aplicadas consistentemente a través de múltiples servicios.

Reglas de centralización (ERL)
Cómo se pueden abstraer las reglas de negocio para ser regidas de forma centralizada.


Patrones de inventario de la aplicación

Protocolos Dual (ERL)
Cómo puede un inventario de servicios superar las limitaciones de su protocolo canónico sin dejar de ser estandarizadas.

Recursos canónicos (ERL)
Cómo se puede evitar la disparidad de recursos innecesarios de infraestructura.

Estado del repositorio (ERL)
Cómo pueden los datos de estado de servicio ser persistidos por periodos, sin consumir recursos de servicio en tiempo de ejecución.

De estado de Servicios (ERL)
Cómo se pueden conservar los datos del estado del servicio y ser manejados sin consumo de recursos en tiempo de ejecución.

Grid Service (Chappell)
Cómo se puede aplazar los datos del estado de servicio para permitir escalar y mantenerse tolerante a fallos.

Inventario de puntos finales (ERL)
Cómo puede un inventario de servicios estar protegido contra el acceso externo y a la vez ofrecer capacidades de servicio a los consumidores externos.

Utilidad de capas de Dominio Cruzado (ERL)
Cómo puede la lógica de utilidad redundante evitarse a través de los inventarios de servicio de dominio.


Patrones de inventario de Gobierno

La expresión canónica (ERL)
Cómo pueden los contratos de servicios permitir la comprensión e interpretación de manera consistente.

La centralización de metadatos (ERL)
Cómo pueden los servicios de metadatos ser centralizdos y gobernados de manera pública.

Versiones canónicas (ERL)
Cómo pueden los contratos de servicio dentro del mismo inventario de servicio ser versionados con un impacto mínimo.


Los patrones fundamentales de servicio

Descomposición Funcional (ERL)
Cómo puede un problema empresarial de orden mayor, ser resuelto sin tener que crear un órgano independiente de la lógica de la solución.

Servicio de encapsulación (ERL)
Cómo puede la lógica de solución estar disponible, como un recurso de la empresa.

Agnóstico de contexto (ERL)
Cómo puede la lógica de servicios múltiples posicionarse como un recurso eficaz de la empresa.

No agnóstico Contexto (ERL)
Cómo puede una sola función lógica de servicio posicionarse como un recurso eficaz de la empresa.

Agnóstico Capacidad (ERL)
Cómo generar la lógica de múltiples servicios de forma efectiva consumible y compuesta.


Servicio de patrones de implementación

Servicio de Fachada (ERL)
Cómo puede un servicio adaptarse a los cambios de su contrato, al tiempo que permite la ejecución del servicio básico y la lógica para evolucionar de forma independiente.

Implementación redundante (ERL)
Cómo incremetar la fiabilidad y la disponibilidad de un servicio.

Servicio de replicación de datos (ERL)
Cómo puede ser preservada la autonomía de servicios, cuando los servicios necesitan tener acceso a orígenes de datos compartidos.

El aplazamiento parcial del Estado (ERL)
Cómo pueden los servicios ser diseñados para optimizar el consumo de recursos mientras que aún permanecen con estado.

La validación parcial (Orchard, Riley)
Cómo evitar hacer validación innecesaria de datos.

Mediador de interfaz de usuario (Utschig, Maier, Trops, Normann, Winterberg)


Cómo puede una solución orientada a servicios proveer una constante e interactiva experiencia de usuario.


Servicio de los patrones de seguridad

Excepción de blindaje (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un servicio evitar la divulgación de información sobre su implementación interna, cuando se produce una excepción.

Detección de mensajes (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un servicio ser protegido de una entrada incorrecta o malintencionada.

Subsistema de confianza (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un consumidor impedir que un servicio sea aludido y evitar el acceso directo a sus recursos.

Servicio de Guardia del perímetro (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo pueden los servicios que se ejecutan en una red privada estar disponibles a consumidores externos sin exposición externa de recursos.


Servicio de Patrones de Diseño Contrato

Contrato de centralización (ERL)
Cómo se puede evitar el acoplamiento del consumidor para la implementación.

Contrato de desnormalización (ERL)
Cómo puede facilitar un contrato de servicio a los consumidores con programas que tienen diferentes requerimientos de intercambio de datos.

Los contratos simultáneos (ERL)
Cómo puede facilitar un servicio multi-consumidor los requisitos de acoplamiento y referirse a la abstracción, al mismo tiempo.

Contrato desacoplado (ERL)
Cómo puede un servicio expreso tener capacidades independientemente de su aplicación.

Validación de la abstracción (ERL)
Cómo pueden ser los contratos de servicios diseñados para adaptarse más fácilmente a cambios de validación lógica.





Patrones de herencia de encapsulación

Legado Wrapper (Erl, Roy)
Cómo los servicios de envoltura con contratos atípicos pueden prevenir la propagación indirecta del consumidor a la aplicación de acoplamiento.

Multi-canal de punto final (Roy)
Cómo puede ser centralizada y consolidada la lógica fragmentada legada y duplicada para la entrega de diferentes canales.

Archivo Gateway (Roy)
Cómo puede la lógica del servicio interactuar con otros sistemas que sólo pueden compartir la información mediante el intercambio de archivos.


Servicio de Patrones de Gobierno

Cambiar compatible (Orchard, Riley)
Cómo puede un contrato de servicio efectuar modificaciones sin afectar a los consumidores.

Identificación de la versión (Orchard, Riely)
Cómo pueden los consumidores estar al tanto de la versión del contrato de servicio de información.

Terminación Notificación (Orchard, Riley)
Cómo puede ser comunidado a los programas consumidores, el vencimiento de un contrato de servicio.

Servicio de refactorización (ERL)
Cómo se puede desarrollar un servicio sin afectar a los consumidores ya existentes.

Servicio de descomposición (ERL)
Cómo puede la granularidad de un servicio ser incrementada con posterioridad a su ejecución.

Proxy Capacidad (ERL)
Cómo puede un servicio sujeto a la descomposición continuar apoyando a los consumidores afectados por la descomposición.

Capacidad de descomposición (ERL)
Cómo puede un servicio de ser diseñado para minimizar las posibilidades de capacidad de descomposición lógica.

Capacidad distribuida (ERL)
Cómo puede un servicio preservar su contexto funcional al mismo tiempo que cumple requerimientos especiales de capacidad de procesamiento.


Patrones de la capacidad de Composición

Capacidad de Composición (ERL)
Cómo puede la capacidad de servicio resolver un problema que requiere la lógica fuera de los límites del servicio.

Capacidad de recomposición (ERL)
Cómo puede la misma capacidad ser utilizada para ayudar a resolver múltiples problemas.

Servicio de mensajería Patrones

Servicio de mensajería (ERL)
Cómo pueden los servicios interoperar sin formar conexiones persistentes, estrechamente unidas.

Mensajería de metadatos (ERL)
Cómo pueden los servicios ser diseñados para procesar los datos específicos de la actividad en tiempo de ejecución.

El servicio del Agente (ERL)
Cómo puede la lógica event-driven ser separada y gobernada de forma independiente.

Enrutamiento intermedio (Little, Rischbeck, Simon)
Cómo pueden los factores dinámicos en tiempo de ejecución afectar la ruta de un mensaje.

Estado de mensajería (Karmarkar)
Cómo puede un servicio recordar un estado de sesión, mientras participa en interacción de estado permanente.

Servicio de rellamada (Karmarkar)
Cómo puede un servicio tener comunicación asíncrona con sus consumidores.

Instancia de servicio de enrutamiento (Karmarkar)
Cómo pueden los consumidores contactar e interactuar con las instancias de servicio sin necesidad de lógica de procesamiento de propiedad.

Asíncrono Queue Server (Little, Rischbeck, Simon)
Cómo puede un servicio y sus consumidores manejar aislamiento de fallas y evitar bloqueo innecesario de recursos.

Reliable Messaging (Little, Rischbeck, Simon)
Cómo los servicios permiten una comunicación fiable cuando se implementan en un ambiente poco fiable.

Por eventos de mensajería (Little, Rischbeck, Simon)
Cómo pueden los consumidores de servicios recibir una notificación automática de un evento de servicio en tiempo de ejecución.


Patrones de composición de Aplicación

Subcontrolador Agnóstico (ERL)
Cómo pueden los agnósticos, cross-entidad lógica de la composición ser separados, reutilizados, y gobernados de forma independiente.

Composición de la Autonomía (ERL)
Como pueden las composiciones ser implementadas para reducir la pérdida de autonomía.

Transaction Service Atómica (ERL)
Cómo puede una transacción con la capacidad de rollback ser propagada a través de mensajería basada en los servicios.

La compensación de transacciones de servicios (Utschig, Maier, Trops, Normann, Winterberg, Loesgen, Little)
Cómo pueden las excepciones de composición en tiempo de ejecución ser consistentemente ajustadas sin requerir servicios de bloqueo de los recursos.


Servicio de Patrones de Interacción de Seguridad

Confidencialidad de los datos (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo pueden los datos dentro de un mensaje ser protegidos para que no sean revelados a personas ajenas, al mismo tiempo que son transferidos.

Los datos de autenticación de origen (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un servicio verificar que un mensaje proviene de un emisor conocido y que el mensaje no ha sido alterado en tránsito.

Autenticación directa (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un servicio verificar las credenciales proporcionadas por el consumidor.

Autenticación negociado (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
Cómo puede un servicio eficiente verificar las credenciales de los consumidores, si el consumidor y el servicio no confían unos en otros o si el consumidor requiere el acceso a múltiples servicios.


Patrones de transformación

Los datos del modelo de transformación (ERL)
Cómo pueden interoperar los servicios cuando se utilizan diferentes modelos de datos para el mismo tipo de datos.

Data Transformation Format (Little, Rischbeck, Simon)
Cómo pueden los servicios interactuar con los programas que se comunican con diferentes formatos de datos.



Protocolo de puente (Little, Rischbeck, Simon)
Cómo puede un servicio intercambiar datos con los consumidores que utilizan diferentes protocolos de comunicación.


Los patrones de diseño comunes Compuesto

Orquestación (Erl, Loesgen)
Co-existencia de aplicaciones de proceso de la abstracción, el Repositorio de Estado, la centralización de procesos, transacciones y servicios de compensación, se puede ampliar con Servicio de Transacción Atómica, centralización de reglas, y de transformación del modelo de datos.

Enterprise Service Bus (Erl, Little, Rischbeck, Simon)
Coexistencia de aplicaciones de cola asincrónica, enrutamiento intermedio, y el patrón de Service Broker compuesto, que puede ser extendido a través de la mensajería de confianza, la política de centralización, centralización de reglas y mensajería por eventos.

Service Broker (Little, Rischbeck, Simon)
Co-existencia de aplicaciones de transformación de modelos de datos, transformación de formato de datos, y el Protocolo de puente.

Bus del esquema canónico (Utschig, Maier, Trops, Normann, Winterberg, Erl)
Co-existencia de aplicaciones de Enterprise Service Bus, Contrato desconectado, la centralización del contrato, y el esquema canónico.

Punto final oficial (ERL)
Aplicación conjunta de la lógica y contrato de centralización.

Federados capa de punto final (ERL)
Aplicación conjunta de punto final oficial, normalización de servicios, el Protocolo de Canonizacíon, esquema canónico, y su forma canónica.

Tres capas de inventario (ERL)
Aplicación conjunta de la abstracción de utilidad, la abstracción de Entidad, y la abstracción del proceso.

No hay comentarios:

Publicar un comentario