Communication between external entities, such as other software systems and hardware devices (which are modeled in AwareIM as intelligent business objects) and AwareIM is performed through channels. A channel represents a media through which messages are sent between external systems and hardware devices (collectively called here as “external parties”) and AwareIM. A channel is responsible for converting messages into the format that can be understood by the AwareIM software on one end and the external party on the other end. There can be one-way or two-way channels. In a one-way channel messages are only sent in one direction – from AwareIM to the external party or from the external party to AwareIM. In a two-way channel messages are sent in both directions.
From AwareIM point of view there are only two types of messages – service requests and notifications. Service request is a request for execution of a particular service. The external party being an intelligent business object may expose a number of services that can be requested by AwareIM. Similarly the current business space version in AwareIM may expose a number of services that can be requested by the external party. The service requestor may expect a particular reply to the service as declared in the definition of the service.
A notification, on the other hand, represents just a piece of information that is sent to the external party or to AwareIM (the business space version in AwareIM may contain rules which define how different notifications are handled). It is up to a receiver of the notification to decide how it will react to this information or whether it will react at all. Generally no reply to the notification is expected from the receiver.
A channel therefore must translate the service request or notification message that is sent by AwareIM to the external party into whatever format the external party understands. Similarly a channel has to translate a message sent by the external party into the service request or notification message that can be understood by AwareIM.
Note that if an external party is sending service requests to AwareIM it must first log into AwareIM as a particular user (an intelligent business object representing the external party must be a member of the SystemUsers business object group), otherwise the service request will be sent on behalf of a “guest” user. Sending notifications to AwareIM, on the other hand, does not require logging in.
There are a number of predefined channels that AwareIM comes with, such as the E-mail channel, the SOAP channel and others (see the “Defining Intelligent Business Objects” section in the “AwareIM User Guide”). If your application connects to external software systems or hardware using protocols that are not supported by AwareIM out-of-the-box, you are likely to need to write your own custom channel that will connect your AwareIM system with the required software system or a hardware device.
The following section describes what is involved in adding a new custom channel to AwareIM.
To add a new custom channel to AwareIM follow the steps below:
ChannelTypeMail=com.bas.basserver.channels.EmailChannelType
If everything has been done correctly the name of the new channel must appear in the list of channels available for intelligent business objects in the Intelligence tab of the Business Object Property Editor (see Defining Intelligent Business Objects)