Event Subscription Service
Introduction
The Event Subscription Service (ESS) provides remote applications with the means to subscribe to transaction-oriented data that is generated by applications on the Services Portal (SP). ESS acts as a message broker, allowing applications to exchange transactions without having knowledge of each other. Subscribers receive transactions without requiring specific knowledge about their publishers. Transactions that are published to ESS by SP applications are queued for delivery to subscribing applications. Transactions are queued and transmitted as Unicode-based (UTF-8) XML. Subscribing applications use the ESS Web Service to dequeue transactions.
The transactions described herein are optionally available to remote customer applications. The availability of certain transaction types depends on the set of SP applications licensed by the customer.
Characteristics of the ESS interface include:
- Customers use SP web pages to optionally define one or more transaction subscribers. Each subscriber may hold subscriptions to one or more of the various transaction types supported by the SP.
- Transactions of various types are continually published to ESS by portal applications on the SP. ESS converts these transactions into well documented XML formats and en-queues the transactions to all interested subscribers (those holding subscriptions to the given transaction type).
- Customers then regularly de-queue one or more transactions from each of their subscriber's queues via the ESS dequeue web service.
- Customers parse the dequeued XML transactions using various client-side techniques (e.g. SAX parser, deserializing XML into object form, etc.).
Events originating at mobile devices will include common information representing the nature of the event, as well as when and where the event occurred.
Important Client Implementation Note: The ESS XML transaction schema is subject to change without advanced notice. All attempts are made to retain backwards compatibility for existing transaction type definitions in the schema. In general, new versions of the ESS transaction schema (XSD) will include brand new transaction types and/or extensions to existing transaction types and their associated globally defined element types. Client-side code should be implemented to tolerate (or ignore) the introduction of new (unexpected) transaction elements and element attributes for existing transaction type definitions. Please see Event Subscription Service FAQs for more detailed information about integrating with ESS.
ESS Transaction Type Formats (XML Schema)
The ESS events have structures, which are defined and documented using the XML schema definition (XSD) notation.
The latest version of the ESS Transaction Schema (XSD) file may be downloaded and used to understand, validate and manipulate transactions received from the SP. Header comments in the schema file describe the changes and additions made in each schema version. The schema may contain definitions for elements which will be supported at some future date.
Online documentation for the currently supported transaction types may be found in the ESS Events section.