Skip to end of metadata
Go to start of metadata

Overview of "Operate Message Brokers" Use Case

Run ION with multiple simultaneous Exchange message brokers

Tip: Key Points
UC Priority= 4 or 5: Critical, is in R2
Only boldface steps are required
<#> before a step —> lower priority
(optional) —> run-time option

Related Jira Issues:   Open   •   All


Refer to the Product Description and Product Description Release 2 pages for metadata definitions.

Actors System Developer
References CIAD COI OV Exchange
Is Used By  
Is Extended By  
In Acceptance Scenarios None
Technical Notes A message broker performs many functions: providing the primary messaging service for clients, implementing Exchange Points and Exchange spaces, hosting communication sessions, and enforcing messaging governance. Redundancy and distribution of load are two key reasons to operate multiple message brokers.
Lead Team COI
Primary Service Capability Container & Distributed Service Infrastructure Part 2
Version 1.3
UC Priority 3
UC Status Mapped + Ready
UX Exposure PGM


This information summarizes the Use Case functionality.

Operate the Integrated Observatory system with multiple Exchange message brokers, first under one domain of authority, then under different domains of authority. (In this scenario, no single broker is a single point of failure or source of governance.) Bring up two different message brokers and demonstrate they are separate; connect an application to each broker; and demonstrate the ability to communicate between the two applications. Repeat with brokers that are nominally being operated by a different authority (e.g., Scripps Institute of Oceanography rather than UC San Diego, with a different system running the message broker outside of ION.


Initial State

ION is running with a single Exchange message broker.

Scenario for "Operate Message Brokers" Use Case

  1. ION System Developer starts a second message broker within the same domain of authority.
  2. ION System Developer brings the second message broker into the system so that both are operational.
    1. They should be aware of each other, as appropriate to the design.
  3. ION System Developer connects an application to each broker, demonstrating its operation with its own broker.
  4. ION System Developer demonstrates the communication of the two applications, across the two brokers.
  5. ION System Developer shuts down the first message broker. Demonstrate that the system continues normal operations, as all messages are routed to the second broker.
  6. ION System Developer starts a third message broker, within a different domain of authority.
    1. At a minimum, the system is running externally to ION, in an independent system.
    2. Ideally, the system can be running using a different but compatible message broker. (Not a requirement for R2.)
  7. ION System Developer associates the two message brokers from the two domains of authority.
  8. ION System Developer demonstrates the communication of an application using the third, external broker with an application using the internal broker.

Final State

Communications among multiple message brokers has been demonstrated internally and across authority domains.


These comments provide additional context (usually quite technical) for editors of the use case.

This use case does not include demonstrating the successful recover from the failure of a message broker, but should by R3.

This use case should be enhanced (or perhaps another one developed) in Release 3 to cover additional requirements regarding messaging between brokers, such as intermittent connectivity (due to remote connections like satellite), intermittent bandwidth, quality of service and the ability to define VLANs. (See DOORS requirements.)

(click on # to go to R2 use case)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61     27B


r2-usecase r2-usecase Delete
usecase usecase Delete
productdescription productdescription Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.