11 Replies Latest reply on Aug 16, 2013 9:26 PM by dnoonen

    OData webservices for PI?


      Lately there has been a lot of talk about the Open Data Protocol (OData). Microsoft seems really committed to it, and Steve talked about it here . He requested some input on the subject, so I have the idea that we as vCampus could have the opportunity to have some influence here...


      I was wondering what vCampus members think of having an OData interface to PI. This would consist of a webservice, serving the PI data in AtomPub format using the REST architecture.


      This type of interface would create a unified interface to the PI system (and maybe even AF data). Please look at the examples givin in Steve's blogpost . Using LinqToPi (one of the new community projects) this can be achieved fairly easy. I have prepared a sample here .


      Here are a few screenshots of what it could look like:










      Having an XML interface is cool, but it's a loot better when there are client SDK's and client applications available to consume them. Luckily, there are!


      PowerPivot for Excel 2010, which has been demonstrated on vCampus Live! can consume OData.


      A lot of SDK's have been made available. You can have a look at the .NET SDK's. They are really easy to use (in the LINQ way).


      So vCampus: do you think this could be a good way to produce and consume PI and AF (meta) data?







        • Re: OData webservices for PI?

          This rocks, Michael! Thanks for the time and energy put into this!! I was hoping to code a simple OData service tomorrow, on my flight to San Francisco for the UC (airplaine coding is by far the most efficient   except when you need to Google Bing something!)... but you saved me a lot of time!


          The OData standard definitely seems to me like it could be a big player in the REST world, and would greatly facilitate sharing/consumption of PI and AF data for our customers - I'm definitely looking forward to getting everybody's feelings on this.


          Michael said there already were a few clients and SDK's available to consume OData-enabled services... I'd like to point out another big one (well, it should be a big one soon!): Microsoft's Windows Phone 7. I invite you to look at the one of the videos I listed in my blog post about OData: the "There's a feed for that" session from MIX (starting at 21m39s). As you can see in the video, one can use a standard Windows Phone 7 "List Application" to consume and present OData-serviced data (one needs to get the Windows Phone 7 Developer Tools and Emulator to do so at this time - see here).


          Also, Rhys asked the following as a comment on my blog post, and I'd like to re-answer this question here...


          Rhys @ RJK Solutions

          Wouldn't there be some overlap with the functionality that PI Web Services could provide?
          My answer to that was "Yes and no"... I would rather say it's "complementary". Essentially, that would be reaching out to the REST part of the SOA world (whereas our current PI Web Services offering focuses on the SOAP-based approach). As Michael discussed at length with our lead developer for PI Web Services, REST is an important concept and it will be important for OSIsoft to embrace it. Would OData be part of the answer?


          Let's see what the rest of the world thinks about OData and whether it takes off...

            • Re: OData webservices for PI?



              I guess you had your flight now. How was it ?


              More interesting though: how is there anything you can share on your W7 Phone OData client for PI? Are you using Silverlight for this?

                • Re: OData webservices for PI?

                  Has OSIsoft been busy doing any research in the background in to OData?  Anything to share?

                    • Re: OData webservices for PI?

                      Rhys @ Wipro

                      Has OSIsoft been busy doing any research in the background in to OData?
                      Rhys @ Wipro

                      Anything to share?

                      Not quite yet, except that we are committed to delivering a RESTful - highly likely OData - interface to the PI System.

                      There are a few more things to be delivered in our SOAP interface in PI Web Services and complete the picture, after which we plan to focus much more on the REST side of things. Of course that doesn't preclude us from researching and prototyping in the meantime, but at this point I don't have anything more concrete to share in terms of timing.


                      Give one, take one...


                      May I ask why you're asking? What are the goals you would like to achieve with an eventual OData feed? Do you have any specific use cases and requirements in mind?

                        • Re: OData webservices for PI?

                          I recently attended a presentation about Web API in ASP.NET MVC4. This is some really awesome technology, and it allows you to build RESTfull services (with OData enabled) quite easily. The content negotiation is pretty awesome.


                          This could be a nice way to go.

                            • Re: OData webservices for PI?
                              Lonnie Bowling

                              I have started to evaluate the ASP.Net Web API and it is indeed a great option for building out a Rest API.  This is great for those that are working on getting PI out to the rest of the world!

                                • Re: OData webservices for PI?

                                  Where is OSIsoft's OData build/prorotype up to? Gone quiet on this topic recently...and no mention on the System roadmap.

                                    • Re: OData webservices for PI?

                                      You really should come to vCampus Live! 2013

                                        • Re: OData webservices for PI?

                                          I'll be there for the product launch.

                                            • Re: OData webservices for PI?

                                              Has the OData effort stifled the PI Web Services development? There is still a fair amount of functionality missing from PI Web Services; will OData capture the existing functionality of PI Web Services + more, or just what PI Web Services currently offers? There is no entry for PI Web Services for remainder of this year or for 2014.

                                                • Re: OData webservices for PI?

                                                  Hi Rhys.  Yes ... we have lowered the priority of the PI Web Services (SOAP) project in favor of applying attention to our RESTful interface to the PI System.   OData will indeed play a key role in that RESTful interface.  As far as "replicating what PI WEb Services does" I guess I'll say that the requirements are being driven more from talking to folks such as yourself and developing corresponding use cases vs. pointing at something that's already there and trying to replicate.   I'm very interested in getting a vCampus discussion going in this area.   What would you like to see out of our v1.0 OData service?   Do you think OData will satisfy most, if not all, needs of a RESTful surface on top of PI?   Do you have any concerns about situating your web/mobile efforts on top of an OData interface?


                                                  My job is to make sure you developers are happy with the RESTful interface and I'd love to hear from all of you on the questions above.  You can either post back on this thread or email me separately at dnoonen@osisoft.com


                                                  Dan Noonen, Product Manager at OSIsoft.


                                                  p.s.  Thanks to Mathieu Hamel for forwarding this message to my attention!!