Triggering CAF Events from a Business Process

Hello,

we would like to use CAF Notifications and CAF Events to send Emails to users. A business process should trigger these events e.g. using an Integration Server service.

This would allow us to design our emails using the CAF tooling to send nicely layouted Emails.

How can we raise a CAFEvent from an IS Service or even directly from the process?

Any ideas are highly appreciated.

Regards,
Mathias

That’s a fun use case. Before i go into details on the approach, could you clarify what version you’re using?

Thanks,
–mark

Thanks for your response. It seems to be quiet a reasonable thought to use the CAF notifications for that. We can generate Task notifications containing task links and using CAF notifications would allow us to generate emails that look similar to our portlets.

We are using Task Engine and MWS Version 8.0.2.

One way we already found to use CAF notifications from a business process are dummy tasks that just execute an event emitting a notification and close themselves afterwards. But of course this seems to be a lot overhead for just sending out an email.

Mathias

That’s a very clever solution. I agree that it does seem a bit heavyweight though.

Some other options would be:

  • Expose a web service in your portlet application that can be invoked from IS.
  • Create a JMS client in your portlet application that listen for JMS events published from IS.

In the 8.2 FCS version (GA is due out shortly), we’re releasing an easier to use Event Bus that makes this use-case much cleaner. However, with 8.0.2 i think any of the options you choose require a bit of legwork: Either creating tasks, exposing custom web services, or manually subscribing to JMS queues.

Regards,
–mark

Hi Mathias,

If your intention is to send “nicely layouted emails” and if you have your layouts defined as HTML templates, you would be able to use these templates to build your email body in the IS service itself and send them using pub.client:smtp service.

The Advantage is that you need not have to do a “system hop” and make an additional webservice call to achieve this.

Hope this helps,
Thanks,
Best regards,
Raj

@mimel - thanks for the reply - good to know that we did not overlook something. And also nice to know that there are new related features in 8.2.

@Raj - thanks for the suggestion. That is exactly what we are doing now. We use HTML template which are populated using pub.report:runTemplate. That works fine and should be a lot faster than the CAF solution. But now we are back to good old plain HTML and we have to use the proprietary expression language of webMethods which I would like to avoid.

Regards,
Mathias