This chapter contains the following topics:
Section 14.4, "Selecting the Guaranteed Events Delivery System"
Section 14.6, "Establishing Subscriber and Subscription Information"
Note:
This chapter is applicable only if you use guaranteed events delivery. Guaranteed event delivery is available when you use JD Edwards EnterpriseOne Tools 8.94 with JD Edwards EnterpriseOne Applications 8.11 or JD Edwards EnterpriseOne Tools 8.95 and later Tools releases with JD Edwards EnterpriseOne Applications 8.10, 8.11, and later Applications releases.Refer to the Classic Events chapters if you use JD Edwards EnterpriseOne Tools 8.93 or earlier releases, or if you use JD Edwards EnterpriseOne Tools 8.94 with JD Edwards EnterpriseOne Applications 8.10.
Oracle JD Edwards EnterpriseOne event functionality provides an infrastructure that can capture JD Edwards EnterpriseOne transactions in various ways and provide real-time notification to third-party software, end users, and other Oracle systems, such as Web Services Gateway (WSG) and Customer Relationship Management (CRM).
JD Edwards EnterpriseOne notifications are called events. The JD Edwards EnterpriseOne event system implements a publish and subscribe model. Events are delivered to subscribers in XML documents that contain detailed information about the event. For example, when a sales order is entered into the system, the sales order information can be automatically sent to a CRM or supply chain management (SCM) application for further processing. If your system is IBM, you can use the WebSphere MQ messaging system to receive events. If your system is Microsoft, you can use the MSMQ messaging system to receive events. WebSphere MQ and MSMQ provide a point-to-point interface with JD Edwards EnterpriseOne.
JD Edwards EnterpriseOne supports these three kinds of events:
Event Category | Purpose | Generation Mechanism | Response Capability |
---|---|---|---|
Real-Time Event | Provides requested notification to third-party software, end-users, and other Oracle systems when certain transactions occur. | System calls | No |
XAPI Event | Provides requested notification to third-party software, end-users, and other Oracle systems when certain transactions occur and to provide a response. | System calls | Yes |
Z Event | Provides requested notification to third-party software, end-users, and other Oracle systems when certain transactions occur. | Interface tables and system calls | No |
This section provides an overview of the architecture for processing events and discusses:
Aggregating events
Logging events
Configuring the transaction server
This diagram provides an overview of the JD Edwards EnterpriseOne events architecture:
Figure 14-1 Guaranteed Events architecture overview
In summary, this is the general sequence that happens for an event to be published:
An HTML client user executes a business function request that is sent to the JD Edwards EnterpriseOne Web server.
The request is forwarded to a CallObject kernel on the JD Edwards EnterpriseOne server.
The CallObject kernel executes the business function, which calls the Event API to send the event data to the F90710 table.
If the event is a Z event, the data sent to the F90710 table is in its final XML format.
A trigger message is sent to the JD Edwards EnterpriseOne Transaction server that indicates that a new event is in the F90710 table.
The transaction server retrieves the event data from the F90710 table and, for real-time and XAPI events, converts the event data to an XML document in the appropriate format.
The transaction server routes the event to the subscriber queues and subscriber topics for each subscriber that has established an active subscription for that event.
When a subscriber connects to the transaction server, the subscriber receives all the events that exist in its subscription queue and subscription topic at that time.
Note:
XAPI and Z events require additional information for event processing, which is discussed in the respective XAPI and Z event chapters.Events are classified as either a single event or a container event. A single event can contain a single data structure. A container event can contain one or more single events or one or more data structures. You cannot define a container event using both single events and data structures for that specific container event. For example, RTSOHDR and RTSODTL are usually defined as single real-time events that represent the data structures in the header and detail areas of a sales order. RTSOOUT is usually defined as a container real-time event that contains both RTSOHDR and RTSODTL.
Real-time and XAPI events do not exist in their XML form until they are processed by the transaction server. Therefore, it is not possible to log the XML event on the JD Edwards EnterpriseOne server. However, if debugging is selected, the debug log file for the CallObject kernel that generates the event displays jdeIEO_EventFinalize called for XX
, where XX is an integer that represents the number of times that jdeIEO_EventFinalize has been called in that kernel.
If you select debug logging for the transaction server, the transaction server debug log file displays this message Sending event:
followed by the event data, including the full XML content of the event when the transaction server processes an event. There is one of these messages for every active subscriber that has an active subscription to the event.
Caution:
When logging is selected for the Transaction server, be sure to remove global read access rights for the logging directory to ensure data privacy.If you use the dynamic Java connector graphical subscription application, you have the capability of sending the XML content of all received events to a specified directory.
See "Understanding Java Connector Events" in the JD Edwards EnterpriseOne Tools Connectors Guide.
The transaction server uses Java Message Service (JMS) queues and topics to guarantee event delivery. When an event occurs in JD Edwards EnterpriseOne, the transaction server retrieves the event information and routes the information to subscriber JMS queues and topics for each subscriber that has established an active subscription for that event.
When you use JD Edwards EnterpriseOne Tools 8.94 with JD Edwards EnterpriseOne Applications 8.11, you must configure these settings in the jde.ini file on your enterprise server so that the transaction server can find the event system:
RunningHost
RunningPort
Note:
When you install the transaction server components, host and port information is written to a readme.txt file that is typically located atc:\Program Files\JD Edwards\E1TranSvr\EventProcessor
on the transaction server.See JD Edwards EnterpriseOne Tools Server Manager Guide on My Oracle Support.
See JD Edwards EnterpriseOne Tools Transaction Server Reference Guide on My Oracle Support.
When you use JD Edwards EnterpriseOne Tools 8.95 or a later Tools release with JD Edwards EnterpriseOne Applications 8.10, 8.11, or a later JD Edwards EnterpriseOne Applications release, you must configure the Object Configuration Manager (OCM) so that the transaction server can find the event system. You must access OCM from the Interoperability Event Definition program (P90701A).
Note:
The ptf.log file contains Transaction server version information. The ptf.log file is located in EventProcessor_WAR.war and JDENETServer_WAR.war.You can process real-time events using a JMS queue that is located in a WebLogic server.
Important:
Setting the WebLogic client jar (wlfullclient.jar) is required when the transaction server is hosted in an Oracle Application Server or a WebSphere Application Server and the JMS queue is located in the WebLogic server instance.If your transaction server is hosted in an Oracle application Server, copy the wlfullclient.jar to the following location:
OAS_INSTALL\profilesj2ee\TS_CONTAINER\applications\OSBTransferAgent_EAR.ear\lib
This section provides an overview of setting up OCM for guaranteed events and discusses how to set up OCM.
When you use JD Edwards EnterpriseOne Tools 8.95 and later releases with JD Edwards EnterpriseOne Applications 8.10 and later releases, you must define the transaction server and transaction server port settings in OCM so that the transaction server can find the event system. You access OCM from the Interoperability Event Definition program (P90701A). Once you access OCM from the Interoperability Event Definition program, you select the appropriate machine name and data source combination. This information should already be set up. If it is not, check with your System Administrator or refer to the Configurable Network Computing Implementation Guide for information about setting up OCM.
Form Name | FormID | Navigation | Usage |
---|---|---|---|
Event Definition Workbench | W90701AA | Enter P90701A in the Fast Path Command Line. | Configure the OCM so the transaction server can find the event system. |
Machine Search and Select | W986110D | From the Form menu on Event Definition Workbench, select Configure Servers. | Select the appropriate machine name and data source combination. |
Work with Service Configurations | W986110J | On Machine Search and Select, select the machine name and data source combination and then click Select. | Find and select an existing configuration for the transaction server and server port or to access the Work with Service Configurations form to add a new configuration record for your transaction server. |
Service Configuration Revisions | W986110K | On Work with Service Configurations, click Add. | Configure the OCM with the J2EE Transaction server and port. |
Access the Service Configuration Revisions form.
Figure 14-2 Service Configuration Revisions
A name that uniquely identifies the environment.
A name that identifies the type of server. For example, RTE identifies the Transaction server.
A profile that classifies users into groups for system security purposes. Use group profiles to give the members of a group access to specific programs.
The name of the Transaction server.
The port number of the Transaction server. This is the JDENET listening port.
This section provides an overview of selecting the Guaranteed Events Delivery system and discusses how to select guaranteed events delivery.
JD Edwards EnterpriseOne Tools software is delivered with this functionality deselected. You perform this task only if you use JD Edwards EnterpriseOne Tools 8.95 with JD Edwards EnterpriseOne Tools 8.10, and you want guaranteed event delivery. Typically this task is performed by a system administrator. Use the Activate/Deactivate Guaranteed Event Delivery program (P90701A) to select or deselect the Guaranteed Events Delivery system.
Caution:
Perform this task only if you use JD Edwards EnterpriseOne Tools 8.95 with JD Edwards EnterpriseOne Applications 8.10, and you want to use the Guaranteed Event Delivery system.When you use JD Edwards EnterpriseOne Tools 8.95 and later tools releases with JD Edwards EnterpriseOne Applications 8.11 and later applications releases, the Guaranteed Event Delivery system is automatically available, and you do not perform this task. You are ready to define your events.
If you use JD Edwards EnterpriseOne Tools 8.95 with JD Edwards EnterpriseOne Tools 8.10 and do not perform this task, your events will be generated using the Classic Event Delivery System.
Form Name | FormID | Navigation | Usage |
---|---|---|---|
Event Definition Workbench | W90701AA | Type P90701A on the Fast Path. | Locate and review existing single and container events. |
Activate Guaranteed Delivery | W90701AK | On Event Definition Workbench, select Guaranteed Events from the Form menu. | To select or deselect Guaranteed Events Delivery. |
Access the Activate Guaranteed Delivery form.
An option that enables you to select the Guaranteed Event Delivery system when you use JD Edwards EnterpriseOne Tools 8.95 with JD Edwards EnterpriseOne Applications 8.10.
This section provides an overview of defining events in the F90701 table and discusses how to add single and container events.
You use the Interoperability Event Definition program (P90701A) to define each real-time and XAPI event in JD Edwards EnterpriseOne. You use a separate process to define Z events, which is documented in the Guaranteed Z Events chapter.
Every real-time or XAPI event that you use in your system must have an associated record in the F90705 table. The F90705 table enables each event to be activated or deactivated for each environment in your system. When you create a new event, select the Create Activation Record option. When you add a new environment to your system, you must run the Populate Event Activation Status Table UBE (R90705) to create event activation records for existing events. The Populate Event Activation Status Table UBE is described in the JD Edwards EnterpriseOne Server Installation Guide.
After you define a new event, you must refresh the cache of active events on the transaction server. You can refresh the active events cache while the transaction server is running. If the transaction server is not running when this operation is performed, it automatically refreshes its cache when it is brought back to operational status.
See Also:
Form Name | FormID | Navigation | Usage |
---|---|---|---|
Event Definition Workbench | W90701AA | Type P90701A on the Fast Path. | Locate and review existing single and container events. |
Event Entry | W90701AD | On Event Definition Workbench, click Add. | Add or change a single or container event. |
Event Definition Detail | W90701AC | Automatically appears when you click OK on the Event Entry form if you entered Container in the Event Category field for a real-time event or if you entered XAPI in the Event Type field. | Link single events or data structures to a container event. |
Event Activation by Environment | W90701AG | On Event Definition Workbench, select Event Activation from the Form menu. | Locate and review existing environments and event types. |
Add Event Activation by Environment | W90701AH | On Event Activation by Environment, click Add. | To activate an event on a specific environment. |
The name of the event (for example RTSOOUT, which is the usual event type for a real-time sales order event).
An option that causes newly defined events to have an associated record in the F90705 table, which enables each event to be activated or deactivated for each environment in your system. You must select this option for every event that you intend to use in your system.
The description of an event.
A value that represents the name of the event type. Use RTE for real-time events or XAPI for XAPI events.
Indicates whether an event is a single event or a container event.
An optional field that indicates to which JD Edwards EnterpriseOne system the event is associated.
The name of the data structure that passes event information.
This field disappears if Container is the value of the Event Aggregate field; however, when you click OK, the Event Definition Detail form automatically appears for you to enter data structure information.
Access the Event Definition Detail form.
An option that enables you to define single individual events for a container event.
An option that enables you to define aggregate events for the container event. For XAPI events, you must select the Data Structure Data option.
Access the Add Event Activation by Environment form
Your operating environment, such as Windows 2000, Windows NT, UNIX, IBM i, and so on.
Access the Event Definition Workbench form.
To refresh the cache of active events with the Transaction server running, select Refresh Event Cache from the Form menu.
This section provides an overview of subscriber and subscription information and discusses how to:
Set up processing options for adding JMS Queue as a subscriber.
Add a subscriber.
Add a subscription.
Associate a subscription with subscribed events.
Associate a subscription with subscribed environments.
You use the Interoperability Event Subscription program (P90702A) to establish subscribers and to add subscriptions. After you add a subscriber, you must activate it. If your subscriber is inactive, you will not receive any events even if you have active subscriptions. You activate subscribers on the Event Subscribers form by selecting the subscriber, and then selecting Change Status from the Row menu.
Each subscriber can have one or more subscriptions. Each subscription can be associated with one or more subscribed events and subscribed environments. Each subscription that you want to use must be activated. You activate subscriptions on the Event Subscriptions form by selecting the subscription, and then selecting Change Status from the Row menu.
Any time you make a change to a subscriber, including the associated subscriptions, you must refresh the subscriber cache on the JD Edwards EnterpriseOne and the Transaction servers for the changes to become effective. You can refresh your running system from the Event Subscribers form by selecting Refresh Sub Cache from the Form menu.
Oracle's Enterprise Service Bus (ESB) is a subscriber that uses the JMS Queue and JMS Topics transports. Oracle Service bus (OSB) is a subscriber that uses the JMS Queue transport. You can set up processing options for EDB (WebSphere) and OSB (WebLogic) so that when you add JMS Queue as a new subscriber, the value for the Initial Context Factory and provider URL fields are entered by the system.
Form Name | FormID | Navigation | Usage |
---|---|---|---|
Event Subscribers | W90702AA | Type P90702A in the Fast Path. | Locate and review existing subscribers. |
Add Event Subscriber | W90702AB | On Event Subscribers, click Add. | Add or change a subscriber. |
Event Subscriptions | W90702AD | Select a subscriber in the detail area of the Event Subscribers form, and then select Event Subscriptions from the Row menu. | Locate and review existing subscriptions for a subscriber. |
Add Event Subscription | W90702AE | On Event Subscriptions, click Add. | Add new subscription information. |
Subscribed Events | W90702AG | On the Event Subscriptions form, select the subscription information in the detail area, and then select Subscribed Events from the Row menu. | Associate a subscription with an event. |
Subscribed Environments | W90702AF | On the Event Subscriptions form, select the subscription information in the detail area, and then select Subscribed Env from the Row menu. | Associate a subscription with an environment. |
Access the Interactive Versions form on JD Edwards EnterpriseOne by typing IV in the Fast path. Use these processing options to define values for adding JMS Queue as a subscriber.
Use this processing option to specify the value for the Initial Context Factory field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as Oracle. The default value is com.evermind.server.rmi.RMIInitialContextFactory.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as Oracle and the Queue Location is defined as Local. The default value is ormi://localhost:23791.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as Oracle and the Queue Location is defined as Remote. The default value is ormi://remote-machine-name:23791.
Use this processing option to specify the value for the Initial Context Factory field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebSphere. The default value is com.ibm.websphere.naming.WsnInitialContextFactory.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebSphere and the Queue Location is defined as Local. The default value is corbaloc:iiop:localhost:2809.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebSphere and the Queue Location is defined as Remote. The default value is corbaloc:remote-machine-name:2809.
Use this processing option to specify the value for the Initial Context Factory field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebLogic. The default value is weblogic.jndi.WLInitialContextFactory.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebLogic and the Queue Location is defined as Local. the default value is t3://localhost:7001.
Use this processing option to specify the value for the Provider URL field that appears on the Add Event Subscriber form. The value you enter in this processing option appears in the Add Event Subscriber form when the Application Server is defined as WebLogic and the Queue Location is defined as Remote. The default value is t3://remote-machine-name:7001.
Access the Add Event Subscriber form.
The JD Edwards EnterpriseOne user ID for the user who is to receive the subscribed events.
A description of the subscriber.
Describes through which mechanism the subscriber receives events. Valid transport types are:
COMCONN: COM Connector
JAVACONN: Java Connector (including WSG)
JDENET: For XAPI requests
Additional fields appear on the Add Event Subscriber form. In the Host Name field, enter the name of the server that processes events for the subscriber. In the Port Number field, enter the port where the subscriber service is running. In the Connection Timeout field, enter the time in milliseconds after which the event connection is considered timed out.
JMSTOPIC: JMS Topic
Additional fields appear on the Add Event Subscriber form. In the Connection Factory JNDI field, enter the JMS Topic Connection Factory JNDI name. In the Topic Name field, enter the JMS Topic name for your subscriber.
Important:
The values that you enter in the Connection Factory JNDI Name field and the Topic Name field must be the same values that you configured on the WebSphere Application ServerSee JD Edwards EnterpriseOne Tools Transaction Server Reference Guide on My Oracle Support.
JMSQUEUE: JMS Queue
These additional fields appear on the Add Subscriber Event form. In the Connection Factory JNDI field, select the JMS Queue Connection Factory JNDI name from the drop-down list. In the Queue Name field, select JMSQUEUE from the drop-down list. Verify the value in the Message Format field is correct. Verify the value in the Application Server field is correct. You can search and select one among the three application servers (Oracle Application Server, WebLogic, and WebSphere Application Server). This server entry affects the value that the system enters in the Initial Context Factory field and the Provider URL field. In the Queue Location field, select the appropriate value from the drop-down list. User Local if the queue and the transaction server are on the same application server. Use Remote if the queue and the transaction server are on different applications servers. After you enter the value in the Queue Location field, the system updates the Initial Context Factory field and Provider URL field. You can change these values.
Important:
The value that you enter in the Connection Factory JNDI Name field must be the same value that you configured on the Oracle Application Server, WebSphere Application Server, or WebLogic Application Server.See JD Edwards EnterpriseOne Tools Transaction Server Reference Guide on My Oracle Support.
MQSQ: IBM WebSphere MQ
Additional fields appear on the Add Subscriber Event form. In the Connection Factory JNDI field, enter the WebSphere MQ Connection Factory JNDI name. In the Queue Name field, enter the WebSphere MQ queue name for your subscriber
MSMQ: Microsoft Message Queue
Additional fields appear on the Add Subscriber Event form. In the Queue Label field, enter the MSMQ Queue Label. In the Queue Name field, enter the MSMQ Queue Name
Access the Add Event Subscription form.
The JD Edwards EnterpriseOne user ID for the user who is to receive the subscribed events.
A unique name for the subscription.
A description of the subscription.
Access the Subscribed Events form.
The name of the event.
This section provides an overview about MSMQ and discusses how to:
Create an MSMQ real-time event queue.
Verify event delivery.
Before you complete this task:
MSMQ is installed on your system.
WebSphere is installed on your system.
You can use Microsoft message queueing to subscribe to and receive events. After you create the events queue for MSMQ, you must add the queue name as a subscriber, using the Interoperability Event Subscription program (P90702A). The queue name must be in MSMQ direct format, which includes your machine name or IP address, depending on which protocol you use. Naming conventions for MSMQ direct format queue names are discussed on Microsoft's web page.
After you create the queue and set up the subscriber information, you should verify event delivery. MSMQ RTEII, a server-only feature, is an extension of COMConnector.
Use these steps to configure MSMQ:
From the Control Panel, select Administrative Tools, and then select Computer Manage.
On the Computer Management Console, navigate to Services and Applications, and then open Message Queuing.
Open Private Queue, right-click the Private Queue folder, select New, and then Private Queue.
Note:
You can create the events queue under Public Queue if you prefer.In Queue Name, select a meaningful queue name, for example, RTE-TEST.
If the events queue is used in a transactional environment, select the Transactional option, and then click OK.
Note:
If you are creating an event queue in a transactional environment, you must use a private (remote) queue.Right-click your newly created events queue and select properties.
In the Label field, enter a meaningful queue label name; for example, E1Outbound, and then click OK.
Use these steps to verify event delivery:
Start your COMConnector on your enterprise server.
Note:
Do not start your COMConnector on your client.On your enterprise server, in MSMQ Computer Management, select the queue that you configured to receive JD Edwards EnterpriseOne events.
To see if any events are in the queue, click the queue messages under queue name and select Action then Refresh in the Computer Management menu.
Double-click any messages that are in the queue.
A menu displays the message content up to the first 256 bytes.
This section provides an overview about WebSphere MQ and discusses:
Creating a WebSphere MQ real-time event queue.
Configuring WebSphere.
Verifying event delivery.
Before you complete this task:
WebSphere MQ is installed on your system with PTF CSD06.
WebSphere is installed on your system.
You can use IBM's message queueing to subscribe to and receive events. After you create the events queue for WebSphere MQ, you must add the queue name as a subscriber, using the Interoperability Event Subscription program (P90702A).
After you create the queue and set up the subscriber information, you should verify event delivery.
Use these steps to configure WebSphere MQ:
Open the WebSphere MQ Explorer and navigate to the Queue Manager.
The default queue manager is typically named QM_<hostname>, where <hostname> is the machine name where WebSphere MQ is installed.
Note:
If the QM_<hostname> queue is not created, then manually create the queue. Right-click Queue Managers, select New, and then select Queue Manager. Complete the data fields on each successive screen.Under Queue Manager, select the Queues folder.
This shows any existing queues hosted by this queue manager.
To create the queue for delivery of JD Edwards EnterpriseOne events, select New then Local Queue from the Action menu on the WebSphere MQ Explorer.
Note:
On Create Local Queue, enter a meaningful queue name, for example, RTE_TEST_QUEUE.To make the queue persistent, select the Persistent option for the Default Persistence field.
The default settings should be sufficient for the remaining configuration values.
Important:
When entering queue names for IBM WebSphere MQ, the queue name must be all upper case.Use these steps to configure WebSphere:
Log on to the WebSphere Administration Console.
Create a Queue Connection Factory by selecting WebSphere MQ JMS Provider under Resources.
Enter a meaningful connection factory name along with a JNDI name; for example, jms/mq/rte/QueueConnectionFactory.
Note:
When you add a WebSphere MQ subscriber in JD Edwards EnterpriseOne, enter this name in the Connection Factory JNDI field.Create a queue destination by selecting WebSphere MQ JMS Provider under Resources.
In the Name and Base Queue Name field, enter the same queue name that you used when you created the queue in the WebSphere MQ Explorer; for example RTE_TEST_QUEUE.
Enter a meaningful JNDI name; for example, jms/mq/rte/TestQueue01.
Note:
When you add a WebSphere MQ subscriber in JD Edwards EnterpriseOne, enter this name in the Queue Name field.Enter the Queue Manager name; for example, QM_DENNF13.
Save these changes in the WebSphere console.
Use these steps to verify event delivery:
In the WebSphere MQ Explorer, select the queue you configured to receive JD Edwards EnterpriseOne events.
Note:
To see if any events are in the queue, click the refresh button on the Explorer window. The Current Depth column shows the number of messages in the queue. You might have to scroll right in the explorer window to see this column.If there are messages in the queue, right-click the queue.
To see the messages in the queue, select Browse Messages in the pop-up menu.
Note:
JD Edwards EnterpriseOne sends the event XML to an WebSphere MQ queue, not the serialized object sent to subscriber queues serviced by the Java connector.This section provides an overview about WelbLogic messaging queues and discusses:
Creating a JMS server in the WebLogic server.
Creating a JMS module in the WebLogic server.
Creating a connection factory.
Creating a destination (queue).
Verifying event delivery.
Before you complete this task:
WebLogic is installed on your system.
The transaction server is configured for your application server.
You can use Oracle Business Service (OSB) message queue to subscribe to and receive events. After you create the events queue for WebLogic, you must add the queue name as a subscriber, using the Interoperability Event Subscription program (P90702A).
After you create the queue and set up the subscriber information, you should verify event delivery.
Use these steps to create a JMS server in the WebLogic server:
In the WebLogic admin console, go to Home > Summary of Services: JMS > Summary of JMS Servers.
Click Lock & Edit.
Click New.
On Create a New JMS Server, enter a name for your JMS server in the Name field.
Click the Create New Store button.
Click Next.
Use these steps to create a JMS module in the WebLogic server:
In the WebLogic admin console, go to Home >Summary of Services: JMS > JMS Modules.
To create a new module, type the module name in the Name field.
Accept the default values for the Descriptor File Name and Location In Domain fields.
Click Next.
Use these steps to create a Connection Factory in WebLogic:
From the WebLogic Admin Console, go to Home >JMS Modules > jmsModule.
To create a new connection factory, enter a meaningful connection factory name in the Connection Factory field.
Set the JNDI name to OSBSubscriberQCF.
Click Next.
Use these steps to create a destination (queue):
From the WebLogic Admin Console, go to Home > JMS Modules > jmsModule.
To create a new queue, enter the queue name in the Create a New Queue field.
Set the JNDI name to OSBSubscriber Queue.
Click Next.
Enter a meaningful name in the Subdeployments field.
Click Next.
Use these steps to verify event delivery:
In the WebLogic message queue, select the queue you configured to receive JD Edwards EnterpriseOne events.
Note:
To see if any events are in the queue, click the Refresh button on the Explorer window. The Current Depth column shows the number of messages in the queue. You might have to scroll right in the explorer window to see this column.If there are messages in the queue, right-click the queue.
To see the messages in the queue, select Browse Messages in the pop-up menu.
Note:
JD Edwards EnterpriseOne sends the event XML to a WebLogic message queue, not the serialized object sent to subscriber queues serviced by the Java connector.This section discusses how to create a real-time event.
JD Edwards EnterpriseOne provides predefined real-time events that capture certain JD Edwards EnterpriseOne transactions and notify subscribers about the transaction. If you have requirements that are not satisfied by the predefined real-time events, you can create a custom real-time event. Chapter 14, Using Real-time Events – Guaranteed, of the Interoperability Guide provides conceptual information about real-time events, identifies APIs for creating real-time events, and provides sample code.
Before you create a custom real-time event, you should review the existing real-time events to determine if there is one that you can use as a model for creating your custom real-time event. Detail information about each real-time event can be found in the Application Real-Time Events Implementation Guide.
See JD Edwards EnterpriseOne Application Real-Time Events Implementation Guide.
Use the following steps to create a custom real-time event. Each step includes a reference to documentation that provides more information about that step.
Determine the type of real-time event (single, aggregate, or composite).
Create a new data structure or modify an existing data structure to pass data.
Create a new event definition.
See Defining Events.
Create a new business function or modify an existing business function to call the API that generates the event.
See Using Business Function Calls.
See JD Edwards EnterpriseOne Tools API Reference Guide on My Oracle Support.
Build and promote the business function.
See "Understanding Package Management" in the JD Edwards EnterpriseOne Tools Package Management Guide.
Add the subscriber, associate the event to the subscriber, and enable the subscription.
Configure Object Configuration Manager (OCM) for Guaranteed Event Delivery.
Configure and start your servers (transaction, integration, and enterprise) and test the real-time event.
See Understanding Guaranteed Events Processing.
See JD Edwards EnterpriseOne Tools Server Manager Guide on My Oracle Support.
See JD Edwards EnterpriseOne Tools Reference Guide on My Oracle Support.
See JD Edwards EnterpriseOne Tools Transaction Server Components Reference Guide on My Oracle Support.
This section provides an overview of the Schema Generation Utility and discusses how to:
Configure the Schema Generation Utility.
Use the Schema Generation Utility.
Troubleshoot the Schema Generation Utility.
The Schema Generation Utility creates XML schemas from event definitions. The purpose of this utility is to facilitate orchestration developers who use orchestration systems such as Oracle's Enterprise Service BUS (ESB) or Business Process Execution Language Process Manager (BPEL-PM) to process real-time events, XAPI events, and Z events.
The Schema Generation Utility enables you to generate and save the schemas. The Schema Generation Utility generates schemas for these events:
Single event: You can select a single event of a particular event category to generate schema.
Multiple events: You can select multiple events of a particular event category to generate schemas.
All events: You can generate schemas for all JD Edwards EnterpriseOne events of a particular event category.
In addition, the Schema Generation Utility can generate XML schema for a generic header representing all events. This schema can be used in orchestration systems for content-based routing.
This diagram provides an overview of the Schema Generation utility.
Before you configure the Schema Generation Utility, you must install a Java Runtime Environment (JRE) version 1.4.0 or later on your local machine. You can download a JRE from the Sun Developer Network (SDN) web page (http://java.sun.com/).
The Schema Generation Utility is delivered in a zip file in the system\classes folder. You must download the zip file to your local machine and set up certain files. You use these settings in Step 4.
Section | Setting | Value |
---|---|---|
[EVENTS] | initialContextFactory | For Oracle Application Server, the default value is: com.evermind.server.rmi.RMIInitialContextFactory
For WebSphere Application Server, the default value is: com.ibm.websphere.naming.WsnInitialContextFactory |
[EVENTS] | jndiProviderURL | For the Transaction Server running on an Oracle Application Server, the value is: jndiProviderURL=opmn:ormi://machine_name:6003:e1transvr/EventProcessor
For the Transaction Server running on a WebSphere Application Server, the value is: jndiProviderURL=corbaloc::Machine_name:Port/NameServiceServerRoo Note: Machine_name in this setting is the name of the machine where the Transaction Server is installed Port in this setting is the Bootstrap Address port of the Transaction Server. Generally the port is 9810. |
[EVENTS] | eventServiceURL | The value is: http://machine_name:port/e1events/EventClientService
Note: Machine_name in this setting is the name of the machine where the Transaction Server is installed, up, and running. Verify the hostport property in the jas.ini file of the Transaction Server for port information and to find the exact port for the URL. |
[SECURITY] | SecurityServer | Provide the name of the user's EnterpriseOne Security Server. |
[JDENET] | serviceNameConnect | Provide the port that you are connecting on to the user's EnterpriseOne Security Server. |
[INTEROP] | enterpriseServer | Provide the name of the user's EnterpriseOne Server. |
[INTEROP] | port | EnterpriseOne Server port. |
To configure the Schema Generation Utility:
Navigate to the system\classes folder and unzip the SchemaGenUtil.zip file to the C:\SchemaGenUtil directory in your machine.
Ensure to unzip the file with the full path information for each file in the zip file.
Configure the files in your C:\SchemaGenUtil\config directory.
Ensure that the configured files have the .templ file extension removed from them. The proper filenames for that directory are jdbj.ini, jdeinterop.ini, and jdelog.properties.
Configure jdbj.ini and jdelog.properties files according to the environment.
The simplest solution for the jdbj.ini file is to use the same file that has been configured on the Transaction Server.
Note:
See your JD Edwards EnterpriseOne systems administrator if you do not know the appropriate values for these files.Configure the jdeinterop.ini file sections and settings that are identified in the preceding table.
Edit the C:\SchemaGenUtil\runSchemaGenUtilityDriver.bat file, pointing it to the location of the installed JRE.
You use your JD Edwards EnterpriseOne user credentials to log into the Schema Generation Utility. Upon successfully logging in, the Event Schema Generator screen appears. This screen has two panels, Event Operations and Exception. You use the Event Operations panel to generate and display schemas for events. The Exception panel informs you of errors.
Before you use the Event Schema Generator, ensure that:
The event for which you want to generate a schema is active in the environment that you are using.
The database driver file is in the classpath—if not, copy the database driver files to the following directory:
C:\SchemaGenUtil\lib
To log in to the Schema Generation Utility:
On your local machine, navigate to the C:\SchemaGenUtil directory and double-click the runSchemaGenUtilityDriver.bat file.
The Event Schema Generator sign-on window appears.
Enter your JD Edwards EnterpriseOne user credentials for these fields:
User Name
Password
Environment
Events must be active in this environment.
Role
Select the Remember Sign On Info option if you want the system to remember your sign-on information, and then click OK.
Note:
You can ignore the following warning message:Unable to initialize the management agent. Server Manager capability will be unavailable
After you successfully log in, the Event Schema Generator screen appears. This example shows the two panels on the Event Schema Generator screen:
You use the Event Operations panel to provide information about the event or events for which you want schema generated. The utility provides the three event categories (real-time, XAPI, and Z events) from which you select and you must identify the environment. All events for which you want to generate a schema must be active in the environment that you indicate. When you select an event category and environment, the utility provides a list of events that are available.
You can perform the following tasks from the Event Operations panel:
Display an event schema.
Generate event schema for single and multiple events.
Generate event schema for all the events of a selected event category.
Generate header schema.
Click the Clear Selection button to clear the selection in the Event List panel. After the utility generates the schema, the schema is displayed in the Event Schema field.
If an error occurs during schema generation, the utility displays an error message in the Error Messages field of the Exception panel. You remove a message by clicking the Clear Error Message button.
If no events are available in the given environment, the Schema Generation Utility displays an error message, such as No event available for RTE in DEMOENV in the Error Message panel.
You terminate the Schema Generation Utility by clicking Close at the right top of the main frame.
You can display event schema. This example shows how the utility displays a schema:
Figure 14-8 Event Schema Generator displaying event schema
To display event schema:
In the Event Operations panel of the Event Schema Generator screen, select the type of event from the Event Category field.
In the Environment field, enter the name of the environment that has the active event.
In the Event List field, select an event.
Select only one event. If you select multiple events, the utility displays an error message in the Error Messages field of the Exception panel. The error message for selecting multiple events indicates invalid input. Click the Clear Selection button to clear a selection from the Event List.
Click Display Schema.
The utility displays the generated schema in the Event Schema field.
You can generate schema for a single event and save the schema to a file. The utility saves generated schemas with a file extension of .xsd. After you complete the selection criteria and click Generate Schema(s) on the Event Schema Generator screen, a file chooser dialog screen appears. You indicate the file path and enter the file name.
You can save the generated schema for a single event. This example is the file chooser dialog screen for saving a single event:
Figure 14-9 Save screen for a single event
You can generate schemas for multiple events and save the schemas to a directory. To select multiple events from the Event List field, press the Ctrl key and select the event. After you complete the selection criteria and click Generate Schema(s) on the Event Schema Generator screen, a Select Directory dialog screen appears. You enter the full path name where the directory is located. The utility saves each schema file as E1_EventType.xsd, for example, E1_RTSOOUT.xsd.
Figure 14-10 Select Directory screen for multiple events
To generate event schema for single and multiple events:
In the Event Operations panel of the Event Schema Generator screen, select the type of event from the Event Category field.
In the Environment field, enter the name of the environment.
If you select multiple events, all events must be active in that environment.
Perform one of the following actions:
Select a single event from the Event List field and click Generate Schema(s).
A file chooser dialog screen appears. To save the generated schema, navigate to the appropriate directory, enter a name for the generated schema in the File Name field, and click Save. If you do not want to save the generated schema, click Cancel.
Select two or more events from the Event List field, and click Generate Schema(s).
A Select Directory screen appears. To save the schemas for all of the events, indicate the directory path (use the full path name, for example, C:\ConnectorEventsClient\Schemas), and click Save. The utility saves the schema file for each selected event as E1_EventType.xsd, for example, E1_RTSOOUT.xsd. If you do not want to save the generated schemas, click Cancel.
You can generate schemas for all of the events within an event category. The events must be active in the environment. On the Event Schema Generator screen, you select the event category and then click Generate All Schemas. A dialog screen named Select Directory appears. You indicate the full path name of the directory where you want to store the schema. The utility saves each schema file as E1_EventType.xsd, for example, E1_RTSOOUT.xsd.
This screen is the Select Directory dialog screen for saving all of the events in a category:
Figure 14-11 Select Directory screen for all events within a category.
This table provides resolutions for problems that might occur:
Problem | Resolution |
---|---|
An error message appears after sign-on. | Ensure that all the given credentials (user name, password, environment, and role) are correct. |
C:\SchemaGenUtil\logs directory is getting full of files. Can some of the .log and/or .xml files in that directory be deleted? | Delete any files in that directory at any time. If the Schema Generation Utility application is running, some of the files may be locked. |
An error message that you do not understand appears in the Error Messages field. | Look at C:\SchemaGenUtil\logs directory for the jasdebug_date.log file that corresponds to the appropriate date. Often a more explanatory error message can be found in this log file. |
Specification not found error is displayed in the Error Messages field. | Verify that the selected event is active and available in the environment that you indicated.
This type of error message will read similar to this: Spec not found for requested template: EventCategory: EventType |