Friday, September 24, 2021

#879 - OIC Pub/Sub with OCI Streaming

Simple use case here - publish and subscribes to events from Shopify. 





Normally I would be doing this with orders, however, my trial Shopify account doesn't allow me to create orders, so I'm leveraging Products here. But, I know you are all experts at extrapolating.

Now someone may think of using Pub/Sub pattern available when creating a new integration in OIC. However, as you can see - it has been deprecated.




 




The publish to OIC integration style has been deprecated. Oracle recommends that you use app driven orchestration and use an invoke to publish a message into the OIC streaming service.

So let's take that advice -

Here is my Stream - ProductStream-NiallC









Now to the Connection creation in OIC - Please see my Shopify blog posts for details on how to create that connection. So now to the OCI Streaming connection creation - 



 Bootstrap Servers entry can be found here - 
As you can see, it also contains the SASL username. You need to generate an Auth Token for the SASL Password - 














Check out the OIC OCI Streaming adapter docs for the steps to create the Trust Store. Test and Save the Connection - 





Now to the "Publish" integration - very simple really - 














I get the JSON for the PublishProduct request payload from the Shopify api docs here














Configuration of the PublishProduct action is as follows - 












I activate and test by creating a new product in Shopify and then check out the stream - 



So that's the Publish part addressed. Now to the subscribe - for this I use a Scheduled Integration - 












The above is the final result - let's look at the integration in detail - 






















Subscribe2NewProduct is configured as follows - 














Now to the message structure - 


 








This I copy from the Recent Messages view from Streaming












The only logic I add is a LOG action - to output the product name - 







Now to testing the Subscribe - 

I add 2 new products in Shopify -









I run the scheduled integration -



No comments: