CCSDS Message Bus Comparison Shames, Barkley, Burleigh, Cooper, Haddow 28 Oct 2010 Intent of these materials • Present current descriptions of the four current standards that define and/or use message bus specifications • Identify their specific features and interfaces • Compare the features and describe them in the context of the standard ISO Stack • Provide the basis for analysis of overlaps and harmonization SM&C Message Abstraction Layer (MAL) • Message layer BB (interoperable only in combination with a data mapping and technology binding), generalized message structures, numerous interaction patterns (client/server and message bus), abstract service interface (and separate API spec), extensible message structure framework, transport agnostic (uses underlying message bus, JMS, AMQP, DDS, AMS) SM&C MAL Protocol Stack SM&C Client/Server Application MAL API MAL Interaction Patterns SM&C Message encoding layer Transport adapter Message bus (JMS, AMQP, DDS, AMS) SM&C MAL Message population stages Populate MAL Message Header Encode to Message Bus format SM&C Message encoding layer Populate MAL Message Body Service Management (SM) • Specific Service (BB) for service management domain, application service entity behavior and document exchange protocol, specific set of client/server message interchange patterns, service message bindings to XML, transport agnostic (SMTP & HTTP/SOAP bindings to date) SM Operation Procedures, Document Exchange Protocol, and Underlying Communication Service, Fig 3-1 Information Services Architecture (ISA) • Reference Model (MB) & Service Binding (BB) (Draft WB now) defines Registry service, service interface, a few specific message exchange patterns, specific service messages and structures, reusable/extensible information framework, it is data transport agnostic, using HTTP, JMS, and other methods Representing the Information Service Architecture (ISA) Logical Stack • • • a layered view of the CCSDSrelated services abstracting out the messaging middleware, from the information infrastructure allows us to understand the overlaps CCSDS is involved in the development of standards at each of these levels standards efforts should fit together and CCSDS should be mindful when standards effort cross multiple boundaries in the architectural model to ensure interoperability remains as a critical architectural tenet Messaging Middleware MAL / AMS HTTP / JMS Network Protocols / Physical Layer 9 AMS • AMS – BB, interoperable protocol specification (PDU, state machines) for generalized distributed messaging over long haul and short haul links, several supported interaction modes (client/server and message bus), & abstract AMS service interface, no specific message content specifications • AMS is a message bus system comprising three Application Layer protocols – Application AMS (AAMS) protocol conveys published application data over a variety of transport protocols – Meta-AMS (MAMS) protocol conveys AMS auto-configuration metadata - enabling AAMS traffic flow - over one of those transport protocols – Remote AMS (RAMS) protocol encapsulates AAMS messages in an underlying delay-tolerant protocol (notionally, but not necessarily, the DTN Bundle Protocol) for propagation across space links. – So AAMS is typically a TCP or UDP application, MAMS is usually a UDP application, and RAMS is a BP application. AMS mapping to MAL AMS BB Pg 2-5 Alignment with ISO MAL Application Presentation Session [Middleware] Transport Network Data Link Physical AMS SM ISA SM&C MAL Protocol Stack Client Application Provider Application SM&C MAL SM&C MAL Message bus MAL Message definition • Definition of the message body structure is static and is specified as part of a service definition. • The message encoding is agreed before hand and is an aspect of the deployment • The population of the message header is something that is performed at runtime. ISA Notional Layers • Application – These are clients that leverage and use services and standard models. They include domain specific models necessary for interoperability. • Application Services – These are CCSDS domain specific services which are deployed into a SOA-style deployment. These include domain specific models necessary for interoperability. • Infrastructure Services – These are standard information services and models which support discovery and deployment of application services, information management services, etc. • Messaging Services – This is the messaging layer which identifies protocols and message structure necessary for applications to be deployed into a distributed service architecture. • Network Layer – This is the communication layer. Construction of higher order messaging and information/infrastructure services should be built on top of this layer. 15