For the integration solutions we used the following:
- Rest API: sometimes controllers and clients were generated with the use of API generator and sometimes spring-security was used
- Apache Thrift was used for the protocol of the interaction and description of services. Based on the description clients and controllers were generated
- Kafka via Kafka Template – for asynchronous message sending/processing
- Kafka Streams – for data reprocessing and interaction with other asynchronous services
- Soap
The main interaction between services was built using Apache Thrift. It allows the standardization of the message format and can generate controllers and clients for several programming languages. At present, on the project the transition to Rest API with generation by OpenAPI Generator takes place.
Data were retrieved from Mogo DB, Oracle and Postgress SQL