Middleware

The following sections talk you through the reason why we have done what have done in the way we have done it.

Why?

The Coach product has a dependency on user and recording metadata. In order for Coach to obtain this data it reaches out to the Recorder via Service Orientated Architecture SOA. The reason for this api documentation is to show and help you work through this process.

What problem does this solve?

When one computer application requires information from another, we generally create an API to make this possible. We have chosen to create a RESTful API to act as the intermeditary between our system and yours. This approach enables a decoupling between the two systems, removing your reliance on Qualtrak to bring any changes from your api into production.

How does it solve it?

We manage the decoupling programmatically through the use of the Inversion of Control IoC pattern.

IoC Container

In software engineering, inversion of control (IoC) [1] describes a design in which custom-written portions of a computer program receive the flow of control from a generic, reusable library. Martin Fowler walks you through an implementation [2] and compares IoC with DI here [3]. Dependency Injection (DI) is another programming pattern.

RESTful API

In computing, Representational State Transfer (REST) is a software architecture style for building scalable web services [4] .

In this section we talk in more detail about our RESTful api that acts as the conduit between the 2 respective systems:

Footnotes

[1]https://en.wikipedia.org/wiki/Inversion_of_control - Wikipedia
[2]http://www.martinfowler.com/articles/injection.html - Martin Fowler
[3]http://martinfowler.com/bliki/InversionOfControl.html - Martin Fowler
[4]https://en.wikipedia.org/wiki/Representational_state_transfer - Wikipedia