RapidiOnline supports many different NAV versions - all the way back from Navision 3.70 (and even older versions) and up to the latest Microsoft Dynamics NAV releases. Supporting many product versions means that there is not one single method to suit all these versions. Depending on the version you are using, the approach will be different. Let us have a look at the options you have.Read also: Real-life benefits of Salesforce-Microsoft Dynamics NAV integration
RapidiOnline supports 3 different ways of accessing Microsoft Dynamics NAV allowing us to use the best way or ways in any given situation. Let me go through all these 3 different NAV supports below.
1- Accessing NAV through C/Front
The first way of accessing NAV is through an interface called C/Front. C/Front is a database level interface to Microsoft Dynamics NAV. It is supported both by the native Microsoft Dynamics NAV database server and for Microsoft-SQL based installations. Its the same interface as the Classic NAV Client is using to access NAV data, so its rock solid and very fast. It is the Microsoft recommended way of accessing data in the NAV database and all Calculated fields and filters are supported in C/Front (Microsoft does not recommend that you use a direct access to the MS-SQL database).
The C/Front interface is supported in all NAV versions (except NAV 2013 and derafter).
We recommend always to use the C/Front interface to read data from MS Dynamics NAV as this is by far the fastest way to read data, so huge amounts of records can be read in a short time. We also have buildin support for reading only what was changed since last run by using timestamp and this makes an integration very stable and fast running.
We also recommend C/Front when it comes to writing or updating many record to NAV and where there is no or very little business logic attached to the tables to be written in NAV.
2- Accessing Microsoft Dynamics NAV through the Navision Application Server (NAS)
The second method we have to access Microsoft Dynamics NAV is through the Navision Application Server (or NAS for short). The NAS Server is like a classic NAV Client but just without a user interface, so all the business logic in Microsoft Dynamics NAV also runs in NAS (actually you can code any functionality in NAS). This is a big advantage as you can leverage all the code that is already in NAV (including all your customizations) and so you can be sure that data are checked and validated as if a user was entering the same data.
Our NAS Support work from version 3.70 (which was the first release where NAS was relatively stable) and comes with codeunits that integrate with the Customer, Item and Sales Order objects. These codeunit can be copied to make support for other objects in NAV.
On the technical side, our NAS support is done with a Microsoft Automation Server plugin to NAS that handles all the communication with our central server and converts the data directly to/from our internal binary format and to fields in NAV tables - this means that a programmer working with the C/AL code that runs in NAS, does not have to worry about data conversion or XML documents etc. (as they would have to when using for example Biztalk) - this is much easier. The data transfers are controlled by the scheduler that is build-in to RapidiOnline centrally, so all that logic related to when what is run, is taken care of by the central RapidiOnline setup.
We recommend to use the NAS connector when you need to write complex objects to NAV that have a lot of business logic attached to them. For example for creating Sales Orders in NAV. You also need to have an IT organization that can support keeping the NAS server running as it is not so stable and typically needs restarting once a week or so.
3- Accessing Microsoft Dynamics NAV through Web Services
The third and last method for accessing Microsoft Dynamics NAV is through Web Services. Web Services are available in Microsoft Dynamics NAV from version 2009 R2 and is a very good and stable successor for the NAS Server.
Microsoft has chosen to make it possible to expose (or publish) any Page object that you have in Microsoft Dynamics NAV as a WebService with some standard functionality. This means that, in general, you just have to do a few clicks to expose a page as a Web Service and that we can then read, update, create or delete data in the corresponding object (which is very good). It also means that the WebService mimics the functionality of the Page which means that sometimes you have to insert an empty record first and then send an update request to add information (this is the case with the SalesOrder page for example) and this can be quite annoying. Anyway its a big progress from the NAS based approach but hopefully it will be improved in NAV 2013.
We recommend to use the WebServices to create data in NAV where its important that the business logic is running to generate numbers or copy data from other tables/objects - like creating new Customers or Sales Orders. To some extend we would also recommend it to update data in NAV (again only when its important that the business logic is run). For reading data from NAV, we still recommend to use the C/Front based interface above.
There are of course other ways to integrate with Microsoft Dynamics NAV. You can, for example, import/export data from files (ASCII or XML files) or you could read/write directly to the Microsoft-SQL database. We dont do this - we prefer to provide a good and stable solution to our customers.
Read a few cases and learn how our customers have benefited from a Salesforce-Microsoft Dynamics NAV integration.
Would you like to learn more about how to integrate Microsoft Dynamics NAV with Salesforce? Download our e-book.