6 Replies Latest reply on Feb 22, 2018 6:29 PM by PierrePlagnes

    Creating a custom delivery channel to send event to RabbitMq ?

    PierrePlagnes

      Hello everyone

       

      I would like to create additionnal delivery channel in order to be able to send information to RabbitMq for exemple.

      Is there a way to create custon delovery channel ?

      I have done some few search but unfortunatly I have just found a lot of dead link like this one :

      PI AF notifications to send data to Oracle eam

       

      I'm using AF2017.

        • Re: Creating a custom delivery channel to send event to RabbitMq ?
          John Messinger

          Hi Pierre,

           

          As far as I know, it's still not possible to create custom delivery channels for AF Notifications (introduced in AF 2016 R2). See the post AF 2017 Extensibility?? I haven't seen any further indication as yet of OSIsoft's intention towards extensibility of AF Notifications. Having said that, I note that the current AFSDK documentation covers the AFDeliveryChannel class quite well, but whether there is enough there to implement your own I don't know. I may look at this and compare to one of my earlier PI Notifications 2012 based delivery channels.

           

          Stephen Kwan would be the best person to comment on the current and planned state of extensibility in this area.

           

          John

          2 of 2 people found this helpful
            • Re: Creating a custom delivery channel to send event to RabbitMq ?
              skwan

              Hi all,

              I see that Patrice has already provided the answer .  Indeed from our conversation with customers, a standard web service delivery channel support was sufficient for their needs in terms of pushing data from notifications to a 3rd party and a custom delivery channel was not necessarily better.  Patrice already spoke to the advantages of this approach.  If this does not solve your use case, please let me know.

              --

              Steve Kwan

              1 of 1 people found this helpful
            • Re: Creating a custom delivery channel to send event to RabbitMq ?
              Rhys Kirk

              You could use a Custom AF Data Reference, receive the output from an AF Analysis (which is using the same logic as your PI Notification) and then push to the MQ that way.

              1 of 1 people found this helpful
              • Re: Creating a custom delivery channel to send event to RabbitMq ?
                pthivierge

                Bonjour Pierre,

                 

                As John said very well, the Custom Delivery Channel is a concept that applied in our previous versions of Notification. 

                If I recall well a discussion with one of our developer, we chose to remove custom delivery channels because most of the use cases are covered by the web services delivery endpoints and this is why it was decided not to re-implement this feature in the AF 2016 R2.  Furthermore, this model does not facilitate the re-use as you would end up with a plugin that needs to be deployed on every PI System you install in your facilities, and this plugin only talks to one destination...

                 

                What you can do with Notification today is to push your event data to a REST or a SOAP web service. This means that if RabbitMQ can listen for data over a REST or a SOAP web service you can push the data directly there. If this is not possible, you could write a small web service that will listen for this data and write it into RabbitMQ.  The advantage of this approach is that this web service is completely independent from the PI System and can be used also by any other app that needs to send data to this destination ( RabbitMQ).  And if you need to create more destinations you can just create more endpoints or add parameters to this web service (update it) and it just works, no need to update any plugins.

                 

                To conclude I would like to add that in our 2017 R2 release there was a lot of enhancements in our web service delivery channels especially concerning authentication against external web services, see:

                PI AF 2017 R2 Release Note (click on Notifications)

                PI Server - Configuration of notifications delivery enpoints

                 

                Hope this helps,

                5 of 5 people found this helpful
                • Re: Creating a custom delivery channel to send event to RabbitMq ?
                  PierrePlagnes

                  Okey thanks all for your response !

                   

                  I think we will use the rest endpoint to implement our solution.