What are Dynamics NAV 2016 licensing requirements for Web Services?

Hi,

Regarding SOAP and OData Web Services, I would like to know whether the following facts are true or false.

Given Starter Pack functionality, with no extra Development Granules:

  1. A Full User can publish a page (say, Customer) as a Web Service.
  2. A Full User can publish any number of pages as Web Services.
  3. A Full User can create another NAV user (whether Full or Limited).
  4. When consuming a published Web Service from another software service, a separate NAV user should be created and not be associated with a real person - and this is fine with respect to NAV’s licensing.
  5. The same as 4, given the following licensing model: Perpetual Licensing with Concurrent Client Access Licenses.
  6. When read access to the Web Service is sufficient, then the non-person user can be a Limited User.
  7. A Full User can create a codeunit (in the allowed range of 10 codeunits for the Starter Pack) and publish the code unit as a Web Service.
  8. Both a Full User and a Limited User can consume a codeunit Web Service, but permission errors will be encountered for the latter if the codeunit deals with data in a table which is not accessible.

In other words, I would like to know to which extent is a customer of Starter Pack (no extra Development Granules) able to integrate NAV with other software systems via SOAP / OData endpoints - from licensing point of view.

Thank you in advance!

I am re-posting the question, a bit simplified.

Given Starter Pack functionality, and default Customer License with no extra Development Granules:

True or False?

  1. A Full User can publish any page (say, Customer or Employee) as a Web Service.
  2. When consuming a published Web Service from another software service, a separate NAV user should be created and not be associated with a real person - and this is fine with respect to NAV’s licensing (e.g. Perpetual Licensing with Concurrent Client Access Licenses).
  3. A Full User can create a codeunit (in the allowed range of 10 codeunits for the Starter Pack) and publish the code unit as a Web Service.
  4. Both a Full User and a Limited User can be used to authenticate against a Web Service.

In other words, I would like to know to which extent is a customer of Starter Pack (no extra Development Granules) able to integrate NAV with other software systems via SOAP / OData endpoints - from licensing point of view.

My assumption is that the facts are as follows:

  1. True
  2. True (but a good practice, not a licensing requirement)
  3. False perhaps (unfortunately)
  4. True

Is my understanding correct?

Well XVIZCJHRJV it depends.

  1. It’s true, if the users has permission to do so. Then yes, as a user then you can access the same data with a webservice or any other “client”.
  2. Yes, but remember that even if you are using a “special” license user, then that’s just to solve the technical licensing. What matters is how this web service is used! If it’s a single device only used by a single concurrent user, then yes. But if it is used by i.e. integration to special webpages or application used by the companies employees, with the purpose of creating data for NAV, then not. If the app is only used by customers or vendors, then different licensing rules again.
  3. You need to have the solution developer license to create new codeunits. But the user can publish an existing codeunit.
  4. Yes.

I’m not 100% up to days with all the rules, so please if anyone knows better.

Thank you very much, Erik!

Especially for your notes on point 3. Indeed, that would be a form of multiplexing.

From Licensing Guide:

Multiplexing is the use of hardware or software (including manual procedures) to reduce the number of
users that directly access the Microsoft Dynamics ERP solution by pooling connections. Multiplexing does
not reduce the number of Access Licenses required. Any user that directly or indirectly reads from or
writes to the ERP solution’s database in real-time mode or via batch whether connecting individually or
through a data consolidation process must be licensed with the appropriate access license type in
compliance with the Software License Terms.

It would be multiplexing, to use the “technical” term.
What is it that you need it for?

Yes, and I understand that even reading from the database and presenting the data in one way or another requires extra licenses (for each user).

At the moment, I am investigating to which extent can an external application (e.g. Intranet website) talk to NAV and vice-versa. In other words, how feasible various integrations are. I do not have a specific case in mind.

I have had a lot of discussions with Microsoft regarding web services and licensing. They explained it to me as follows:

First of all, you need to distinguish between internal and external user.
An external user is defined as ‘customer of the customer’. In other words, the customer of your end-user.
Any other user is considered an internal user, including vendors of the customer. Also people that perform any business process on behalf of the end-user is considered an internal user.

An external user can access the NAV data via web service for free. However, he is not allowed to log in into NAV using any client that Microsoft releases. So RTC, Web Client, Tablet / Phone Client are not accessible with an external user. You need to create your own solution, like a portal, etc. Such a portal may be used to enter data into the system, e.g. web orders, or to provide information like item information, stock information or open invoices.
Theoretically, every user of such a portal must have a user account in NAV that is set as external. In my opinion this only makes sense when you have a portal that requires a login. But web shops often do not ask for a login before providing information. In that case you have an anonymous user. There is no official statement about such scenario.

Regarding internal users, they need to be licensed. It does not matter if they never access the NAV client and only use web services. An example could be an end user who queries data from an OData web service into Excel. No matter what scenario you have, all internal users need a license. It could be a light user, if possible.

Both full and limited users can access web services. For security reasons it is recommended to use the web service access key instead of the normal password.

Arend-Jan, thank you very much for the detailed answer on this topic of internal / external users & licensing.