JD Edwards EnterpriseOne

Transaction Server Reference Guide

Release 9.1 for Microsoft Windows using WebSphere Application Server

E24427-06

December 2013

JD Edwards EnterpriseOne Transaction Server Reference Guide, Release 9.1 for Microsoft Windows using WebSphere Application Server

E24427-06

Copyright © 2011, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Contents

Preface

- Documentation Accessibility

- Related Documents

- Conventions

1 Understanding the Transaction Server Components

- 1.1 Overview

- 1.2 Certifications (Formerly Known as Minimum Technical Requirements)

- 1.3 Obtaining the Transaction Server Managed Software Component

- 1.4 Prerequisites

- 1.5 Understanding Transaction Server Communications

2 Configuring the Transaction Server Components

- 2.1 JDBj Database Configuration

- 2.1.1 JDBj Bootstrap Datasource

- 2.1.2 JDBj Bootstrap Session

- 2.1.3 JDBj Connection Pools

- 2.1.4 JDBC Drivers

- 2.1.5 JDBj Logging

- 2.1.6 Oracle Database Settings

- 2.1.7 JDBj Runtime Properties

- 2.1.8 JDBj Spec Datasource

- 2.2 Real Time Events

- 2.2.1 Event Processor Configuration Settings

- 2.2.2 Trigger Listener Kernel

- 2.3 Network Settings

- 2.3.1 JDENET Configuration

- 2.3.2 Security Server Configuration

- 2.4 Log File Configuration (jdelog.properties)

3 Configuring JD Edwards EnterpriseOne

- 3.1 Verifying User Defined Codes (UDCs)

- 3.2 Verifying Tables

- 3.3 Verifying Serialized Objects

- 3.4 Activating Events

- 3.5 Creating Triggers

4 Configuring Subscribers in JD Edwards EnterpriseOne

- 4.1 Prerequisites

- 4.2 Configuring Subscriber JMS Queue/Topic in WebSphere Application Server

- 4.3 Creating JMS Queues in a Transaction Server container Installed in WebSphere Application Server

- 4.4 Creating JMS Queues in WebSphere Using a Non-Transaction Server Container

- 4.4.1 Create the Service Integration Bus (SIB)

- 4.4.2 Create the JMS Queue Connection Factory

- 4.4.3 Create the SIB JMS Destinations

5 Adding a Subscriber

- 5.1 Setting Processing Options for Event Subscribers Application (P90702A)

- 5.2 Using Event Subscribers Application to Add a Subscriber

6 Troubleshooting Real Time Events Processing

7 Upgrading the Transaction Server RTE Software Component Using Server Manager

8 Uninstalling the Transaction Server RTE Software Component using Server Manager

A Architecture of the Guaranteed Event System

B Creating and Configuring Multiple Transaction Servers per Environment or User/Role

- B.1 Creating and Configuring Multiple Transaction Servers per Environment

- B.2 Creating and Configuring Multiple Transaction Servers per Role/User

C Testing and Validating the JMSQUEUE Configuration

D Creating an Oracle JD Edwards EnterpriseOne Service Request for Transaction Server Support

E Clustering Real Time Events on WebSphere

- E.1 Understanding WebSphere Clustering

- E.2 Creating a Cluster on the IBM WebSphere Application Server

- E.3 Installing the Transaction Server RTE Component on the WebSphere Application Server using Server Manager

- E.4 Using JDBC Store

- E.5 Using Horizontal Clusters on WebSphere

Preface

Welcome to the JD Edwards EnterpriseOne Transaction Server Reference Guide for Microsoft Windows on WebSphere.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

You can access related documents from the JD Edwards EnterpriseOne Release Documentation Overview pages on My Oracle Support. Access the main documentation overview page by searching for the document ID, which is 876932.1, or by using this link:

https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=876932.1

To navigate to this page from the My Oracle Support home page, click the Knowledge tab, and then click the Tools and Training menu, JD Edwards EnterpriseOne, Welcome Center, Release Information Overview.

The most current versions of this guide and all other JD Edwards EnterpriseOne Tools and Installation/Upgrade documentation is available on the Oracle Technology Network:

http://www.oracle.com/technetwork/documentation/jdedent-098169.html

This guide contains references to server configuration settings It is highly recommended that you only access and manage these settings for the supported server types using the Server Manager program. For additional details, refer to the JD Edwards EnterpriseOne Server Manager Guide.

Conventions

The following text conventions are used in this document:

Convention

Meaning

boldface

Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.

italic

Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.

monospace

Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

1 Understanding the Transaction Server Components

This chapter describes:

- Section 1.1, "Overview"

- Section 1.2, "Certifications (Formerly Known as Minimum Technical Requirements)"

- Section 1.3, "Obtaining the Transaction Server Managed Software Component"

- Section 1.4, "Prerequisites"

- Section 1.5, "Understanding Transaction Server Communications"

1.1 Overview

The JD Edwards EnterpriseOne Transaction Server Components installer performs the installation, upgrade, and configuration of the Transaction Server Components. These components provide the Real Time Events functionality on the Transaction Server.

This document is not a substitute for the administration manuals provided by your IBM WebSphere Application Server vendor, the network administration manuals provided by your network vendor, or the installation and configuration manuals for third-party products used with JD Edwards EnterpriseOne.

The procedures in this guide support the IBM WebSphere Application Server. This document is designed for management information system (MIS) managers and installers. To successfully install the Transaction Server Components on an Application Server, you must have a working knowledge of these topics:

- Hardware and software requirements

- IBM WebSphere Application Server setup and administration

- JD Edwards EnterpriseOne platforms and operating systems

The recommended method of obtaining this information is to attend the relevant training courses. Information about course offerings, dates, and locations is available on My Oracle Support. At a minimum, read these guides before beginning:

- JD Edwards EnterpriseOne Tools Foundation Guide

- JD Edwards EnterpriseOne Tools Configurable Network Computing Implementation Guide

- JD Edwards EnterpriseOne Tools System Administration Guide

- JD Edwards EnterpriseOne Tools Package Management Guide

- JD Edwards EnterpriseOne Tools Server and Workstation Administration Guide

1.2 Certifications (Formerly Known as Minimum Technical Requirements)

Customers must conform to the supported platforms for the release as detailed in the JD Edwards EnterpriseOne Certifications (formerly known as Minimum Technical Requirements). In addition, JD Edwards EnterpriseOne may integrate, interface, or work in conjunction with other Oracle products. Refer to the following link for cross-reference material in the Program Documentation for Program prerequisites and version cross-reference documents to assure compatibility of various Oracle products.

http://www.oracle.com/corporate/contracts/index.html

Refer to the Certifications tab on My Oracle Support and search for this product:

- JD Edwards EnterpriseOne Transaction Server.

For additional information on using Certifications, refer to this document on My Oracle Support (https://support.oracle.com):

- Certifications FAQ for JD Edwards EnterpriseOne [Article ID 1525328.1]

1.3 Obtaining the Transaction Server Managed Software Component

You can obtain the Transaction Server Managed Software Component from:

- Update Center

- Change Assistant

The name of the component to download is called 91xTy, where x is the major tools release (for example, 9.1) and y is the maintenance release. For example, the Managed Software Component for the Transaction Server for 9.1.3.0 is called 91T30.

Note:
Once obtained, the Transaction Server Managed Software Component is installed using the JD Edwards EnterpriseOne tool called Server Manager. Refer to the JD Edwards EnterpriseOne Server Manager Guide for additional details.

1.4 Prerequisites

These prerequisites are required prior to installing the Transaction Server Components on an Application Server.

- IBM WebSphere Application Server must be installed, configured and running. Refer to this document for JD Edwards EnterpriseOne-specific installation instructions for the application servers (including patches):
JD Edwards EnterpriseOne 9.1.X HTML Server Certifications (Doc ID 1506201.1)

- Verify that your installation meets the prerequisites for installing the IBM WebSphere Application Server at this link:
http://www-01.ibm.com/software/webservers/appserv/was/library/index.html

1.5 Understanding Transaction Server Communications

The JD Edwards EnterpriseOne Server Manager communicates with the Transaction Server using JMX (Java Management Extensions). The Embedded Agent in the Transaction Server does not connect to HTTP nor does it connect using Plugins. This is the mechanism by which Server Manager manages the Transaction Server.

The Embedded Agent generally allocates ports in an incremental manner. For example, if a Server Manager Agent installed on the machine is running on port number 14502 (default) then the Embedded Agents running inside managed instances on that machine would allocate ports starting from 14502+1=14503, 14504, and so on depending on the number of managed instances on that machine.

Tip:
In order to ascertain the Port Number on which the Transaction Server Embedded Agent is running, open the SystemOut.log file of the WebSphere J2EE Container and search for the string *Management Agent* which should take you to a line containing this string:

00000017 Server I Starting the management agent listener on port '14503'

The Transaction Server communicates with the JD Edwards EnterpriseOne Enterprise Servers using the EnterpriseOne Proprietary Communication Protocol; that is, JDENET messages.

The Transaction Server connects to the JD Edwards EnterpriseOne database using proprietary database middleware (JDBj). The default ports are dependent on the database type:

- 1521 for Oracle database

- 1433 for SQL Server database

- 50000 for DB2 database

Although the above are default ports, it is possible to run these databases on different ports. Further, these ports are only defined for the Bootstrap database. The JDBj code retrieves the port numbers for the other databases from the Data Source Master Table based on the port numbers for each of the Data Source records as configured during the Planner and Workbench and the Work with Data Sources Application.

2 Configuring the Transaction Server Components

You must use Server Manager Console to install and configure Transaction Server instances. These Server Manager settings for the Transaction Server are found under Configuration section of Transaction Server Instance:

- Section 2.1, "JDBj Database Configuration"

- Section 2.2, "Real Time Events"

- Section 2.3, "Network Settings"

- Section 2.4, "Log File Configuration (jdelog.properties)"

2.1 JDBj Database Configuration

These sections of Server Manager control the JDBj settings:

- Section 2.1.1, "JDBj Bootstrap Datasource"

- Section 2.1.2, "JDBj Bootstrap Session"

- Section 2.1.3, "JDBj Connection Pools"

- Section 2.1.4, "JDBC Drivers"

- Section 2.1.5, "JDBj Logging"

- Section 2.1.6, "Oracle Database Settings"

- Section 2.1.7, "JDBj Runtime Properties"

- Section 2.1.8, "JDBj Spec Datasource"

2.1.1 JDBj Bootstrap Datasource

This section defines the data source where OCM and some other system tables reside. JDBj uses this at bootstrap time and later to look up OCM entries on demand. If the information entered here is not valid, you cannot access the JD Edwards EnterpriseOne database.

With a Transaction Server instance selected, the following shows typical values:

Below is a list of the settings and typical values:

- System Datasource Name
Enter the name of your System datasource. For example:

System - 910

- Database Type
Use the pulldown to select your database type.

- Database Name
Enter your database name.

- Database Server Name
Enter the name of your database server.

- Database TCP/IP Port
Enter the TCP/IP port for your database.

- Physical Database
Optionally you can choose to specify your physical database.

- Object Owner
Enter the object owner for the System datasource. For example:

SY910

2.1.2 JDBj Bootstrap Session

This information is used to sign on with access to system tables. For JD Edwards EnterpriseOne HTML servers, only the user and environment need to be supplied. JDBj signs this user on during the bootstrap process. If the sign on information is not valid, then no access is granted to the JD Edwards EnterpriseOne database. To configure as a Portal WSRP Producer, you must supply a valid EnterpriseOne user and environment and the password and role settings are optional.

With a Transaction Server instance selected, the following shows typical values:

Below is a list of the settings and typical values:

- Bootstrap User
Enter the name of your Bootstrap User. For example:

JDE

- Bootstrap User
Enter the password for your Bootstrap User.

- Bootstrap Role
Enter the role of your Bootstrap User. For example:

*ALL

- Bootstrap Environment
Enter the bootstrap environment. For example:

JDV910

2.1.3 JDBj Connection Pools

These settings control the database connection pooling (sharing of connections) within JDBj. Connections are pooled at the physical datasource level, not the EnterpriseOne logical datasource level.

With a Transaction Server instance selected, the following shows typical values:

Below is a list of the settings and typical values:

- Minimum Connections
Enter a value. For example:

0

- Maximum Connections
Enter a value. For example:

50

- Pool Growth Size
Enter a value. For example:

5

- Initial Connections
Enter a value. For example:

5

- Connection Timeout
Enter a value in milliseconds. For example:

1800000

- Pool Cleaning Interval
Enter a value in milliseconds. For example:

300000

- Maximum Prepared Statements
Enter a value. For example:

50

- Cache Purge Size
Enter a value. For example:

5

2.1.4 JDBC Drivers

These settings specify which JDBC drivers to use for a particular database type.

With a Transaction Server instance selected, the following shows typical values:

Below is a list of the settings and typical values:

- Oracle JDBC Driver
Enter a value. For example:

oracle.jdbc.driver.OracleDriver

- AS/400 JDBC Driver
Enter a value. For example:

com.ibm.as400.acess.AS400JDBCDriver

- SQL Server JDBC Driver
Enter a value. For example:

com.microsoft.sqlserver.jdbc.SQL ServerDriver (SQL Server)

- UDB JDBC Driver
Enter a value. For example:

COM.ibm.db2.jdbc.app.DB2Driver

2.1.5 JDBj Logging

This setting enables JDBC tracing from the JDBC drivers.

With a Transaction Server instance selected, the following shows typical setting:

- Enable JDBC Trace
Click the checkbox to enable or disable a JDBC trace from the JDBC drivers.

2.1.6 Oracle Database Settings

This section contains settings that are specific to utilizing Oracle databases. The TNSNAMES.ORA must contain the appropriate connection information for the Oracle database(s) this product will utilize. You may either select an existing location or use the text area to create a new file and update its contents. The TNSNAMES.ORA that is configured for the Management Console (home instance) will be used as a template for additional web products that are installed.

With a Transaction Server instance selected, the following shows typical values:

Below is a list of the settings and typical values:

- TNSNAMES.ORA Location
Specifies the location of the TNSNAMES.ORA file.

- File Contents
Displays the contents of the TNSNAMES.ORA file that will be used by the Server Manager Management Console.

2.1.7 JDBj Runtime Properties

These settings correspond to system runtime properties applicable to JDBj logical connections.

With a Transaction Server instance selected, the following shows the typical value:

Below is the setting:

- Transaction Timeout
Specifies a value for the transaction timeout. The default is 0.

2.1.8 JDBj Spec Datasource

This optional section defines the data source where the serialized spec tables reside. JDBj uses these parameters at bootstrap time and after to look up serialized spec objects on demand. If this section is not specified, then JDBj will use the OCM to find the serialized table. If it is not valid, no JD Edwards EnterpriseOne database access is possible.

With a Transaction Server instance selected, the following shows the typical values:

Below are the settings:

- System Datasource Name
Specifies a value for the System datasource name.

- Database Type
For example, a valid database type is Oracle Database.

- Database Name

- Database Server Name

- Database TCP/IP Port

- Physical Database

- Object Owner

- Supports Large Objects (LOBs)

- Unicode Database

- Database User Name

- Database Password

2.2 Real Time Events

This section describes these topics:

- Section 2.2.1, "Event Processor Configuration Settings"

- Section 2.2.2, "Trigger Listener Kernel"

2.2.1 Event Processor Configuration Settings

With a Transaction Server instance selected, the following shows the typical values for Event Processor Configuration Settings:

Below are the settings:

- Sequencing Behavior
This setting describes how the event sequencing occurs during Transaction Server processing.

Event sequencing behavior values are:

- AnySequence
Events can be delivered in any sequence.

- ByEventType
Events are guaranteed to be delivered in sequence by event type.

- ByUserSession
Events are guaranteed to be delivered in sequence by originating user session.

- GlobalFIFO
Events are guaranteed to be delivered in sequence by their original generation sequence. This option does not permit concurrent processing and may impact performance. When this option is selected the Processing Concurrency value is ignored.

- Processing Concurrency
This setting describes the number of concurrent event processing threads to run. Maximum of 4 concurrent threads can run enhancing the Transaction Server processing performance.

- Trigger Listener Delay
This setting specifies the time, in milliseconds, between timer checks of the database for events waiting to be processed. A negative value will disable the timer.

- Max Transfer Session Size
This setting specifies the maximum number of events to transfer in one transfer session (that is, one result set from the database).

- Initial Context Factory
The InitialContextFactory for the JNDI service of the event server. This value is set as per the transaction server environment.

- Provider URL
The Provider URL for the JNDI service of the event server. This value is automatically set as per the transaction server environment.

- Event Transfer Transaction Isolation
The transaction isolation level to be used by the transfer agent when reading committed events from the database.

Suggested values based on database server type hosting the F90710 table are shown in the following table:

Server Type

Isolation Level

AS/400

repeatable read

Oracle

serializable

SQL Server

serializable

IBM DB2

repeatable read

- Event Client Session Check Interval
This configuration is to check the frequency to check for an expired session.

- Event Client session Timeout
This configuration is to check how long a session can be idle before it is timed out.

- App Server JDNI User

- App Server JDNI Password

2.2.2 Trigger Listener Kernel

This setting applies to the TriggerListener Kernel thread responsible to receive messages from the Enterprise Server that an event has been triggered. All of the configuration settings found under this section are predefined and should not be changed.

2.3 Network Settings

This section describes these topics:

- Section 2.3.1, "JDENET Configuration"

- Section 2.3.2, "Security Server Configuration"

2.3.1 JDENET Configuration

These settings configure how JDENET, which is the EnterpriseOne messaging protocol, is configured. Any changes to the JDENET configuration will require restarting the server to take effect.

Below are the settings:

- Outgoing JDENET Port

- Back Off Time

- Incoming JDENET Port

- Kernel Ranges

- Timeout Threshold

- Pool Size

2.3.2 Security Server Configuration

These settings configure the EnterpriseOne Enterprise Server to use for security services for this instance. Any changes you make here will not take effect until the server is restarted.

Below are the settings:

- Security Server Count

- Primary Security Server

- Secondary Security Server

- Third Security Server

- Fourth Security Server

- First Security Server

2.4 Log File Configuration (jdelog.properties)

This section is used to configure logs. You may add, remove, or configure the log files contained within this section. You must click the Apply button on this form to save any changes made to this Log Configuration section.

3 Configuring JD Edwards EnterpriseOne

After configuring your Transaction Server, you must set up the Transaction Server Components data for your JD Edwards EnterpriseOne environments to properly generate events.

This chapter discusses:

- Section 3.1, "Verifying User Defined Codes (UDCs)"

- Section 3.2, "Verifying Tables"

- Section 3.3, "Verifying Serialized Objects"

- Section 3.4, "Activating Events"

- Section 3.5, "Creating Triggers"

3.1 Verifying User Defined Codes (UDCs)

The Transaction Server Components requires the specific User Defined Codes (UDCs) to be populated as shown in this table.

Note:
By default, the UDCs are delivered and populated correctly. The information in this section is only provided for verification purposes.

UDC

Purpose

H90/EC

Event Category

H90/TP

Event Transport Parameter Type

3.2 Verifying Tables

The Transaction Server Components requires the use of the tables listed below. The default configuration for RTE is where all of the F907* tables (event tables) reside in one datasource. Out of the box these tables are included in the System datasource database (that is, SY910). Using this default configuration, only one Transaction Server may be configured to monitor the F907* tables. Verify that these tables were created in the JD Edwards EnterpriseOne environments that will generate Real Time Events (RTE) events. Ensure that the server map OCMs and client map OCMs point to the same set of tables.

Table

Description

F90701

Interoperability Event Definition

F90705

Event Activation

F90706

Event Subscriber

F90707

Event Subscription

F907071

Subscribed Events

F907072

Subscribed Environments

F90708

Event Sequence

F90710

Event Transfer

F90711

Event Transport Parameters

F90712

Event Transfer Failure

F90715

Event Subscriber Queues

F90720

Event Metrics

F90730

Unique Sequence

3.3 Verifying Serialized Objects

Serialized objects for tables, specs, and data structures must exist on the database machine. Verify that the serialized objects have been generated and copied to the database machine. For more information on performing the generation, see the JD Edwards EnterpriseOne HTML Web Server Reference Guide, specific for your platform, and the Generating JD Edwards EnterpriseOne Serialized Objects chapter.

3.4 Activating Events

Using this procedure, you must use JD Edwards EnterpriseOne universal batch engine (UBE) processes to convert the existing event data to be compatible with the new tables.

1. Run the Populate Event Activation Status Table (R90705) to create an activation record for every environment for every event defined in the F90701 table. Through use of the processing options you can process this UBE for all events and all environments or for a single event and/or environment. You can run this UBE multiple times if necessary.

2. On Processing Options, Create Event Activation Rules, complete these fields:

Field

Description

Specify the event name to create records for:

If you leave this field blank, records are created for all events. If you specify a value for this field, records are only created for the specified event name regardless of what is specified in the event type specification.

Specify the interoperability event type to create records for:

If you leave this field blank, records are created for all event types. Valid event types are:

- RTE

- WF

- XAPI

- ZFILE

Specify the release of the environments that records are to be create for:

If you leave this field blank, records are created for all environments. Values are supported releases of JD Edwards EnterpriseOne, specified by internal designations.

Note:
You may use data selection to select on events that are currently active in the event system to convert.

3. Run the Convert Event Subscriptions (R90706) UBE to populate the Queue Assignment Table (F90715) with the subscriber queues defined in the Transaction Server. You can use processing options to initially create your subscriber queue records and convert your subscribers and subscriptions. Later if you add new subscribers you can use this UBE to only create the new subscriber queue records. Initially there are 16 subscriber queues delivered with JD Edwards EnterpriseOne.

Note:
The R90706 program does not create the subscriber queues. Instead, 16 of these subscriber queues were created during the initial installation of the Transaction Server Components on an Application Server. If you have more than 16 subscribers you will need to create the additional queues using Application Server administrator tools prior to running this program.

4. On the Conversion Parameters tab, complete these fields:

Field

Description

Enter the number of subscriber queues to create:

Set this value to the number of subscriber queues for your installation. You must create a queue for every subscriber.

Enter the description that will be assigned to all converted subscriptions. If this field is left blank the default description will be "Subscription converted by R90706".

Enter a value to describe all converted description. If you leave this field blank the default description is "Subscription converted by R90706".

Do not convert subscriptions

Values are:
0: Convert subscriptions

1: Do not convert subscribers and subscriptions. The R90706 program only creates the number of subscriber queues that you specify and does not perform any conversions.

Note:
You may use data selection to select on events that are currently active in the event system to convert.

5. Run the Synch Z Events in F47002 with F90701 (R90701A) UBE to create event records in the F90701 for the z-event records in the F47002 table for records that do not currently exist in the F90701 table. There are no processing options for this UBE.

3.5 Creating Triggers

You must create a trigger on the F90710 table. Prior to running the trigger creation script, ensure that you have adequate database privileges required to create a trigger. This table lists the privileges by database.

Note:
Additionally, as described in the Prerequisites sections of this guide, you must obtain and install a specific ESU to enable the creation of triggers for Transaction Server Components.

Database

Required Privilege

IBM DB2 for System i

No special privileges are required.

IBM DB2

Grant the following privileges to the database proxy user. Replace jde in the following script with the actual database proxy user name.
GRANT CONTROL ON TABLE SY900.F90710 TO USER jde

Oracle

Grant the following privileges to the JDE_ROLE or the database proxy user.

GRANT CREATE ANY SEQUENCE TO JDE_ROLE;
GRANT DROP ANY SEQUENCE TO JDE_ROLE;
GRANT CREATE ANY TRIGGER TO JDE_ROLE;
GRANT DROP ANY SEQUENCE TO JDE_ROLE;

SQL Server

The database proxy user must have the privileges to create database triggers. Replace jde with the actual database proxy user name.

Exec sp_addrolemember db_owner,jde

You must create the (F90710) Event Transfer and the (F90730) Unique Sequence in the same JD Edwards EnterpriseOne data source. You should verify this configuration using OCM.

1. Run this script from a JD Edwards EnterpriseOne Microsoft Windows-based Web Development Client:
x:\JDEdwards\E900\system\bin32\dbtemplates.exe -create

2. After the scripts complete successfully, you should revoke any special privileges you granted in order to create the triggers. This table lists the revocation commands by database.

Database

Required Privilege

IBM DB2 for System i

No special privileges are required.

IBM DB2

Revoke the following privileges to the database proxy user. Replace
jde in the following script with the actual database proxy user name.

REVOKE CONTROL ON TABLE SY900.F90710 TO USER jde

Oracle

Revoke the following privileges to the JDE_ROLE or the database proxy user.

REVOKE CREATE ANY SEQUENCE  TO JDE_ROLE;
REVOKE DROP ANY SEQUENCE  TO JDE_ROLE;
REVOKE CREATE ANY TRIGGER  TO JDE_ROLE;
REVOKE DROP ANY SEQUENCE  TO JDE_ROLE;

SQL Server

Replace jde with the actual database proxy user name.

exec sp_droprolemember db_owner,jde

4 Configuring Subscribers in JD Edwards EnterpriseOne

This chapter discusses the configuration of JMS Queue and JMS Topic subscribers in JD Edwards EnterpriseOne.

This chapter includes these tasks:

- Section 4.1, "Prerequisites"

- Section 4.2, "Configuring Subscriber JMS Queue/Topic in WebSphere Application Server"

- Section 4.3, "Creating JMS Queues in a Transaction Server container Installed in WebSphere Application Server"

- Section 4.4, "Creating JMS Queues in WebSphere Using a Non-Transaction Server Container"

4.1 Prerequisites

These prerequisites must be met prior to configuring JMS topic in JD Edwards EnterpriseOne and WebSphere:

- Your WebSphere Application Server must be installed. Supported versions of WebSphere are listed in the Certifications. For instructions on accessing Certifications, refer to the chapter of this guide entitled: Section 1.2, "Certifications (Formerly Known as Minimum Technical Requirements)".

- The JD Edwards EnterpriseOne Transaction Server components are installed, deployed, and functioning properly. You can use Server Manager to perform these tasks.

- Your WebSphere Application Server must be configured for the corresponding JMS Queue/Topic as described in the following tasks in this section entitled: Section 4.2, "Configuring Subscriber JMS Queue/Topic in WebSphere Application Server".

4.2 Configuring Subscriber JMS Queue/Topic in WebSphere Application Server

JD Edwards EnterpriseOne supports JMSQUEUE and JMSTOPIC subscribers of JMS type. To use these subscribers, you must create an appropriate Queue and Topic in the WebSphere Application Server. It is recommended that you create the Queue and Topic in a container other than the RTE Server container; however subscriber Queue and Topic on RTE Server container is also supported.

4.3 Creating JMS Queues in a Transaction Server container Installed in WebSphere Application Server

To create a JMS queue in a Transaction Server container installed in WebSphere Application Server:

1. Start the Transaction Server from the Server Manager Management Console.

2. Open the WebSphere Administrative Console.

3. Expand the Resources node in the left panel.

4. Expand the JMS node.

5. Click the link for JMS Providers.

6. Click the Default messaging provider whose scope contains this value:
server=RTE_Container

7. Under Additional Properties, click Queue connection factories.
The following sequence of screens shows the fields and values on the JMS providers screen in WebSphere:

8. On the WebSphere Queue Connection Factories page, click the New button and complete these fields:

Field

Value

Name

TestQueueConnectionFactory

JNDI Name

jms/TestQueueConnectionFactory

Bus name

Select the Bus name created for Transaction Server.

9. Click OK to save the details.

10. Click Default messaging provider in the top breadcrumb.

11. Click Queues under Additional Properties to view a list of queues available for the Transaction Server.
The following screen shows an example of a Queues screen in WebSphere.

12. Click the New button and complete the required fields as shown in the following screens:

13. For the Queue name field, use the pulldown to select the option Create Service Integration Bus Destination as shown in the following screen:

After you select Create Service Integration Bus destination from the pulldown, the following Create new queue dialog is displayed:

14. On Create New Queue - Step 1: Set queue attributes, enter a value for the required Identifier field and click the Next button.

15. On Create New Queue - Step 2: Assign the queue to a bus member, use the pulldown to select The Transaction Server container as the Bus Member.

16. Click the Next button.

17. After creating the bus destination, the newly created bus destination is set as the queue name for the configured Queue. The newly created bus destination can be verified by using this navigation:
Service Integration > Buses > <BUS_NAME> Destinations

Note:
If any available unused bus destination is available in the Queue list, then it can be selected from the dropdown rather than creating a new bus destination.

Note:
The values specified in the table below for Name and JDNI name are samples only. Any unique value can be given. All other values should remain the same as the defaults.

Field

Value

Name

TestQueue

JNDI Name

jms/TestQueue

Queue name

Create Service Integration Bus destination (TestQueue)

Persistence

Persistent

18. Click the OK button to save the settings and view the newly created queue.

4.4 Creating JMS Queues in WebSphere Using a Non-Transaction Server Container

To create JMS queues in WebSphere Application Server, perform these tasks:

- Section 4.4.1, "Create the Service Integration Bus (SIB)"

- Section 4.4.2, "Create the JMS Queue Connection Factory"

- Section 4.4.3, "Create the SIB JMS Destinations"

4.4.1 Create the Service Integration Bus (SIB)

To create the Service Integration Bus for the JMS queues:

1. Navigate to Service Integration > Buses.

2. Click the New button.

3. On Create a new bus, enter this value in the Name field:
ORABus

4. Click the Next button.

5. On Confirm create of new bus, review your changes and click the Finish button.

6. On Buses, click the link for the service integration bus that you just created (in this example, the link is ORABus.

7. Under Topology, click the Bus Members link.

8. Click the Add button.

9. On Add a new bus member, select the Server radio button.

10. Select the default server value server1 for the server.

11. Click the Next button.

12. Select Data Store.

13. Click the Next button.

14. Select Create default data source with generated JNDI name.

15. Click the Next button.

16. Select the Change heap sizes radio button to modify the heap sizes to the proposed values.
On machines with low amounts of physical memory size or large numbers of application server instances, it may be necessary to reduce the proposed values accordingly.

17. Review your changes and click the Finish button.

18. Click the Save link at the top of the page to save the changes.

4.4.2 Create the JMS Queue Connection Factory

To create the JMS Queue Connection Factory:

1. Navigate to Resources > JMS and select JMS Providers.

2. Click the Default Messaging Provider link which includes Server1 in the scope.

3. Click Connection Factories.

4. Click the New button.

5. On Queue connection factories, New, complete these fields:

Field

Value

Name

ESBQueueConnectionFactory

JNDI name

jms/ESBQueueConnectionFactory

Bus name

ESBBus

Target Type

Messaging Engine Name

Provider end points

<System-name>:7276:BootstrapBasicMessaging

Connection Proximity

Bus

Note:
Leave the default value for the rest of the parameters.

6. Click the OK button.

7. Click the Save link at the top of the page to save the changes.

4.4.3 Create the SIB JMS Destinations

To create the JMS queue destinations:

1. Navigate to Service Integration > Buses.

2. Click the ORABus link.

3. Under Destination Resources, click Destinations.

4. Click the New button.

5. On Step 1: Set queue attributes, in the Identifier field, enter TestQueue.

6. Click the Next button.

7. On Step 2: Assign queue to a bus member, use the pulldown to assign the queue to a bus member.

8. Click the Next button.

9. On Step 3: Confirm queue creation, click the Finish button.

10. Click the Save link at the top of the page to save the changes.

5 Adding a Subscriber

This chapter discusses these tasks:

- Section 5.1, "Setting Processing Options for Event Subscribers Application (P90702A)"

- Section 5.2, "Using Event Subscribers Application to Add a Subscriber"

5.1 Setting Processing Options for Event Subscribers Application (P90702A)

This section discusses how to set up the default values for the processing option.

To set Processing Options for P90702A:

1. Type IV in the Fast Path.

2. Type P90702A in the Interactive Application and click Find.

3. Select the row that appears in the grid and then click Processing Options from Row menu.

4. On Processing Options, edit the default values and click OK.

Note:
The values for these processing options are set by using an EnterpriseOne application as described in the next section of this chapter in the section entitled: Section 5.2, "Using Event Subscribers Application to Add a Subscriber".

5.2 Using Event Subscribers Application to Add a Subscriber

This section discusses how to add a subscriber to EnterpriseOne by executing the application P90702A.

To use P90702A to add a JMSQUEUE or JMSTOPIC subscriber:

1. Run the application P90702A from JAS.

2. Click the Add button. Enter the values as per any one of the following options:

The Initial Context Factory and Provider URL values are populated based on the selections for Application Server and Queue Location. Edit these values according to the environment. A processing option determines the default values.

The values for Connection Factory JNDI Name and Queue Name are the JNDI name for the subscriber Queue or Topic that is being created.

Use this procedure to add a JAVACONN subscriber in JD Edwards EnterpriseOne:

6 Troubleshooting Real Time Events Processing

This chapter discusses troubleshooting Real Time Events processing.

Problem: There are some events in the table F90710 which are not getting picked up by the RTE server.

Resolution: Check if the event sequence number stored in the table F90708 is greater than lowest event sequence number available in table F90710. In this case the event sequence number in table F90708 must be reset to 0 manually

Problem: Some of the clustered servers are not processing events.

Resolution: Probably some servers in the cluster are having some problem. Refer the app server log to identify the problem, rectify the problem and restart the cluster.

Resolution: There could be very high number of events processed exceeding the filestore size. It is advisable to consume events while they are being produced and processed. This keeps the filestore clean.

Problem: Getting error in the RTE Server on WAS (Failed to send committed event message: CWSIA0053E: An exception was received during the call to the method JmsSessionImpl.getTransaction (#1): javax.resource.spi.IllegalStateException: CWSJR1121E: An internal error has occurred. During the call to the method getManagedConnection the exception javax.resource.spi.ResourceAllocationException: CWSJR1028E: An internal error has occurred. The exception com.ibm.ws.sib.processor.exceptions.SIMPConnectionUnavailableException)

Resolution: One of the messaging engines is down and unable to process event. This should not be a concern since the failover service is active and event will be processed by other available messaging engines, assuming they are available.

Problem: Error message "JNDI lookup of Queue failed" seen in RTE server log.

Resolution: It is likely that the JNDI resources are not loaded yet. This error most commonly occurs when auto migration is enabled. A retry lookup feature exists which will try to lookup until successful. If the problem persists, then check the application server log

Problem: All the messages are being sent to a single queue in a cluster or not evenly distributed.

Resolution: A failover may have occurred and the Queue configuration has been changed due to failover. Stop the clustered servers, modify the configuration as stated in this document and start the cluster to process events.

7 Upgrading the Transaction Server RTE Software Component Using Server Manager

Use this procedure to upgrade the Transaction Server RTE component that was installed using Server Manager.

1. Obtain the RTE software component to which you wish to upgrade from Oracle eDelivery.

2. Place the new RTE component into this folder:
<AGENT_LOC>\components

3. Log on to the Server Manager console.

4. Click on the RTE instance.

5. In the Software Component Version section, click the Change button.

6. On the Change Tools Release layout, select the desired version to install from the component by selecting the radio button.

7. Click the Change Component button.

Note:
An upgrade of RTE server only upgrades the Transaction Server RTE component of JD Edwards, and not the JMS components.

Refer to the JD Edwards EnterpriseOne Server Manager Guide to upgrade the Server Manager Agent. You can only update the Server Manager Agent after you have upgraded the Server Manager Console to Tools Release 9.1.

8 Uninstalling the Transaction Server RTE Software Component using Server Manager

Use this procedure to uninstall the Transaction Server RTE Software Component using Server Manager.

1. Log on to the Server Manager console.

2. Click on the managed home location.

3. Select the Transaction Server Real Time Events (RTE) instance.

4. Click the Remove Instance button.

Note:
Post Uninstallation. If after you uninstall the Transaction Server RTE instance, this folder is present, you must manually delete it:
<WAS_ PROFILE_LOC>\filestores\ORABus-<RTE_INSTANCE_NAME>

A Architecture of the Guaranteed Event System

This appendix presents an architectural diagram of the Guaranteed Event System, which is one of the JD Edwards EnterpriseOne Transaction Server Components. The diagram depicts the general sequence that occurs when an event is published. These steps correspond to the numbered sequence of events in the diagram:

1. An HTML client user executes a business function (BSFN) request.
This request is sent to the JD Edwards EnterpriseOne HTML Web Server.

2. The HTML Web Server forwards this request to a CallObject kernel on the Enterprise Server.

3. The CallObject kernel executes the BSFN, which calls the Event API to send the event data to the F90710 Event Transfer table.
If the event is a Z event, the data is sent to F90710 in a final XML format.

4. A database polling application available with the JD Edwards EnterpriseOne Transaction Server polls any available records in F90710.

5. The transaction server retrieves the event data from F90710 and (for Real-Time and XAPI events) converts the data to an XML document in the appropriate format.

6. The transaction server routes the event to the subscriber queue(s) for each subscriber that has established an active subscription for that event.

7. When a subscriber connects to the Transaction Server, the subscriber is sent all the events that exist in its subscription queue at that time.

B Creating and Configuring Multiple Transaction Servers per Environment or User/Role

The default configuration for the Transaction Server defines the F907* tables (event tables) to reside in one datasource. These tables are included in the System datasource database (for example, SY812 or SY900). Using this default configuration, only a single Transaction Server may be configured to monitor the F907* tables.

This appendix provides instructions to set up and configure multiple Transaction Servers so that transactions can be separated by one or more of these criteria:

- Environment

- Role/User

This process allows you to:

- Separate transaction events by environment so that two different transaction servers can service the events

- Use OCM mappings to point to the different environments

This appendix describes these tasks:

- Section B.1, "Creating and Configuring Multiple Transaction Servers per Environment"

- Section B.2, "Creating and Configuring Multiple Transaction Servers per Role/User"

B.1 Creating and Configuring Multiple Transaction Servers per Environment

These general guidelines apply:

- Production Environments
The F907* tables should remain in the System database as defined by the standard setup and configuration. Since the transaction server is designed to work with only one set of F907* tables, the normal procedure is to configure the transaction server with these system tables.

- Test and Dev Environments
In order to separate Test and Dev environment transactions from Production, you can copy the F907* tables into the business data database and change the OCM mappings accordingly. A second transaction server is necessary in order to access these copied tables because, by design, each Transaction Server can only work with only one set of F907* tables.

- Multiple Transaction Servers
In order to support the separation of the F907* tables per environment, you must install an additional Transaction Server per environment or environment combination. For example, if you want to isolate your Production environment and then combine your Test and Dev environments, you would need a total of two Transaction Servers. If you further wanted to separate your Test and Dev environments, you would need a total of three Transaction Servers.

Do not start any added Transaction Servers until you complete the procedure in this appendix.

To create and configure the Transaction Server per environment:

1. With the exception of the tables listed in the Exceptions below, copy all remaining F907* tables from the System database to the business data database.

Exceptions

The following tables are initially cached on JD Edwards EnterpriseOne service startup and contain the necessary information needed for all environments and subscribers. Therefore, these tables and their OCM mappings should remain in the System datasource:

- F90701

- F907011

- F90705

2. Use OCM to remap the F907* tables copied in Step 1 to the new business data database for both the system and the server map.
For example, the completed mappings might look like these:

JPY900 F90701  TBLE  System - 900 *PUBLIC AV
JPY900 F907011 TBLE  System - 900 *PUBLIC AV
JPY900 F907012 TBLE  System - 900 *PUBLIC AV
JPY900 F90703  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90704  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90705  TBLE  System - 900 *PUBLIC AV
JPY900 F90706  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90707  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F907071 TBLE  Business Data - CRP *PUBLIC AV
JPY900 F907072 TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90708  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90710  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90711  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90712  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90715  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90720  TBLE  Business Data - CRP *PUBLIC AV
JPY900 F90730  TBLE  Business Data - CRP *PUBLIC AV

3. Activate the RT* event for added environment (for example, JPY900) in P90701 by:

- Taking the Form exit to Event Activation

- Doing an Add to add the new Event per environment

- Using the Row exit to change the status to Active

4. Refresh the JD Edwards EnterpriseOne server cache by restarting the EnterpriseOne services.

5. Add subscriber information for the added environment (for example, JPY900).

6. Refresh the Transaction Server cache by restarting the transaction server.

7. Trigger the event.

8. Verify the event is recorded in the F90710 Business Data Source table.

9. From a JD Edwards EnterpriseOne client machine, use this command to run the Table Trigger script for F90710 in the business data for the added environment (for example, PY Business Data):
<home>\system\bin32\dbtemplates.exe -create

where <home> is the installation directory of the JD Edwards EnterpriseOne Administration client that is named according to the JD Edwards EnterpriseOne release. For example, E812 or E900.

10. Verify the F986112 table is populated and the new event in F90710 has the status 3 instead of 2.

B.2 Creating and Configuring Multiple Transaction Servers per Role/User

This section describes a configuration where multiple Real Time Events can be processed by multiple Transaction Server instances within the same JD Edwards EnterpriseOne environment. You can process events by Role/User to enable specific users to have their events processed by a specific Transaction Server. This setup is similar to that in the previous section, Section B.1, "Creating and Configuring Multiple Transaction Servers per Environment". Instead of separating the events by environment you are separating the Real Time Event messages by Role/User.

Multiple Transaction Servers

In order to support the separation of the F907* tables per Role/User, you must install an additional Transaction Server per User or Role combination. For example, you have set up a role for processing Sales Orders and another role for processing all other Real Time Events. In this case, you would need an additional Transaction Server for each role addition.

To configure the system to route Real Time Events to specific Transaction Servers based on the JD Edwards EnterpriseOne Role/User user that is generating the event:

1. From JD Edwards EnterpriseOne, create a new Role which will include a group of users that will initiate the Real Time Event messages.

2. Create these tables in the same environment datasource (Business Data - PROD) or create a custom Data Source (for example, TS2 / PD900):

- F90710 - Event table

- F90730 - Unique sequence table

3. Copy these tables from the System datasource to the same environment datasource you used in Step 2:

- F90706 - Event Subscriber

- F90707 - Event Subscription

- F907071 - Subscribed Events

- F907072 - Subscribed Environments

- F90708 - Event Sequence

These tables contain the subscriber information and whether they are active or not. It is important to note that when you copy these tables, whenever you want to make changes to the subscriber information you must ensure you are logged in as the appropriate user. This is required to ensure you are making changes to the correct table. If you do not copy these tables, you will continue to see errors in the Transaction Server log where events cannot be delivered to all the subscribers, although this does not affect the delivery of the events to the correct queue.

4. Create new OCM mappings for all the tables listed in Steps 2 and 3 for the new Role (for example, role associated with the PD900 environment and the copied F90710 table and the role associated with the PD900 environment and the F90730 table) to point to Business Data - PROD. You must make mappings for both SYSTEM and Server Map.

5. On a JD Edwards EnterpriseOne client machine, run the program to create the table trigger on the new F90710 table. From a command prompt, navigate to this directory:
e900\system\bin32\

6. From the above directory, run this command:
dbtemplates.exe -create

When prompted ensure you log in as the new user (assigned to your new role) so that the program uses the new OCM mappings to locate the correct table in which to create the new trigger.

Henceforth when logging in as a user defined by this role, a generated Real Time Event sends the message into the appropriate F90710 table and updates the F90730 table.

7. Install a new Transaction server that will be used to process the events for each new Role/User.

8. Configure the newly installed Transaction Server with one of the users in the new Role as the bootstrap user.

9. Process a transaction that triggers an event for the new Role.

10. Start the newly installed Transaction Server and check the queue to make sure the event was delivered to the new Transaction Server.

11. Verify the previous configuration still functions as expected by logging in as any user not belonging to the new Role and generate an Event and see that the message goes into the F90710 (System - 900) and is delivered to the original Transaction Server.

C Testing and Validating the JMSQUEUE Configuration

If you have followed the steps to activate RTABOUT, a Real Time Event will be created whenever you Add, Change, or Delete an Address Book record. However, before performing any of those functions you should follow the procedure outlined in the following documents found in My Oracle Support. Access the document according to your Tools Release.

- E1: OUTBND: Creating and Using a JMSQUEUE in WebSphere for RTEs. Tools Release 8.98.x (Doc ID 1159783.1)

- E1: OUTBND: Creating and Using a JMSQUEUE in WebSphere for RTEs. Tools Release 9.1.x (Doc ID 1576889.1)

D Creating an Oracle JD Edwards EnterpriseOne Service Request for Transaction Server Support

To minimize the resolution time for any Service Requests you might have to create with Global Support, it is recommended that you provide this information:

- JD Edwards EnterpriseOne Enterprise Server JDE.INI file

- Exact JD Edwards EnterpriseOne Tools Release on which you are running (for example, 9.1.1.1)

- Indicate that you are running Transaction Server on WebSphere and the exact release and version your application server (for example, WebSphere 7.0 or 8.5)

- The content of the config folder within the Transaction Server Agent where the Transaction Server instance resides

- Logs from Server Manager generated when starting the Transaction Server

Tip:
To obtain a more detailed set of logs, you can use Server Manager to enable enhanced logging. For the Log Name with a value RTE, change the Log Components value to EVENTPROCESSOR as shown below.

- Once the additional jdelog.properties definition is added as described in the preceding step, stop the Transaction Server, clear the RTE logs and produce the logs generated after going through the steps outlined in Appendix C, "Testing and Validating the JMSQUEUE Configuration".

- Description of the results obtained when running the test described in Appendix C, "Testing and Validating the JMSQUEUE Configuration"
Specifically, you should be able to provide the status of the F90710 record after the RTE is started.

E Clustering Real Time Events on WebSphere

This appendix contains the following topics:

- Section E.1, "Understanding WebSphere Clustering"

- Section E.2, "Creating a Cluster on the IBM WebSphere Application Server"

- Section E.3, "Installing the Transaction Server RTE Component on the WebSphere Application Server using Server Manager"

- Section E.4, "Using JDBC Store"

- Section E.5, "Using Horizontal Clusters on WebSphere"

E.1 Understanding WebSphere Clustering

The implementation of WebSphere clustering permits the deployment of application components and services to several machines with a single face to the client. When a client requests a service, it should make no difference if the service runs on a single server or across a number of servers. The clustering abstraction provides you with a clear route to improving the performance and scalability of the applications with increased administration of hardware and network resources. WebSphere clustering provides these benefits:

- Scalability
A clustered solution allows you to create additional capacity by introducing more servers to the cluster, thereby reducing the load on existing servers. For the JD Edwards EnterpriseOne Transaction Server with the Real Time (RTE) Application, you can add as many servers and messaging engines as you like to meet the performance requirement. The RTE application on WebSphere achieves scalability with the implementation of a messaging engine policy.

- Load balancing
The ability to distribute requests across all members of the cluster, according to the workload on each server. WebSphere handles load balancing as defined by the Load Balancing Algorithm that you configure on cluster setup. The Transaction Server with RTE on WebSphere only supports round-robin load balancing policy for the RTE application.

- High availability
A mix of features that ensure applications and services are available even if a server or machine fails. Clients can continue to work with little or no disruption in a highly available environment. RTE on WebSphere achieves high availability with the implementation of a messaging engine policy.

E.2 Creating a Cluster on the IBM WebSphere Application Server

To create a cluster on the WebSphere Application Server:

1. Go to Servers > Clusters > WebSphere application server clusters.

2. On WebSphere application server clusters, click the New button.

3. On the Create a new cluster dialog, enter the name of the cluster.

4. Click the Next button.

5. On Create first cluster member, in the Member name field, enter a name for the first cluster member.

6. Click the Next button.

7. On Create a new cluster, click the Add Member button.
Continue this step to add your additional cluster members.

Note:
When creating a horizontal cluster, you must add a server with the available node targeted to the remote host name.

8. When you have finished adding members, click the Cancel button to exit the Create additional cluster members part of the wizard.

9. On Create a new cluster, click the Finish button.

10. Save the cluster configuration.

E.3 Installing the Transaction Server RTE Component on the WebSphere Application Server using Server Manager

1. Go to the Server Manager Console.

2. On the Server Manager Console, with the Managed Instances displayed, click the Create New Managed Instance button.

3. On Create/Register A Managed Instance, Instance Type, select the EnterpriseOne Transaction Server radio button.

4. Click the Continue button.

5. On Create/Register A Managed Instance, Instance Properties, complete these fields:

- Instance Name
Enter a value for your installation.

- J2EE Server/Cluster
Use the pulldown to select your cluster from the list of automatically detected clusters.

- HTTP Port
You must specify an unused port number.

- Software Component
Use the pulldown to select the desired version of the EnterpriseOne RTE Server software component.

6. Click the Continue button.

7. On Create/Register A Managed Instance, Confirmation, click the Continue button.

8. On Create/Register A Managed Instance, Finish, click the Create Instance button.

E.4 Using JDBC Store

To use JDBC Store:

1. Login to WAS admin console.

2. Select Resources ->JDBC ->Data Sources from left panel of the console and choose the cluster scope.

3. Click New and navigate to Create Data Source screen

4. Enter the Data Source name and JNDI name as shown in below screen shot and click Next

5. Select "Create new JDBC provider and click Next as shown in below screen

6. Fill in all the details as shown in the below screen shot and proceed to next screen clicking Next

Note:
Other Database types may be selected and similar configuration parameters may be selected.

7. Give the directory location for ojdbc6.jar as seen in the below screen shot and Click Next.

Note:
This is a typical example for using Oracle database. For other database similar type 4 JDBC driver location is provided.

8. Fill in the appropriate URL for the database from which the data source obtains the connection and data store helper class name as shown in below screen shot and click the Next button.
The URL should be similar to this:

jdbc:oracle:thin:@localhost:1521:sample" for thin driver

Note:
The URL for other databases will differ.

9. Click the Next button on setup security aliases screen as you would lose your current wizard selections by setting them up now. This can be set later.

10. Click Finish and navigate to the Create data sources screen.

11. Select the newly created Datasource and navigate to Test connection screen

12. On this screen select JAAS -J2C authentication data under "Related Items" as shown in below screen shot.

13. Select the New button.

14. Fill in appropriate values for all the fields of this screen as shown in below screen where User ID specifies the J2C authentication data for database connection.

15. Click the OK button to save changes to master configuration.

16. Again select the data source from top of this screen as shown below.

17. Go back to Data Source screen by clicking on the data source name from top of the screen.

18. On this screen chose the security settings newly created as shown in below screen shot and click the OK button.

19. Save changes to master configuration.

20. Check the newly created data source and click the Test Connection button.

21. If prompted, save changes to master configuration, then synchronize the changes and repeat the above step.

22. The test connection should be successful.

23. Repeat the steps in this section to create any number of data sources in the cluster scope.

E.5 Using Horizontal Clusters on WebSphere

The JD Edwards EnterpriseOne Transaction Server installation is configured with filestore for the messaging engines by default. If you use Horizontal cluster it is mandatory that you use the JDBC store.

To use horizontal clusters on WebSphere:

1. Go to Service Integration > Buses.

2. On Buses, select ORABus.

3. On Buses, select the Bus Members.

4. On Buses, Bus members, click on the link for the cluster.

5. On Bus members, click Additional Properties > Messaging engines.

6. Select the messaging engines created by default with the RTE installation.

7. Click the Remove messaging engine button to delete them.

8. On Buses, OraBus, Bus members, testcluster, Messaging engines for testcluster, click the Add messaging engine button.

9. On Select message store type, select the radio button for Data store.

10. Click the Next button.

11. On Specify data store properties, complete these fields:

- Data source JNDI name
Enter a name for the JNDI. For example, JDBC1.

- Schema name
Enter a name for the schema. For example, IBMWSSIB.

- Authentication alias
Enter an authentication alias. For example, <machine>CallManager01/JDBC1.

12. Click the Finish button.

13. Save changes to master configuration.

14. Repeat the same for creating Message Engines for other members of the cluster.

15. On deleting the default message engines created during the installation of the RTE application, all the Queues are also deleted. As a result, you must re-add these queues manually or you can run the rte.py script passing the required parameters.

16. Run this wsadmin command before starting the clustered servers/RTE instance.
Go to the <WAS_DMGR_PROFILE_LOC>\bin on command prompt.

Run the following command on the prompt:

wsadmin -lang jython -f <JDE_AGENT_HOME>\bin\rte.py createSIBDestination <Bus-name> <Nodename> <Server_name> <Cluster_Name> <profilepath> <queue_names>

For example:

Z:\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin -lang jython -f Z:\JDE_HOME_WAS7\bin\rte.py createSIBDestination ORABus dnvmtqa30Node01 MyServer1 MyCluster1 Z:\IBM\WebSphere\AppServer\profiles\Dmgr01 SubQueue00,SubQueue01,SubQueue02,SubQueue03,SubQueue04,SubQueue05,SubQueue06,SubQueue07,SubQueue08,SubQueue09,SubQueue10,SubQueue11,SubQueue12,SubQueue13,SubQueue14,SubQueue15,EventQueue00,EventQueue01,EventQueue02,EventQueue03,TriggerQueue,SourceRouteQueue,ESBQueue00

Pass input as NULL where not applicable. For a cluster, input for Nodename and Server_name can be passed as NULL.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2018, Oracle and/or its affiliates. All rights reserved.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.

Pre-General Availability Draft Documentation Notice

If this document is in public or private pre-General Availability status:

This documentation is in pre-General Availability status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Private Pre-General Availability Draft Documentation Notice

If this document is in private pre-General Availability status:

The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your pre-General Availability trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.

This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.