...
Architecture design as discussed starting 16/04/2020 - OUTDATED
...
View file | ||
---|---|---|
|
...
The complexity of the back end will be increased each time it needs to talk to another service, e.g. Self Service for Form Rs or future GMC Connect APIs.
...
Long term design featuring a
...
View file | ||
---|---|---|
|
Adding a bespoke controller to the design will allow the orchestration between different services to be abstracted from the back end. The controller would be responsible for splitting requests between the data providers and aggregating the responses before the reply goes back to the client.
The controller could be a micro service or, possibly, a Lambda function.
...
message broker
...
View file | ||
---|---|---|
|
Rather than write a bespoke controller the, orchestration In the long term, integration could be performed using an off the shelf product, such as AWS MQ and Apache Camel.
AWS MQ supports integrates with Apache Camel and can be used to provide a sophisticated message broker service which supports multiple messaging patterns out of the box. Implementing this solution will de-couple micro-services from each other, allowing greater flexibility when it comes to changing existing services or adding extra services that need to be consumed.
With our current, envisaged configuration there would be very little custom code required to be written for the integration service. Most of our requirements would be handled by configurable settings in Camel.
Single request/response timeline
...
This solution is the most flexible when it comes to adding extra services that need to be consumed.
View file | ||
---|---|---|
|
This diagram shows the path a request takes through the components of the service in the case of a request for dynamic data from the back end. The diagram illustrates the use of a controller, but the concept is the same where no controller or a broker is used.
The steps are
The client makes a request from the internet
Route 53, or other DNS directs the request to the Revalidation service
The WAF checks the incoming request is acceptable
API Gateway routes the message to the controller
The controller routes messages to the back end and TIS Core via private API Gateway calls
The back end and TIS Core send their responses back to the controller via the gateway
The controller aggregates the response and returns it to the public API Gateway
The public API Gateway sends the response back to the client via the WAF and Route 53.
Current Implementation
This is the current implementation in stage-revalidation as at Fri 24/04/2020:
...
View file | ||
---|---|---|
|
Detailed AWS Architecture
This is the architecture for the Revalidation service as at Friday, 18/05/2020
...
View file | ||
---|---|---|
|
Updated Architecture - JS - 19/05/2020
...
View file | ||
---|---|---|
|
Needs to be made pretty using draw.io - files above
...
An attempt by Phil using the famous artist Babul for inspiration
Draw.io files
View file | ||
---|---|---|
|
SVG File
...