APPENDIX A

Server Configuration Files and Document Type Declaration

In this appendix we'll identify the server configuration files for J2EE OC4J Standalone Edition installation and the corresponding DTD.

Server Configuration Files In this section we'll identify key server configuration files, their location, and describe them.

Location Located in the OC4J $0RACLE_HOME/j2ee/home/config directory.

Files and Descriptions In the following sections we'll list each server configuration file, provide a description and DTD link, and show you a sample file.

application.xml Description: Contains default J2EE application settings. DTD link: http: I /xmlns .oracle. com/ias/dtds/orion-application-9_04.dtd Sample: A sample application. xml file is provided. 497 498 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 499 data-sources.xml Description: Allows configuration of JDBC Data Sources. DID link: http: I /xmlns .oracle. com/ias/dtds/data-sources-9_04.dtd Sample: A sample data-sources. xml file is provided.

global-web-application.xml Description: Contains default settings. DID link: http: I /xmlns. oracle. com/ias/dtds/orion-web-9_04.dtd Sample: A sample global-web-application. xml file is provided. 500 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

xsl com.evermind.servlet.XSLServlet defaultContentType text/html --> jsp oracle.jsp.runtimev2.JspServlet check_page_scope true O

main_mode justrun --> rmi com.evermind.server.rmi.RMIHttpTunnelServlet rmip com.evermind.server.rmi.RMIHttpTunnelProxyServlet ssi com.evermind.server.http.SSIServlet APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 501

cgi com.evermind.server.http.CGIServlet perl com.evermind.server.http.CGIServlet interpreter perl php com.evermind.server.http.CGIServlet interpreter php

rmi /*.tunnelrmi rmip /*.tunnelrmip

jsp /*.jsp jsp /*.JSP jsp /*.jspx jsp /*.sqljsp 502 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

jsp /*.SQLJSP cgi /*.cgi perl /*.pl php /*.php php /*.php3 php /*.phtml ssi /*.shtml index.html default.jsp

http-web-site.xml Description: Allows configuration of ports, virtual hosts, default web applications, SSL, and other web settings. DID link: http: I /xmlns. oracle. com/ ias/dtds/web- site-9 _ 04. dtd Sample: A sample http-web-site. xml file is provided.

APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 503

internal-settings.xml Description: Contains RMI-IIOP settings. DID link: http:/ /xmlns.oracle.com/ias/dtds/internal-settings-9_04.dtd Sample: A sample internal-settings. xml file is provided.

jazn.xml Description: Allows configuration of JAAS security providers. DID link: http:/ /xmlns.oracle. com/ias/dtds/jazn-9_04.dtd Sample: A sample j azn. xml file is provided.

<1-- --> 504 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

jazn-data.xml Description: Stores JAAS security data when using the XML provider type. DTD~:http://xmlns.oracle.com/ias/dtds/jazn-data-9_04.dtd Sample: A sample jazn-data. xml file is provided.

jazn.com anonymous The default guest/anonymous user< I description> SCOTT SCOTT

{903}kVoSQz1AsN7PYTyTgHygdWSopKZuXX6B admin OC4J Administrator OC4J Administrator

{903}VWSPKvF9LNcDobBmbaOAZmrxY2dzHa21VLbY6+qaPck= user The default user

{903}4yajGqVyikRSPrwMbzsK83B8ybfJNbh1 pwForScott Password for database user Scott

{903}SYrD5W1CPd8RFhriDpdocomUGkzUPkXw APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 505

pwForSSL Password for ssl key and trust stores

{903}2haPo4wmMinDVyY6QtliXY8UzWcjjwjN pwForSystem Password for database system user

{903}reGwwAY9rjt90WdxXSLSEHcAOCXBHlpg administrators Realm Admin Role Administrative role for this realm. user admin jmxusers JMX users Allows access to application level user defined MBeans< /description> users user user user SCOTT 506 APPENDIX A I SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

role administrators guests user anonymous role users

jazn.com role

oracle.security.jazn.spi.xml.XMLRealmRole jazn.com/administrators

com.evermind.server.rmi.RMIPermission login

oracle.security.jazn.realm.RealmPermission jazn.com APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 507

modifyrealmmetadata

oracle.security.jazn.realm.RealmPermission jazn.com createrealm

oracle.security.jazn.realm.RealmPermission jazn.com dropuser

oracle.security.jazn.realm.RealmPermission jazn.com droprealm

com.evermind.server.AdministrationPermission administration administration

oracle.security.jazn.policy.RoleAdminPermission jazn.com/*

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.realm.RealmPermission$jazn.com$createrole

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.realm.RealmPermission$jazn.com$modifyrealmmetadata< /name> 508 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.policy.RoleAdminPermission$jazn.com/*$

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.realm.RealmPermission$jazn.com$createrealm

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.realm.RealmPermission$jazn.com$droprealm

oracle.security.jazn.policy.AdminPermission

oracle.security.jazn.realm.RealmPermission$jazn.com$droprole jazn.com role

oracle.security.jazn.spi.xml.XMLRealmRole jazn.com/users

com.evermind.server.rmi.RMIPermission login APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 509

jazn.com role

oracle.security.jazn.spi.xml.XMLRealmRole jazn.com/jmxusers

com.evermind.server.rmi.RMIPermission login

oracle.security.jazn.tools.Admintool

oracle.security.jazn.realm.RealmloginModule required 510 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

oracle.security.jazn.oc4j.JAZNUserManager

oracle.security.jazn.realm.RealmloginModule required

jms.xml Description: Allows configuration of the default JMS implementation. DTD link: http:/ /xmlns.oracle.com/ias/dtds/jms-server-9_04.dtd Sample: A sample jms. xml file is provided.

A dummy queue

A dummy topic APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 511

Oracle Syndication Services Queue

-->

Queue for replication scheduler

-->

Queue for Web Clipping

512 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

mime. types Description: Maps MIME types to file extensions. DTD link: Not applicable Sample: A sample mime. types file is provided.

# Registered mime-types

application/activemessage application/andrew-inset application/applefile application/atomicmail application/dca-rft application/dec-dx application/mac-binhex40 hqx application/mac-compactpro cpt application/macwriteii application/msword doc application/news-message-id application/news-transmission application/octet-stream bin dms lha lzh exe class application/ada oda application/pdf pdf application/postscript ai eps ps application/powerpoint ppt application/remote-printing application/rtf rtf application/slate application/wita application/wordperfect5.1 application/x-bcpio bcpio application/x-cdlink vcd application/x-compress z application/x-cpio cpio application/x-csh csh application/x-director dcr dir dxr application/x-dvi dvi application/x-gtar gtar application/x-gzip gz application/x-hdf hdf application/x--jnlp-file jnlp application/x-koan skp skd skt skm application/x-latex latex application/x-mif mif application/x-netcdf nc cdf application/x-sh sh application/x-shar shar application/x-stuffit sit APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 513 application/x-sv4cpio sv4cpio application/x-sv4crc SV4CrC application/x-tar tar application/x-tcl tel application/x-tex tex application/x-texinfo texinfo texi application/x-troff t tr roff application/x-troff-man man application/x-troff-me me application/x-troff-ms ms application/x-ustar us tar application/x-wais-source src textlxml xml ent cat sty text/dtd dtd text/xsl xsl application/zip zip audio/basic au snd audio/mpeg mpga mp2 audio/x-aiff aif aiff aifc audio/x-pn-realaudio ram audio/x-pn-realaudio-plugin rpm audio/x-realaudio ra audio/x-wav wav chemical/x-pdb pdb xyz image/gif gif image/ief ief image/jpeg jpeg jpg jpe image/png png image/tiff tifftif image/x-cmu-raster ras image/x-portable-anymap pnm image/x-portable-bitmap pbm image/x-portable-graymap pgm image/x-portable-pixmap ppm image/x-rgb rgb image/x-xbitmap xbm image/x-xpixmap xpm image/x-xwindowdump xwd message/external-body message/news message/partial message/rfc822 multipart/alternative multipart/appledouble multipart/digest multipart/mixed multipart/parallel 514 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

text/html html htm text/plain txt text/richtext rtx text/tab-separated-values tsv text/x-setext etx text/x-sgml sgml sgm video/mpeg mpeg mpg mpe video/quicktime qt mov video/x-msvideo avi video/x-sgi-movie movie x-conference/x-cooltalk ice x-world/x-vrml wrl vrml text/vnd.wap.wml wml application/vnd.wap.wmlc wmlc text/vnd.wap.wmlscript wmls application/vnd.wap.wmlscriptc wmlsc image/vnd.wap.wbmp wbmp text/vnd.sun.j2me.app-descriptor jad application/java-archive jar text/css css

oc4j.properties Description: Allows setting of flags for backward compatibility and other server options. DTD link: Not applicable Sample: A sample oc4j. properties file is provided. oracle.home=%s_javapOracleHome%

oc4j-connectors.xml Description: Contains settings for global connectors. DTD link: http: I /xmlns. oracle. com/ias/dtds/oc4j-connectors-9_04.dtd Sample: A sample oc4j- connectors. xml file is provided.

APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 515 principals.xml Description: Stores user and group configuration for the default UserManager. D11>~:http://xmlns.oracle.com/ias/dtds/principals-9_04.dtd Sample: A sample principals. xml file is provided.

users guests administrators no description The default user The default guest/anonyomous user< I description> The default administrator

516 APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION

Password for database user Scott Password for database user Scott Password for database user Scott

rmi.xml Description: Contains RMI, port, and clustering settings. DID link: http: I /xmlns. oracle. com/ias/dtds/rmi-server-9_04.dtd Sample: A sample rmi. xml file is provided.

APPENDIX A SERVER CONFIGURATION FILES AND DOCUMENT TYPE DECLARATION 517 server.xml Description: Root configuration file, which contains server settings, references to other configuration files, and deployed applications. D11>~http://xmlns.oracle.com/ias/dtds/application-server-9_04.dtd Sample: A sample server. xml file is provided.

APPENDIX B

Deployment Descriptors and Document Type Declaration

In this appendix we'll identify the deployment descriptors for the sample Petstore application and the corresponding document type declaration (DTD). The Petstore application is a demon• stration program that's available for testing. It and other sample programs are available from http:llotn.oracle.comlsample_codeltechljavaloc4jlindex.html.

Deployment Descriptor Files In this section we'll identify key deployment descriptor files, their location, and describe them.

Location Located in the OC4J $0RACLE_HOMEiapplication-deploymentslapp1ication_name directory and in subdirectories beneath it.

Files and Descriptions In the following sections we'll list each deployment descriptor file, provide a description and DTD link, and show you a sample file.

orion-application.xml Description: Root application configuration file containing application configuration settings and references to application component files (EJB and WAR). DTD link: http: I lxmlns.oracle.comliasldtdslorion-application-9_04.dtd Sample: A sample orion-application. xml file is provided.

519 520 APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION

jazn-data.xml Description: Stores JAAS security data when using the XML provider type. DTD link: http:/ /xmlns.oracle.com/ias/dtds/jazn-data.dtd Sample: A sample jazn-data.xml file is provided.

jazn.com APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION 521

principals.xml Description: Stores user and group configuration for the application. DTD link: http: I /xmlns. oracle. com/ias/dtds/principals-9_04. dtd Sample: A sample principals. xml file is provided.

orion-web.xml Description: Contains application settings for web application component. DTD link: http: I /xmlns.oracle.com/ias/dtds/orion-web-9_04.dtd Sample: A sample orion-web. xml file is provided. 522 APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION

<1-- Uncomment this element to control web application class loader behavior. -->

orion-ejb-jar.xml Description: Contains EJB settings within the deployed Petstore mailerEjb.jar file. There is one of these files for each deployed EJB JAR file. DID Unk: http: I /xmlns .oracle. com/ias/dtds/orion-ejb-jar-9_04.dtd Sample: A sample orion-ej b- jar. xml file is provided.

APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION 523 web.xml Description: Located in $0RACLE_HOME/applications/application_name/application_name/ WEB-INF. Contains configuration settings for a web application. DTD link: http:/ /java. sun.com/j2ee/dtds/web-app_2.2.dtd Sample: A sample web. xml file is provided.

WebTier Web Tier DD for the PetStore application

webTierEntryPoint centralServlet no description com.sun.j2ee.blueprints.petstore.control.web.MainServlet webTierEntryPoint /control/*

populateServlet Populate Servlet no description com.sun.j2ee.blueprints.tools.populate.web.PopulateServlet populateServlet /populate

54

index.html 524 APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION

jdbc/EstoreDataSource javax.sql.DataSource Container

ejb/catalog/CatalogDAOClass java.lang.String com.sun.j2ee.blueprints.shoppingcart.catalog.dao.CatalogDAOimpl ejb/profilemgr/ProfileMgrDAOClass java.lang.String com.sun.j2ee.blueprints.personalization.profilemgr.dao.ProfileMgrDAOimpl server/ServerType Oracle9iAS (1.0.2.2) Containers for J2EE java.lang.String

ejb/catalog/Catalog Session com.sun.j2ee.blueprints.shoppingcart.catalog.ejb.CatalogHome com.sun.j2ee.blueprints.shoppingcart.catalog.ejb.Catalog ejb/cart/Cart Session com.sun.j2ee.blueprints.shoppingcart.cart.ejb.ShoppingCartHome com.sun.j2ee.blueprints.shoppingcart.cart.ejb.ShoppingCart ejb/customer/Customer Session com.sun.j2ee.blueprints.customer.customer.ejb.CustomerHome com.sun.j2ee.blueprints.customer.customer.ejb.Customer ejb/profilemgr/ProfileMgr Entity APPENDIX B DEPLOYMENT DESCRIPTORS AND DOCUMENT TYPE DECLARATION 525

com.sun.j2ee.blueprints.personalization.profilemgr.ejb.ProfileMgrHome

com.sun.j2ee.blueprints.personalization.profilemgr.ejb.ProfileMgr ejb/scc/Scc Session

com.sun.j2ee.blueprints.petstore.control.ejb.ShoppingClientControllerHome

com.sun.j2ee.blueprints.petstore.control.ejb.ShoppingClientController ejb/inventory/Inventory Entity com.sun.j2ee.blueprints.inventory.ejb.InventoryHome com.sun.j2ee.blueprints.inventory.ejb.Inventory APPENDIX C

Command-Line Utility Usage

In this appendix we'll identify the syntax and common usage for the following key utilities: • opmnctl. Controls lOg AS Oracle Process and Management Notification (OPMN).

• dcmctl. Controls lOg AS Distributed Configuration Management (DCM). • emctl. Controls lOg AS Application Server Control (ASC) utility. • admin. jar. Used to manage OC4J application deployments and starts and stops the server.

opmnctl Usage In this section we'll cover the purpose, location, common usage, and syntax for the opmnctl utility.

Purpose OPMN system is a background process that manages all the individual components for a given 1Og AS instance. Each of these interrelated processes is managed by OPMN. lf a process dies, OPMN will attempt to restart it. It continually polls the processes that it expects to be up and restarts them if they die or become unreachable. Though OPMN is a background process, it has a command-line interface that can be used to stop or start all the processes for a given installation. The opmnctl utility is a handy way to start or stop the software without having to use the web GUI ASC utility.

Location Located in the lOg AS $0RACLE_HOME/opmn/bin directory.

Common Usages Common usages for opmnctl are shown in the following sections.

Start up all processes $ opmnctl startall opmnctl: starting opmn and all managed processes ... 527 528 APPENDIX C COMMAND-LINE UTILITY USAGE

Shut down all processes $ opmnctl stopall opmnctl: stopping opmn and all managed processes •..

Start and stop individual processes (OHS, for example) $ opmnctl stopproc ias-component=HTTP_Server opmnctl: stopping opmn managed processes .•. $ opmnctl startproc ias-component=HTTP_Server opmnctl: starting opmn managed processes •.•

Restart individual processes (OHS or OC4], for example) $ opmnctl restartproc ias-component=HTTP_Server opmnctl: restarting opmn managed processes .•• $ opmnctl restartproc ias-component=OC4J process-type=home opmnctl: restarting opmn managed processes •••

Check status $ opmnctl status

Processes in Instance: 904mt1.mike.wessler.name ------+------+------+------ias-component I process-type pid I status ------+------+------+------0(4] home 30930 Alive HTTP Server HTTP Server 31207 Alive dcm-daemon dcm-daemon 30611 Alive Log loader logloaderd N/A Down $

Syntax To get a list of available arguments, issue opmnctl -help, as follows:

$ opmnctl -help

usage: /u01/app/oracle/product/9.0.4inf1/0raHome1/opmn/bin/opmnctl [verbose] [] []

verbose: print detailed execution message if available APPENDIX C COMMAND-LINE UTILITY USAGE 529

Permitted // combinations are:

scope command options ------start - Start opmn startall - Start opmn &all managed processes stopall - Stop opmn &all managed processes shutdown - Shutdown opmn &all managed processes [] startproc [ = .. ] - Start opmn managed processes [] restartproc [ = .. ] - Restart opmn managed processes [] stopproc [ = .. ] - Stop opmn managed processes [] reload - Trigger opmn to reread opmn.xml [] status [] - Get managed process status ping [] - Ping local opmn validate [] - Validate the given xml file help - Print brief usage description usage [] - Print detailed usage description

$ dcmctl Usage In this section we'll cover the purpose, location, common usage, and syntax for the dcmctl utility.

Purpose DCM works in conjunction with OPMN and has the primary responsibility of synchronization of the instance components (for example, OC4J and OHS) with the repository. Though OPMN works internally within the instance, DCM communicates instance updates externally to other instances and the infrastructure. This is especially important when the mid-tier instance is part of a farm (attached to an infrastructure) or part of a cluster. DCM makes sure that the configuration files on the file system are in sync with the repository, and any updates are propagated accordingly. DCM is also used to deploy J2EE applications to the embedded OC4J instances within lOg AS. The dcmctl utility is useful for several tasks such as the following: • Checking the status of the application server instance. • Starting and stopping individual components within the instance. • Synchronizing configuration files with the repository. • Making backups of the instance configuration. • Deploying applications to OC4J embedded lOg AS instances. • Redeploying applications to OC4J embedded lOg AS instances. • Undeploying applications from OC4J embedded lOg AS instances. 530 APPENDIX C COMMAND-LINE UTILITY USAGE

Location Located in the lOg AS $0RACLE_HOME/dcm/bin directory.

Common Usages Common usages for dcmctl are shown in the following sections.

Check status $ dcmctl getstate

Current State for Instance:904mt1.mike.wessler.name

Component Type Up Status In Sync Status

1 home OC4J Up True 2 HTTP_Server HTTP Server Up True $

Start an individual process (OHS, for example) $ dcmctl start -co HTTP_Server

Current State for Instance:904mt1.mike.wessler.name

Component Type Up Status In Sync Status

1 HTTP Server HTTP Server Up True $

Stop an individual process (OHS, for example) $ dcmctl stop -co HTTP_Server

Current State for Instance:904mt1.mike.wessler.name

Component Type Up Status In Sync Status ======1 HTTP Server HTTP Server Down True $ APPENDIX C COMMAND-LINE UTILITY USAGE 531

Restart an individual process (OHS, for example) $ dcmctl restart -co HTTP_Server

Current State for Instance:904mt1.mike.wessler.name

Component Type Up Status In Sync Status

1 HTTP Server HTTP Server Up True $

Verify autoarchiving $ dcmctl set Verbose: true Sort: false Warning: true Debug: true Default Timeout: 120 Auto Archive Count : 15 $

Create an archive $ dcmctl exportarchive -arch 904mt1bk-02012004_1 -f /home/oracle/archives/904mt1bk-02012004_1 $ ls -altr /home/oracle/archives/904mt1bk-02012004_1 -rw-r----- 1 oracle dba 370770 Feb 1 11:53 /home/oracle/archives/904mt1bk-02012004_1 $

Import an archive from a specific file backup $ dcmctl importarchive -arch 904mt1restore-02012004_1 -f /home/oracle/archives/ 904mt1bk-02012004_1

Import an archive from the local repository $ dcmctl applyarchiveto -arch 904mt1bk-02012004_1

Deploying a ]2EE application (ojspdemos) to an embedded 1Og AS OC4] instance (webdev, for example) $ dcmctl deployapplication -file ./ojspdemos.ear -co webdev -application ojspdemos 532 APPENDIX C • COMMAND-LINE UTILITY USAGE

Redeploying a ]2EE application (ojspdemos) to an embedded 1Og AS OC4J instance (webdev, for example) $ dcmctl redeployapplication -file ./ojspdemos.ear -co webdev -application ojspdemos

Undeploying a ]2EE application (ojspdemos) from an embedded 1Og AS OC4] instance (webdev, for example) $ dcmctl undeployapplication -co webdev -application ojspdemos

Syntax To get a list of available arguments, issue dcmctl help, as follows: $ dcmctl help DCMCTL Command Help ! ! addopmnlink applyarchiveto applyclusterto applyinstanceto configrepositoryssl createarchive createcluster createcomponent deployapplication destroyinstance echo exit exportarchive exportrepository getcomponenttype get error getopmnport getrepositoryid getreturnstatus get state help importarchive importrepository isclusterable is compatible joincluster joinfarm leavecluster leavefarm APPENDIX C COMMAND-LINE UTILITY USAGE 533 listapplications listarchives listclusters listcomponents listcomponenttypes list instances listopmnlinks quit redeployapplication removearchive removecluster removecomponent removeopmnlink repositoryrelocated resetdcmcacheport resetfiletransaction resethostinformation restart restore instance resyncinstance saveinstance set setloglevel shell shutdown start stop undeployapplication updateconfig validateearfile whichcluster whichfarm whichinstance $

To get usage for a particular command, issue dcmctl help argument_ name, as follows: $ dcmctl help restart

restart

Restarts processes.

Type

Process Management 534 APPENDIX C COMMAND-LINE UTILITY USAGE

Syntax

restart [[-cl cluster_name] I [-i instance_name] I [-co component_name] I [-ct component_type]] I [-admin]

Description

Restarts running processes in the specified scope. This command does not restart OPMN or the DCM daemon, it leaves them running. Only the processes that were running when the command was issued are restarted. If the -admin option is used, then the DCM daemon is restarted.

Example

To restart the local instance:

restart

To restart a remote instance:

restart -i mylnstance

To restart a component across a cluster:

restart -cl myCluster -co myComponent $

emctl Usage In this section we'll cover the purpose, location, common usage, and syntax for the emctl utility.

Purpose ASC is the GUI lOg AS administration utility. It can be used to control all components within a lOg AS instance and can do everything done by the opmnctl and dcmctl tools. The key differ• ence is that ASC is a web-based graphical utility. By default, the URL for the ASC tool is http://hostname.domain:1810. The username is ias _admin and the password is whatever was selected at product instal• lation time (unless it was changed post installation). The default port (1810) and the HITP Protocol can be changed (to HTTPS). Prior to accessing the ASC URL, you must first start the utility by emctl. Common usages are to start, stop, and check the status of ASC. APPENDIX C COMMAND-LINE UTILITY USAGE 535

Location Located in the lOg AS $0RACLE_HOME/bin directory.

Common Usages Common usages for emctl are shown in the following sections.

Start Application Server Control $ emctl start iasconsole TZ set to US/East-Indiana Oracle Enterprise Manager lOg Application Server Control 9.0.4.0.0 Copyright (c) 2002, 2003 . All rights reserved. Starting Oracle lOg Application Server Control .•..•• started. $

Stop Application Server Control $ emctl stop iasconsole TZ set to US/East-Indiana Oracle Enterprise Manager lOg Application Server Control 9.0.4.0.0 Copyright (c) 2002, 2003 Oracle Corporation. All rights reserved.

Stopping Oracle lOg Application Server Control • . • Stopped. $

Check status ofApplication Server Control $ emctl status iasconsole TZ set to US/East-Indiana Oracle Enterprise Manager lOg Application Server Control 9.0.4.0.0 Copyright (c) 2002, 2003 Oracle Corporation. All rights reserved. Oracle lOg Application Server Control is running. $

Change start Application Server Control password $ emctl set password tigerpassword newpasswordl TZ set to US/East-Indiana Oracle Enterprise Manager lOg Application Server Control 9.0.4.0.0 Copyright (c) 2002, 2003 Oracle Corporation. All rights reserved. $ 536 APPENDIX C COMMAND-LINE UTILITY USAGE

Syntax To get a list of available arguments, issue emctl -help, as follows: $ emctl -help TZ set to US/East-Indiana Oracle Enterprise Manager lOg Application Server Control 9.0.4.0.0 Copyright (c) 2002, 2003 Oracle Corporation. All rights reserved. Invalid arguments

Unknown command option -help Usage:: Oracle Enterprise Manager lOg Application Server Control commands: emctl startl stopl status! startifdown iasconsole emctl set password emctl secure em emctl config agent credentials [[:]]

$

admin.jar Usage In this section we'll cover the purpose, location, common usage, and syntax for the admin. jar utility.

Purpose Used to manage J2EE application deployments to OC4J Standalone Edition. It can be used to deploy, bind, or undeploy applications. It is also used to stop and start the OC4J server.

Location Located in the OC4J standalone $0RAC LE _HOME I j 2ee/home directory.

Common Usages Common usages for admin. jar are shown in the following sections.

Application deployment $ java -jar admin.jar ormi://192.168.1.11:11888 admin tigerpassword -deploy -file petstore.ear -deploymentName petstore

Binding application to URI $java -jar admin.jar ormi://192.168.1.11:11888 admin tigerpassword -bindWebApp petstore petstore http-web-site /petstore APPENDIX C COMMAND-LINE UTILITY USAGE 537

Undeployment $java -jar admin.jar ormi://192.168.1.11:11888 admin tigerpassword -undeploy petstore

Starting server $java -jar oc4j.jar -config $0RACLE_HOME/j2ee/home/config/server.xml -verbosity 10 -err $0RACLE_HOME/j2ee/home/log/err.log

Stopping server $java -jar admin.jar ormi://mike.wessler.name:11888 admin tigerpassword -shutdown

Syntax To get a list of available arguments, issue java -jar admin. jar help, as follows: $ java -jar admin.jar -help Usage: java -jar admin.jar [-help] - print out this usage java -jar admin.jar ormi://host.domain.com<:port> username password [command] Commands are: -shutdown [forcelordinary] [reason] - shuts the entire server down -restart [reason] - restarts the entire server -deploy [subswitches] - (re)deploys an application. Sub-switches are: -file [filename] - Enterprise Archive to deploy -deploymentName [name] - Name of the application deployment -targetPath [path] - The path on the remote OS to place the archive at. If not specified the applications directory is used -parent [name] - Specifying parent application of this application, the default is the global ('default') application -deploymentDirectory [path] - Root of the deployment configurations, "[NONE]" to place them inside the .ear -cluster - Signals that the deployment should be propagated to other live cluster nodes if part of a cluster -iiopClientJar - the path on the local OS to place the jar file containing the application client stubs -undeploy [application name] - remove a previously deployed application -site [subswitches] - configures a site. Sub-switches are: -add - adds a site -host [host] - host/IP of this site -port [port] - port of this site -display-name [display-name] - display name of this site -virtual-hosts [virtual-hosts] - virtual hosts of this site -secure [secure] - true if this site is secure; otherwise false -factory [factory] - name of SSLServerSocketFactory implementation 538 APPENDIX C COMMAND-LINE UTILITY USAGE

if not using JSSE -keystore [keystore] - the relative/absolute path to a keystore used by this site -storepass [storepass] - keystore password -provider [provider] - the provider used if not using JSSE -needs-client-auth [needs-client-auth] - true if needs client auth; otherwise false -remove - removes a site -host [host] - host/IP of the site to be removed -port [port] - port of the site to be removed -test - tests a site -host [host] - host/IP of the site to be tested -port [port] - port of the site to be tested -list - lists all sites -update - updates a site -oldHost [host] - old host/IP of this site -oldPort [port] - old port of this site -newHost [host] - new host/IP of this site -newPort [port] - new port of this site -display-name [display-name] - display name of this site -virtual-hosts [virtual-hosts] - virtual hosts of this site -secure [secure] - true if this site is secure; otherwise false -factory [factory] - name of SSLServerSocketFactory implementation if not using JSSE -keystore [keystore] - the relative/absolute path to a keystore used by this site -storepass [storepass] - keystore password -provider [provider] - the provider used if not using JSSE -needs-client-auth [needs-client-auth] - true if needs client auth; otherwise false -bindWebApp [application deployment name] [web-app name] [web-site name] [context root] - binds a web app to the specified site + root -application [name] [command] - application specific command, subcommands includes: -dataSourceinfo - gets info about the installed datasources -restart - restarts the application, this will trigger auto-deployment if enabled and a file has been touched -addUser [username] [password] - adds a user to the application -listDataSource - lists the installed datasources -removeDataSource - removes an existing datasource, arguments are: -location [location] - the namespace location for the source, for instance jdbc/DefaultDS -testDataSource - tests an existing datasource, arguments are: -location [location] - the namespace location for the source, for instance jdbc/DefaultDS -username [username] - the username to login -password [password] - the password to login APPENDIX C COMMAND-LINE UTILITY USAGE 539

-installDataSource - installs a new datasource, arguments are: -jar [path] - path to a jar file to add to the server's library -url [url] - the JDBC database URL -location [location] - the namespace location for the raw source, for instance jdbc/DefaultRawDS -pooledlocation [pooledlocation] - the namespace location for the pooled source, for instance jdbc/DefaultPooledDS -xalocation [xalocation] - the namespace location for the XA source, for instance jdbc/xa/DefaultXADS -ejblocation [ejblocation] - the namespace location for the EJB source, for instance jdbc/DefaultEJBDS - this is the source usually used by applications -username [username] - the username to login -password [password] - the password to login -connectionDriver [drivername] - the JDBC database driver class, for instance com.mydb.Driver -className [className] - the datasource class name, for instance com.evermind.sql.DriverManagerDataSource -sourcelocation [sourcelocation] - the underlying data source of this specialized data source -xaSourcelocation [xaSourcelocation] - the underlying XADataSource of this specialized data source -updateDataSource - updates an existing datasource, arguments are: -oldlocation [oldlocation] - the old namespace location for the source, for instance jdbc/DefaultDS -newlocation [newlocation] - the new namespace location for the source, for instance jdbc/DefaultDS -jar [path] - path to a jar file to add to the server's library -url [url] - the JDBC database URL -pooledlocation [pooledlocation] - the namespace location for the pooled source, for instance jdbc/DefaultPooledDS -xalocation [xalocation] - the namespace location for the XA source, for instance jdbc/xa/DefaultXADS -ejblocation [ejblocation] - the namespace location for the EJB source, for instance jdbc/DefaultEJBDS - this is the source usually used by applications -username [username] - the username to login -password [password] - the password to login -connectionDriver [drivername] - the JDBC database driver class, for instance com.mydb.Driver -className [className] - the datasource class name, for instance com.evermind.sql.DriverManagerDataSource -sourcelocation [sourcelocation] - the underlying data source of this specialized data source -xaSourcelocation [xaSourcelocation] - the underlying XADataSource of this specialized data source -deployconnector - deploy a Connector Architecture compliant resource adapter 540 APPENDIX C COMMAND-LINE UTILITY USAGE

(RAR), arguments are: -file [path] - path to the Resource Adapter Archive to deploy -name [name] - name of the resource adapter deployment -nativelibPath [path] - path to the native libraries within the RAR archive -grantAllPermissions - grant all runtime permissions requested by the RAR -undeployconnector - undeploy a Connector Architecture compliant resource adapter (RAR), arguments are: -name [name] - name of the resource adapter deployment -updateConfig - trigger oc4j server to check the configuration file changes $ APPENDIX D

Debugging Tips

In this appendix we'll identify some options that you can use when debugging OC4J applica• tions. Specifically, we'll identify the following:

• Debugging options within the lOg AS Application Server Control (ASC) utility.

• Logging options within lOg AS.

• Logging and debug switches within OC4J.

1Og AS Application Server Control Utility In this section we'll cover the debugging options within ASC.

Description Once a J2EE application has been deployed to the lOg AS mid-tier server, the ASC utility provides a wide range of management options to the administrator. Among these manage• ment options is the ability to turn on debugging. Figure D-1 shows you the available JSP debugging options. In Figure D-1, you can see that it's possible to do the following:

• Thrn debug mode on or off.

• Emit debug information.

• Specify if a recompilation will occur when a JSP changes.

• Run a precompile check.

• Validate XML.

• Use a different Java compiler.

541 542 APPENDIX D • DEBUGGING TIPS

gt ~ ~~ n lqt m1ftr "MW > ~ > Wf'b h'Odlft Global Web Mgdytt > JSP Prooet&Ms: J$1> JSP Properties: JSP

Oracle JSP Conlalner Prop&rties Tho foloMnO - moy bO u>Od 10 coofogure tho Oracle JSI' COnlllntt

Elnemol Besourto f« 5-Conllnt No • Gtno

~ ¢ 1 116 :»0) lt .M.tl'tHI"iltd Mo' 2'fdt E ,.,.,, Mrezt !ilP At'X*C* mn s,., C:'n'rd

......

Figure D-1. JSP debugging options

Changing options for JSP isn't all that you can do. At the bottom of the OC4J Server Prop- erties page (see Figure D-2), you can specify command-line options that OC4J will use. In Figure D-2, you can see that it's possible to do the following:

• Specify a different Java executable.

• Provide different OC4J options.

• Specify different Java options such as memory heap size. You can also specify debug switches, as shown at the end of this appendix.

• Add environment variables.

These provide useful capabilities for when debugging applications and for performance tuning. APPENDIX D • DEBUGGING TIPS 543

Multlple VM Configur•tJon C:ll nP tf OCAJ .c., 1dGd ~ erd r..soc..eect proces:.M "~~~ c:. M~IOI'nellfaty •noo IslAnds ~'--..=~=~~~~c=~~~~-~

Porto !!1•'1 POI1l 3201-3300 ~ ..5 POIU 3701-JtlOO 6JP Po ~1-3o400

RMI~IOP Ports JIOPPons I lOP SSL IS."'"r ony) IIOP SS (- end CA«li) Command L•n• OpUons J""'f;""'Uiellio QC4J ()plron> .lo'o'l 0i>11C>no -.er.rer -0.... soturlly pol>

1Og AS Application Server Control Logging In this section we'll cover the logging options within ASC.

Description lOg AS provides a wide range oflogging options for all server components: OHS, OC4J, OPMN, DCM, BC4J and even deployed J2EE applications. These are managed and viewed within the graphical ASC utility. Figure D-3 shows you some of the available component logs. In Figure D-3, you can see that there are many different components that generate logs. In the case shown in Figure D-3 you only wanted to see logs for the OC4J home container instance. This provided 62log files that could be reviewed from the GUI screen. 544 APPENDIX D • DEBUGGING TIPS

View Logs

lovFu.. ~~,.,._,~.• .,,

Thtlog F!iM teb •m tne 100 ''"for dt~ aoplc.IIIJOn 581\'9( V.ew a lOg flit by C.I"CkfnO on 1be log File namllr'l rne Mereh ~ Ulb6e Simple Search Avolleble Componon\1 S•t.c:ted Components

6C4J > homo DCI.I Entt!'tii'ISel.'..ar'I6QIIr ··~ HTTP_So '"' ~lOO

Resuhs: 62 Log Entries Retrieved ,_h4 Fie Componon1 lrP" kO!ft!>OMnl H • t., Typo tog OC&J ADr;t'C.etJon nome A!>!*OilOnOO- ~1!!10~ Fo!>nltl)l1$. 200" 3 3450 PM EST 1119001.... __ OCAJ A:lpl!Jk..., homo Aj>plle61o0ft00feut ~ISISi!!l~ Feoruory rs 200" , 119dofoULislonO 3 35:02 PM EST OC•J Aj>IIUa:.on homo ....,...... ,.!aut Cll!2~t;2!lt!itfil Feoruory rs. 2oo: 1119001aull_iSIOncl 334 50 PM EST OCAJAD!ik"""" - .o,ppi

Searching through this many log files for a specific error can be tedious and can cause errors. lOg AS provides advanced searching options, as shown in Figure D-4. In Figure D-4 you can see that it's possible to do the following:

• Select one or many different components to review logs for (for example, OHS, BC4J, DCM, OC4J applications).

• Look for specific types of messages: Internal Error, Error, Warning, Notification, Trace, and Unknown.

• Search based on a specific message text.

• Search based on a regular expression.

• Limit the result-set size. • Enter a date range.

These options allow you to automate the review of multiple log files when tracking down a problem, thus improving efficiency. APPENDIX D • DEBUGGING TIPS 545

V1ew Logs

..QSl.fJa S.erch log Repow to~ Tho SUit~ log Rapo$'10<}' 1111-. )'(M' .. QU1fy 111<1 log R~ Tho log R...,..,., Oo

Av1ll1ble Component• Selec-ted Components Message Types BCAJ !illn:emol EtYOt 9Wam>ng EITeooon 9UIII

Elload log$ belOit 1)0<1o<"*'9 -tC~ Date Range I!WOSIRoetltt 3 om • O TIIIIOinltMII s..n Dele ~ End Care

S!artTme ' o1~ 00 •

WDI~ I

Figure D-4. Advanced log searching options

Logging and Debugging Options within OC4J In this section we'll cover the logging and debugging options within OC4J.

Logging The OC4J server is based on the Orion web application server. Therefore, the logging and debugging features within Orion are also within OC4J (although Oracle may make some changes). There are six log file types that can be found within OC4J: application, global appli• cation, server, HTTP web access, RMI, and JMS.

Application Log Each deployed application generates an application .log located in $0RACLE_HOME/j2ee/ home/application-deployments/application_ name. This log file shows application deployments, stopping, starting, and any errors with timestamps that occurred within the application. This is specific to a deployed application. 546 APPENDIX D DEBUGGING TIPS

Global Application Log The server tracks startup and shutdown errors in the global-application .log located in the $ORACLE_ HOME/j2ee/home/log directory.

Server Log The server .log file shows startup, shutdown, and internal errors with timestamps within the OC4J container. It's located in the $0RACLE_HOME/j2ee/home/log directory.

HTTP Web Access Log The HTTP web access log shows Apache style access to the application as shown in http-web• access .log, as follows:

192.168.1.39 - - [27/May/2004:19:36:14 -0500] "GET I HTIP/1.1" 200 2919 192.168.1.39 - - [27/May/2004:19:36:14 -0500] "GET /blaf.css HTIP/1.1" 200 5832 192.168.1.39 - - [27/May/2004:19:36:34 -0500] "GET /examples/servlets HTIP/1.1" 301 0

You can use this file to see what traffic is reaching your server, from where, and what it is doing. This file is located in $0RACLE_HOME/j2ee/home/log. The format and location of this log file is configured within $0RACLE_HOME/j2ee/home/config/http-web-site.xml.

RMI Log Remote Method Invocation (RMI) messages are written to rmi .log, which is located in the $0RACLE_HOME/j2ee/home/log directory.

JMS Log Java Message Service (JMS) messages are written to jms .log, which is located in the $0RACLE_HOME/j2ee/home/log directory.

Debug Switches It's possible to pass debug switches to OC4J, both with the OC4J standalone and as part of a 1Og AS mid-tier installation. To set a switch within the lOg AS mid-tier server, put it in the Java Options box of the ASC Server Properties page, as shown in Figure D-2. To run the OC4J standalone with a debug switch, you need to adjust your startup command. Place -Dswitch_name after the java command when starting OC4J. For example, to start up OC4J with the http. error. debug option on, issue the following:

$ java -Dhttp.error.debug -jar oc4j.jar -config config/server.xml -verbosity 10

Here are some multiple debug switches that are available.

• ApplicationServerDebug

• jdbc.debug APPENDIX D • DEBUGGING TIPS 547

• jdbc.connection.debug • datasource.verbose • DataSourceConnection.debug • rmi.debug • http.error.debug • http.session.debug • ajp.debug • ejb.debug.state • tag.library.loadgin.debug • debug.corruptbinary • multicast.debug • zip.debug

Other debug switches are also available. For more information see Appendix A of the OTN athttp://download-west.oracle.com/docs/cd/B12314_01/web.904/b10323/toc.htm as~ellas the Orion application server ~ebsite (www. ironflare. com). Go to Documentation and then Debugging. Index

Symbols -adduser Admintool command, effect of, 116 ! (exclamation point), significance of, 110 Admin Server process, example of, 397 $1 argument, significance of, 207 Administration page $0RACLE_HOME/ dcm/logs directory, sections of, 353-354 contents of, 341 usefulness of, 330 . (period), adding to PATH variable, 312 Administration Utilities component, role in ./,significance of, 312 Infrastructure instance, 288 administrative duties, overview of, 327 umbers administrative pages, shutting down for 9.0.2 and 9.0.3 releases, significance of, 4 security, 432 9.0.4 release. See lOg AS administrator account, changing password 9iAS 1.0.2X software, problem with, 314 for, 407 9iAS v1 and v2 releases, description of, 5 administrator password, setting for OC4J 10gAS Standalone Edition, 24 administrative duties of, 327-328 administrators role choosing release versions of, 4-6 authenticating as member of, 114 downloading, 309 specifying member for, 111 editions of, 1-4 admin.jar command-line utility environmental considerations related to, purpose and location of, 536 18 stopping OC4J with, 29 features of, 8 syntax for, 537-540 installation documentation for, 304 usages of, 536-537 overview of, 279-280 Advanced Server Properties page, displaying ports used by, 21 in Oracle Enterprise Manager, 333, problem with 9iAS 1.0.2X software, 314 359 and security, 102-104 AggreSpy, features of, 363-364 10gAS architecture Ant build script, writing for WAR application, component hierarchy of, 284-286 162-163 instances, farms, and clusters in, 286-287 Apache Axis project, building client for, overview of, 284 260--261 lOg AS components, interaction of, 282 Apache directive mappings, list of, 332 1Og AS connection architecture, overview of, Apache documentation, resource for, 333 280--284 Apache Jakarta Log4J project, web address 904mtl mid-tier instance for, 47 joining cluster with, 482 Apache James project, web address for, 126 testing loss of, 494-495 Apache }Meter testing framework, benefits 904mt2 mid-tier instance of,20 redirecting requests to, 496 Apache settings, management of, 333 WC server support for, 462-463 Apache web-server component, significance of, 282-283 applets, role in connection architecture, 281 absolute file paths, specifying, 47 application clients, choosing, 267-268. See AC4J, asynchronous invocation with, also clients 222-224 application component files, location of element, using with orion• references to, 519-520 web.xml descriptor, 190--191 application configurations, modifying with Add Site definition, creating for ASC, 383-387 wc-test.name, 404 application deployment strategies, overview of,20 549 550

application logs, using, 545-546 AQ reference, resource for, 94 application requirements, considering when archive snapshots choosing editions, 15-16 determining storage and availability of, application server cluster, significance of, 340 286 taking backups as, 339 Application Server Control main page, AS J~S. See Oracle AS ~S displaying in Oracle Enterprise ASC (Application Server Control) ~anage~163-164,284 accessing Apache configuration files with, application server instance, checking status 333 of, 338 configuring and stopping, 333-334 Application Servers page, displaying in ASC, creating webdev dedicated OC4J instance 329 with, 371-373 application settings, location of, 521-522 debugging with, 541-542 application-auto-deploy-directory attribute, deploying and undeploying applications description of, 56 with,374-379 application-client.xml deployment features of, 9-10 descriptor, using with J2EE clients, modifying application configurations 275-276 with, 383-387 application-deployments directory of and OHS management, 330-333 j2ee/home in OC4J, contents of, 27, and performance tuning, 542 171 running in HTIPS mode, 442 application-directory attribute, description starting and accessing, 328-330, 350 of, 56 using, 192-193 application-level resources, configuring in ASC control logs, using, 360-362. See also OC4J, 41-42 logging application.log file, description of, 46 ASC editor, opening files in, 333 applications. See also HelloServlet ASC ias-admin password, changing, 438-439 application; J2EE applications ASC logging, debugging with, 543-545. See building and configuring, 83-90 also logging building with Jav~aill.2 and JNDI, 125 ASC port, changing default for, 437-438 configuring clients for, 87-88 ASC traffic, encrypting with SSL, 439-443 configuring in OC4J, 57 asdb database and listener, relationship to deploying manually, 381-382 farms, 468 deploying with ASC, 374-379 asdb Farm page, displaying in Oracle displaying general properties for, 386 Enterprise ~anager, 4 77 hardening, 429 asdb ~etadata Repository, configuring listing URLs for, 357 instances for, 472-475. See also redeploying, 379 repositories redeploying manually, 382 assembly-descriptor parameter of orion• running clients for, 88-89 ejb.jar, description of, 198 signing onto, 239-242 assistants, configuring, 325 undeploying, 380 asynchronous invocation, performing with undeploying manually, 382 AC4J, 222-224 applications directory authentication of j2ee/home in OC4J, contents of, 27 customizing, 122 versus application-deployments, 154-155 explanation of, 100 attributes in OC4J, for J2EE Connectors, 239-241 overview of, 56-57 authentication methods, setting, 107-108 application.xml file authentication modules, creating in JAAS, advisory about, 42 101 configuration files referenced in, 49 authorization description of, 44 explanation of, 100 description of and code for, 497-498 inJAAS, 101 modifying for o~s. 94 auto archiving, significance of, 339 significance of, 48 automatic failover. See also failover using with Petstore application, 149 and clustering, 461 applyarchiveto command, effect of, 340 relationship to HA (high availability), 459-460 551

Auto-Restart page, displaying in WC, 408 CAs (certificate authorities), significance of, auto-start-applications attribute, description 444-445 of, 57 certificate requests, generating with OWM (Oracle Wallet Manager), 447 certificates background process, OPMN as, 334 relationship to SSL and Oracle Wallet backup and recovery, importance of, 327 Manager, 444-445 backup archives, applying, 340 security concerns related to, 440-442 backups, taking with DCM, 339-340 class data-source property, description of, 71 base class, creating for applications, 84-85 ClassCastException BASIC authentication, example of, 107-108 throwing in OC4J, 36 BC4J page, displaying in Oracle Enterprise troubleshooting, 38-39 Manager, 385 ClassloaderTester class, modifying, 180 -bindWebApp flag, example of, 152 classloading bootclasspath option, specifying when dynamics of, 39 starting OC4J, 97 J2EE classloading, 35-36 Borland's Optimizeit profiler, downloading, Java classloading, 34-35 20 and orion-web.xml descriptor, 177-181 browse command, effect of, 88--B9 relationship to OC4J, 34,36-37 /build directory for HelloWorld WAR resource for, 39 application, description of, 160 troubleshooting, 37-39 build.xml file "Classloading in Oracle9iAS Containers for modifying for classloading, 178-180 J2EE" white paper, accessing, 39 using with EAR application, 167-168 ClassLoadTester class, example of, 178-180 using with embedded Connectors, ClassNotFoundException 246-248 throwing, 36 using with J2EE Connectors, 236 troubleshooting, 37 using with WAR application, 162-163 classpath parameters, descriptions of, 178, Business Intelligence and Forms 181 installations, overview of, 295-296 client , relationship to J2EE Connectors, Business Intelligence and Forms topology, 227-228 overview of, 298-300 client requests and connection handling, business tier in J2EE architecture, configuring, 331 description of, 138 client tier, implementing Java on, 344 client tier in J2EE architecture, description of, 138 C# code, invoking echo service with, 264 CUENT-CERT authentication, example of, cache hit, significance of, 390 108 cache misses clients. See also application clients monitoring with we, 413 for .NET, 263-265 significance of, 391-392 for Apache Axis project, 260-261 Cache Operations page, displaying in WC authentication of, 102 Manager, 400 configuring for applications, 87-88 Cache server process, example of, 397 proxy clients, 261-262 cache settings, defaults for, 416-418. See also running for applications, 88--B9 WC (Web Cache) cluster instances, creating, 479-480. See also cacheability rules and invalidation, instances; OC4J instances establishing policies for, 415-420 clustered applications, deploying, 491-493 cacheScheme property, significance of, clustered environments 73-74 configuration of mid-tier instances in, 348 caching. SeeWC (Web Cache) enabling fault tolerance in, 358-359 caching content, determining, 414-415 clustering Caching, Personalization, and Compression architecture of, 462-463 Rule page, displaying in WC, 416, 418 definitions related to, 460-461 CallbackHandler, specifying for server-side and HA (high availability), 459-460 configuration of J2EE clients, 275 relationship to orion-web.xml descriptor, 184-185 552

clustering (continued) Command Line Options, displaying on and scalable performance, 458 ServerPropertiespage,356 support for, 461-463 command-line utilities we support for, 394 admin.jar, 536-540 clustering settings, location of, 516 DCM (Distributed Configuration clusters. See also farms Management), 338-341 adding members to, 481-484 dcmctl,529-534 adding mid-tier instances to, 481-484 emctl, 534-536 components of, 4 77 OPMN (Oracle Process Management configuring We for, 485-491 Notification), 334-338 displaying status and management page opmnctl,527-529 for, 484 common sense, using with security, 435-436 features of, 280 compilers formation of, 462 configuring in OC4J, 52-53 joining, 482 for OC4J Standalone Edition, 40 role in component hierarchy, 286-287 component names, identifying, 340 starting from infrastructure Farm page, components 483 checking running status of, 335 CMP beans, adding resource reference displaying metrics for, 363-364 mappings for, 376 getting information about, 366 CMP (container-managed persistence), identifying configuration and running significance of, 63 status of, 339 CMP entity bean configuration managing for instances, 334, 527-529 mapping CMP fields to custom starting and stopping, 340-341 persistence managers, 206-207 starting and stopping with opmnctl utility, mapping complex objects as CMP fields, 335-336 205-206 compression, relationship to we, 416 mapping EJB 1.1-style CMP fields, 204-205 config directory of j2ee/home in OC4J, mapping EJB 2.0-style CMP properties, contents of, 28 205 Configuration Assistants screen, displaying, mapping many-to-many container• 325 managed relationships, 214-216 Configuration class, setting for JM.S, 104 mapping one-to-many container• configuration components, selecting, 321 managed relationships, 210-214 configuration files mapping one-to-one container-managed accessing within ASC, 333 relationships, 208-210 choosing, 44-45 mapping primary key fields, 203 descriptions, 360 mapping relationships in EJB 1.1, 216-217 displaying paths to, 355 mapping simple CMP fields, 203-204 editing directly, 358-359 overview of, 202 editing in OC4J, 42 specifying queries for finders and managing in OC4J, 42-44 selectors, 207-208 configuration settings, location of, 519-520 CMPfields configurations, modifying with ASC, 383-387 mapping,203-204 Confirm Pre-Installation Requirements mapping complex objects as, 205-206 screen, displaying, 321 referring to, 207 connection architecture, overview of, cmp-field elements 280-284 for many-to-many relationships, 214-215 connection factories for one-to-many relationships, 211-212 locations of, 83 for one-to-one relationships, 209 looking up, 87 CMR fields, advisory about setting of, 208 relationship to JMS, 82-83 -co flag, identifying component names with, connection handling and client requests, 340 configuring, 331 com.evermind.sql.DriverManagerDataSource connection pooling implementation, significance of, 68 configuring for J2EE Connectors, 238-239 com.evermind.sql.OrionCMTDataSource significance of, 63 implementation, significance of, connection-driver data-source property, 68, 73 description of, 72 553

ConnectionFactory, passing custom data source properties, customizing, 73-74 connection data into, 240 data source types, choosing, 68 connections, configuring in we, 410 data sources ConnectionSpec object, implementing, 240 accessing, 386 Connectors. See J2EE Connectors configuring in OC4J, 68-71 connector-directory attribute, description of, creating for DataSourceUserManager, 120 56-57 deploying, 7 4 root element, using using, 74-75 with J2EE Connectors, 238 database administrators, impact of system Connectors classloader, significance of, 36 compromises on, 425 connectors directory of j2ee/home in OC4J, database clusters, explanation of, 460 contents of, 28 database tier, implementing Java on, 344 container-managed relationships databases. See also measurements database many-to-many relationships, 214-216 accessing from J2EE applications, 61-64 mapping in EJB 1.1, 216-217 accessing in same transaction, 76-77 one-to-many relationships, 210-214 hardening,427-428 one-to-one relationships, 208-210 data-source attributes, customizing, 71-73 containers data-sources.xml file corruption of, 327 contents of, 62 deploying, 150-157 description of, 44 content description of and code for, 499 caching and invalidating, 415-420 modifying for OJMS, 94 determining caching of, 414-415 overriding default usemame and invalidating, 420 password in, 75 using expiration policies with, 418-419 significance of, 49 content caching. SeeWC (Web Cache) DataSourceUserManager Content Management SDK, features of, 10 configuring HelloServlet application for, content, managing with we, 393, 394 121-122 context parameters creating data source for, 120 changing inASC, 193 creating tables for, 120 overriding in orion-web.xml descriptor, features of, 104 175-177 overview of, 119 context-attribute* EJB reference in orion• datasource.verbose debug parameter, web.xml, descriptions of, 188 description of, 48 context-param-mapping elements of orion• dblink property, significance of, 7 4 web.xml, descriptions of, 176 DBMS_AQADM package, using with OJMS, contexts 93 getting, 61 DCM (Distributed Configuration relationship to JNDI, 59 Management) resources stored in, 60 and clustered applications, 491-493 ContextScanningResourceProvider class, features of, 338-341 significance of, 96 purpose of, 341 CORBA configuration, occurrence of, 224 role in Infrastructure, 290-291 cpio command, example of, 309 taking backups with, 339-340 createArchive command, effect of, 339 using with J2EE Clusters with Web Cache, Crimson implementation, getting version 300 number of, 134 DCM Processes component, role in -ct flag, identifying component types with, Infrastructure instance, 288 340 dcmctl command-line utility CVS (Concurrent Versions Systems), getting help with, 341 significance of, 42 location of, 338 purpose and location of, 529-530 ill) starting and stopping components with, DAS (Delegated Administration Service), 340-341 relationship to identity syntax for, 532-534 management,453-454 usages of, 530-532 Data Bus, relationship to AC4J, 222-223 debug switches, list of, 546-54 7 554 INDEX

debugging directory-browsing attribute of orion-web• withASC, 541-542 app, description of, 175 turning on and off for JSPs, 358 Discoverer component default application settings, modifying with features of, 12, 280 ASC, 383-384 implementation of, 283 default-* attributes of orion-web-app, Disk1 and Disk4 directories, displaying, 309 descriptions of, 17 4 DISPlAY, setting as IP address, 314-315 default-web-app directory of j2ee/home in DISPIAY=mike.wessler.name:O.O variable, OC4J, contents of, 28 purpose of, 311 default-web-site-xml file, description of, 360 I dist directory for HelloWorld WAR demo directory of j2ee/home in OC4J, application, description of, 160 contents of, 28 distributed transactions, significance of, 64. Deploy Application page, displaying in See also transactions Oracle Enterprise Manager, 374-377 dmstool, features of, 364 deployapplication, arguments for, 381 DMZ (Demilitarized Zone), creating, 431 Deployed Applications page, displaying in document root, configuring, 331 Oracle Enterprise Manager, 353 doPostO method, relationship to deployment behavior, configuring for OC4J, JavaMailServlet, 130 drivers. See 55-57 JDBC drivers DTD (document type deployment descriptor files declaration) jazn-data.xml, 52Q-521 for orion-ejb-jar.xml descriptor, 196 orion-application.xml, 519-520 for orion-web.xml, 173 orion-ejb-jar.xml, 522 DTDlinks orion-web-xml, 521-522 for application.xml file, 497 principals.xml, 521 for data-sources.xml file, 499 web.xml, 523-525 for global-web-application.xml file, 499 deployment for http-web-site.xml file, 502 overview of, 369-370 for intemal-settings.xml file, 503 process of, 153-155 jazn-data.xml, 504 strategies for, 20 for jazn-data.xml file, 520 deployment topologies for jazn.xml file, 503 Business Intelligence and Forms, 298-300 for jms.xml file, 510 J2EE Clusters with Web Cache, 30Q-301 for mime. types file, 512 overview of, 296 for oc4j-connectors.xml file, 514 standalone J2EE with Web Cache, 296-298 for oc4j.properties file, 514 deployment-directory attribute, description for orion-application.xml file, 519 of, 56 for orion-ejb-jar.xml file, 522 deployments, advisory about, 382 for orion-web.xml, 521 deployment-version attribute of orion-web• for principals.xml file, 515, 521 app, description of, 174 for rmi.xml file, 516 destination and source, specifying path for server.xml file, 517 values for, 318 for web.xml file, 523 developers DYNAMIC_SCHEME value, significance of, choosing editions for, 15-17 74 impact of system compromises on, 425 development attribute of orion-web-app, E description of, 175 EAR applications building and deploying, development environment, setting up, 16-17 166-168 development strategies, overview of, 18-19 EAR descriptors, using with J2EE Connectors, df -m command, effect of, 310 229-230 DIGEST authentication, example of, 108 /ear directory, creating, 166 directory descriptions, role in deploying J2EE EAR (enterprise archive) files applications, 154-155 building with embedded Connectors, Oracle Directory Manager, starting, 452 244-245 directory structure creating,148-149 exploring, 27-28 deploying manually, 15Q-153 preinstallation requirements for, 309-310 deployment mechanics of, 168-172 555

purpose of, 141 deployment process of, 195 redeploying applications with, 379 displaying for applications, 385 earI srciMETA-INF I application.xrnl features of, 7 descriptor, modifying for embedded invoking with clients, 268-269 Connectors, 245-246 overriding environment entries in, 222 echo $VARIABLE_NAME, effect of, 312 resolving resource env references in, echo web service. See also web services 221-222 building interface for, 252 resolving resource references in, 220-221 building stateful implementation for, 253 resolving security roles for, 225-226 building stateless implementation for, and RMI/IIOP security interoperability, 252-253 224-225 configuring and deploying, 253-255 role in J2EE mid-tier, 346 testing, 257-260 email logging, configuring in Oracle AS JMS, Edit Expiration Policy page, displaying, 419 92-93 editions of 1Og AS "embedded" connector, configuring, 243 choosing, 1-4 embedded Connectors, deploying, 244-248 choosing for developers, 15-17 emctl command-line utility choosing for testing, 17-18 changingASC ias_admin password from, deciding on features offered in, 3-4 438-439 EDITOR=vi variable, purpose of, 311 purpose and location of, 534-535 EIS (Enterprise Information System) syntax for, 536 description of, 138 usages of, 535 relationship to J2EE Connectors, 228 emctl start iasconsole command, starting EJB 1.1, mapping relationships in, 216-217 ASC with, 328 EJB 1.1-style CMP fields, mapping explicitly, emctl stop iasconsole command, stopping 204-205 ASC with, 334 EJB 2.0-style CMP properties, mapping enable-jsp-dispatcher-shortcut attribute of explicitly, 205 orion-web-app, description of, 175 EJB deployments End of Installation screen, displaying, 325 and entity bean deployment header, Enterprise Edition 10gAS administrator, 200-217 requirements for, 6 and MDB (message-driven bean) header, Enterprise Edition, features of, 2 217-218 Enterprise JavaBeans Developer Guide, web and session deployment header, 198-200 address for, 223 EJB files, location of references to, 519-520 enterprise-beans parameter of orion-ejb.jar, EJB references description of, 198 resolving, 219 entity bean deployment header resolving in orion-web.xrnl descriptor, 188 and CMP entity bean configuration, EJB security, resource for, 107 202-217 EJB settings, location of, 522 elements of, 200-202 EJB version 2.0, support for, 347 tag in JavaMail, significance of, EJB-based web service, deploying, 255-257 128 ejb.cluster.debug parameter, description of, env-entry-mapping elements of orion• 48 web.xrnl, descriptions of, 176, 222 ejb-jar.xrnl environment entries, overriding in EJBs, 222 assembly-descriptor in, 225-226 environment, validating with runlnstaller, declaring message-driven bean in, 217 315 overriding environment entries in, 222 environment variables referencing JMS topic in, 221 advisory about, 313 User and Address EJBs in, 209-210 displaying values of, 312 User and PhoneNumber EJBs in, 212-213 overriding in orion-web.xrnl descriptor, User and Role EJBs in, 215 175-177 ejb-location data-source property, preinstallation requirements for, 311-313 description of, 71 specifying for OC4J startup, 357 element, significance of, 219 unsetting, 312 EJBs (Enterprise JavaBeans) -err option for OC4J startup, and asynchronous invocation with AC4J, description of, 29 222-224 556 .DEX

Error Logs page, usefulness of, 330 flags, setting for backward compatibility, 514 error streams, redirecting in Oe4j, 47 foreign key columns, declaring for eMR ESI (Edge Side Includes), relationship to we, fields, 208 416 foreign keys, naming schemas for, 210 /etc/hosts file, example of, 307 FORM authentication, example of, 108 /etc/rc3.d directories, contents of, 327 Forms and Business Intelligence Event and Access Log pages in We Manager, installations, overview of, 295-296 options on, 411 Forms component "examples" context, accessing, 21 features of, 13, 280 exclamation point (!}, significance of, 110 implementation of, 283 execute() method, effect of, 67 FQDNs (fully qualified domain names), expiration policies, defining with we, preinstallation requirements for, 418-419 307-308 expiration settings, relationship to we, 416 expiration-setting* Servlet filters, WG descriptions of, 185 GET request, processing in HelloServlet EXPORT command, using with current application, 105 sessions, 312 getGlobalMailSessionO method, relationship exportarchive command, effect of, 340 to JavaMailServlet, 132 _getSoapURL() method, using with proxy clients, 262 failover. See also automatic failover getstate command, effect of, 338 implementing, 493-496 global application, configuring in Oe4J, we support for, 394 41-42 Farm page, displaying in Oracle Enterprise global application logs, using, 546 Manager, 4 77 global connectors, location of settings for, farms. See also clusters 514 creating cluster instances for, 4 79-480 global JNDI locations, format of, 60 installing infrastructures for, 464-469 global namespaces, using with JavaMail, installing mid tier for, 477-4 79 133-134 joining infrastructures for, 469-477 global-application.log file, description of, 46 role in component hierarchy, 286-287 global-web-application.xml file fault tolerance description of, 45, 360 allowing for failed processes, 358-359 description of and code for, 499-502 and clustering, 461 significance of, 48 and HA (high availability), 459 -grantrole Admintool command, effect of, significance of, 348 116 fault-tolerant clustered environment, Grid View page in iHAT, displaying, 366 example of, 300--301 group configuration, location of, 521 $fieldName, significance of, 207 group page, creating for OlD, 116-117 field-persistence-manager element, using, group* parameters in orion-web.xml, 206-207 descriptions of, 189 file extensions groups and users, preinstallation caching objects based on, 416 requirements for, 308 mapping MIME types to, 512-514 file handles, limit for persistent destinations, 91 HA (high availability), relationship to file locations, configuring in Oe4J, 48-49 clustering, 459-460 file persistence, configuring, 90--92 hardware clusters, explanation of, 460 file systems, determining free space left in, hardware requirements, preinstallation 310 requirementsfo~304-305 file-modification-check- interval attribute of Health Monitor page, displaying in We, 491 orion-web-app, description of, 175 heap size, altering in OC4J, 40 files, unpackaging and decompressing, 309 Hello World application finders, specifying queries for, 207-208 configuring for OJMS queues, 95, 94 firewalls and network design, overview of, using third-party provider for, 96 430-432 557

"Hello World" messages, configuring queue for, 84 iAS release, description of, 5 HelloServlet application. See also ias_admin login prompt, displaying, 328 applications; J2EE applications ias_admin password, changing, 438--439. See administering with JAZN Admintool, also passwords 115-116 ias_admin user, providing name for instance configuring for DataSourceUserManager, and password for, 322 121-122 ias-components, identifying process-types configuring for JAZNUserManager LDAP for, 336 provider, 118--119 iasobf command, effect of, 449 configuring J2EE security for, 106-108 IBM DB/2 JDBC drivers, class name for, 64 creating, 104-106 identity management testing, 113-114 configuring for infrastructures and farms, helloServlet role, contents of, 109 470-472 HelloWorld application, as WAR, 160 and DAS (Delegated Administration helloWorldQueue, turning on file persistence Service), 453-454 for, 91 implementing, 452-455 -help option for OC4J startup, description of, and OlD (Oracle Internet Directory), 29 452-453 Hi-AV (High Availability Tool) solutions for, 451 downloading,290 and SSO (Single Sign-On), 454-455 features of, 364-366 and user management problems, 450 home default instance, significance of, 348, Identity Management components, role in 350,370 Infrastructure, 288, 292-293 horizontal scaling, explanation of, 458 Identity Management metadata, explanation host-based access control in orion-web.xml of, 292 descriptor, overview of, 190-191 iHAT (High Availability Tool) hostnames, preinstallation requirements for, downloading, 290 307-308 features of, 364-366 hosts, configuring in Oracle AS JMS, 92 HOP, OC4J default network port for, 39 .htm and .html files, caching, 417 HOP ports, configuring in OC4J, 51-52 .htm extension versus .html, 170 importarchive command, effect of, 340 HTML forms, using with JavaMail, 128-129 inactivity-timeout, significance of, 72 HTTP connection throttling, configuring in infrastructure database, starting, 292 OC4J, 54-55 infrastructure Farm page, starting clusters HTTP (Hyper Text 'Itansfer Protocol), OC4J from,483 default network port for, 39 Infrastructure installations HTTP listener port, changing, 21 for farms, 464-469 HTTP ports, configuring in OC4J, 49-50 purpose of, 294 HTTP Server and J2EE components, features startup steps for, 468--469 of, 288-289 using port 1521 with, 314 HTTP transactions, statelessness of, 281 Infrastructure instances HTTP web access logs, using, 546 components of, 287 http.* debug parameters, descriptions of, 48 significance of, 286 httpd.conffile, contents of, 333 infrastructure repository database, HTTPS (Hyper Text 'Itansfer Protocol Secure connecting to, 4 78 Sockets), turning on for ASC, 440 infrastructures HTTPSmode configuring, 470 OC4J default network port for, 39 and Identity Management components, running ASC in, 442 292-293 HTTPS ports, configuring in OC4J, 50-51 joining, 469-477 http-web-access.log file, description of, 46 and Metadata Repository, 291-292 http-web-site.xml file and OPMN (Oracle Process Management description of, 45 Notification), 289-291 description of and code for, 502-503 Oracle HTTP Server and J2EE significance of, 48, 139-140 components, 288--289 558

InitialContext constructor, calling without parameters, 269 J2EE InitialContextFactory, using with J2EE application-processing architecture of, clients, 273 345 in-memory queue, relationship to file deployment tiers of, 344-345 persistence, 90. See also queues features of, 6-8 in-process compilation, performing in OC4J, mid-tier code types of, 345-346 53 overview of, 343 -install option for OC4J startup, description releases compatible with, 4 of,29 version information in, 346-347 installation directories, laying out, 310 J2EE administrative duties, overview of, 327 installation type, selecting, 320 J2EE and HTTP Server components, features installations. See also preinstallation of, 288-289 requirements J2EE and Web Cache installations performing, 314-326 overview of, 294-295 preparing for, 304 perforrning,314-326 role in component hierarchy, 285 selecting configuration options for, 321 types of, 286 J2EE application deployments to OC4J, viewing progress of, 323 managing,536-540 instance components J2EE application settings, location of, synchronizing with DCM, 338-341 497-498 synchronizing with repository, 529-534 J2EE applications. See also applications; Instance home page, options on, 329-330 HelloServlet application Instance View page in iHAT, displaying, 367 accessing, 21, 152 instances. See also cluster instances; OC4J accessing databases from, 61-64 instances configuring in OC4J, 57,138-141 displaying JVMs for, 352 deploying, 150--157 displaying URLs for, 326 forcing automatic redeployment of, managing components for, 334, 527-529 156-157 rnonitoring,360-366 implementation of, 283 naming for ias_admin user, 322 andJMS, 102 restarting, 336 naming, 151 significance of, 284-286 organization and packaging of, 141-149 specifying processes for, 355 undeploying, 152 "Instant Client" option, explanation of, 65 J2EE architecture, overview of, 137-138 Integration component, features of, 10--11 J2EE classloading, overview of, 35-36 integration tests, running, 17 J2EE clients internal-settings.xml file configuring JNDI for, 273 description of, 45 connecting from, 272-276 description of and code for, 503 implementing, 272-273 internationalize-resources attribute of orion• implementing JMS CallbackHandler for, web-app, description of, 17 4 274-275 invalidation and cacheability rules, versus J2SE clients, 268 establishing policies for, 415-420 running, 276 invalidation methods, overview of, 419-420 server-side configuration of, 275-276 invalidator account, changing password for, J2EE Clusters with Web Cache topology, 407 overview of, 300--301 element, significance J2EE Connectors of, 225 configuring connection pooling for, IP address, setting DISPLAY as, 314-315 238-239 ip-access* parameters of access-mask configuring logging for, 243 element, descriptions of, 191 configuring name and JNDI location for, islands 238 creating, 355-356 configuring security for, 239-243 relationship to OC4J process level, and configuring transactions, 243 348-349 deploying,243-248 559

OC4J Connector descriptor for, 237 JAAS version 1.0, support for, 347 OC4J support for, 228-229 JAR (Java archive) files overview of, 227-228, 229 creating, 142 packaging and configuration of, 236-237 packaging dependent classes in, 38 packaging into RAR files, 236 purpose of, 141 relationship to JDBC, 7 using with proxy clients, 262 writing, 229-236 viewing contents of, 142 j2ee directory, taking tar backups of, 327 Java J2EE roles, mapping to JAAS roles, 112-113 implementing on tiers, 344-345 J2EE security. See also JAAS security versus PL/SQL, 344 providers; security Java 1.4, accessing documentation for, 99 configuring for HelloServlet application, JavaAPis, usingwithXML, 134-136 106-108 Java classloading, overview of, 34-35 configuring XML provider for, 108-112 Java Edition, features of, 2 customizing, 122-123 java -jar admin.jar command, using, 150-151 overview of, 100 Java programs J2EE with Web Cache topology, overview of, installing as UNIX services, 32 296-298 installing as Wmdows services, 31 j2eedevcltr1 cluster Java requests, handling, 349 creating, 480 Java version 1.4.2, support for, 347 effect of clicking link for, 484 java2.policy file, description of, 45 j2eedevcltrl.name site definition javac, enabling in-process compilation with, adding, 486-487 53 determining origin servers for, 489-490 java:/ comp/ namespace, relationship to j2ee/home directory in OC4J, contents of, JNDI,60 27-28 JavaMaill.2 j2ee/home/ config/ dev-server.xml directory, choosing between global and local description of, 44 namespacesin,133-134 j2ee/home/ config/ test-server.xml directory, configuring mail sessions with, 126-127 description of, 44 creating local resource references in, j2ee/home/ devConfig directory, description 127-128 of,43 features of, 125 j2ee/home/testConfig directory, description and JNDI, 125 of,43 mail form in, 128-129 J2SE clients JavaMail properties, list of, 127 authenticating through JAAS, 270-271 JavaMailServlet, building, 129-133 authenticating through JNDI, 269 javax.narning.InitialContext, creating, 61 building, 271-272 JAX implementations, overriding, 135 connecting from, 268-272 JAX, limitations of, 134 versus J2EE clients, 268 JAXoverride, testing, 135-136 running, 272 JAX versions, determining, 134-135 JAAS CallbackHandler, implementing with JAZN Admintool, administering HelloServlet J2EE clients, 274-275 application with, 115-116 JAAS (Java Authentication and Authorization jazn directory of j2ee/home in OC4J, Service) contents of, 28 authenticating J2SE clients through, jazn-data.xml file 270-271 configuring users and roles in, 109-112 and J2EE, 102 description of, 45 overview of, 100-102 description of and code for, 504-510, resource for, 99 520-521 JAAS login module, performing container- format of, 110 managed sign-on with, 242 locating, 115 JAAS Provider, overview of, 101-102 significance of, 49 JAAS roles, mapping J2EE roles to, 112-113 element, significance of, 112 JAAS security data, storage of, 504-510, 520 JAZNUserManager JAAS security providers, configuration of, configuring XML provider for, 108 503. See also J2EE security; security features of, 103 560

JAZNUserManager (continued) example of, 81-82 and OlD, 123 referencing topics in, 221 using, 116-119 significance of, 48 jazn.xml file JNDI beans, adding resource reference description of, 45 mappings for, 376 description of and code for, 503 JNDI context. See contexts JDBC DataSources, configuration of, 499 JNDI (Java Naming and Directory Interface) JDBC drivers accessing, 61 choosing, 65-68 authenticating J2SE clients through, 269 configurations for, 69-71 configuring for J2EE clients, 273 overview of, 64-65 configuring for J2SE clients, 269 JDBC extensions, using, 75 and JavaMaill.2, 125 JDBC (Java Database Connectivity), overview of, 59-60 relationship to J2EE Connectors, 7 retrieving objects from, 132 JDBC version 2.0, support for, 34 7 JNDI locations jdbc.debug parameter, description of, 48 configuring for J2EE Connectors, 238 ]Developer determining, 75 features of, 11 significance of, 60 resource for, 19 JNDinames JDK (), support for mapping to locations, 88 OC4J Standalone Edition, 24 significance of, 85 jem-server-extension elements, descriptions JNDI resources, binding into namespaces, of, 223-224 127-128 JESI (Java Edge Side Includes) JNDI scope, grabbing Sessions from, 130-131 relationship to we, 416 JNDI version 1.2, support for, 347 significance of, 9 jndi.properties configuration file, creating, 87 jikes, compiling OC4J with, 53 JFTobe,downloading,20 JMeter testing framework, benefits of, 20 jre directory, creating, 317 JMS default implementation, configuration JSP FToperties page, displaying in Oracle of, 51D-5ll Enterprise Manager, 358 JMS (Java Message Service), 7. See also OJMS JSP Samples page, browsing in OC4J (Oracle JMS); Oracle AS JMS; third• Standalone Edition, 26 partyJMS JSP version 1.2, support for, 347 in lOg AS, 79-80 jsp-* attributes of orion-web-app, and connection factories, 82-83 descriptions of, 175 disabling, 81 JSPs (JavaServer Pages) features of, 79 displaying for applications, 385 OC4J default network port for, 39 features of, 6-7 relationship to J2EE components, 21 role in J2EE mid-tier, 346 significance, 346 setting debugging for, 358 JMSlogs,using,546 setting replication of state for, 358 JMS ports, configuring in OC4J, 51 updating, 171-172 JMS sources, configuring, 386 JTA (Java Transaction API) JMS version 1.0, support for, 347 significance of, 64 JMS-based application, example of, 83-90 support for version 1.0,68, 347 jms.debug parameter, description of, 48 ITS-managed transactions, using with jms.log file, description of, 46 queues, 83 jms/Oc4jJmsExceptionQueue queue, ]Unit testing framework, benefits of, 20 significance of, 83 JVM (Java Virtual Machine) configuration jmsuser schema, creating queue and queue parameters, using in secure table within, 93-94 applications, 104 JMSutils tool, using, 84 JVM options, altering heap size for OC4J jms.xml file with,40 adding tag to, 84 JVM size, setting, 357 description of, 45, 360 JVMs, displaying for instances, 352 description of and code for, 510-511 561

>::K log files KeepAlive On Apache directive and value, examining,361 descriptions of, 332 managing, 327 KeepAlive parameter, relationship to WC, log types, overview of, 545--546 390,393,409 Log4J project, web address for, 4 7 KeepAliveTuneout 15 Apache directive and logging. See also ASC control logs; ASC value, descriptions of, 332 logging; we logging kernel parameters, preinstallation configuring, 331 requirements for, 306-307 configuring for J2EE Connectors, 243 kernel, upgrading to patch 41, 306 configuring in OC4J, 46-48 keys, relationship to SSL and Oracle Wallet configuring in Oracle AS J~S, 92-93 ~anage~443-444 options in OC4J, 545--547 logical references, using with Jav~ail, r~l 133-134 LDAP (Lightweight Directory Access login action, granting, 112 Protocol), relationship to identity Login~odules management, 452 customizing, 122-123 LDAP provider versus User~anagers, 123 advisory about, 103 LogLoader process, explanation of, 361-362 using, 116-119 logs /lib directory for Hello World WAR forDC~,341 application, description of, 160 maintaining with ASC, 360 lib directory of j2ee/home in OC4J, contents for OP~N, 336 of,28 lookup-context* EJB reference in orion• Linux systems web.xml, descriptions of, 188 modifying parameters on, 306-307 runningWC on, 397-398 M support for version 1.4.1, 34 7 mail forms, using with Jav~ail, 128-129 listarchives command, effect of, 340 mail messages, creating and sending with Listen Ports page, accessing in Web Cache Jav~ail, 131 ~anager, 487 mail servers, specifying, 126 listening addresses and ports, configuring, mail sessions, configuring with Ja~aill.2, 331 126-127 list-mapping elements, descriptions of, 217 mail.* properties in Jav~ail, list of, 127 -listrealms Admintool command, effect of, tag, significance of, 126 115 "major.minor version number" error -listroles Admintool command, effect of, 116 message, displaying in OC4J load balancing Standalone Edition, 27 relationship to clustering, 461 ~anagedConnectionFactory class, usingWC for, 392 implementing with J2EE Connectors, load tests, running, 20 234-235 LoadRunner, web address for, 55 management, impact of system local JNDI locations, format of, 60 compromises on, 425 local namespaces, using with Jav~ail, management metadata, explanation of, 292 133-134 manifest file (~ETA-INF /~IFEST.~F) local resource references, creating in for oc4jclient.jar, 272 Java~ail, 127-128 for oc4j.jar, 277 location data-source property, description of, resource for, 38 71 many-to-many container-managed lock files, relationship to persistence file relationships, mapping, 214-216 management, 91 ~axClients 150Apache directive and value, log directory ofj2ee/home in OC4J, contents descriptions of, 332 of, 28 max-connect-attempts, significance of, 73 log filenames and locations, configuring in maxConnections connection pool property, OC4J, 46-47 description of, 239 max-connections, significance of, 73 562 INDEX

element, mime. types file significance of, 55 description of, 45 Max:KeepAliveRequests 100 Apache directive description of and code for, 512-514 and value, descriptions of, 332 minConnections connection pool property, Max:RequestsPerChild 0 Apache directive and description of, 239 value, descriptions of, 332 min-connections, significance of, 72 MDB (message-driven bean) header, role in mod_plsql module, role in J2EE and Web EJB deployments, 217-218 Cache,294 measurements database, creating, 66. See Model2 architecture, significance of, 6-7 also databases monitoring and tuning utilities members, adding to clusters, 481-484 AggreSpy and dmstool, 363-364 Mercury's LoadRunner, web address for, 55 ASC control logs, 360-362 "Message Sent" message, receiving, 88 iHAT (High Availability Tool), 364-366 messages -monitorResourceThreads option for OC4J implementing receivers for, 89-90 startup, description of, 29 testing, 95 MS SQL Server JDBC drivers, class name for, troubleshooting, 83 64 Metadata Repository multiversion caching, significance of, 416 configuring instances for, 4 72-475 MyEclipse, web address for, 19 connecting to, 478 MySQL JDBC drivers, class name for, 65 role in Infrastructure, 291-292 Metadata Repository Database component, 'sift role in Infrastructure instance, 288 name data-source property, description of, META-INF directory 71 using with EAR applications, 166 namespaces using with J2EE Connectors, 236-237 relationship to JNDI, 60 META-INF /MANIFEST.MF manifest file usingwithJavaMail,l33-134 for oc4jclient.jar, 272 naming service, definition of, 59 for oc4j.jar, 277 .NET client, building for web services, resource for, 38 263-265 metrics network administrators, impact of system displaying for OC4J and OHS compromises on, 425 components, 363-364 network design and firewalls, overview of, displaying forWC configuration, 412 430-432 middle tier Network Timeouts page, displaying in WC, clustering of, 462 409 farms and clusters in, 286-287 network traffic, reducing with we, 393 implementing Java on, 344 network-based access control in orion• installing, 477-479 web.xml descriptor, overview of, sending EAR file binary FTP to, 381 190-191 middle tier installations networks, hardening, 428 Business Intelligence and Forms, 295-296 NoClassDefFoundException, J2EE and Web Cache, 294-295 troubleshooting, 37-38 overview of, 294 nodes, role in component hierarchy, 285 Portal and Wrreless, 295 noneWaitTimeout connection pool property, mid-tier code types for J2EE description of, 239 EJBs (Enterprise JavaBeans), 346 Number Guess page, displaying in OC4J JSPs (JavaServer Pages), 346 Standalone Edition, 26 Servlets, 345-346 mid-tier instances, adding to clusters, 481 mid-tier OPMN managed processes, OAS editions restarting, 476 choosing, 1-4 mid-tier product type, selecting, 320 choosing for developers, 15-17 MIME mappings and Servlet chaining, choosing for testing, 17-18 overview of, 182 deciding on features offered in, 3-4 mime-mappings* parameters, descriptions OAS (Oracle Application Server) lOg. of, 182 See lOg AS 563

OAS release, advisory about, 5 features of, 1-2,279,283-284 objects, retrieving from JNDI, 132 installing server for, 23-28 OC4J application configuration files, managing multiple configurations of, overview of, 140-141 42-44 OC4J architecture minimum JDK support for, 24 processing in, 349-350 minimum requirements for, 23 structure of, 348 performance and memory usage in, 39-40 OC4J classloading, overview of, 36-37 ports and protocols related to, 39 OC4J containers redirecting standard output and error corruption of, 327 streams in, 4 7 deploying, 150-157 running as UNIX service, 32 OC4J data sources running as Windows service, 31 initializing and making available, 63 runtime behavior of, 32-40 location of, 62 sample scripts for, 31 OC4J debug parameters, using, 4 7-48 server architecture of, 32-34 OC4J directory trees, managing, 43 setting administrator password for, 24 OC4J Enterprise JavaBeans Developer Guide, starting from any directory, 29 web address for, 223 starting with special options and OC4J Home component, role in environment variables, 357 Infrastructure instance, 288 startup options for, 29 OC4J home directory, displaying deployed support for, 34 7 application in, 169 testing installation of, 25-26 OC4J installations, sharing, 43 OC4J version, verifying, 150 OC4J instances. See also cluster instances; OC4J welcome page, displaying, 25 instances OC4I_BI_Forms container, routing Reports benefits of, 370 and Discoverer requests to, 350 creating, 370-373 oc4jclient.jar, manifest file for, 272 determining for manual deployment, 381 oc4j-connectors.xml file shutting down and restarting, 156 contents of, 243-248 OC4J ports. See ports description of, 45 OC4J server description of and code for, 514 configuration files for, 139-140 significance of, 49 restarting, 30 OC4J:home instance home page, displaying, starting, 28-29 350-351 stopping, 29-30 oc4j.jar OC4J Standalone Edition executing directly, 28 benefits of, 15-16 manifest file for, 277 compilers used with, 40 passing command-line parameters to, 47 configuring application-level resources in, oc4j.jms.debug, effect of setting to true, 92 41-42 oc4j.properties file, description of and code configuring applications in, 57 for, 514 configuring compilers in, 52-53 oc4j-ra.xml descriptor, using with J2EE configuring deployment behavior of, Connectors, 238,241-242 55-57 OCA (Oracle Certificate Authority), overview configuring file locations in, 48-49 of,445 configuring for J2EE applications, 138-141 OCI driver, features of, 65 configuring HTTP connection throttling OFA (Oracle Optimal Flexible Architecture) in, 54-55 format, significance of, 309 configuring logging in, 46-48 OHS components configuring ports in, 49-52 displaying metrics for, 363-364 configuring transactions in, 53-54 starting and stopping, 340-341 deploying WAR applications in, 163-164 OHS HTTP Server component, role in displaying default configuration for, 56 Infrastructure instance, 288 downloading and setting up, 24-25 OHS (Oracle HTTP Server) editing configuration files in, 42 and ASC, 330-333 exploring server directory structure of, features of, 8, 279 27-28 location of, 280 564

OHS (Oracle HTTP Server) (continued) oprnn.xrnl configuration file using Web Cache server with, 297 editing, 333-334 and WC (Web Cache), 390 location of, 290 OHS servers, using with J2EE Clusters with Optimizeit profiler, downloading, 20 Web Cache, 300 Oracle 10gAS, 5. See 10gAS OlD accounts, advisory about changing "Oracle Application Server 1Og Performance passwords for, 427 Guide," accessing, 39 OlD (Oracle Internet Directory) Oracle AS, configuring for OJMS provider, configuring for JAZNUserManager LDAP 94-95 provider, 116-118 Oracle AS JMS. See also JMS (Java Message elements of, 293 Service); OJMS (Oracle JMS); third• features of, 11 partyJMS and identity management configuring, 81-83 implementation, 452-453 configuring application clients in, 87-88 integration with, 283 configuring file persistence in, 90-92 and JAZNUserManager, 123 configuring hosts and ports for, 92 and SSO (Single Sign-On), 454-455 configuring logging in, 92-93 OJMS (Oracle JMS). See also JMS (Java creating base classes in, 84-85 Message Service); Oracle AS JMS; creating queues in, 84 third-party JMS features of, 79-80 features of, 80, 93 implementing receivers in, 89-90 setting up queue for, 93-94 implementing senders in, 86-87 OJMS provider, configuring Oracle AS for, and Resource Provider model, 80 94-95 running clients in, 88-89 OJMS queues, configuring Hello World Oracle Directory Manager, starting, 452 application for, 94 Oracle Discoverer OjmsContext resource provider, requirement features of, 280 of, 94 implementation of, 283 ojspdemos.ear file, specifying location of, oracle environment, variables in, 311-312 374-375 Oracle Forms one-to-many container-managed features of, 280 relationships, mapping, 210-214 implementation of, 283 one-to-one container-managed Oracle HTTP Server and J2EE components, relationships, mapping, 208-210 features of, 288-289 ONS (Oracle Notification System), role in Oracle JDBC drivers, class name for, 64 OPMN,289 Oracle OCI driver, features of, 65 operating systems Oracle PL/SQL Web Toolkit, features of, 279 hardening, 428 Oracle Portal support for, 305-306 advisory about changing passwords for, operating-system parameters, preinstallation 427 requirements for, 306-307 features of, 12, 280 OPMN (Oracle Process Management Oracle products, interoperabilitywith, 314 Notification) Oracle Reports overview of, 289-291, 334 features of, 280 using with J2EE Clusters with Web Cache, implementation of, 283 300 Oracle Security Alerts, web address for, 327 OPMN Processes component, role in Oracle SSO. See SSO (Single Sign-On) Infrastructure instance, 288 Oracle thin driver, features of, 65 oprnn_process metrics page, displaying, 364 oracle user, preinstallation requirements for, oprnnctl command-line utility 308 versus dcmctl, 341 Oracle websites, address for, 8 features of, 335-336 Oracle Wrreless, features of, 280 listing options for, 338 ORACLE_BASE=ll app/ oracle variable, location of, 336 purpose of, 311 purpose and location of, 527 ORACLE_HOME directory syntax for, 528-529 location of, 310 usages of, 527-528 resetting PATH variable for, 312 565

ORAeLE_HOME=$0RAeLE_BASE/product/ for Petstore application, 14 7 9.0.4mtl/OraHome1 variable, purpose of, 172-173 purpose of, 311 and request tracking, 186-187 $ORAeLE_HOME/ dcm/repository directory, resolving resource references and EJB contents of, 340 references in, 188 $ORAeLE_HOME/install/portlist.ini file, resolving security roles in, 189-190 contents of, 326 security configuration in, 189-190 $ORAeLE_HOME/j2ee/home/ application• and session configuration, 186-187 deployments directory, contents of, significance of, 36 155 and type-based filters, 181-184 OracleJSP Demo page, displaying, 378 and URL-based expiration, 185 orahome/ j2ee/ I and virtual directories, 184 applications/ osslpassword command, effect of, 449 directory, contents of, 170 OTN (Oracle Technology Network) orainstRoot.sh script, running as root, 318 patches posted ori, 434 oralnventory directory, contents of, 317 web address for, 11, 68 Origin Server Statistics page in we, options OUI (Oracle Universal Installer), starting with on,413 runlnstaller command, 315 origin servers, determining for OUI welcome screen, displaying, 316 j2eedevcltrl.name mapping, -out option for Oe4J startup, 489-490 description of, 29 Origin Servers page in we, options on, output, redirecting in Oe4j, 47 402-403 OWM (Oracle Wallet Manager), relationship "orion" files, significance of, 140 to SSL, 443-450 orion-application configuration file changing for logical references in p JavaMail, 133 PAM (Pluggable Authentication Modules), creating, 88 JAAS support for, 101 modrncy1ngforJMS,96 password data-source property, description orion-application-client.xml descriptor, of, 72 using with J2EE clients, 275-276 password default, overriding, 75 orion -application.xml file, description of and password indirection, example of, 50 code for, 519-520 passwords. See also ias_admin password OrionCMTDataSource, properties of, 68, 73 advisory about changing of, 427 orion-ejb-jar.xml file advisory about placement in text files, description of and code for, 522 435-436 location of, 147 changing in we, 407 modrncy1ng for eMR fields, 210 creating for wallets, 446 modrncy1ng for resource env references, 221 naming for ias_admin user, 322 overriding environment entries in, 222 patch 41, upgrading kernel to, 306 overview of, 196-198 patches, applying for security, 433-434 orion-web.xml descriptor path values, specifying for source and and classloading, 177-181 destination, 318 and clustering, 184-185 PATH variable, resetting to contain creating for logical references in JavaMail, ORAeLE_HOME directories, 312 134 paths description of and code for, 521-522 advisory about, 313 examining,173-175 displaying for configuration files, 355 andfiletypes, 181-184 Payroll instance, significance of, 348 host- and network-based access control performance in, 190-191 boosting in OC4J, 39-40 andlocations,181-184 determining factor in, 300 managingsettingsin,192-193 performance tests, running, 18, 20 overriding context parameters and performance tuning, using ASe for, 542 environment variables in, 175-177 period(.), adding to PATH variable, 312 overriding settings in, 191-192 permission policies, role in JAAS, 101 566 INDEX

persistence file management, overview of, 7001,49 91-92 7778,402 persistence managers, mapping eMP fields 8888,21,49 to, 206-207 9127,51,92 persistence-path attribute of orion-web-app, 23791,30 description of, 17 4 allocating for Infrastructure installations, Personalization component, features of, 13 468 Petstore application changing, 151 application.xml file from, 149 configuring in OC4J, 49-52 significance of, 140 configuring in Oracle AS JMS, 92 web.xml file for, 143-146 determining allocation of, 326 petstore directory, creating, 152 shutting down for security, 432 petstore subdirectory, displaying, 154-155 PostgreSQL JDBe drivers, class name for, 65 petstore.ear preferences, changing for application• deploying, 150 specific settings, 385 displaying directory for, 154 preinstallation requirements. See also PID (process ID) installations checking for components, 335 coexistence with other products, 313-314 checking for instances, 352-353 for directory structure, 309 PKI (Public Key Infrastructure), significance for environment variables, 311-313 of,443-444 for hardware, 304-305 PL/SQL functions, exposing as web services, for hostnames, 307-308 251 for operating-system parameters, 306-307 PL/SQL versus Java, 344 overview of, 304 PL/SQL Web Toolkit, features of, 279 forsofhNare,305-306 PM (Process Manager), role in OPMN, 289 for users and groups, 308 Policy class Preview of Steps for Middle Tier Installation relationship to JMS Provider, 101-102 screen, displaying, 320 setting for JMS, 104 primary key fields, mapping for eMP entity pooled connections, maximum number of, beans, 203 73 principal in J2EE security, significance of, 100 Popular Requests page in We, options on, principals.xml file 414 description of, 45 port allocation, flexibility with, 356 description of and code for, 515-516, 521 port contention, considering during locating, 121 preinstallation, 313-314 significance of, 49 port settings storing user and role details in, 103 location of, 516 private keys, relationship to SSL and Oracle obtaining for infrastructures, 469 Wallet Manager, 444 Portal accounts, advisory about changing Process Management, significance of, passwords for, 427 333-334 Portal and Wrreless installations, overview of, processes 295 monitoring,360-366 portal applications, creating with Business specifying for instances, 355 Intelligence and Forms, 298-300 stopping, 335 Portal component viewing with i HAT, 366 advisory about changing passwords for, processing time, reducing with we, 393-394 427 process-type, identifying for ias• features of, 12, 280 components, 336 ports product metadata, explanation of, 292 80,50 products 80 and we, 487 deactivating after expiration, 74-75 1521,314 installing, 319 1820,438 .profile of login directory, setting up 3060,452 environment variables in, 311 4000,399 567 properties repositories. See also asdb Metadata configuring for JNDI, 61 Repository displaying for applications, 386 and clustering, 464 providers defining location and maximum size of, configuring for OJMS, 94-95 361 picking, 97-98 keeping components in sync with, 339 proxy clients maintaining with DCM, 291 building for .NET, 263-265 synchronizing instance components with, building for web services, 261-262 529-534 ps -efl flag, example of, 397 repository configuration, taking backups of, public keys, relationship to SSL and Oracle 339-340 Wallet Manager, 444 request tracking, relationship to orion• web.xml descriptor, 186-187 requests, processing with Web Cache, 297 queries, specifying for finders and selectors, resource adapters, using with J2EE 207-208 Connectors, 228-235 Quest's JProbe, downloading, 20 resource env references, resolving in EJBs, QueueConnection interface, role in JMS, 82 221-222 queues. See also in-memory queue Resource Limits page, displaying in WC, 410 creating, 84 Resource Provider model, role in Oracle AS setting up for Oracle JMS, 93-94 JMS, 80 using ITS-managed transactions with, 83 resource providers -quiet option for OC4J startup, description configuring for OJMS, 94-95 of, 29 picking, 97-98 resource references adding for JNDI beans, 376 RARfiles resolving in EJBs, 220-221 contents of, 236-237 resolving in orion-web.xml descriptor, 188 packaging J2EE Connectors in, 229, 236 resource use, monitoring with iHAT, 366 ra.xml descriptor ResourceProvider implementation, overriding values from, 238 significance of, 96 using with J2EE Connectors, 230-231, 243 resource-ref* EJB reference in orion-web.xml, README. txt files, maintaining for patches, descriptions of, 188 434 elements, significance of, 75 realm data tag in JavaMail, significance configuringforJAZN, 115-116 of, 128 effect of storing locally, 109 tag, relationship to realms JavaMail, 134 declaring in jazn-data.xml file, 110 resources, restricting access to, 107 relationship to JAZNUserManager, 103 -restart command, using with OC4J, 29 ReceiveHelloWorld class, code for, 89-90 RMI logs, using, 546 receiver, implementing for messages, 89-90 RMiports recovery and backup, importance of, 327 configuring in OC4J, 51 redeployapplication, arguments for, 382 locating for OC4J, 30 regular expressions, using for caching, 417 RMI (Remote Method Invocation) relative file paths, beginning of, 4 7 OC4J default network port for, 39 release versions, choosing, 4-6 relationship to J2EE components, 21 remote interface, managing methods in, 255 rrni. * parameters, description of, 48 Replication Properties page, displaying in RMIIIIOP security interoperability, Oracle Enterprise Manager, 359 relationship to EJBs, 224-225 Reports and Discoverer requests, routing to RMI-IIOP settings, location of, 503 OC4I_BI_Forms container, 350 rmi.log file, description of, 46 Reports component rmi.xml file features of, 13, 280 description of, 45, 360 implementation of, 283 description of and code for, 516 significance of, 48 568 INDEX

role details, storing in principals.xml file, 103 for databases, 427-428 roles. See also security roles for networks, 428 configuring in jazn-data.xml file, 109-112 for operating systems, 428 rnapping,112-113 shutting down unnecessary services and and security, 100 ports,432 specifying for J2EE security in HelloServlet for users, 429 application, 106 for web servers, 426 root configuration file, contents of, 517 security manual, accessing online, 100 root privileges, confirming, 321 security methods, choosing, 123 root, running orainstRoot.sh script as, 318 Security page root user, executing webcache_setuser.sh as, displaying in Oracle Enterprise Manager, 398 387 root.sh script, running after installation, 324 displaying in we, 407 RPM (Red Hat Package Manager), upgrading security patches, applying, 433-434 and adding packages with, 306 security roles. See also roles runlnstaller command, starting OUI with, resolving for EJBs, 225-226 315 resolving in orion-web.xml descriptor, 189-190 Select a Product to Install screen, displaying, •sample scripts, using with OC4J Standalone 319 Edition, 31 Select Configuration Components screen, SampleConnection class, using with J2EE displaying, 321 Connectors, 231-232 Select Installation 'IYPe screen, displaying, SampleConnectionFactory class, 320 implementing with J2EE Connectors, selectors, specifying queries for, 207-208 232-234 senders, implementing for applications, SampleServlet web application 86--87 modifying for orion-web.xml descriptor, SendHelloWorld class, code for, 86 182-183 server architecture of OC4J, overview of, result of, 165 32-34 scalability, improving with we, 394 server configuration files scalable performance, relationship to application.xml, 497-498 clustering, 458 data-sources.xml, 499 scheme connection pool property, editing in OC4J, 42 description of, 239 global-web-application.xml, 499-502 , setting for echo web service, 255 http-web-site.xml, 502-503 scripts, using sample for OC4J Standalone intemal-settings.xml, 503 Edition, 31 jazn.data.xml, 504-510 Search Log Repository page, displaying in jazn.:xml, 503 Oracle Enterprise Manager, 362 jrns.:xml, 510-511 secure ern command, effect of, 442 location of, 497 security. See J2EE security; JMS security mime. types, 512-514 providers oc4j-connectors.xml, 514 configuring for J2EE Connectors, 239-243 oc4j.properties, 514 configuring in orion-web.xml descriptor, principals.:xml, 515-516 189-190 rrni.:xml, 516 cost of, 436--437 server.xml, 517 and DataSourceUserManager, 104 server directory structure of OC4J, exploring, andJ2EE, 7 27-28 and JAZNUserManager, 103 serverlogs,using,546 ofnetworks,430-432 -server option, using with UNIX systems, 39 overview of, 102 Server Properties page, displaying in Oracle using common sense with, 435-436 Enterprise Manager, 354 and XMLUserManager, 103 Server Root directory, location of, 331 security alerts, checking, 434-435 server.log file, description of, 46 security fundamentals for applications, 429 569 servers simple. war file, creating, 163 associating with we sites, 404-407 site definition, adding for j2eedevcltrl.name, installing for OC4J Standalone Edition, 487-488 23-28 Site Definitions page in WC, options on, server-side configuration, implementing for 403-405 J2EE clients, 275-276 Site-to-Server Mapping, displaying in WC, server.xml file 405-406 configuration files referenced in, 48 SMTP mail sessions, configuring, 126-127 description of, 44, 360 software requirements, preinstallation description of and code for, 517 requirements for, 305-306 significance of, 43, 139 source and destination, specifying path Service object, using with Apache Axis client, values for, 318 261 source-directory attribute of orion-web-app, services, shutting down for security, 432 description of, 17 4 Servlet chaining and MIME mappings, SourceForge.net, finding J2EE Connectors at, overview of, 182 229 Servlet container, authorization within, 100 Specify Instance Name and ias_admin Servlet filters, using with orion.web.xml Password screen, displaying, 322 descriptor, 185 Specify Inventory Directory screen, servlet-chaining* parameters, descriptions displaying, 316 of, 182 Specify Path Locations screen, displaying, Servlets 319 displaying for applications, 385 SSL (Secure Sockets Layer) features of, 6-7 encrypting ASC traffic with, 439-443 role in J2EE mid-tier, 345-346 and OWM (Oracle Wallet Manager), setting replication of state for, 358 443-450 support for version 2.3, 347 setting up, 448-450 servlet-webdir attribute of orion-web-app, SSLWalletPassword, generating encrypted description of, 17 4 value for, 449 session configuration, relationship to SSO authentication orion.web.xml descriptor, 186-187 example of, 108 session deployment header, role in EJB role in connection architecture, 281 deployments, 198-200 SSO (Single Sign-On) session tracking sessions, descriptions of, features of, 10 186 implementing, 454-455 sessions integration with, 283 grabbingfromJNDI scope, 130-131 resolving identity management problems relationship to JavaMail, 126 with,451 resetting values for, 312 role in OlD, 293 set command, effect of, 339 standalone Connectors, deploying, 243 settings, reviewing prior to deployment, 376 standalone instance, explanation of, 286-287 setup. txt file, contents of, 326 Standard Edition, features of, 2 shutdown and startup scripts, examples of, startall command, effect of, 335,476 336-338 start. bat script, using with OC4J, 31 shutdown command, stopping OC4J server startDev.sh file, description of, 43-44 with, 30 start.sh script, using with OC4J, 31 signing on startTest.sh file, description of, 43-44 within applications programatically, startup and shutdown scripts, examples of, 239-241 336-338 container-managed sign-on with JAAS stateful echo service, home page for, 258 login module, 242 stateful implementation, building for echo container-managed sign-on with XML web service, 253 mapping,241-242 stateful Java classes, relationship to web simple.ear application, creating, 168 services, 251 simple-jsp-mapping attribute of orion-web• tag, using with echo app, description of, 17 4 web service, 255 570 INDEX

stateless echo service, declaring, 254 timing data, storing in measurements stateless implementation, building for echo database, 66 web service, 252-253 TNS_ADMIN variable, purpose of, 311 stateless Java classes, relationship to web TopicConnection interface, role in JMS, 82 services, 251 TopUnk, features of, 12 stateless session beans touch command, effect of, 310 relationship to web services, 251 traffic, reducing with we, 393 using, 255-257 transactional connection factories, defining, tag, adding to 83 WSA configuration file, 255-257 transaction. debug parameter, description of, states, setting replication of, 358 48 statistics, displaying forWC, 412 transactions. See also distributed Statistics Monitor in WC, accessing, 414 transactions status command, effect of, 335 configuring in OC4J, 53-54 stopall command, effect of, 335 relationship to J2EE, 7 stop. bat script, using with OC4J, 31 relationship to two-phase commit, 76-77 stop.sh script, using with OC4J, 31 transport-config elements, descriptions of, success.jsp file, redirecting users to, 131 225 SwiftMQ Router, using with JMS, 96-97 tuning and monitoring utilities Sybase JDBC drivers, class name for, 64 AggreSpy and dmstool, 363-364 sysman configuration directory, using with ASC control logs, 360-362 ASC ports, 437-438 iHAT (High Availability Tool), 364-366 system administrators, impact of system two-phase commit compromises on, 425 configuring, 76-77 system contracts, relationship to J2EE role in distributed transactions, 64 Connectors, 228 Type 2 and 4 JDBC drivers, significance of, 65 system data and control, protecting, 435 System.getCurrentTimeMillis() method, effect of, 67 /u01• and 2 file systems, sizes of, 310 ulimit parameters, adjusting for oracle user, T 308 tables, creating for DataSourceUserManager, -undeploy flag, example of, 152 120 unit tests, running, 17 tar backups UNIX Group Name screen, displaying, 317 creating for oralnventory and jre UNIX scripts, using with OC4J Standalone directories, 317 Edition, 31 of j2ee directory, 327 UNIX service, running OC4J as, 32 TAR (Technical Assistance Request), UNIX systems obtaining information from, 433 runningWC on, 397-398 temporary-directory attribute of orion-web- using -server option with, 40 app, description of, 17 4 unset command, using with environment testing, choosing editions for, 17-18 variables, 312 testing strategies, automating, 19-20 updateConfig command, advisory about, 339 element, significance of, 89 tag, using with stateless echo service, TextPlainServlet, creating for orion.web.xml 254 descriptor, 182-183 URL data-source property, description of, 72 thick driver, features of, 65 URL mapping, specifying, 375 thin driver, features of, 65 URL patterns, restricting role access third-party JMS, configuring, 95-97. See also according to, 107 JMS (Java Message Service); Oracle URL-based expiration, relationship to orion• AS JMS; OJMS (Oracle JMS) web.xml descriptor, 185 threats URLs (uniform resource locators) examples of, 424-425 determining for accessing instances, 326 impact of, 425 listing for deployed applications, 357 TimeOut 300 Apache directive and value, user configuration, location of, 521 descriptions of, 332 user details, storing in principals.xml file, 103 571 user management problems, addressing, 450 WAR applications, building and deploying, user manager, specifying, 376 159-165 user* parameters in orion-web.xml, WAR (web archive) files descriptions of, 189 creating, 143-147 UserManager interface location of references to, 519-520 configuring for HelloServlet application, purpose of, 141 121-122 WC logging, modifying settings for, 411. See customizing, 122 also logging location of user and group configuration WCManager for, 515-516 Logging and Diagnostics section of, versus LoginModule, 123 410-415 role in security, 102-104 starting, 396 username data-source property, description WC sites, associating with origin servers, of, 72 404-407 username default, overriding, 75 WC (Web Cache). See also cache settings usernames in text files, advisory about, administrative tools for, 396-401 435-436 architecture of, 390-393 users benefits of, 393-394 configuring in jazn-data.xml file, 109-112 configuration properties for, 407-410 hardening, 429 configuring for clusters, 485-491 users and groups, preinstallation configuring to listen on port 80, 487 requirements for, 308 defining expiration policies with, 418-419 users group, creating for OlD, 116-117 drawbacks of, 394-395 users role, authenticating as, 114 features of, 9, 280 -userThreads option for OC4J startup, listening port for, 402 description of, 29 as load-balancing tool, 392 util.jar, example of, 180 network timeouts in, 409-410 overview of, 389 processing requests with, 297 -validateXML option for OC4J startup, resource limits in, 409-410 description of, 29 restarting automatically, 408 variables in oracle environment, descriptions wc-test.name of, 311-312 Add Site definition for, 404 /var/opt/oracle variable, purpose of, 312 adding Site-to-Server mapping for, 406 version information in J2EE, overview of, web administrators, impact of system 346-347 compromises on, 425 -version option for OC4J startup, description web application defaults, location of, of, 29 499-502 vertical scaling, explanation of, 458 web application server clusters, explanation View Logs page, displaying in Oracle of, 460 Enterprise Manager, 361 web applications virtual directories, relationship to decompression of, 170 orion.web.xml descriptor, 184 EAR applications, 166-168 Virtual Hosts page, usefulness of, 330 location of configuration settings for, 523 Virtual Machine Metrics page, displaying in location of settings for, 521-522 Oracle Enterprise Manager, 352, 356 programming considerations related to, virtual-directory* parameters, descriptions 170 of, 182 WAR applications, 159-165 Visual Studio .NET 2003, building proxy Web Cache and J2EE installations, overview client for, 263-265 of, 294-295 Web Cache Statistics Monitor, features of, 414-415 wait-timeout, significance of, 73 Web Cache Statistics page, options on, 412 Wallet Manager, relationship to SSL, 443-450 Web Modules page, URL mapping for, 375 wallets, creating with OWM (Oracle Wallet web servers, hardening, 426 Manager), 446-448 572 INDEX

web services. See also echo web service Optimizeit profiler, 20 building .NET clients for, 263-265 Oracle,8 building proxy clients for, 261-262 "Oracle Application Server lOg choosing implementation type for, 251 Performance Guide", 39 creating clients for, 260-265 Oracle Security Alerts, 327 testing, 257-260 Orion application, 141 web settings, configuration of, 502-503 OTN (Oracle Technology Network), 11,68 web tier in J2EE architecture, description of, persistence architecture, 206 138 ports used by 10gAS, 21 /web/* directories for HelloWorld WAR RPM (Red Hat Package Manager), 306 application, descriptions of, 160 security manual, 100 web-app-class* parameters, descriptions of, SourceForge.net, 229 178 SwiftMQ Router, 96 webcache_setuser.sh, executing as root user, UserManager customization, 122 398 Web Cache Statistics Monitor, 414 webcachectl utility, starting WC Manager web.xml file with,396 description of and code for, 523-525 webdev dedicated OC4J instance for Petstore application, 143-146 creating with ASC, 371-373 for WAR application, 161-162 deploying with ASC, 37 4-379 white papers, "Classloading in Oracle9iAS WEB-INF directory, contents of, 146 Containers for J2EE", 39 Website Properties page, displaying in Oracle Wmdows service, running OC4J as, 31 Enterprise Manager, 357 Wrreless and Portal installations, overview of, websites 295 10gAS,309 Wrreless component, features of, 13, 280 AC4J,223 WSA (Web Services Assembler) Apache,283 adding tag Apache Axis project, 260 to,255-257 Apache documentation, 333 benefits of, 253-254 Apache Jakarta Log4J project, 47 using with stateless session beans, Apache James project, 126 256-257 AQ reference, 94 WSDL files, displaying inside Visual Studio "Classloading in Oracle9iAS Containers for .NET,264 J2EE",39 configuring ports and settings for, 50 database hardening, 427 X• Clock, running to test XWmdows debug switches, 547 connection, 315 DID for orion-application-client.xml XWmdows connection, testing, 315 descriptor, 275 XWmdows, running High Availability Tool High Availability Tool, 290,364 from,365 installation documentation, 304 XA factories, configuring, 83 installing Java programs as UNIX services, xa-location data-source property, 32 description of, 71 installing Java programs as Wmdows XML code, creating users with, 110 services, 31 XML (eXtensible Markup Language), Java JAA$,99 APis for, 134-136 JavaMail documentation, 125 XML mapping, using for container-managed Jikes, 53 sign-on, 241-242 JNDI information, 59 XMLprovider, configuring, 108--112 JProbe,20 XML-SPY, diagram of, 197 JUnit testing framework, 20 XMLUserManager, features of, 103 Mercury's LoadRunner, 55 MyEclipse, 19 OC4J Enterprise JavaBeans Developer Guide,223 OC4J Standalone Edition, 24 JOIN THE APRESS FORUMS AND BE PART OF OUR COMMUNITY You'll find discussions that cover topics of interest to IT professionals, programmers, and enthusiasts just like you. If you post a query to one of our forums, you can expect that some of the best minds in the business-especially Apress authors, who all write with The Expert's Voice ™ -will chime in to help you. Why not aim to become one of our most valuable partic• ipants (MVPs) and win cool stuff? Here's a sampling of what you'll find:

DATABASES PROGRAMMING/BUSINESS Data drives everything. Unfortunately, it is. Share information, exchange ideas, and discuss any database Talk about the Apress line of books that cover software programming or administration issues. methodology, best practices, and how programmers interact with the "suits."

INTERNET TECHNOLOGIES AND NETWORKING WEB DEVELOPMENT/DESIGN Try living without plumbing (and eventually 1Pv6). Ugly doesn't cut it anymore, and CGI is absurd. Talk about networking topics including protocols, design, Help is in sight for your site. Find design solutions for your administration, wireless, wired, storage, backup, certifications, projects and get ideas for building an interactive Web site. trends, and new technologies.

JAVA SECURITY We've come a long way from the old Oak tree. Lots of bad guys out there-the good guys need help. Hang out and discuss Java in whatever flavor you choose: Discuss computer and network security issues here. Just don't let J2SE, J2EE, J2ME, Jakarta, and so on. anyone else know the answers!

MAC OSX TECHNOLOGY IN ACTION All about the Zen of OS X. Cool things. Fun things. OS X is both the present and the future for Mac apps. Make Its after hours. It's time to play. Whether you're into LEGO® suggestions, offer up ideas, or boast about your new hardware. MINDSTORMS™ or turning an old PC into a DVR, this is where technology turns into fun.

OPEN SOURCE WINDOWS Source code is good; understanding (open) source is better. No defenestration here. Discuss open source technologies and related topics such as Ask questions about all aspects of Windows programming, get PHP, MySQL, Linux, Perl, Apache, Python, and more. help on Microsoft technologies covered in Apress books, or provide feedback on any Apress Windows book.

HOW TO PARTICIPATE: Go to the Apress Forums site at http://forums.apress.com/. Click the New User link.