Diagramación de mensajes en un bus de servicio

8

Estoy buscando una manera de diagramar claramente cómo se comunican varias aplicaciones a través de un bus de servicio. Lo mejor que he encontrado hasta ahora es un diagrama de secuencia, pero realmente no me gusta eso. Los diagramas de secuencia necesariamente relacionan algún tipo de secuencia, y eso no es realmente lo que quiero. Además, dado que cada servicio se comunica con el bus de servicio y los diagramas de secuencia colocan cada servicio en una columna separada, a medida que aumenta el número de servicios, terminará con muchas flechas superpuestas.

Por ejemplo, dados 4 servicios FOO , BAR , BAZ y QUX :

  • FOO publica mensajes de tipo publish y regen .
  • BAR publica mensajes de tipo requeue .
  • BAZ se suscribe a mensajes de tipo publish , regen y requeue , y publica mensajes de tipo transmit .
  • QUX se suscribe a mensajes de tipo transmitir .
  • Cualquier servicio puede publicar cualquier tipo de mensaje en cualquier momento (no hay una secuencia implícita).

¿Qué tipo de diagrama debo usar para representar de manera clara e inequívoca esta información?

Esto es lo mejor que he encontrado hasta ahora:

    
pregunta p.s.w.g 22.08.2013 - 19:38

1 respuesta

5
  

Estoy buscando una manera de diagramar claramente cómo múltiples aplicaciones   comunicarse a través de un bus de servicio.

Eso sería increíble. Desafortunadamente, no creo que sea posible para configuraciones de cualquier complejidad. Un diagrama de secuencia para escenarios simples es probablemente tan bueno como cualquier otra cosa.

Los componentes en un bus publican y se suscriben a los mensajes. Algunos de los mensajes pueden estar relacionados causalmente, formando un protocolo. Es difícil mostrar esto gráficamente, especialmente las relaciones causales, cuando hay más de un protocolo en juego en el bus.

Los diagramas de bus eléctricos han existido durante mucho tiempo

perotratanconunacantidaddeunproductouniforme(potenciaeléctrica)noseñalesdiscretas.

Megustamostrarlosmensajesenviados(aladerecha)yrecibidos(alaizquierda)porcadacomponente(ylaestructuradelsubcanal/tema,sicorresponde),perodenuevoparalosescenariosmássimples,losdiagramassedesordenanrápidamenteycasiinútil.

Entonces, volvamos a una pregunta más fundamental: ¿cuál es el propósito del diagrama? ¿Qué estás tratando de mostrar?

Si está intentando mostrar relaciones causales entre componentes y mensajes, entonces la diagramación de un protocolo a la vez utilizando un diagrama de secuencia (o equivalente) debería estar bien.

Si solo desea mostrar los protocolos como referencia, entonces los mensajes enviados y recibidos por cada componente deberían ser suficiente documentación, pero se pierden las relaciones causales / temporales.

¡Buena suerte, y háganos saber si encuentra o inventa algo mejor!

    
respondido por el Steven A. Lowe 22.08.2013 - 22:02

Lea otras preguntas en las etiquetas