
Integration Suite
Key features
Endpoints
Endpoints can be defined to exchange data, messages or files. An endpoint can be defined as receive data or sending data.
Azure Key vault
All connection strings, usernames and passwords are all stored as secrets in Azure Key Vault for added security. The Integration Suite uses the standard key vault integration but have made it global.
Integration framework
A framework that will help your organization implement integrations. From simple import jobs that need to be run once a day (currency exchange rates) to complex processes like procurement.

System Integration in general
System integration involves combining different subsystems or components into a single, cohesive system that functions as one. System integration can be tough for organizations and can reduce the benefits of new software solutions. General challenges include:
- Lack of trust and data sharing
- Reluctance to outsource operations to 3rd party
- Poor communication and unclear responsibilities
- Disagreements on functionality placement
- High integration costs
- Difficulty finding skilled talent to maintain the integration
- Data silos
- Lack of common API standards
These issues create barriers that slow down integration within and between companies. Clear communication and easy information exchange are crucial for successful long-term integrations that meet business needs.
Microsoft Dynamics 365 for Finance and Supply Chain Management
The Integration Suite was created to utilize structured data contracts and defined services to handle integrations in a robust and scalable way.
Integration is achieved through various Endpoints to send or receive data and files.

Key concepts
By understanding the concepts, organizations can effectively manage data flow between D365F&O and other systems, ensuring seamless operations and data consistency. Several different transportation methods for data and file transfer are implemented in the Integration Suite.
Transportation methods
- Azure Service Bus, Queue or Topic.
- SFTP/FTP.
- Azure file share.
- Azure Data Lake.
- API (Application Programming Interfaces).
Azure Service Bus
Using a service bus as middleware in integrations offers several advantages, especially in complex systems like D365F&O. Dedicated queues or topics for each service and direction, ensuring efficient data handling and also decoupling the dependencies between systems. This provides a robust solution for real-time data processing and system integration, ensuring that businesses can operate efficiently and respond quickly to changes.
Either an endpoint of type Queue or a Topic is defined for each service and direction. I.e. if the customer service is enabled and set up, we define an endpoint for receiving customer data and one for sending customer data. This can be done for one instance (all companies) or based on a Company group (subset of companies). Meaning several endpoints for the same service and direction could exists for different legal entities (companies) or countries.
Sending messages
When a C(R)UD (Create, Update or Delete) operation is performed on a record in D365F&O, a send event is created for the particular record. A batch job handles all the events and sends a message from D365F&O to the endpoints (Queues or Topics).
Receiving data
Benefits with using Azure Service Bus
Loose coupling
Decouple the systems involved in the integration, meaning that changes in one system do not directly impact the other. This makes it easier to update, maintain, and scale each system independently.
Flexibility
New systems can be added or removed without significant changes to the existing integration architecture.
Reliability
Use message queues to ensure that messages are delivered even if one of the systems is temporarily unavailable. This increases the reliability of the integration.
Scalability
Can handle a large volume of messages, making it easier to scale the integration as the business grows.
Asynchronous
Systems can send messages and continue their operations without waiting for a response. This improves the overall performance and responsiveness of the systems.
Batch Processing
Messages can be processed in batches, which is useful for handling large datasets efficiently.
Event-Driven
Enables event-driven architectures, where systems can react to events in real-time. This is particularly useful for scenarios like real-time data synchronization and notifications.
Event Handling
Events can be published to multiple subscribers, allowing for more flexible and dynamic integrations.
Enhanced security
Provide built-in security features such as encryption and authentication, ensuring that data is securely transmitted between systems.
Fine-grained access control can be implemented to restrict who can send or receive messages.
Monitoring and Management
Centralized monitoring and management tools, making it easier to track the flow of messages and diagnose issues.
Advanced error handling mechanisms can be implemented to manage failed messages and retries.
Consistent Interfaces and standardizes the way systems communicate, reducing the complexity of the integration.
Various communication protocols (e.g., HTTP, AMQP), making it easier to integrate with different systems.
Cost Efficiency
Developers can leverage existing infrastructure and tools, reducing the time and effort required to build custom integration solutions.
Improved reliability and scalability lead to lower operational costs over time.