In any enterprise integration and API initiative, there are certain common functions that are a requirement for many different applications. For example, almost every integration or API requires a mechanism to notify stakeholders when key events occur. Those events might be an unrecoverable error condition or some other occurrence that requires human intervention. Another common function seen repeatedly is a method to replay a failure condition. Replay goes beyond a simple retry strategy that are relatively easy to implement. In cases where a failure cannot recover until some potentially time-consuming action is taken, the entire state of an application at a particular point in time must be stored and then reinitiated – often manually. Finally, a key enterprise integration pattern is message resequencing. Because messaging in combination with integration is ubiquitous, a guarantee that ordered messages are processed in the correct order typically goes together with event-based integration.
Unfortunately, tactical concerns often overwhelm strategy. Instead encapsulating these commonly encountered integration patterns as generalized services that can be reused, individual project teams are often forced to implement sub-optimal one-off solutions that soak off time and resources. Implementing them often devolves into quick and dirty hardcoded solutions that satisfy the immediate need but do not work all that well. Worse, these kinds of solutions are rarely robust enough to survive evolving requirements and end up being re-implemented more than once even within a single application. Done enough, this sort of thing can entirely undermine one of the key promises of integration platforms – reusability.
Psyncopate Accelerator Solutions and Services (PASS) was created to help our clients avoid the trap of one-off implementations. PASS offerings include pre-build solutions to common integration requirements that are both generalized enough to meet most key requirements out-of-the box and at the same time are fully customizable to meet more specialized needs. Now project teams can focus on building core-functionality while leveraging our pre-built common services packages, reducing time-to-market, and improving the bottom line.
All Psyncopate offerings currently target the MuleSoft platform, and we are continually expanding our service repertoire. For additional information about our accelerator solutions and services, you can reach out to Psyncopate by clicking on the Contact tab on our web page.
Notification
Psyncopate Notification Service is an omnichannel message delivery service with out-of-the-box support for email and text messaging and customizable support for most help desk application suites. Client applications and services can inform support personnel and stakeholders of important events by issuing a request to Psyncopate Notification Service, which will deliver the message to the intended recipient.
Notification Service is an enterprise alerting framework that manages generalized business and technical notices. The framework supports:
- Creation and management of alerting channels (such as email[1], text messaging, or ticketing systems like Zendesk)
- Creation and management of named subscription topics like messaging systems that allow subscribers to receive notification events sent to the topic
- ReSTful client interface that accepts notices for distribution to topics and subscribing clients.
Notification Service operates using a subscription model. Clients who issue notices using the service send these notices to a named topic. Interested parties subscribe to these topics using the features offered by Notification Service.
[1] Only email channels are currently supported by the service implementation, with other channels to follow.
Replay
Psyncopate Replay Service simplifies error recovery by automating the process. Clients can pass the payload and associated meta-data of a failing event, along with the amount of time to wait before trying again to the Psyncopate Replay Service, which will mediate recovery without further intervention. The service also supports manual and ad-hoc recovery by allowing a client to explicitly execute a replay on demand at any time. The replay service automatically handles problems that may occur during the recovery processing by executing a client configurable retry routine as many times as the client specifies. The Psyncopate Replay Service allows a client to entirely offload replay recovery concerns.
Re-Sequencer
Psyncopate Re-Sequencer Service is a robust and generalized implementation of the integration re-sequencer design pattern.
Re-sequencer accepts an arbitrarily ordered set of messages that include a field containing a sequence number and ensures that after the set of messages is processed by the re-sequencing algorithm, the set of messages emerges in the intended order, and is called a sequence. Re-sequencer releases the ordered sequences to clients on-demand or through a client configurable callback. Re-sequencer supports strings, enumerations, or timestamp sequence numbers.