Hello, I am Evgeniy Zherebnoy, from Celenia. As an employee of Celenia my responsibilities include providing pre-sales support to Scribe Software, and consulting services to Scribe Resellers who are creating and deploying integrations with Dynamics NAV and Dynamics AX.
At a time when investments in business integration for business process optimization are increasing, web services is becoming the leading technology to solve Services Oriented Architecture challenges of the Web 2.0. In this blog we discuss how the Web service technologies can be used to integrate various business processes to Dynamics NAV using Scribe Insight.
On the technical side, integration can offer some challenges both in terms of data integrity and technology – data integrity needs to be solved by the people that fully understand the context of the business process. The technology challenge can be simplified by the use of web services – it is a simple message oriented mechanism that works across most operating systems and network protocols. Most new applications today have a web services interface or their programming language allows you to build web services.
The latest releases of Scribe Web Services Adapter and Scribe Adapter for Microsoft Dynamics NAV include a number of features:
Scribe Web Services Adapter
- Connects to SOAP based Web Services via HTTP and HTTPS protocols.
- Presents Web methods as business objects to be selected as the source or target.
- Presents parameters as fields to be used in the mapping window of the Scribe Workbench.
- Supports SOAP headers when connecting to Web methods.
- Provides the ability to design custom exception conditions when the WSDL is not specific enough.
- Enables you to designate specific Web methods to be used when "logging on" or "logging off" the Web Service.
- Allows you to include binary large objects (BLOBs) in your data set.
Scribe Adapter for Microsoft Dynamics NAV
- Encapsulates the business rules of Microsoft Dynamics NAV, replicating the logic that is applied when you add or change records using the Microsoft Dynamics NAV user interface.
- Gives ability to synchronize data from any Microsoft Dynamics NAV table.
- Supports retrieving, inserting, updating, and deleting data in Microsoft Dynamics NAV.
- Adds many-to-many associations, such as Contacts to Opportunities. Provides functionality to work with related tables as a single object, which gives more flexibility in data translation.
- Ability to use custom actions for different business processes. With Adapter you are able to execute NAV code by calling specific Codeunits.
- Supports multiple companies using NAS instance for each Dynamics NAV company.
The diagram below shows high level architecture of the Scribe Insight involving both adapters:
Sample Integration Scenarios
Integration foreign currency exchange rates with NAV
Currency rates are changing frequently and are becoming an important factor in many companies as more and more companies trade across borders/currencies. Having the exchange rate for a specific currency in your Dynamics NAV system up to date is possible via simple implementation as an example:
- Choose a web service method on the source side that returns current exchange rate based on the defined input parameters.
- Connect through Scribe Adapter for Dynamics NAV to Dynamics NAV database and company as a target.
- Set up target steps into the Currency Exchange Rate table (or any other Dynamics NAV table) and configure data links, lookup links, and other parameters to correctly match returned parameters of the web service with corresponding fields in target table/tables.
- Once the data translation specification (DTS) document is completed and ready to use, you can run it within the Scribe Console Integration Process behind the scene with suitable options for time based integration - run a batch on a specified schedule.
Data integration and replication from a web store into Dynamics NAV
It is common way to collect base contact/customer/order information from a web store. Such web applications can be like non Windows systems hosted on Linux based operating systems. In this case direct data integration into ERP system using web service on a source side is one of the most appropriate ways.
The basic configuration steps for source and target connections within the Scribe Web Service Adapter and the Scribe Adapter for Dynamics NAV are very similar to the steps described in the first scenario.
With possibility to build and use custom ERP Actions in the Scribe Adapter for Dynamics NAV on target, you are able to perform complicated inserts/updates in Dynamics NAV by calling related business logic.
For instance, conversion routine of Contact into Customer can be done within ERP Action. In this case an execution step with such action should be used in target configuration of the corresponding DTS. It is important to point that all target operations in Dynamics NAV are executed through NAS API, so all required business logic and fields validation can be triggered in the same way as the operation done manually within CSIDE client.
Here is an example of the out-of-the-box ERP action that can be used during conversion procedure of a Sales Quote into a Sales Order:
- Scribe Custom Action Card in NAV
- Target "Execute" step configuration in Scribe Workbench
More detailed information about custom action can be found in Scribe – Adapter for MS Dynamics NAV help (Working with actions section) -https://openmind.scribesoftware.com/download/AdapterForDynamicsNAVHelp
Using NAV as source application and external web site/MS Share Point web site as target
Another example in this regards is the transfer of Sales Header and Sales Lines information from NAV to post Sales Order information on a web site. This comes up with possibility to connect to NAV as a source within the Scribe Adapter for NAV and execute inserts/updates through the Scribe Web Services Adapter. In this case, pulling data from NAV database is done via C/Front interface and can be implemented as real time integration process or time based as well.
Normally, the Scribe Web Services Adapter is limited to perform only "Execute" steps on a target side, however, in the scenario of using arrays of complex types (e.g. Sales Order) as a target the Scribe Web Services Adapter provides additional objects that can be used for target steps. These target steps allow you to "Insert" complex types into the array before the Web method is called. Detailed information as for this technology with step-by-step description of the scenario, where Scribe Sample database is presented as a source can be found in Scribe – Adapter for Web Services help - https://openmind.scribesoftware.com/download/AdapterForWebServicesHelp
Have you built other Dynamics NAV and Web Services solutions for your customers? If so, feel free to share the details.