DCSA Conformance

Why Conformance?

An API-based standard defines a set of rules and specifications that developers must adhere to when implementing the API. The goal of having a standard is to ensure interoperability and consistency across different implementations. Here are some key differences between an ecosystem of non-conformant implementations and an ecosystem of conformant ones:
A conformant ecosystem typically offers better interoperability, consistency, reliability, and ease of adoption compared to a non-conformant ecosystem.

Interoperability

Conformant Ecosystem: In a conformant ecosystem, implementations adhere to the same set of standards and specifications, ensuring that they can interoperate seamlessly. Developers can rely on consistent behaviour and communication patterns, making it easier to integrate different components or services.
Non-conformant Ecosystem: In a non-conformant ecosystem, implementations may deviate from the standard, leading to compatibility issues. Components developed by different parties might not work well together, requiring additional effort to make them compatible.

Consistency

Conformant Ecosystem: Conformant implementations follow a common set of rules and guidelines, leading to a more consistent user experience. Developers can expect similar behaviour across different implementations, making it easier to understand and work with the API.Non-conformant Ecosystem: In a non-conformant ecosystem, there may be variations in how different implementations handle certain aspects of the API. This can result in inconsistencies, making it more challenging for developers to predict and manage the behaviour of the API.

Reliability and Stability

Conformant Ecosystem: Conformant implementations are more likely to be reliable and stable because they adhere to a well-defined standard. Changes or updates are more likely to be backward-compatible, minimizing the risk of disruptions when upgrading.Non-conformant Ecosystem: Non-conformant implementations may introduce custom features or behaviours that are not part of the standard. This can lead to a lack of stability and increase the risk of compatibility issues when updates or changes are made.

Ecosystem Growth and Innovation

Conformant Ecosystem: A conformant ecosystem can foster a healthy environment for growth and innovation. Developers can build on a stable foundation, knowing that their solutions will likely work well with other conformant implementations.Non-conformant Ecosystem: The lack of adherence to standards in a non-conformant ecosystem may hinder innovation and growth. Developers may spend more time addressing compatibility issues rather than building new and innovative features.

Ease of Adoption

Conformant Ecosystem: Conformant implementations are generally easier to adopt because they follow a standard set of guidelines. Developers can leverage existing knowledge and tools to integrate with the API more efficiently.Non-conformant Ecosystem: Non-conformant implementations may require more effort and resources for adoption, as developers need to navigate and address the idiosyncrasies of each implementation.

The Conformance Advantage

In summary, a conformant ecosystem typically offers better interoperability, consistency, reliability, and ease of adoption compared to a non-conformant ecosystem. Developers benefit from a more predictable and stable environment, fostering collaboration and innovation.

Measuring Conformance

There are two key variables that quantify the conformance of an implementation with the standard:
  • Coverage: which parts of the standard has the adopter implemented?
  • Correctness: how correct is the implementation of each standard requirement?

Conformance-driven Standard Adoption

The conformance report lists, for each standard requirement, an overview of the extent to which the implementation is correct:
  • Correct (all analysed messages were correct)
  • Incorrect (all analysed messages were incorrect)
  • Inconsistent (some analysed messages were correct, others were not)
  • Not tested (no messages linked to this requirement were analysed)
During the process of implementing the standard the adopter can use the conformance report as a feedback mechanism for gradually improving the coverage and correctness of the implementation:
To measure the conformance of their implementations, adopters can connect their applications to DCSA conformance sandboxes, exchanging API messages with a synthetic counterpart. The test orchestrator guides the communication through each of the scenarios that are relevant for a certain standard, version and role. This way a guided step-by-step conformance: test is achieved.

Conformance-driven Standard Development

Throughout the standard development process, DCSA uses a conformance-driven approach to ensure that the standard being released is correct, consistent, complete and verifiable.DCSA creates synthetic implementations of the parties of each role defined by a standard, along with a comprehensive list of scenarios covering the business process being standardized.DCSA executes the full list of scenarios having the test orchestrator guide the synthetic parties in communicating with each other, making adjustments until each synthetic party is reported as 100% conformant:
In building the conformance synthetic parties DCSA thus acts as first adopter of the standard, finding and correcting issues in the standard early in the process, before adopting organizations would.The thus created synthetic parties of each role are used as counterparts in measuring the conformance of adopter implementations, such that when two adopters connect their systems the interoperability requires zero or minimal adjustments or troubleshooting.