Background:
The need for clear integration specifications arose with the development of companies' IT landscapes, as their business processes began to rely on numerous different software products and services. In the 1990s, paper documents and manual exports were widely used for data exchange, later EDI exchanges and integration platforms emerged. Today, interface specifications play a central role in organizing effective interaction.
Problem:
Without a well-developed integration specification, misunderstandings between teams, incorrect data processing, rework, or even business process failures often occur. The question arises: How to document and maintain the specification so that both parties (or multiple parties) understand the requirements unambiguously throughout the system's lifecycle?
Solution:
The system analyst develops the integration specification using commonly accepted description standards (e.g., OpenAPI, WSDL, XSD, BPMN), templates, and modeling tools. The specification must include:
Key features:
What is the difference between synchronous and asynchronous interaction of systems, and is the asynchronous approach always more resilient to failures?
Asynchronous communication does indeed reduce application coupling and can be more resilient due to queues, but it is not optimal in all scenarios: synchronous interactions are better for requests with high responsiveness or transactional requirements.
Is the description of the API and data structure sufficient for a complete understanding of integration between systems?
No, it is also necessary to capture business scenarios, error handling models, monitoring requirements, SLAs, delay tolerances, and versioning agreements.
Can we rely solely on verbal agreements between teams when changing the integration format?
No, all changes must be formalized in the specification and agreed upon in writing; otherwise, there is a risk of misalignment in implementations and potential incidents.
Negative case: The customer changed the data format in the API, notifying only the partner team via email. Developers from another integrated system did not account for this, and part of the transactions stopped processing. Pros:
Positive case: The analyst created a change request, updated the Swagger specification, notified all interested teams through internal chat, and awaited confirmation of the implementation of changes. Pros: