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