Dovetail is based on a so-called Enterprise Service Bus (ESB) solution. An ESB provides the right infrastructure, is the central point between your business applications and the connection between customers and suppliers.
Enterprise Service Bus
An ESB is an architectural software construction (pattern) that simplifies the communication between the user of services and the service providers. To this end, the ESB offers the user an interface as requested by that user. This can be a web service or something like an SMTP (e-mail) interface. The ESB will then communicate with the provider, using the interface chosen by the provider. As such, it is possible that the user of a service communicates with the ESB very differently than the ESB communicates with the provider. The ESB translates the message to the right format and sends it to the right recipient.
Thanks to the addition of the ESB component within a software architecture, the manner in which service users communicate with service providers can be standardised. After all, it now only requires an agreement between the ESB and the user or provider making use of the same service. The ESB works to correctly translate (transform) the information that comes in with a request, together with any accompanying information, into the format expected by the service provider.
The ESB component is responsible for delivering a request to the right location, which is the right provider or providers of services. During the processing of these requests, the ESB treats any mistakes or priorities of the requests. In other words, it determines which request should be processed first, etc. This complete processing of the request and the necessary checks are called the orchestration of service requests.
Another aspect of an ESB component is the security of requests and all the information involved. This regards not only securing the communication channel, but also who (which user or role) can request the service.
A final common task of an ESB component is monitoring the filed requests and tracking the statistic information of them, such as how often the service is requested, how often this is done correctly or incorrectly, and how fast a request is processed. The ESB can collect this information and create a report, but it can also respond immediately if, for example, the orchestration of a request calls on a service that results in an error. The task of monitoring also includes checking for previously set SLAs of a service, as defined within the ESB, with measures if an SLA is not achieved.
Without the use of an ESB, users and providers have so-called ‘point-to-point’ connections, which run criss-cross through the organisation. By applying an ESB, users receive one standardised interface in the ESB and any requests will be processed by the ESB.