Message Filters

A Message Filter is an object used to apply user-defined rules and conditions on inbound messages (AS2 generally) coming from external channels such as Cleo Harmony or other third-party software. While AS2 is not the only message type, it is the most common.

Based on how the conditions are met, specific Events are set to launch.

The Event then executes a Business Process. The payload parameter of the Event is assigned the payload of the incoming message.

Message content is variable; a message can contain data, a request for services (a command), an event notification, and possibly some combination of them all.

As one of several source interface objects used to bring information into Clarify, its ultimate purpose is to launch an Event and begin a process based on the newly-received information.

One Message Filter can launch one or many Events.

Business Use

Probably the most common use of the Message Filter is as a “catch-all” for all incoming AS2 messages. You may have one Message Filter that’s instructed to launch the ReceiveEDI Event for every message. On the other hand, trading partner volume may require a more customized approach.

Let’s say you have several smaller trading partners whose incoming message traffic is small enough to manage with the “catch-all” message filter. But your biggest trading partner sends hundreds of messages daily, and you need to treat their processing in Clarify differently. In this case, you create a specific condition in your Message Filter that directs any messages coming from that specific trading partner to another Event dedicated to that trading partner’s messages. This is a common way to practice dedicated pipelining control.

At the system level, the Message Filter applies the above examples using rules and conditions this way: When the message header AS2–From "is" "SmallTradPartner", then launch the “normal” Event. Next, there could be an additional rule that speaks to the Large Trading Partner. When the message header AS2 –From "is" LargeTradPartner, then launch the “Large” Event.

These simple examples show how you may use this Message Filter object to filter and direct different incoming messages to specific Events in Clarify. To summarise, common use case might be to facilitate:
  • A “catch-all” mechanism that simply launches an Event for all incoming AS2 messages.
  • Filtering high-volume or high-value customers so that their incoming messages are processed through different pipelines in your system environment.

How the Object Works

Message Filters apply user-defined rules and conditions against incoming AS2 message header properties and values; when conditions are met (or evaluated to be true), Clarify launches an Event. When you create your Message Filter, the following information must be defined:

Channels

Clarify uses Channels to indicate the source and type of incoming message that are being subscribed to (basically monitored) by the Message Filter. By default, Clarify provides these channels:
  • PayloadsFromHarmony
  • PayloadsFromESX
  • PayloadsToESX
  • AcksfromESX
  • AckstoESX
  • PartUpdFromESX

Message Header properties

Properties in theMessage-Header fields must match the actual message header properties. For example, the properties below apply specifically to the PayloadsFromESX channel, and as such must be entered in the Message Header exactly as they appear.
  • AS2-From
  • AS2-To
  • Content-Type
  • DisplayID
  • Environment
Note: Always confirm your channel’s header properties.

Conditions

The following conditions can be applied to each Message-Header property:
  • Is, Is Not
  • Contains
  • Starts with/Ends with
  • Matches
  • Date is/Date Before/Date After

Events

Events must exist in your Project prior to defining the Message Filter object. For more information, please see Events.

Process Summary

To use this object, you must:
  • Create the object.
  • Select the incoming channel
  • Build the rules and conditions.
  • Add the associated Events.