Message Broker #56
Replies: 1 comment
-
|
NORMA is not going to help you with implementing this construct, but there are definitely ways you can model it. The conceptually cleanest method is probably with dynamic rules, which you can define with the NORMA Pro tools. You would model an object that represents your message, then create a dynamic rule to create an instance of that message. (This is not in the NORMA meta model, just a discussion). Another concept that was discussed a decade ago in an ISO working group centered on temporary objects and fact types under the classification of 'event types'. These were meant to represent an external event created by whatever physical system you were operating in. From a model perspective, the special semantics of these event types is that they were automatically deleted at the end of a transaction without an explicit dynamic rule. This is actually really important because dynamic rules as implemented in NORMA (and other logic systems) are declarative, meaning that you need to reach an equilibrium state that satisfies all of the rules. You can't have a dynamic rule that adds and deletes an instance in the same transaction because you're saying that a single instance must be in both the 'added' and 'deleted' states simultaneously. So, without event support, you can still write conceptual dynamic rules to create the objects for one transaction, then have a separate transaction pull read and/or delete those same objects. You just can't delete an object as a dynamic response to it being added, which you would be able to do with the (non-existent) event types. Let me know if that provides some insight into the problem. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Is it possible to represent the interaction or relationship between microservices using NORMA? Specifically, I’m working with two microservices. One is an email storage service that, upon storing an email, sends a message to a message broker (like RabbitMQ or Kafka). This message then triggers another microservice that sends a "Thank you for joining" email notification. How would a message-based relationship between these services be modeled in NORMA/ORM2?
Any insights or examples on how to express messaging or event-driven interactions in NORMA would be helpful.
Beta Was this translation helpful? Give feedback.
All reactions