Integration with Other Applications > Info*Engine Adapters > SAP Adapter Guide > Info*Engine Architecture > Managing the Execution of Info*Engine Tasks > Implementing Events That Execute Tasks
  
Implementing Events That Execute Tasks
The following diagram shows the components that can be used to implement executing tasks through Info*Engine events:
You can think of events as internet newsgroups, and subscribing to an event is like signing up for a newsgroup, where the name of the event is the name of the newsgroup. When a message is posted to a newsgroup, those who signed up receive the message. In a similar manner, when an event occurs those subscribed to the topic associated with the event receive a message indicating that the event has occurred.
To implement executing tasks through Info*Engine events, you must install a Message-Oriented Middleware (MOM) software product such as IBM MQSeries, and you must create the required topics and a topic connection factory. You must also use the MOM utility to create managed object entries in your Naming Service LDAP directory so Info*Engine can locate the topics.
After topics and a topic connection factory have been created and registered, you can use an Info*Engine Web Event Service (WES) webject to subscribe Info*Engine servers to events. On a webject parameter, you name the task to execute when the event occurs. In the subscription process, Info*Engine builds a connection with the MOM. The MOM manages the topics and returns a message to all subscribed Info*Engine servers when the event occurs. The previous diagram shows three Info*Engine servers subscribed to a topic. Each server executes a task when the event occurs.
Info*Engine also provides a WES webject that you can use to make an event occur. The webject creates a message that adheres to the Java Message Service (JMS) specification and sends the message to a specific JMS topic, indicating that the event has occurred. You can also use any other messaging tool in your environment that can publish to the JMS topic to make the event occur. The previous diagram shows events coming from three difference sources: a non-Java application, a Java application, and a task executed from an Info*Engine server.