1 of 1 people found this helpful
I don't know if we have information about the relative performance between PI Web API and AF SDK for this type of scenario, but I wouldn't expect a huge difference between the two since PI Web API makes use of AF SDK on the back end. PI Web API having to translate to AF SDK does add some overhead, but my guess it that this difference wouldn't be as important as other factors. The architecture would be different for PI Web API vs AF SDK. With an AF SDK application, AF Client (which contains AF SDK) is going to need to be installed on whichever machine is running the application since it will be making direct connections to the Data Archives/AF Servers from that client machine.
For an application using PI Web API, you would not necessarily need to install anything additional on the machine running the application, because it just needs to be able to make a web request to PI Web API. Of course you would need to have PI Web API installed on some server (and AF Client will also be on that machine) but you don't need each machine that runs the application to have AF Client installed there. Any machine that has something like PI System Explorer or a modern version of DataLink would already have AF Client installed so it might not be a big problem, but it is something to consider.
It depends on the purpose of the application, and the intended end users. If you could explain a bit more about how the application will be used then it might be easier to make a recommendation.
Thanks for the answer. The general structure of the application will require the pulling of data from many customers PI servers to a central server so that we can process it. There won't be more than one server pulling data. This will be done continuously in real time (thus requiring either channels or web sockets). I imagine the overhead caused by Web API being built over AF SDK is minimized by the fact that we are not doing bulk data requests.
The fact that we'll have to get customers to install the PI Web API on there servers seems to be the main inconvenience if the performance difference is negligible.
Do you know how PI Integrator for Business Analytics would compare to both of these options if streaming to Apache Kafka? What advantages/disadvantages might it present?