jueves, 10 de octubre de 2013

Blog 3 WS EVENTING

Dentro de lo WS Extensions  , mas puntualmente en Messaging Specifications nos encontramos con WS EVENTING



WS EVENTING, EN QUE CONSISTE  ?

Los Servicios web siempre deberían recibir los mensajes que califiquen como de “INTERES” cuando se producen eventos en otros servicios y aplicaciones. Se necesita una “Extensión” para el registro de intereses debido a que el conjunto de servicios web interesados ​​en recibir este tipo de mensajes es a menudo desconocido por adelantado o va a cambiar con el tiempo. 

Esta extensión define :

* Un protocolo para un servicio Web llamado "SUSCRIPTOR"

* Para registrar interés llamado una "SUSCRIPCIÓN"

* Otro servicio Web llamado "ORIGEN DEL EVENTO"

* En la recepción de mensajes sobre eventos (llamadas "NOTIFICACIONES" O " MENSAJES DE EVENTOS "). 

* El suscriptor puede administrar la suscripción al interactuar con un servicio Web (llamado el "ADMINISTRADOR DE SUSCRIPCIÓN"), designado por el EVENT SOURCE.

Para mejorar la robustez, la suscripción se puede “alquilar”  por un EVENT SOURCE de un abonado y la suscripción caduca con el tiempo. El gerente de suscripción proporciona la capacidad para que el abonado pueda renovar o cancelar la suscripción antes de que caduque.

Esta extensión proporciona una manera extensible para los suscriptores de identificar el mecanismo de entrega de su preferencia. Es asíncrona, pues  la intención es que no debería haber ninguna limitación o restricción en los mecanismos de entrega.




Requerimientos 

  • Definir los medios para crear y eliminar suscripciones a eventos.
  • Definición de caducidad para las suscripciones y permitir su renovación.
  • Definir cómo una fuente de delegados de administración de suscripciones a otro servicio Web.
  • Permitir suscriptores especificar cómo se deben entregar mensajes de eventos.
  • Soporte complejo de topologías que permiten que el EVENT SOURCE y el EVENT SINK  se desacoplan. (origen de eventos y receptor de eventos)
  • Proporcionar extensibilidad de los escenarios más sofisticados de suscripción y / o actualmente no previstos.
  • Apoyo en SOAP

Modos de Envío

El patrón general de asíncrono, los mensajes basados ​​en eventos son muy frecuentes y diferentes aplicaciones a menudo requieren diferentes mecanismos de entrega de mensajes de eventos. 
Por ejemplo, en algunos casos un mensaje asíncrono simple es óptima, mientras que otras situaciones pueden trabajar mejor si el consumidor de sucesos puede sondear los  mensajes de eventos con el fin de controlar el caudal y los tiempos de llegada de mensajes.
 Algunos consumidores requieren mensajes de eventos a ser envuelto en un sobre SOAP "evento" de serie, mientras que otros prefieren que los mensajes se entregan sin envolver. Algunos consumidores pueden requerir mensajes de eventos que se entregan de manera fiable, mientras que otros pueden estar dispuestos a aceptar la entrega de sucesos de mejor esfuerzo.
Para apoyar esta amplia variedad de requisitos de entrega de eventos, esta extensión introduce un concepto llamado MODO DE ENTREGA. Este concepto se utiliza como un punto de extensión, de modo que los orígenes de eventos y consumidores de sucesos pueden libremente crear nuevos mecanismos de entrega que se adapten a sus necesidades específicas. Esta especificación provee una cantidad mínima de apoyo a modo de negociación de entrega, permitiendo un origen de eventos para ofrecer una lista de los modos de entrega apoyados en respuesta a una solicitud de suscripción que especifica un “delivery mode” que no es compatible.
Esta especificación define un modo de entrega único modo Push, que es la mensajería asincrónica simple.
Ejemplo
:
Solicitud hipotético para crear una suscripción




Respuesta hipotética a una solicitud de suscripción



Consideraciones de seguridad

Se recomienda que la comunicación entre los servicios se puede asegurar utilizando lla extensión WS-Security [vista en el Blog 2]. Con el fin de asegurar correctamente los mensajes, el cuerpo y todos los encabezados pertinentes deben ser incluidos en la firma

Pero esta tecnología en el campo de la seguridad nos plantea ciertos retos como ataques que se pueden dar. Tratare de dar una solución a estos retos tras una pequeña investigación:
  • Alteración de mensajes - La alteración se evita mediante la inclusión de firmas de la información del mensaje mediante WS-Security. [blog 2]

  • Divulgación de mensajes - Se respetará la confidencialidad mediante el cifrado de datos confidenciales mediante WS-Security.

  • Integridad de claves - Integridad de claves se mantiene mediante el uso de los algoritmos más fuertes posibles (mediante la comparación de las políticas garantizados , en este caso la extensión WS POLICY nos puede dar cierto apoyo.

  • Autenticación - La autenticación se establece mediante la extensión WS-Security. Cada mensaje es autenticado utilizando WS-Security.

  • Responsabilidad - rendición de cuentas es una función del tipo de cadena y de la llave y algoritmos que se utiliza. En muchos casos, una clave simétrica fuerte proporciona suficiente responsabilidad. 

  • Disponibilidad - Todos los servicios de mensajería fiables están sujetas a una variedad de ataques disponibilidad. Detección Replay es un ataque común y se recomienda que se aborde con la extension WS-Security. Otros ataques, tales como la negación a nivel de red de los ataques del servicio son más difíciles de evitar y están fuera del alcance de esta extensión. 

  •  Replay - Los mensajes pueden ser reproducidos para una variedad de razones. Para detectar y eliminar este ataque, los mecanismos deben ser utilizados para identificar los mensajes reproducidos tales como la marca de tiempo , esto también lo cubre  WS-Security. Alternativamente, y opcionalmente, otras tecnologías, como la secuenciación, se pueden utilizar también para evitar la repetición de los mensajes de la aplicación.

Conclusión:

Esta extensión le permite a SOAP ser asíncrono para poder recibir mensajes entre los diferentes subscriptores que usan esta tecnología. Pero es ciertamente vulnerable por si sola y necesita DE TODAS MANERAS trabajar mano a mano con la extensión WS SECURITY para que pueda blindarla de posibles “ataques”

No hay comentarios:

Publicar un comentario