Integration technologies

As enterprises move toward using more and more specialized applications rather than having an ERP do everything for them, you need a robust framework and strategy for managing integrations within the ERP system. Dynamics AX provides many such robust frameworks and functionalities to integrate with third-party applications using modern techniques.

The following section outlines the commonly-used integration technologies in Dynamics AX. It is important to make sure that the technical analysts and developers in your project are familiar with these technologies, so that they can support the design process and identify the best integration solution for your project.

Application Integration Framework and services

AIF (Application Integration Framework) is the de facto integration methodology to integrate Dynamics AX with third-party applications and is a built-in infrastructure into the Dynamics AX platform.

AIF enables companies to integrate and communicate with the external business processes and partners through the exchange of XML over various transport media. AIF can be used to implement both business-to-business and application-to-application integration scenarios.

The AIF architecture

The following diagram shows the high-level AIF and services architecture. As shown in the diagram, AIF and service are based on Windows Communication Foundation (WCF) and are hosted on AOS. AIF web services can also be hosted on IIS. The AOS-hosted services are available to users and applications across Intranet. To consume these services over the Internet, you must host these services on Internet Information Services (IIS).

The AIF architecture

Key concepts in AIF

The key concepts in AIF include the following:

  • Services
  • Adapters
  • Message processing

Services

The different types of services AIF provides, are as follows:

  • System services: As the name suggests, system services are used for querying system related data and not for data integration as such. System services include the query service, the metadata service, and the user session service.
  • Document services: Document services represent a business entity which, is used as an integration point. For example, Sales order is considered a document even though it comprises multiple tables such as SalesTable, Sales line, and many others. There are around 70 standard document services in AX which can be utilized or customized for specific integration requirements.
  • Custom services: Microsoft introduced a new programing model in AX 2012 through which a developer can convert the X++ business logic to a service. There are several custom services delivered out-of-the-box in Dynamics AX. For example, in AX 2012 R3, the warehouse web application utilizes custom services to interact with Dynamics AX. The custom services shipped with Dynamics AX can be utilized as a reference for building other custom services.

The following table compares document services and custom services and explains some of the example scenarios to determine the appropriate programing model for your integration requirement:

 

Pros

Cons

Good for

Examples

Document services

  • This is based on query entity and supports the create/read/update/delete queries
  • This handles complex entity requirements like table relations, polymorphism, date effectivity, and so on.
  • All integration stack elements such as pipelines, transforms, and schema constraints can be applied to document services.
  • Schema validation and data validation is performed by the framework.
  • Performance overhead due to complex framework
  • Tight coupling between the service contract and the underlying query-table schema.
  • Complex document exchange.
  • Create/read/update sales orders.

Custom services

  • This is based on data contract defined by developers and the service contract can be controlled.
  • An existing business logic can be utilized and exposed as a service.
  • This is good for simple entity requirement.
  • This is good for performance.
  • This is good for an action triggered by third-party applications such as PO receiving/posting, packing slip, and so on.
  • You need to write a lot of code to handle relations, polymorphism, date effectivity, and so on.
  • Schema constraints and value substitutions are not honored for custom services.
  • Schema validation and data validation need to be handled in code.
  • This is good for mobile app integration as these are fast and simple service contracts.
  • This is good for read operations where output requirement is simple.
  • This is good for simple business entities as a service.
  • This is good to expose custom logic.
  • Create/update/delete/submit expense report.
  • Approve/reject workflow.

Adapters – transport mechanism

Adapters represent the transport mechanism for message transmission between Dynamics AX and the integration application. Dynamics AX 2012 provides the following out-of-the-box adapters for message transmission:

 

Adapters

Protocols

Good for

Synchronous

HTTP adapter

This uses an HTTP or HTTPs transport.

Synchronous Integration with non .NET Applications

 

NetTCP adapter

This supports over the Transmission Control Protocol (TCP) transport. This adapter corresponds to the WCF-NetTCP binding in Windows Communication Foundation (WCF).

Synchronous integration with .NET-based applications.

 

Windows Azure Service Bus adapter

This enables to publish the AX 2012 services by using the Windows Azure Service Bus.

Integration with cloud applications.

Asynchronous

MSMQ adapter

This supports queuing by using message queuing as a means of transport.

Asynchronous integration using MSMQ.

 

File system adapter

This supports asynchronous exchange of documents through file system directories.

Asynchronous integration using file system.

Message processing

Generally, integrations are designed either around the source system or the target system schema. This is basically called as adding system dependency to your integration. The recommendation is to keep the integration schema in a generic format. The key benefits in keeping the schema generic are as follows:

  • This encapsulates the integration schema from the source or target system
  • This minimizes the impact of changes (upgrade or changes) happening in the source or target system
  • This increases the extensibility of integration—if another system needs to be integrated with the same data, the same schema can be used
  • This eases troubleshooting and support—it would be easier to understand the generic schema from troubleshooting and support perspective than system-specific schema

AIF provides the following two powerful features to manage messages transformation and value substitutions:

  • Transforms: This provides the ability to transform messages using XSLT or .NET code. Transforms apply only on asynchronous exchanges.
  • Pipelines: This can be used for both synchronous and asynchronous exchanges. Pipeline supports messages transformations using the following transforms:
    • XSL transforms
    • .NET assembly transforms
    • Value substitution

The following diagram shows how data moves through an inbound integration port and the application of transform and pipelines:

Message processing

Cloud-based integration

The AIF Service Bus adapter provides a simple process for developers to build compelling companion applications, which are highly integrated with Dynamics AX. To build a cloud-based application for Dynamics AX, you need the following additional components:

  • Microsoft Azure Service Bus
  • Microsoft ADFS (Active Directory Federation Services)

To build a cloud-based application, the following are the high-level steps that a developer needs to perform the following steps:

  1. Configure Windows Azure.
  2. Publish AX services using AIF.
  3. Develop client app to work with the Service Bus.

The next diagram shows a high-level system architecture outlining how Microsoft Azure Service Bus, ADFS, and Dynamics AX AIF interact when used together for cloud-based applications.

Cloud-based integration

The Microsoft Dynamics AX 2012 Data Import/Export Framework

The Microsoft Dynamics AX 2012 Data Import/Export Framework is an extension that helps you import and export data in Microsoft Dynamics AX. Primarily DIXF is designed for configuration and transaction data migration but the robust framework and extensibility makes it a perfect fit for high-volume asynchronous integration scenarios with small enhancements. Use of DIXF for data migration purpose is explained in Chapter 5, Data Migration – Scoping through Delivery.

The following sections explain some common integration scenarios where DIXF can be used as an integration solution.

An ad hoc manual file import/export

We often encounter integration scenarios where a particular data entity needs to be exported or imported manually by the business users. The traditional way of supporting such an integration is by writing X++ classes to import or export specific data files. DIXF provides a robust framework to handle such manual integration scenarios by extending the framework to the applicable business area. For example, a company payroll is generated by a third-party system and at the end of the month, the accounting team receives a consolidated GL entry file, which they want to import in Dynamics AX. DIXF can be used for such a requirement by considering the following scenarios:

  • Create a processing group and a map source data file with the DMFLedgerJournalEntity table
  • Modify the mapping document and setting the default data mapping, such as journal name and voucher number
  • Set up the role for the processing group, and select appropriate security roles and entities
  • Now, the accounting team can use the DIXF module to import the GL entry file as a general journal entry

Automated asynchronous integration

How this framework can be leveraged and extended is answered at a high level in the following three steps:

  1. Extend the framework to act upon the data changes only when the source system notifies it. For this, you can customize some of the core DIXF classes to introduce this integration concept. The framework classes that need to be changed are DMFStagingWriter and DMFEntityWriter.
  2. Extend the DIXF Framework to map the integration point with the processing groups and entities. Here, the DIXF processing groups and entities are to be extended to build that relationship/hierarchy.
  3. Extend the DIXF to provide a feedback mechanism for the source systems to be notified of success, failures, and error logs.

The following diagram depicts the solution idea:

Automated asynchronous integration

It is important to know that Microsoft is investing heavily in DIXF and it will be the key integration tool for asynchronous message processing in Microsoft Dynamics AX 7.

Master data management

Master data management (MDM) is a new feature in Dynamics AX 2012 R3 which can be used to synchronize master data across multiple instances of Dynamics AX 2012. MDM uses Microsoft SQL Server Master Data Services (SQL MDS) as the central data store and AX 2012 Data Import/Export Framework entities as the unit for data synchronization. MDM is preconfigured to support synchronization of the customers, vendors, employees, global address book, and product entities. You can also create customizations to support other Data Import/Export Framework entities in MDM.

The following diagram shows the high-level architecture of an MDM:

Master data management

The following are the key features supported in MDM:

  • Single-master or multi-master: Using MDM, you can configure a single-master environment, where, only one instance can push the updated data to SQL MDS, and all other instances are read-only. You can configure a multi-master environment, where all AX 2012 instances can update the master data records. In case of a conflict, SQL MDS can be used to manually resolve it.
  • Synchronization scheduling: You can create a synchronization group to manage multiple entities and define synchronization schedules.
  • Data filtering: Appropriate data filters can be applied on entities to filter the data which can be synchronized. For example, if you want to synchronize only a subset of vendors across multiple instances, you can define such a filter at the entity level and synchronization will happen only for the filtered dataset.
  • Customization support: MDM can be extended to any other DMXF entity by adding a script to SQL MDS. Technically, an MDM can also be extended to synchronize master data between Dynamics AX 2012 R3 and a third-party application like e-Commerce solutions.

.NET Framework – .NET Interop

Dynamics AX can be used to consume the business logic developed in common .NET programing language. You can also build business logic in other programing languages, such as C# and Visual Basic, and use Dynamics AX objects such as tables, classes, and enums as proxy objects.

The .NET Business Connector

The .NET Business Connector enables you to build software applications that integrate with Microsoft Dynamics AX. You can access data or start a business logic. The .NET Business Connector is not a recommended integration technology for the following two reasons:

  1. The .NET Business Connector is deprecated from AX 7 the future version of Dynamics AX.
  2. The .NET business connector uses RPC as a communication protocol which is considered chatty, and it is not suitable for high-volume integrations.

The third-party integration solution

There are several vendors that provide specialized integration solutions with Dynamics AX such as EDI solutions, sales tax, and AP automation. These integration solutions typically utilize AIF or other integration technologies supported in Dynamics AX and extend the solution to implement common industry integration points with various products. The following table lists a sample of third-party integration solutions:

Vendor

Category

Specialized use

Data Masons

EDI

End-to-End EDI solution: This includes predefined EDI maps, data transformation, Integrations with trading partners, Integration with Dynamics AX.

Vertex, CCH, Avalara

Integration with Sales tax solution

This integrates between Dynamics AX and tax solution, transactions like sales order inquiry, invoice posting, project invoices, free text invoices, and so on.

Sandler Kahne Software

Banking

This includes lockbox, wire, bank reconciliation with banking institutions.

Red Maple

Credit card

This includes enhanced credit card services and integration with payment processors.

Tip

These are not necessarily the recommended solutions, but are just a few examples of the options available at the time of publication.

Connector for Microsoft Dynamics

Connector for Microsoft Dynamics is an integration tool for connecting the Microsoft CRM application with any Microsoft Dynamics ERP system. The following diagram shows the high-level architecture of Connector for Microsoft Dynamics. As shown in the diagram, Connector for Microsoft Dynamics is a standalone integration component and provides connectivity between Dynamics CRM and the Dynamics ERP system through web services:

Connector for Microsoft Dynamics

Connector for Dynamics, along with Dynamics AX, provides the following integration entities out of the box. Additional entities can be added though customization:

Connector for Microsoft Dynamics

The following are the key features of the Connector for Microsoft Dynamics:

  • Robust integration
  • Easy installation and configuration
  • Scheduling
  • Logging
  • Retries
  • Support for customizations in source and destination systems
  • SDK available for creating adapters to and from third-party systems
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset