Document:
DE_RoutingWithReasoning_Example_Components.zip

Draft (A preliminary unapproved sketch, outline, or version.)

Details

Submitted By Jeff Waters on 2011-06-21 5:14 pm UTC

Publication Type

None at this time.

Group / Folder

EM Infrastructure Framework SC / Requirements

Modified by

Not modified.

Copy

This document is not a copy.

Technical Contact

None at this time.

Download Count

40

Download Agreement

None at this time.

Description

The attached zip file contains the basic files needed to understand a simple example of utilizing Hermit and Camel and the DE to perform "smart" routing of messages where an ontology is used to infer the recipients
based on recipientRole specified in the DE. The files are:
(1) MyMessageRouter.java is a toy program which shows how to route a DE Message based on a recipientRole where an ontology is used to infer the recipients that satisfy that role.
(2) DE_WithHazMatRole.xml is a sample DE message where the first value of the recipientRole is utilized for routing, namely "hazMatResponderForIncidentABC".
(3) DE2_Example_SR1_Manchester.owl and DE2_Example_SR1.owl are the
same simple ontology (the former in a format that is a little easier for a human to read). The ontology identifies two individuals, Joe and Marie.
Joe has a role (hazMatSupportForIncident) for an OASISIncident ABC, whereas Marie has a role (hazMatSupportForEvent) for a TSOEvent DEF. Both the TSOEvent and the OASISIncident are assumed for this example to be the same event, e.g. a hazmat spill. The goal is to show that if a message is routed to all those who have the OASIS role, that the messages will also get to those who have the TSO role because the ontology says they
are equivalent roles. (NOTE: These particular OASIS and TSO roles
are fictitious.)
(4) To actually run this example, you need to install Maven and then
put (install) HermiT.jar in your local Maven repository (since it doesn't
seem to be directly accessible from a URL) and setup your Camel context
to reference the bean for routing.