Delivery of the third-party services
Problem
To increase the attractiveness of mobile applications and internet-services the Company decided to provide the services of third parties via Internet.

During the realization of the idea a number of difficulties arose:
  • To provide the correct work of the third-party services complicated integration solutions were needed which could not be realized at once
  • Certain legal issues related to providing the services occurred
  • The Company security service put forward its demands for the data leakage prevention
Solution
We divided services into paid and free:

Free services:
  • Information services
  • Calculators
Paid services:
  • Notification subscription
  • Payment for individual services
Also a “super”-subscription was created including either ten free services per month or a 50% discount on services
The ‘super”-subscription allowed:
  • Mutual advertising of services
  • Increasing the service users’ loyalty
  • Attracting and retaining users
The “super”-subscription creation resulted in obtaining the planned income values and significant increase of the number of users of the Company’s services.
What has been done
For the integration solutions we used the following:

  1. Rest API: sometimes controllers and clients were generated with the use of API generator and sometimes spring-security was used
  2. Apache Thrift was used for the protocol of the interaction and description of services. Based on the description clients and controllers were generated
  3. Kafka via Kafka Template – for asynchronous message sending/processing
  4. Kafka Streams – for data reprocessing and interaction with other asynchronous services
  5. 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
Technologies
Apache Thrift, Kafka Template, Kafka Streams, Mogo DB, Oracle DB, PostgreSQL
Made on
Tilda