Using JD Edwards EnterpriseOne Server Manager to create · PDF fileBeginning with JD Edwards EnterpriseOne tools release 8.97, ... Oracle JD Edwards EnterpriseOne Minimum Technical
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IBM Oracle International Competency Center
Using JD Edwards EnterpriseOne Server Manager to create anHTML server vertical cluster on WebSphere ND and IBM i
Mike Brown - Oracle Gerrie Fisk - IBM Jim Denton - IBM February 2010
Abstract
This paper describes the results of a joint project conducted by Oracle and IBM to
provide step by step instructions on how to implement JD Edwards EnterpriseOne HTML
servers in a clustered WebSphere® Application Server environment running on IBM i in
conjunction with the JD Edwards Server Manager introduced in JD Edwards
EnterpriseOne Tools release 8.97. Clustering provides customers with greater
functionality and flexibility for supporting larger numbers of users and for improving
Oracle and IBM continue to work together to ensure that customers have the application and platform solutions needed to
maximize their business results. The following paper describes the steps required to implement JD Edwards
EnterpriseOne HTML servers in a clustered WebSphere Application Server environment running on IBM i.
Beginning with JD Edwards EnterpriseOne tools release 8.97, Oracle introduced Server Manager for managing,
maintaining and upgrading JD Edwards EnterpriseOne servers including HTML servers. This document offers guidelines
to customers with 8.97 or higher who need to create more than one HTML server in a WebSphere Application Server
cluster. (Another document, “Configuring the JD Edwards EnterpriseOne HTML Web Server to a WebSphere Cluster on
i5/OS,” describes how to implement clustering of HTML servers in environments which are using earlier versions than JD
Edwards EnterpriseOne tools release 8.97. See Appendix B.)
Many customers run with a single, standalone JD Edwards EnterpriseOne HTML server instance which can serve up to
200 users. This document expands upon that scenario for customers who want to have more than one JD Edwards
EnterpriseOne HTML server. Some reasons might include:
• serving more than 150-200 users
• load balancing
• redundancy and high availability.
This document covers how to vertically cluster a JD Edwards EnterpriseOne HTML server using IBM WebSphere ND on
IBM i. Figure 1 shows a single standalone HTML server expanded into two or more vertically clustered JD Edwards
EnterpriseOne HTML servers. A single HTTP server is used for this cluster and WebSphere clustering handles the load
balancing between the two (or more) JD Edwards EnterpriseOne HTML servers. See Appendix A for a checklist that
summarizes the steps to follow.
Figure 1. Single HTML server and multiple vertically clustered HTML server deployments
Clustering requires a few changes in managing the JD Edwards EnterpriseOne HTML server instances:
• WebSphere Deployment Manager administrative console must be used for starting and stopping the JD Edwards EnterpriseOne HTML server instances individually or at the cluster level.
• Upgrading the JD Edwards EnterpriseOne HTML server instances in a cluster is not available. The JD Edwards EnterpriseOne HTML server instances would need to be deleted and recreated.
All other maintenance, modifying the .ini files, logging, etc. is available via Server Manager.
Creating a vertical cluster of the JD Edwards EnterpriseOne HTML server in a WebSphere
Application Server ND and IBM i environment
Prerequisites • IBM WebSphere Application Server ND version 6.1.0.21 is installed and operational, i.e., the default profile,
created by WebSphere at install time on IBM i, is operational, serving as administrative console for server1.
o Note that the supported versions of WebSphere Application Server change over time. Please refer to the Oracle JD Edwards EnterpriseOne Minimum Technical Requirements for IBM i for the current versions supported. See Appendix B.
o These instructions were tested using version 6.1.0.21, but they are expected to work on later versions.
• JD Edwards EnterpriseOne Server Manager Agent is installed and running on the system where the HTML server is to be deployed.
• JD Edwards EnterpriseOne Enterprise Server instance has been registered and is functional with Server Manager.
• Recommended: a Server Group within Server Manager is created and modified for use when deploying the JD Edwards EnterpriseOne HTML server instance. (Server Groups are used to standardize the configuration settings for grouping instances.)
Step 1: Creating IBM Deployment Manager profile as a WebSphere ND profile The first step is to create the WebSphere administrative console for the DeployMgr profile (dmgr). Clustering will need
this dmgr JVM process to be up and running because it communicates with the Node Agent for configuration and
operational management for that node.
• Open qshell Command Entry by entering the QSH command.
• Navigate to the following directory by entering the following: cd /QIBM/ProdData/WebSphere/AppServer/V61/ND/bin
• Enter the following as a single command to create the DeploymentManager profile: ./manageprofiles -create -profileName DeployMgr
• Confirm that the INSTCONFSUCCESS message appears.
• Run the IVT (Install Verification Test) on the newly created profile/server to verify the application server starts correctly. Navigate to the directory by entering: cd /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/DeployMgr/bin
• and then entering the command ./ivt dmgr DeployMgr. The output will look like the example below. IVTL0015I: WebSphere Application Server DENI508A is running on port: 9061 for profile DeployMgr
Step 2: Configuring WebSphere and HTTP before JD Edwards EnterpriseOne HTML deployment
2a: Creating a managed profile as a WebSphere ND profile • Choose a profile name to be created. This example created the AppSrv01 profile. It will become the managed
profile after it is federated to the dmgr profile as a node.
• On IBM i, execute the command manageprofiles –create
o Open qshell with command QSH.
o Navigate by running: cd /qibm/proddata/websphere/appserver/v61/nd/bin
− Enter the following command on one line to create the AppSrv01 profile: ./manageprofiles -create -templatePath default -profileName AppSrv01 –serverName AppSrv01
INSTCONFSUCCESS: Success: Profile AppSrv01 now exists. Please consult /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/AppSrv01 /logs/AboutThisProfile.txt for more information about this profile.
o Using Server Manager console, view the new profile AppSrv01 and start its Application Server AppSrv01. See Figure 2.
Figure 2. WebSphere Server Manager console
o Return to qshell on IBM i with QSH and run the command: ./dspwasinst -profileName AppSrv01
Additional ports: 2810 BOOTSTRAP_ADDRESS port 8881 SOAP_CONNECTOR_ADDRESS port
o Note the SOAP_CONNECTOR_ADDRESS port. (In the example above, it is port 8881.)
2b: Federating a profile (managed by dmgr) using IBM WebSphere Deployment Manager administrative console
• Federating the profile allows management of this profile by the Deployment Manager’s administrative console through the Node Agent of the federated profile (managed node).
• Node Agent is a JVM process that manages servers of the federated profile (managed node) and is created automatically during federation.
• There are two methods to federate a node:
o using the WebSphere administrative console
o using addNode command line.
• Administrative console method will be used here:
o Open WebSphere’s Deployment Manager administrative console.
o Example: http://deni508a:9061/ibm/console/login.do
o Select System Administration, then Nodes view from the left navigation box.
o Enter the host name for this server as shown in Figure 5. With vertical clustering, the name should be the same system where WebSphere is running. (In the case of horizontal clustering, a different machine name might be selected.)
o Insert the SOAP port that was noted earlier for the profile created, AppSrv01 profile (8881 in this case).
o Leave all other settings as default.
o Click OK.
Figure 6. Successful federation response
o Verify successful federation, as in Figure 6.
o Select the link to Logout.
o Log back in and navigate to the System administration -> Nodes; see Figure 7.
o Make note of the new Node DENI508A_AppSrv01. It will always contain the name of the server and the name of the profile.
o The Server Manager Agent will need to be restarted on IBM i using the following instructions.
− Open qshell with the command QSH.
− cd <jde_home>\bin
− ./stopAgent
− ./startAgent &
o Log into Server Manager console to view the changes to the WebSphere environment as seen by the Server Manager agent and console.
o The AppSrv01 profile is now federated. (Note that the application server AppSrv01 in node DENI508A_AppSrv01 is stopped. This is working correctly. This is not a valid application server and will not be used.)
2c: Creating an HTTP server using the IBM HTTP administrative console • Open the administrative console for managing the HTTP Server
o Example: http://deni508a:2001/HTTPAdmin
o Select to Create HTTP Server from the left pane.
Figure 8. Create HTTP Server in HTTP administrative console
o Enter the name of the server to create. This example is WEBSRV_ND, see Figure 8.
o Click Next and take defaults. (An exception might be the port selection screen. Make sure the port does not conflict with any other ports on the system. If it does, select and enter a new port.)
o Click Finish and verify success as in Figure 9.
Figure 9. Create HTTP Server verification
2d: Creating the internal web server (plug-in) using IBM WebSphere Deployment Manager administrative console The web server needs to be created such that it is global to the ND environment and the dmgr profile. It will be shared by
any node that is federated to the ND environment. The web server contains the WebSphere plugin-cfg.xml file and links it
to the HTTP server.
• Log into WebSphere’s Deployment Manager administrative console and select Servers -> Web servers.
o The WebSphere plugin-cfg.xml directive configures the communication between the HTTP configuration and the WebSphere configuration. With clustering, this file is loaded at the cell level, not the node level, so that it is available globally to the network deployment domain (DeployMgr). The node level (WEBSRV_ND) is not used because it has the potential to be overwritten if changes are made to the application server.
o The LoadModule directive is used to load a service program with additional code over and above basic Apache support.
• The plugin-cfg.xml directory and file name is: /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/DeployMgr/config/cells/plugin-cfg.xml
o To review the plugin-cfg.xml file, if desired:
o Open WebSphere’s Deployment Manager administrative console.
o Select Environment, then Update global Web server plugin configuration from the left navigation box as in Figure 16 below.
• Select the Edit Configuration File link in the left navigation pane; see Figure 17. This step edits the configuration file, for example: /www/WEBSRV_ND/conf/httpd.conf
• Add the two lines shown above to the beginning of the httpd.conf configuration file of the HTTP server. The two lines should look like this example: WebSpherePluginConfig /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/DeployMgr/config/cells/plugin-cfg.xml LoadModule was_ap20_module /QSYS.LIB/QHTTPSVR.LIB/QSVTAP20.SRVPGM
• Make sure that the plugin line has no spaces other than the first one and it has not word wrapped.
• Enter the Server Group from the dropdown (which was an optional prerequisite.) If this was not done, there is always a default server group available but it will need to be changed to work in the environment where deployment occurs.
• Enter a unique name for the Instance Name such as EA_JS_95. Select a name that is useful for the configuration of the cluster. This instance is deployed in AS_95_M1 so it will be part of the first member of the cluster.
• Enter the J2EE Server from the dropdown. This is the AS_95_M1 application server that was created above.
• Enter the HTTP Port value. This example uses port 95. As before, be sure that this port does not cause a conflict with any existing ports.
• Enter Software Component from the dropdown list.
o Select the appropriate version of the software to be deployed.
o This component has been distributed to the agent’s components directory.
• Select the Continue button when all entries are acceptable values; see Figure 26.
Figure 27. Confirm managed instance properties
• Note the HTTP Server (web server definition) that was created earlier.
o If this was not created, there will be an error shown.
o If there are multiple web servers, select the correct HTTP Server from the dropdown.
o This example uses WEBSRV_ND.
• Verify other settings or change them as necessary, as in Figure 27. These and all other configuration (INI) settings can be changed post deployment.
• Take note of the warning; see Figure 28. The readme.txt file will be used later to configure the HTTP Server (web server definition) so review the Example location.
• Select the Create Instance button.
Figure 29. Synchronize configuration
• After processing is complete, the home page for the created instance will be displayed.
• Select the Synchronize Configuration button, as in Figure 29.
o This step synchronizes the configuration files: jdbj.ini, jas.ini, tokengen.ini, tnsnames.ora and jdelog.properties files to the deployed structure of the JD Edwards EnterpriseOne HTML server instance.
o Every change to a configuration file initiates a prompt for Synchronize Configuration which needs to be executed each time.
• This instance is the location where all members of the cluster report runtime information and managing configuration.
NOTE: In the past, the virtual host had to be created manually, but now Server Manager creates the virtual host for you.
Verify, if desired, that the virtual host exists with the correct HTTP port number listed by going to WebSphere DeployMgr
administrative console and clicking on environment, then virtual hosts. Open the virtual host, such as vh_EA_JS_95, click
on Host Aliases, and find the port number entered for the HTML application server.
• (At this point, with the addition of installing the JDBC driver in Server Manager, this JD Edwards EnterpriseOne HTML instance COULD be run as a standalone as depicted in the left hand diagram in Figure 1.)
Step 4: Creating and configuring the WebSphere cluster after JD Edwards EnterpriseOne HTML deployment
4a: Configuring the HTTP Server and Web Server definition using IBM HTTP administrative console
• View the readme.txt that was displayed as a warning statement in the Finish step when the JD Edwards EnterpriseOne HTML server instance was created.
o <jde_home>\targets\EA_95_M1\readme.txt
o This readme.txt file was created with machine specific information during deployment; see Figure 30.
• Copy the directives from this file to the appropriate httpd.conf file. Example: /www/WEBSRV_ND/conf/httpd.conf
o Log into the HTTP administrative console.
o Select the WEBSRV_ND HTTP Server.
o Select the Edit Configuration File from the left navigation pane.
o Note: When copying the directives, be sure to copy first to Notepad and then from Notepad into the httpd.conf to make sure no errant control characters are introduced. Additionally, make sure that there is a blank line at the end of the file or the HTTP Server will not start. This additional line ensures that a carriage return is included at the end of the file so it can be parsed correctly.
• Note: The portion of the directive Listen 0.0.0.0:95 is required for IPv6; see Figure 32. It shows as a warning with IPv4 but will not cause a runtime problem within the httpd.conf file. To remove the warning with IPv4 change it to: Listen *:95.
• Stop and start the HTTP Server to validate that the HTTP server is configured to serve the new port 95: http://deni508a:95; see Figure 33 for a successful validation example.
• Select the radio button to Create the member by converting an existing application server as in Figure 37.
• Use the dropdown to select the appropriate Application Server. Note that the Member name text box will be populated based on the dropdown selection, such as AS_95_M1.
• The Weight value specifies the amount of work that is directed to this application server. It can range from 0 to 20. Leave it at the default of 2 so that the workload will be split evenly between the cluster members.
• Select Next to create the first member of the cluster.
• Create an additional member giving it a unique name, like AS_95_M2, and select the node where the original member resides (DENI508A_AppSrv01). See Figure 38.
• Leave Weight and Generate unique HTTP ports at the defaults.
• Select Add Member button.
• (If additional cluster members are required, repeat the above steps).
• Select Next button to create the second member of the cluster.
• After the cluster is created, select Save as in Figure 41.
4c: Installing the JDBC drivers for the cluster members using JD Edwards EnterpriseOne Server Manager
• Log into Server Manager and select the JD Edwards EnterpriseOne HTML server that was created.
• Configuring JDBC Drivers is required. In this case, installing a DB2 driver for use on IBM i is needed.
Figure 42. Using Server Manager to configuring JDBC drivers
• Select the JDBC Drivers link in the Quick Links left pane box as shown in Figure 42.
Figure 43. Install the JDBC driver for all cluster members
• Use the selection boxes to the left of the Application servers that are running the HTML server code. Select “Install Driver” button; see Figure 43. Repeat for all members of the cluster.
• Confirm that the status changes to “Installed” as in Figure 44.
4d: Configuring the cluster members using IBM WebSphere Deployment Manager administrative console
• Configuration of the Generic JVM arguments of each cluster member is necessary for Server Manager to identify each member and for the JD Edwards EnterpriseOne HTML servers to separate the log file names.
• Log into WebSphere’s Deployment Manager administrative console.
• Enter these two parameters separated by a space into the Generic JVM arguments. See Figure 50.
o Example: –DcloneId=AS_95_M1 –Dwas.home=true
o Make the DcloneId value the same name as the application server (AS_95_M1 in this case).
o NOTE: Make sure the characters are as expected. Copying and pasting from this document, for example, can cause problems. Dashes and equal signs can be different. Either copy into and out of Notepad or type the parameters in directly.
• Execute these steps for each member of the cluster. Use a different DcloneId value for each application server. (Example: AS_95_M2)
Starting the Cluster and verifying the installation
Step 5: The cluster needs to be restarted to apply the generic JVM arguments of the previous step. Open WebSphere’s
Deployment Manager administrative console and go into Servers, then Application servers. Stop the first application
server, if it was still running from the previous steps. Each member of the cluster can be started or stopped individually
here, if desired.
The easiest way to start the cluster is to click on clusters, click on E1cluster, and then click on RippleStart. The cluster is
now created as in the right-hand diagram of Figure 1. After the members are started, log in to JD Edwards EnterpriseOne
to verify the installation.
Prerequisites for signing into JD Edwards EnterpriseOne using a cluster member:
• The HTTP server, such as WEBSRV_ND, must be running.
• Dmgr must be running. cd /QIBM/ProdData/WebSphere/AppServer/V61/ND/profiles/DeployMgr/bin ./startManager dmgr
• Node agent must be running so that dmgr can communicate with the node. cd /QIBM/ProdData/WebSphere/AppServer/V61/ND/profiles/AppSrv01/bin ./startNode
• One or more cluster members must be running. Note: If login fails with an authorization issue, enter qshell with QSH command and navigate with:
cd /QIBM/UserData/WebSphere/AppServer/V61/ND/profiles/AppSrv01
then run the chmod command to correct the authority levels:
chmod -R 755 installedApps
Then stop and start the cluster.
Two additional views of cluster operations are:
1. Sign onto a green screen session and type in WRKSBS. Find the QWAS61 subsystem and enter an 8. The JVMs running should look like the example in Figure 52 below.
2. Sign into Server Manager. Click on the WebSphere managed instance. Under the DeployMgr profile, click on the related managed instance such as EA_JS_95. As in the example in Figure 53, Server Manager displays the instance running, the online users using both cluster members, and each cluster member generating its own log files. Note: Load balancing is based on workload, not number of users, and in practice can vary over time as WebSphere manages some node affinities to route similar application work to the same node for optimal performance.
Figure 53. Server Manager WebSphere managed instance