Rolling your own web services

Blog Post created by jlakumb on Jan 19, 2011

I noticed a pattern in several posts where folks are struggling with rolling their own web services or web-based application using PI/AF SDK (see here, here, here, here, here, and here).  I know that some of you are quite comfortable with using our SDKs, and that PI Web Services is a fairly new product, but I want to draw your attention to an important point.  Here is an excerpt from the "Optimizing your PI SDK Applications" whitepaper in the vCampus Library:



PI SDK applications can often provide the highest performance and scalability for accessing PI data, but this requires careful planning and development using the above techniques. For most users, it may be more efficient to leave these issues to OSIsoft and use PI Web Services instead. PI Web Services leverages all of these PI SDK optimizations and provides a simple query/response interface for programmers, allowing them to focus on what data to read/write to PI, instead of how to do it.

The efficiency and ease of development with PI Web Services may be more cost-effective than doing "raw" PI SDK programming, especially when coding in .NET languages or creating modern web-based applications. The OSIsoft vCampus development license (and the corresponding PI System Access runtime license) allows customers to choose the right tool for the job, so please consider which approach (PI SDK, PI Web Services, or another PI Data Access tool) makes the most sense for your particular situation, and for the long run.



Hopefully this will convince you to review the functionality of PI Web Services first to determine if it will meet your needs, before trying to roll your own.  If not, please drop us a note (vCampus, Tech Support, etc.) and let us know what enhancements we should consider in future releases.