The Talon Manual

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

DRAFT

div
idtoc
classtoc
div
classtocTitle

In This Section

div
classtocContents

Table of Contents
maxLevel2
indent8px
stylenone

Overview

X applications connect to one another and the outside world using the Simple Message Abstraction layer, SMA. SMA defines a simple yet robust messaging API that allows any messaging provider to be seamlessly plugged in the the platform by implementing a bus binding for the provider. An application's AepEngine handles much of the interaction with SMA on behalf of the application. It manages the lifecycle of an application's message bus bindings, provides send methods and perform dispatch of received messages in a transactionally atomic fashion. This document outlines the core concepts of SMA as they pertain to an application developer. At a high level a developer thinks in terms of defining the messages that make an application's interaction grammar and the logical channels on which those messages are transported to wire together the various application participants in the system:

Image Added

Core Concepts

Message Bus

A message bus can be thought of as a messaging sandbox that groups together participants that exchange messages. 

Message Bus User

A bus user is a messaging participant, 

Message (View)

The MessageView interface defines the interface for a message - the unit of exchange between messaging participants. A Message is a Plain Old Java Object that implements MessageView and provides accessors to message's underlying fields and handles encoding and decoding of the message for transmission. Messages are modeled using ADM. See the ADM Message Modeling for more details. 

Message Encoding

SMA transports MessageViews as bytes encoded according the message view's encoding. The platform natively supports generation of messages that can be encoded as Json, Protobuf, or Xbuf, but also provides support for Custom encodings. 

Message Channel

A message channel serves as a named conduit for messages between messaging participants. A sender sends messages on a message channel, and a receiver expresses interesting in receiving those messages by joining a channel. 

SMA Messages

Image Added
 

Expression of Interest

Image Added