XMLPorts or Webservice??

blopezblopez Member Posts: 16
Hello everyone,

I wanted to ask a question about a choice of technology in a project for my company. We are integrating Dynamics NAV with another plataform. In one point in the implementation, we doubt following:

We need to integrate a complex data object. Elsewhere in the project, we are already using web services, but I want to know is better Web services option, or, on the other hand, XML ports with Navision Application Server?

I think web services, but I'm not sure, any opinion on that?

Thank you.

Comments

  • jlandeenjlandeen Member Posts: 524
    why pick 1 or the other - you can use both XML Ports and Web Services.

    I`ve worked on many integration projects and have used both methods that you`re proposing. If you have the full 3 tier option available then I would certainly suggest that as you have much better scalability with the 3 tier client as you can add multiple web servers and scale out that way and each implementation of the web service tier is multi-threaded, something that NAS is not.

    On my last big integation project I exposed several functions in a codeunit that accepted bigtext parameters (i.e. strings) and then wrote some code which handed the string off to an XML Port for processing. This allowed us to build very modular components and all of the work for each interface was handled in an XML Port and then 1 codeunit which had a function call for each XML Port that was to be invoked.

    There are some limitations with XML Ports - check out the forum posts here, but at least the original NAV 2009 implementation did not allow explicit COMMITs in code (doesn`t work very well with error handling).

    Bottom line - if you use XML ports to encapsulate your code it should work on older code bases (i.e. NAV 5 and older) and the new Role Tailored Client.
    Jeff Landeen - Sr. Consultant
    Epimatic Corp.

    http://www.epimatic.com
  • kinekine Member Posts: 12,562
    From my point of view, the question is wrong. XML is format of data, WebServices is how the data are transfered. You can use XMLPorts when using WebServices, you can use XMLPort without webservices and transfer the data in different way. You cannot compare XMLPorts and WebServices... 8)
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • rdebathrdebath Member Posts: 383
    blopez wrote:
    We need to integrate a complex data object. Elsewhere in the project, we are already using web services, but I want to know is better Web services option, or, on the other hand, XML ports with Navision Application Server?
    kine wrote:
    From my point of view, the question is wrong.
    There are loads of variations, here are a few while I wait for BT.
    1. The Microsoft flavour of the month; use a NAV webservice with an XMLPort as the argument
    2. Use a NAV webservice with a bigtext argument, feed it through an XMLport
    3. Use a NAV webservice with a bigtext argument, manipulate it with an XML DOMDocument
    4. Use XML messages transported with an MSMQ into a DOMDocument (XMLPort doesn't link)
    5. Use the ComCom objects to present a web service or XML service, XML into an XMLPort or DOMDocument
    6. Use a database table or file dump to queue the jobs to do. NAS reads an processes them as it can.
    7. Use a VS webservice as a proxy to ANY of the above (Yes even the files).
    They can all work reliably.
    Which is best ... it depends.
  • blopezblopez Member Posts: 16
    Hi,

    First of all, thank you for responding so quickly to all. Sorry, I did not know how to express the question correctly.I give you more information on it and rephrase the question.I'm in a project using NAV 2009 with a 3-tier architecture, and we are using the new capabilities of Web services, publishing Codeunit.

    Now they are suggesting me to use the communication with NAS, using XML messages transported with an MSMQ into a DOMDocument.The question for me is whether it is worthwhile to install NAS and the communication part of the project, rather than continue using Web services.

    I've seen post parameter using XMLports in Web services, but not clear to me how to collect data Into NAV ... seek the forum.

    Thank you.
  • kinekine Member Posts: 12,562
    1) NAS is only single-threaded - one Request per time
    2) NAV MSMQ default implementation is not working correctly on 64bit OS (or it was corrected?)
    3) You can expect in some time in future that NAS will not be there anymore
    4) If you can solve it through webservices, use them. If not, search for way around. Creating webservices for NAV is not hard if you want to combine NAS and WebServices. There are examples on the web.
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • blopezblopez Member Posts: 16
    Thanks, it was what I wanted to know.

    A greeting.
Sign In or Register to comment.