SOFTWARE ARCHITECTURE DESIGNBackend Module Integration
Design of interfaces between microservices and project external entities such as client 3rd party systems, internal business core systems, monitoring, business inteligence, etc.
Integration between internal components like modules or microservices in a solution is very important for an efficient and fast platform. Many aspects have to be considered like: latency, throughput, number of API calls, security, encryption, discoverability and load balancing. There are many architectural decisions to be made about communication, security, redundancy and resilience.
With our extensive experience in internal and external communication patterns, the AFS team can guide your project to make proper decisions early on. This allows you to minimize additional costs caused by design errors and potential pivoting to another technology later in the project. We also provide examples and guidance in the development process that will smooth adoption of a new technology. No more doubling of project budget and time due to wrong architecture decisions!
Specifically, we provide expertise in 3rd party integration using SOAP Services, REST API, OData API, SAP ES, Asynchronous messaging like Kafka & RabbitMQ and legacy file interfaces if necessary, landscape integration using ESB, Process Integration Engines, Business Rule Engines, Product Information Management Systems, etc.
Typical technical and organizational challenges with integration we see projects struggle with:
- Lack of flexibility in process development, need to externalise business customisation to non-developer tools like business rules engine, process engine
- Unstandardised API between internal components causing high dev. effort
- No proper service contracts with 3rd party integrations
- No interface monitoring for support purposes and 3rd party contract accountability
- Lack of proper communication strategy with internal and external parties about interface changes which in turn can cause development delay or even production disasters.
- Challenge in program management planning where projects have to be synched because of many interface dependencies
- No proper encryption or SSL cert checks in interfaces
- No strategy for disaster recovery in asynchronous communication scenarios
If you feel that you suffer in your project due to any of these points, we can help.
What we can do to solve these challenges:
- Prepare an Integration Design to address specific integration needs
- Prepare an Integration Best Practices Catalog for future integrations
- Train developers to adhere to project integration standards
- Introduce proper integration framework for interface contracts within solution
- Create a standardised process for integrating 3rd party providers and clients
- Introduce interface dependency management at the organisational program/project level
- Build interface monitoring to catch potential problems early on
Technology
Technologies & tools that we typically use in our backend integration projects.
- SpringBoot
- NodeJS
- Snowplow
- PLSQL
- Apache Nifi/Camel
- Kafka/Kinesis
- SOAP
- REST API
- oData