Core Module Patterns - ECS Variation w/ Pub/Sub
Question

I'm just watched this video from the Architecture Patterns in OutSystems course: https://www.outsystems.com/learn/lesson/1226/core-module-patterns?LearningPathId=8

One of the topics discussed is the ESC Variation with Publish and Subscribe capability. In here they connect an OutSystems component to a Service Bus and initiate a subscribe action. In this discussion it seems like OutSystems was connected in an Event Driven method (ie, got a push from the SB and started doing an action) while in reality this isn't possible for as far as I know. Currently you need to create a Timer and Poll the SB for outstanding events or message or implement a 3rth party subscriber (like Azure Logic Apps) that will call an API when a message is posted on the SB. 

See screenshot for the discussed architecture overview;


So my question is. Is this indeed a feasible solution in OutSystems and if so, how can I implement this as I would in a regular C# application (ie, Event Driven). Any documentation links and/or demo applications would be greatly appreciated. This is a use-case that we really want to implement but currently can't and we need to add 3rth party tooling to the solution to make this happen.

mvp_badge
MVP

Hi,

As the right picture shows the event is triggered from the ESB to the Customer API.

What I did in this pattern use an AWS SQS (simple message queue) if your want loosely integration. But you could also do this by creating an REST API In CustomerAPI.

Regards,

Daniel


Hi Daniel, 

I read the documentation of SQS but as far as I could find SQS also doesn't call a REST out of itself (after some configuration of course). So what exactly did you do? Did you create a polling method that reads the queue or did you implement some other method and if so, what and how?

Note that I currently can choose between 2 working methods. Polling and pushing via a 3rth party. What I would like to achieve is pushing natively in OutSystems and I thought it was impossible to do because you need to create the implementation in Integration Studio and this tool doesn't have any exposing events that you can use in your application. 

mvp_badge
MVP

Yes, we read the SQSin a timer continuously with long polling on.

As far as my knowledge goes cannot do it otherwise in OutSystems.

Is there a small code snippet for this pattern, to download?

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.