Interface Definition Document
Post by: syed hussain in All Integration Design Patterns
Summary
Interface Definition Documents (IDD) are artefacts that are commonly attached to an Integration Specification document. The IDD details the technical interface component.
Interface Catalogue
Name | A friendly name to identify the interface. |
Reference | A unique identifier of the interface |
Owner | A person, group or department that will manage and own the interface. |
Description | The description of the integration and the various design components used. |
Version | Document version. |
Revision Date | The date the catalogue item was created. |
Author | Author of the catalogue item. |
Reference | A unique reference number, e.g. INT-0019 |
Operational Notes | Details outlining logging, auditing, security and other important detail to assist operational and maintenance support. |
Error Handling | Details on what to do if an error occurred at any stage of the integration. |
Integration Type | Interface or Migration |
Frequency of Transfer | Real-time, Batch, Nightly, Weekly etc. |
Source System
Name | Name of the Source System or Application. |
Purpose | Details of the application and intended purpose. |
Version | The current version of the system the integration has been designed for. |
Vendor | Name of the Vendor or Developer. |
Owner | The responsible party that looks after the system. |
Department | The business unit that manages the system. |
Resource Location | Details of the resource location and how to access the system. |
Source Technology | Details of Source system technology. |
Authentication details | Details to access resources once authenticated to the endpoint. |
Authorisation details | Details to access resources once authenticated to the endpoint. |
Source Endpoint
Name | Details of the Source API Endpoint. Some legacy systems do not have an API endpoint. These systems may expose the datastore directly for consumption. |
Purpose | The purpose of the API endpoint, some systems have native API endpoints. Other systems need an external API endpoint built to consume data. |
Version | A version number of the current Source API Endpoint. |
Protocol | Protocol used to access the API Endpoint; HTTP, AMQP, TCP. |
Applied Pattern/s | Enterprise Integration design patterns used. |
Trigger details | Details of any Event Handlers that invoked the API Endpoint. |
Resource Location | Details of the location of the API Endpoint. |
Authentication details | Details to authenticate and access the endpoint resource. |
Authorisation details | Details to access resources once authenticated to the endpoint. |
Endpoint Technology | Details of the API Endpoint technology, e.g. Node.js, Web API, Azure Functions. |
Message Construction
Message Type | Format of the message, e.g. JSON, XML |
Purpose | The intended purpose of the message, e.g. Transfer Customer Payment details. |
Version | a version number of the current design. |
Schema Definition | Details of the message schema; Header, Parameters and Body. |
Applied Pattern/s | Integration patterns applied. |
Schema Registry | Details of the schema registry. |
Event Trigger Details | Details of any Event Handlers that invoked the Message Construction. |
Construction Technology | Details of the technology used to create the Message, e.g. Microsoft .NET and Azure Functions. |
Message Transformation
Message Format | Format of the message, e.g. JSON, XML. |
Purpose | The purpose of the transformation, e.g. serialise, deserialise, and convert to other file formats. |
Version | A version number of the current design. |
Schema Definition | Details of the schema after transformation. |
Applied Pattern/s | Integration patterns that have been applied during the Message Transformation phase. |
Schema Registry | Details of the schema registry. |
Transformation Technology | Details of the technology used to Transform the message, e.g. Azure Data Factory when using the Content Enricher design pattern. |
Message Channel
Channel Type | Details of Channel, e.g. Point-to-point, ESB. |
Purpose | The intended purpose of the message channel. |
Version | Message Channel version or build number. |
Direction | Unidirectional, Bidirectional, Simplex, Duplex. |
Protocol/s | Protocol used in the message channel; HTTP, FTP, AMQP etc. |
Channel Triggers | Based on Push/Pull model |
Applied Pattern/s | Integration patterns that have been applied during the Message Transformation phase. |
Messaging Technology | Message Technology, e.g. RabbitMQ, ActiveMQ, Azure Service Bus. |
Message Routing
Message Routing Details | Details of the Message Router, e.g. Publisher & Subscriber, Queues. |
Purpose | The intended purpose of the message routing |
Version | Message Routing version or build number. |
Applied Pattern/s | Integration patterns that have been applied during the Message Routing phase. |
Target Endpoint
Name | Details of the Target API Endpoint. Some legacy systems do not have an API endpoint. These systems may expose the datastore directly for consumption. |
Purpose | The purpose of the API endpoint, some systems have native API endpoints. Other systems need an external API endpoint built to consume data. |
Version | A version number of the current Target API Endpoint. |
Protocol | Protocol used to access the API Endpoint; HTTP, AMQP, TCP. |
Applied Pattern/s | Enterprise Integration design patterns used. |
Trigger details | Details of any Event Handlers that invoked the API Endpoint. |
Resource Location | Details of the location of the API Endpoint. |
Authentication details | Details to authenticate and access the endpoint resource. |
Authorisation details | Details to access resources once authenticated to the endpoint. |
Endpoint Technology | Details of the API Endpoint technology, e.g. Node.js, Web API, Azure Functions. |
Target System
Name | Name of the Target System or Application. |
Purpose | Details of the application and intended purpose. |
Version | The current version of the system the integration has been designed for. |
Vendor | Name of the Vendor or Developer. |
Owner | The responsible party that looks after the system. |
Department | The business unit that manages the system. |
Resource Location | Details of the resource location and how to access the system. |
Target Technology | Details of Target system technology. |
Authentication details | Details to access resources once authenticated to the endpoint. |
Authorisation details | Details to access resources once authenticated to the endpoint. |