Case Studies

Contact us for a product demonstration or further information:

Codestreet logo

ReplayService™ for EMS

Record data from TIBCO EMS using the C++ TIBCO EMS API and replay that data into your infrastructure

Codestreet's ReplayService™ for EMS is an enterprise class record and replay service for your TIBCO EMS message platform. Now you can record, and repeatedly replay, pause, fast forward and rewind through the flow of messages. You can also vary the speed of the message stream and filter selected message subsets. Messages can also be searched, edited and re-inserted into the message stream. ReplayService™ is not just a robust record and replay engine; it's a better store-and-forward messaging system with a broad range of business applications.

Why ReplayService™ for EMS

Robust messaging platforms at financial institutions are standard today, but the reality is that messages often need to be redelivered to consuming applications. In banking production environments, ReplayService™ allows applications and administrators to elegantly recover specific sets of messages, freeing development groups from having to build their own custom recovery capabilities.

Building message recovery into an application is costly and additionally involves long-term support costs. ReplayService™ allows applications groups to leverage a robust, hardened message recovery solution that is running successfully at the heart of some of the world's most mission critical banking systems.

Customer uses of ReplayService™ for EMS

  • Simpler store and forward architecture requiring no pre-registration
  • Message and State Recovery: Out of Critical Path
  • Disaster Recovery
  • Flow control
  • Auditing (infrastructure and content)
  • Capacity planning and issue resolution
  • Automated testing and application development
  • Messaging Gateway between TIBCO EMS and an arbitrary Java JMS infrastructure or WebSphere MQ (MQI API).

Features of ReplayService™ for EMS

  • Sophisticated record, storage, and replay facility
  • Message filtering, selection and repair
  • Replay API - allows applications to control replay
  • Web GUI & shell - allow administrators to control replay
  • Non-intrusive passive recording
  • Fault tolerant and high-availability
  • Architecture does not add latency
  • Does not risk production downtime in case of failure
  • Lightweight, file-based storage
  • No application code changes required
  • The ReplayService™ for EMS Replay API is itself an implementation of the JMS 1.1 specification
  • Supports TIBCO access control & encryption (ACL files or LDAP)
  • Record messages from TIBCO EMS through its highly efficient C API
  • Replay or automatically forward TIBCO EMS messages to an arbitrary JMS 1.1 messaging system or WebSphere MQ (MQI API)

Features of ReplayService™ Web GUI

ReplayService™ for EMS can be controlled by an administration API, a command line shell or a visual web based GUI.

  • Embedded Jetty Web Server for one-click installation
  • Replay GUI can define user-specific features
  • Find Messages by:
    • Channel-specific ID
    • Recording Time
    • JMS Timestamp
    • JMS Message ID
  • Find content through text search, patterns, or XML XPath expressions
  • Message View: JMS, Text, Hex, XML or HTML
  • Replay messages: messages/second or original rate (x2, x4, etc.)
  • Statistics: view as Text, Chart or CSV file

Application Scenarios

  • Simplified messaging architecture
  • Testing: Regression, Load, Integration
  • Debugging Production Problems
  • Message Repair & Recovery
  • Auditing Business Activities, Reporting
  • Historical Statistics
  • Reference Data Distribution

Rewindable Destinations

  • Rewindable Destinations are a unique feature of ReplayService for EMS that allows a topic or queue to be rewound so that messages that have previously been consumed can be recovered. The magic happens through a custom implementation of the EMS client API that includes a software switch that can be triggered to switch between replayed messages and live messages. Leveraging this switch, messages can be injected into an ongoing message stream or the stream itself can be rewound to begin consuming from a particular point in time.
  • Rewindable Destinations provide an optimal architecture for message recovery, providing an out-of-the-critical-path recording and replay solution that does not add any latency to the message path. Replayed messages can be sent to one or more subscribers, simultaneously providing fine grained control of the message recovery process.
  • Below is an interactive Flash demonstration of Rewindable Destinations.

  • Content on this page requires a newer version of Adobe Flash Player.

    Get Adobe Flash player

    Click to Play

  • Since the Replay API fully implements the JMS 1.1 API, Rewindable Destinations can be introduced without code changes. Through configuration, a different connection factory is retrieved from your JNDI implementation - your code stays the same. In the non-recovery mode, Rewindable Consumers are simply a wrapper around an underlying JMS consumer of the same type. The only difference from a regular JMS Consumer is that during the 'rewind phase' messages will be dispatched from a temporary destination that was previously created for each consumer. Once the 'rewind phase' is completed, standard messaging resumes with the underlying JMS consumer retrieving messages from the regular topic or queue.
  • Thus, Rewindable Destinations represent an ideal recovery architecture whereby all messages are available for replay via the JMS API or via an administrator initiated replay session and where the recovery facility does not impact the flow of messages and the latency within the system under normal operating conditions.


ReplayService™ for EMS is available on the following platforms:

  • Windows XP-SP2 (or later) and Windows Vista
  • Windows 7 (x86/x64)
  • Windows Server 2003 R2
  • Windows Server 2008 R2 (x86/x64)
  • Red Hat Enterprise Linux 4/5/6 (x86/x64)
  • SUSE Linux Enterprise Server 9/10/11 (x86/x64)
  • Solaris 8/9/10 (SPARC)
  • Solaris 10/11 (x86)

twitter icon
facebook link
youtube icon
vimeo icon