!--a11y-->
JMS Scenarios 
The scenarios described here are based on the following idea:
The task of this application is to provide enough material stock for production operation. For this purpose, the application includes the following subfunctions:
· Requesting material for production
· Triggering material staging
· Reporting back to purchasing departments
Placing an order by the purchasing department with a supplier is not taken into consideration here, since cross-company communication is not one of the typical implementation areas of messaging.
The application is based on the following component structure:

The functions described here are realized using Java Messaging Services (JMS). Various scenarios for using JMS are demonstrated. These examples focus on the use of Java messaging functions. Application aspects such as UI, far-reaching application logic, and database usage are ignored in this context.
The following scenarios give you an idea of some important implementation areas of the JMS:
· Point-to-point scenarios:
¡ Simple Point-to-Point Scenario
¡ Point-to-Point Scenario with Client Confirmation
· Publish/subscribe scenario
¡ Simple Publish/Subscribe Scenario
¡ Publish/Subscribe Scenario with Permanent Backup
· Transactional message processing
¡ Simple Transaction Message Processing
¡ Message Processing: Confirmation in a Temporary Queue
· Scenario that show an example usage of message filters

The scenario descriptions contain key parts of the program code only. The complete program sources are contained in the Source Code of the JMS Scenarios.
To start and use these example, you have to:
· Have basic knowledge of Java programming
· Know the basic concepts of JMS. For more information, see JMS Service – Development.
To compile the example’s sources, you require:
· At least version 1.3.1 of the Java SDK
· A library with the classes of the JMS API
· A library with the classes of the SAP J2EE Engine API (SAPJ2EEEngineClient.jar)
· A SAP J2EE Engine running on the computer on which you want to execute them.
The start commands for each scenario program assume that they are executed in the directory where the compiled example packages are located. This directory must contain the commons directory and one scenario<X> directory for each scenario. If you use a different start directory, you have to adjust the class path accordingly.
