NIH Enterprise Architecture Home

Communication Middleware Brick

Description

Communication middleware helps programs talk to other programs. It is software that supports a protocol for transmitting messages or data between two points as well as a system-programming interface to invoke the communication service. Message-Oriented Middleware (MOM) also provides for the safe and reliable delivery of messages.

Today's communication middleware generally runs on Internet-based protocols, but also may implement higher-level protocols, including industry standards and proprietary protocols, and it may run over the Internet or private networks.

Although simple forms of communication middleware do not inherently provide them, a variety of services are provided by more sophisticated products. Such features include reliable delivery, transactional support/integrity, message queuing, offline message handling, once-and-only-once delivery as well as first-in, first-out and other message-ordering variations.

Although communication middleware is an essential requirement for application integration projects, no single solution or industry standard can address requirements for every integration problem or scenario.

Brick Information

Tactical

(0-2 years)

Strategic

(2-5 years)

  • Communication middleware for QDX
  • HL7
  • Java Messaging Service (JMS)
  • JRun JMS
  • Microsoft Message Queue (MSMQ)
  • Oracle Advance Queuing/Oracle JMS
  • TIBCO Enterprise Message Service (EMS)

 

  • HL7
  • JMS
  • MSMQ
  • Oracle Advance Queuing/Oracle JMS
  • TIBCO EMS

 

Retirement

(To be eliminated)

Containment

(No new development)

  • COM/Distributed COM
  • Post Office Protocol (POP)/Simple Mail Transfer Protocol (SMTP)
  • Remote Method Invocation (RMI)

 

Baseline

(Today)

Emerging

(To track)

  • COM/Distributed COM
  • Communication middleware for QDX (Unknown) - CC
  • HL7
  • JMS
  • JRUN JMS
  • MSMQ
  • Oracle Advanced Queuing/Oracle JMS
  • POP/SMTP
  • RMI
  • TIBCO EMS

 

  • Intersystems Ensemble
  • Windows Communication Foundation (WCF)

 

Comments

  • Both the JMS standard and specific JMS implementations are shown within this brick. The JMS interface should be used for all Java application interactions with MOM. Specific JMS implementations should be selected based on the needs of the application and the supporting infrastructure. For example, in an Oracle Application Server environment, Oracle JMS may be the simplest solution. MOM traffic that must traverse multiple application server platforms and crosses Institute and Center (IC) boundaries should leverage TIBCO EMS.
  • Need to re-evaluate brick when WCF becomes available.
  • QDX communication middleware were listed as Tactical because they are a proven fit for NIH's known future needs. Leveraging baseline products in the future will minimize the operations, maintenance support and training costs of new products.
  • Microsoft COM/Distributed COM has been designated for Containment. With the release Windows Vista, .NET will be based on Windows Communication Foundation (WCF), a framework based on Web services standards.
  • QDX uses the HL7 protocol, the industry standard for hospitals and clinics. 
  • Intersystems Ensemble may be considered in the future as a specialized messaging middleware for HL7.
  • Tactical and strategic products were selected to leverage NIH's investment in products that are a proven fit for NIH's known future needs. Leveraging baseline products in the future will minimize the operations, maintenance, support and training costs of new products.
  • Some baseline products have been designated retirement and containment. These products are either not as widely or successfully deployed at NIH, or they do not provide as much functionality, value, or Total Cost of Ownership as the selected tactical and strategic products.

Time Table

This architecture definition approved on: May 24, 2006

The next review is scheduled in: TBD