Integration design and development

Once you have all the detailed integration requirements, an integration specialist works with business analysts, developers, and system administrators to create a detailed design. The following topics in this section explain the process of designing an integration solution.

Selecting the right integration technology

It is important to select the best suited integration technology for each of the identified integration requirements. The following table compares integration technologies to help you determine the suitable integration tool as per your requirements:

 

Pros

Cons

Good for

Examples

AIF

  • Robust framework
  • Out-of-the-box services
  • Administration and monitoring
  • Scalable
  • Secure
  • Framework overhead
  • Document-based exchanges
  • Transaction processing across system
  • Create/update sales orders
  • Create customers
  • Send Product details
  • Send Price details
  • Send AP payment data

DIXF

  • Robust framework
  • Future async integration methodology for dynamics AX
  • Needs extension to automate and administer the process
  • High-volume integrations
  • Master data synchronization
  • GL Integration
  • Expense report import
  • Master data sync

.NET Framework

  • Utilizes the power of .NET programing languages
 
  • Add on solutions
  • Integration with .NET apps
  • Transformation components
  • Integrating with specialized SDK such as OCR*

Business Connector

  • Exposes Dynamics AX business logic
  • Utilizes the AX security framework
  • Phasing out
  • Uses the TCP communication protocol
  • Application extension
  • Application for handheld devices

Third-party Integration Solution

  • Specialized end-to-end solution
  • Special scenario only
  • Specialized third-party applications
  • Sales tax
  • AP automation
  • EDI Integration
  • Banking
  • Credit card

Developing a high-level conceptual design

Developing a high-level conceptual design diagram is important to explain the different integration points and directions. The following diagram shows an example of a conceptual integration design between Dynamics AX and a B2B e-commerce application:

Developing a high-level conceptual design

The following table explains the integration points shown in the preceding diagram and the recommended integration technologies:

Integration point

Description

Recommended solution

Product

Products and attributes will be stored in Dynamics AX and synced nightly with an e-commerce application as a flat file.

  • DIXF
  • AIF using file system adapter

Product on-hand

Product on-hand needs to be shared with the e-commerce application in real-time.

AIF Web Service

Price list

The price list will be mastered in AX and will be updated on the e-commerce application on a nightly basis as a flat file.

  • DIXF export
  • AIF document services using file system adapter

Customers

The customer can be created or updated either on the e-commerce website (such as address) or updated in DAX (such as credit limit) and synced in both the systems.

  • DIXF—master data management
  • AIF document services using create, update, read operations

Sales orders

Sales orders will be created in the e-commerce application and created or updated to AX. Sales order status updates such as shipment confirmation, invoices, and payment application need to be synced to the web application.

  • AIF web services
  • AIF document services using Queue-based adapter such as MSMQ

Defining field mapping

Defining field-level mapping for each integration point includes data type, field length, applicable values, and validation logic for each field. The ensuing table shows customer integration between Dynamics AX and an e-commerce application as an example:

AX Field name

Data type

Requirement

Default value

E-Commerce Field

Description

CustTable.AccountNum

NVARCHAR(20)

Mandatory

Number sequence

Account.Id

This is a unique identifier for the customer record

CustTable.CustGroup

NVARCHAR(10)

Mandatory

Web

NA

This is used to define accounting setup in Dynamics AX

DirParty.Language

NVARCHAR(10)

Mandatory

en-us

NA

This stores the customer's language

DirParty.Name

NVARCHAR(60)

Mandatory

 

Account.Name

This stores the customer's name

DirPartyPostalAddress.IsPrimary

Boolean

Optional

Yes

NA

This is a Boolean value where it is confirmed whether this address customer's primary address.

DirPartyPostalAddress.CountryRegionId

NVARCHAR(3)

Mandatory

USA

Account.Country

This stores the customer's country code

DirPartyPostalAddress.State

NVARCHAR(20)

Mandatory

 

Account.StateCode

This stores the customer's state code

DirPartyPostalAddress.County

NVARCHAR(20)

Optional

 

Account.County

This stores the customer's county code

DirPartyPostalAddress.City

NVARCHAR(60)

Optional

 

Account.CityName

This stores the customer's city

DirPartyPostalAddress.ZipCode

NVARCHAR(10)

Mandatory

 

Account.PostalCode

This stores the customer's zip code

DirPartyPostalAddress.Street

NVARCHAR(250)

Mandatory

 

Account.Address 1 + Account.Address 2

This stores the customer's street address

Development, configuration, and testing

The next step would be to do the required development, configuration, and testing the integration. The following are some helpful tips for developing integration solution:

  • Utilize the existing code and functionalities for integration; extend as needed.
  • Keep the message format generic as far as possible, so that the same integration point can be used with other applications, if needed. Use the XSLT transformation or other transformation tools to transform the messages in an appropriate system schema.
  • Build an error handling and notification mechanism to monitor the failure. Keep a closed loop; there should be a mechanism to notify other applications of the success or failure of message processing.
  • Develop the test data and a unit test scenario; perform unit testing before end-to-end integration testing.
  • Develop test simulation, if possible, for system testing. This can save a lot of time during the end-to-end testing.
  • Perform load testing by generating a large set of data. Many times, integration solution fails on the production load as the development or test environment does not have sufficient data to simulate the production load.
  • Prepare a test plan including the positive and negative scenarios. Test all exceptions and boundary scenarios. Test the end-to-end business process on integration data to avoid any fallback impact in the production environment.
  • Develop a security and deployment plan for integration solutions and test deployment and security in the test environment before moving to production.
..................Content has been hidden....................

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