- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Two things recently happened that prompted me to post this blog:
- I recently read Gregor Hohpe's article "Programming Without a Call Stack - Event-driven Architectures" found here: http://www.enterpriseintegrationpatterns.com/docs/EDA.pdf
- I was recently challenged to show how ServiceNow could support EDA within the context of scoped application development.
As with all things ServiceNow - the Platform is powerful and flexible enough to allow me to implement an EDA design pattern. Within the scoped application development world of ServiceNow remember that application scoping ensures that one application does not impact another application. They are mutually exclusive. This kind of isolation between scoped applications makes it hard to take advantage of data and resources in the single data model - so maybe this is where an EDA comes in handy.
Remember the key characteristics (from the Gregor article) for an EDA are:
- Broadcast communications
- Timeliness
- Asynchrony
- Fine Grained
- Ontology
- Complex Event Processing
I think we have those requirements met by using the ServiceNow Event Queue.
Scoped applications have access to the Event Registry: Event Registry - ServiceNow Wiki
to fire events using gs.eventQueue and gs.eventQueueScheduled API calls. They will only be able to select the tables (data model) that is in their scope. For all other applications, outside of the application firing, will need to create a Script Action Script Actions - ServiceNow Wiki to handle custom events fired by application outside of their scope.
This is one way to implement inter-application communication using the EDA pattern. Hope this helps. Cheers.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.