TeamForge Webhooks-based Event Broker, which is also referred to as the integration broker, is a webhooks-based message broker that pushes the messages of specific events received from a Publisher to a Subscriber.
TeamForge Webhooks-based Event Broker

is a light-weight webhooks-based message broker integrated with TeamForge to validate, transform, and route the messages that are received from a publisher to a subscriber.
acts both as an event broker and as a repository to store the messages that publishers intend to send to the subscribers.
is a robust message delivery middleware with minimal failure points.
can be used in the place of TeamForge EventQ, but is typically not a replacement for TeamForge EventQ.
can handle hundreds of messages over HTTPS per second.
provides a guaranteed once & once-only, in-order delivery of messages.
defines the Events, Publishers, and Subscribers.

Architecture

TeamForge Webhooks-based Event Broker is all about the events, publishers, subscribers and event messages that the publishers send to the subscribers. It also provides a mechanism to store the messages in the Inbox, and to push them to the Outbox, from which the messages are sent to the subscribers.

With TeamForge Webhooks-based Event Broker, Publishers/Subscribers can publish/subscribe to multiple events. It uses in-built TeamForge plugin to authenticate and send messages to TeamForge provided that the subscriber name starts with TeamForge.

Events

When an event occurs, the publisher sends the messages for that specific event to TeamForge Webhooks-based Event Broker which in turn sends it to the subscriber. Events must be registered in TeamForge Webhooks-based Event Broker. Each event is identified by a unique name. Registering an event is required before you register the publisher or subscriber.

Publishers

Whenever an event occurs, Publishers send messages to subscribers via TeamForge Webhooks-based Event Broker. Each publisher gets a unique REST endpoint for each event to publish. When you register a publisher, you will create the publisher name and select the event on which the publisher need to send the message.

Subscribers

Subscribers receive the messages sent by the Publishers via TeamForge Webhooks-based Event Broker. Subscribers can provide a Web endpoint where messages are to be pushed. Each subscriber gets a dedicated sender that sends messages on a First-in-First-out (FIFO) basis to the endpoint.

Inbox

TeamForge Webhooks-based Event Broker is designed using a box model. All messages published to TeamForge Webhooks-based Event Broker are stored in the Inbox and a unique reference number is generated and sent back to the publisher for storage and future retrieval.

Outbox

When a message is received by TeamForge Webhooks-based Event Broker, the subscriptions for the event represented by that message is checked. Multiple records or one separate record for each subscription, are then inserted into the Outbox, along with the Subscriber details. The status is set to PENDING.

TeamForge Webhooks-based Event Broker then sends the messages from the Outbox to the Subscribers. Once successfully delivered, the message in the Outbox is marked as DELIVERED.

Message Receiver

Message Receiver receives event messages from multiple publishers, stores in the Inbox and returns the unique Inbox message reference number (InboxId). This is completely a concurrent process.

Replicator

The Replicator is a single process that periodically replicates Inbox messages to the Outbox for the subscriptions active at that point in time.

Sender

Each Subscriber gets a unique Sender process. Each of these processes run in parallel and can process Outbox messages concurrently. However, each Sender sends the messages to the Subscriber in sequence.

TeamForge Integrations Using the TeamForge Webhooks-based Event Broker

TeamForge can be integrated with Jenkins, JIRA, TestLink, and Nexus using the TeamForge Webhooks-based Event Broker.

For more information, see:


Install the TeamForge Webhooks-based Event Broker