5 Replies Latest reply on Jan 2, 2019 5:13 AM by Eugene Lee

    AF SDK vs PIWEBAPI question


      After researching and reading pisquare answers from 2014 and 2016 (as well as the guides), our question is for the year 2019:

      • Which method/technology is the recommended access method for getting data out of AF/Archive into an AI application or data lake (on the same network)? AF SDK or PIWEBAPI?
      • What is the current functionality gap, performance or scalability difference between AF SDK and PIWEBAPI? (we have seen the 2014/2016 comparison but nothing more recent)

      Your feedback and recommendation would really helpful in solving a customer problem we are currently working on.

      Thanks in advance!


      - Matt

        • Re: AF SDK vs PIWEBAPI question

          Hi Matt,


          When it is a question of performance, I would say using the AF SDK is the obvious choice. The PI Web API is a RESTful middleware that uses the AF SDK.


          For performance, I would use the PI Web API in situations where you cannot use the AF SDK. For example, developing a web application where you don't want to be confined to .NET development. Another big benefit of the PI Web API is that the code is pre-optimized for performance by our developers whereas a developer new to the AF SDK might overlook opportunities to optimize their code.


          In short, with the AF SDK you can definitely have better performance however the PI Web API is usually easier for most developers to work with. Also, for the use case you've specified I would definitely use the the AF SDK.


          - Shrey Satpathy

          2 of 2 people found this helpful
          • Re: AF SDK vs PIWEBAPI question

            Hi Matt, the question of using one developer technology over the other depends on a gamut of factors and may not be easy to talk about without a specific use case.

            Shrey Satpathy has pointed to some features of PI Web API vs PI AF SDK, but if you could provide more more details on your infrastructure like platform, language, etc (you mentioned same n/w) it will be helpful for us in guiding you.

            The PI Web API is a RESTful interface to the PI system. It gives client applications read and write access to their AF and PI data over HTTPS. This automatically makes it OS/language agnostic & removes dependencies of .NET on the client side and may make it suitable for a variety of scenarios/applications.


            On the question of receiving updates to metadata/data - I'm not quite sure if the KB reflects the current functionalities available in PI Web API.

            A channel(Introduced in v2015 R3) is a way to receive continuous updates about a stream or stream set. Rather than using a typical HTTP request, channels are accessed using the Web Socket protocol. There are numerous Web Socket client libraries in several languages available for use with channels.

            1 of 1 people found this helpful