A Common API is a API on a business application. The Common API gets and sends information to/from a clientele application through an arranger. This document aims to describe how an arranger should be implemented .
Architectural overview – Common API
The Common API consist of standardize information models that will presented as resources in the Consumer API. Each Common API can consist of one or more information models. The models are documented here hypertext transfer protocol : //informasjonsmodell.felleskomponent.no
Consumer API is where clients ( applications, processes etc ) access the data from the Business Application. Provider API Provider API is where the arranger feeds the Common API with data.
The adapter is the “ connection ” between the Common API and the Business Application. The independent tasks for the adapter is : Getting data from the Business Application Mapping the data from the business application model to the Common API model Sending the mapped data to the Common API
Common API internals
The Common API has two main services :
- Cache service
- Event service
The hoard overhaul has the pursue responsibility : store data from the business applications for all the organisations using the Common API Populate the cache Keeps track of which data has changed since the last clock the hoard was populated
The internals in the Common API is event based. An consequence is created by :
- Cache Service
When a customer hits a end point in the Consumer API the Common API is generating an event and sends it to the Cache Service. An consequence from the customer will never go all the way down to the arranger .
When the Cache Service need to update the hoard it sends an consequence down to the arranger .
All events are logged at all stages .
The provider API is where the arranger communicates with the Common API. The adapter connects to get events from the Common API and sends back the reception with the information from the clientele application.
Read more: Adaptive Response to Environmental Stress
The supplier API makes use of SSE ( Server-Sent-Events ) ( hypertext transfer protocol : //en.wikipedia.org/wiki/Server-sent_events ) to send events to the adapter .
|/provider/sse/:id||GET||1||The adapter registers on this endpoint. Id should be an UUID. If the adapter supports several orgId’s each orgId must have it’s own UUID.|
|/provider/status||POST||3||When the adapter receives an event it should post back a status to tell the provider if the event can be handled. Adapters must accept or reject events with
|/provider/response||POST||4||This is where the adapter sends back the response. Adapters must respond to events within 20 minutes.|
The provider API is secured with OAuth2 using the Resource Owner Password Credentials Grant flow .
The Adapter is both Resource Owner and Client. See hypertext transfer protocol : //github.com/FINTprosjektet/fint-oauth-consumer-client-sample for an model execution .
The arranger must handle the following error scenarios : The event send from the provider is not silent There is something wrong with the receive event Could not communicate with the beginning system
All of the error situations should result in an event sent from the arranger to the supplier with the condition
PROVIDER_REJECTED. If the adapter has information about the error this can be added to the message plain in the event-object .
There is a skeleton as a start detail and guideline for develop a adapter. This skeleton has code for communicating with the provider api. See the readme for more information .
The main determination of the arranger is to map the home business lotion model to the FINT information model. This includes relations between objects .
The FINT information model consist of two key elements :
Read more: Download XAMPP for Windows – Free – 8.1.0
Main classes which represent the resources. This can be a person, scholar, employee, use, code and thus on. Relations between independent classes .
For more information about the FINT information model and a description of all the classes, attributes and relations one can go to https : //informasjonsmodell.felleskomponent.no .
The technical implementations of the models can be found at hypertext transfer protocol : //github.com/FINTmodels .
|Norwegian term||English term|