WebLogic Server 8.1 Features and Changes
Welcome to BEA WebLogic Server 8.1! As the leading application server, WebLogic Server implements J2EE 1.3 technologies, Web services, and other leading Internet standards to provide a reliable framework for highly available, scalable, and secure applications. WebLogic Server's seamless integration of disparate, heterogeneous platforms and applications enables your network to leverage existing software investments and share the enterprise-class services and data that are crucial to building mission-critical e-business applications.
WebLogic Server 8.1 SP2 is the latest version of WebLogic Server 8.1. For the most up-to-date version of all WebLogic Server documentation, including these release notes, see http://edocs.bea.com. For details on what's new in WebLogic Server 8.1 SP2, see What's New in WebLogic Server 8.1 SP2.
The following sections describe the new features and major improvements made in the WebLogic Server 8.1 general release and its associated service packs:
- What's New in WebLogic Server 8.1 SP2
- What's New in WebLogic Server 8.1 SP1
- What's New in WebLogic Server 8.1
- Certifications
- Standards Support
- Deprecated Features and APIs
- Third-Party JAR Files
- Other Available Resources
What's New in WebLogic Server 8.1 SP2
This section details major differences between WebLogic Server 8.1 SP2 and earlier versions. This section includes information about the following:
- Configurable Directory for Custom Security Provider MBean Types
- EJB Features
- JDBC Features
- User Configuration and User Key Files for weblogic.Admin and Ant Tasks
- viewj and viewj32 Enhancements
- WebLogic Web Services Features
Configurable Directory for Custom Security Provider MBean Types
WL_HOME\server\lib\mbeantypes is the default directory for installing MBean types. However, if you want WebLogic Server to look for MBean types in additional directories, you can now use the -Dweblogic.typesDir=<dir> command-line flag when starting your server.
See the "Install the MBean Type Into the WebLogic Server Environment" sections in Developing Security Providers for WebLogic Server.
EJB Features
WebLogic Server 8.1 Service Pack 2 includes the following new EJB features.
EJB 2.0 WebLogic QL Extension for EJB QL Provides upper and lower Functions
The WebLogic QL upper and lower extensions convert the case of arguments to allow finder methods to return results that match the characters in a search expression but not the case. The case change is transient, for the purpose of string matching, and is not persisted in database. The underlying database must also support upper and lower functions.
upper
The upper function converts characters in its arguments from any case to upper case before string matching is performed. Use the upper function with an upper-case expression in a query to return all items that match the expression, regardless of case. For example:
select name from products where upper(name)='DETERGENT';
lower
The lower function converts characters in its arguments from any case to lower case before string matching is performed. Use the lower function with an lower-case expression in a query to return all items that match the expression, regardless of case.
select type from products where lower(name)='domestic';
EJBGen Distribution and Examples
As of WebLogic Server 8.1 SP2, EJBGen and associated classes are not included in weblogic.jar; instead, they are provided as a separate archive--ejbgen.jar in the WL_HOME/server/lib of the WebLogic Server distribution. To use EJBGen, put ejbgen.jar in your CLASSPATH.
JDBC Features
WebLogic Server 8.1 Service Pack 2 includes the following new JDBC features.
BEA WebLogic Type 4 JDBC Drivers for DB2, Informix, Oracle, and Sybase
WebLogic Server 8.1 SP2 includes JDBC drivers from BEA for connecting to DB2, Informix, Oracle, and Sybase databases. The new driver offers JDBC 3.0 compliance and support for some JDBC 2.0 extensions.
See BEA WebLogic Type 4 JDBC Drivers.
BEA WebLogic Type 4 JDBC Driver for MS SQL Server Enhancements
In WebLogic Server 8.1 SP2, the following enhancements were made to the WebLogic Type 4 JDBC Driver for MS SQL Server:
- Support for retrieval of auto-generated keys
- Improved updatable result set performance
- Improved memory usage for Blob and Clob functionality
- Support for connection failover
Timeouts for JDBC Connection Creation and Statement Execution
In WebLogic Server 8.1SP2, the following important features were added that help support JDBC connection pools in a high-availability environment:
- LoginTimeout connection property supported by the WebLogic Type 4 JDBC drivers which limits the amount of time that a request to create a database connection in a JDBC connection pool will wait for the connection to be created.
- StatementTimeout JDBC connection pool attribute which limits the amount of time that a JDBC statement can execute.
- TestStatementTimeout JDBC connection pool attribute which limits the amount of time that the JDBC query used to test a database connection can execute. This limit applies to whenever a database connection is tested.
You set the LoginTimeout property in the Properties list for a connection pool. After the LoginTimeout has elapsed, if the database connection cannot be created, the JDBC driver throws an SQL exception. See "Limiting Connection Creation Time with LoginTimeout and connection properties for individual drivers in WebLogic Type 4 JDBC Drivers.
You set the StatementTimeout and TestStatementTimeout attributes in the config.xml entry for the JDBC connection pool. The values are in seconds. A value of -1 (the default) indicates that the statements will not timeout. For example:
Note that the StatementTimeout and TestStatementTimeout attributes rely on the JDBC driver implementation of the JDBC specification for Statement.setQueryTimeout(int seconds). Currently, only the WebLogic Type 4 JDBC drivers implement this method.<JDBCConnectionPool Name="testpool"
Password="{3DES}0zvizFP1" Targets="myserver"
InitialCapacity="10" MaxCapacity="10"
DriverName="weblogic.jdbc.oracle.OracleDriver"
Properties="user=john;SID=wls;PortNumber=1433;
serverName=oraclehost;LoginTimeout=60";
URL="jdbc:bea:oracle://oraclehost:1433"
StatementTimeout="60";TestStatementTimeout="30";
/>Also note that there is a known issue regarding this feature with the WebLogic Type 4 JDBC drivers. The drivers currently wait twice as long as specified before timing out the statement. For example, if the StatementTimeout is set to 30 seconds, the driver will not time out the statement until 60 seconds has elapsed. This issue is being tracked in CR124744.
Enhancements to the dbping Java Utility
In WebLogic Server 8.1SP2, the dbping Java utility was enhanced to support the new WebLogic Type 4 JDBC drivers included in this release. See "dbping" in the WebLogic Server Command Reference for more information.
Support for oracleConnection Methods
In WebLogic Server 8.1SP2, the following methods were added to support using Oracle Virtual Private Databases:
weblogic.jdbc.vendor.oracle.OracleConnection.setClientIdentifier(String)weblogic.jdbc.vendor.oracle.OracleConnection.clearClientIdentifier(String)These methods enable you to use Oracle Virtual Private Databases with a connection from a WebLogic JDBC connection pool and without requiring the underlying vendor connection. For more information, see "Programming with Oracle Virtual Private Databases and "Tables of Oracle Extension Interfaces and Supported Methods in Programming WebLogic JDBC.
Autocommit for XA JDBC Drivers
In WebLogic Server 8.1SP2, by default autocommit is set to false for all XA JDBC drivers.
User Configuration and User Key Files for weblogic.Admin and Ant Tasks
For any weblogic.Admin command that connects to a WebLogic Server instance, provide user credentials. You can now use the new STOREUSERCONFIG command to encrypt the user credentials instead of passing credentials directly on the command line or storing unencrypted credentials in scripts. See STOREUSERCONFIG" in the WebLogic Server Command Reference for more information.
The weblogic.Deployer command, as well as the wldeploy and wlserver ant tasks, can also use credentials that were encrypted using the weblogic.Admin STOREUSERCONFIG command. See the Deployment Tools Reference" and Using Ant Tasks to Configure a WebLogic Server Domain" for more information.
viewj and viewj32 Enhancements
Customers expressed interest in using the Tuxedo control to connect a WebLogic application to an existing Tuxedo application that uses VIEWs. To enable this, three new options have been added to the viewj and viewj32 compilers (weblogic.wtc.jatmi.viewj and weblogic.wtc.jatmi.view32):
-bean_names
-compat_names
-modify_strings
See How to Use the viewj Compiler" in the WebLogic Tuxedo Connector Programmer's Guide.
WebLogic Web Services Features
WebLogic Server 8.1 Service Pack 2 includes the following new Web Services features.
source2wsdd Meta-Data Tags
When you write the Java class or stateless session EJB that implements a WebLogic Web Service, you can now add optional meta-data tags (identified with the @wlws Javadoc tag) that describe what the Web Service looks like. You can then use the source2wsdd Ant task to generate the web-services.xml file automatically, which will reflect the value of any @wlws tags in the Java source file.
See source2wsdd Tag Reference.
Examples of Using WebLogic Workshop with WebLogic Web Services
The Programming WebLogic Web Services guide has a new section that describes examples and scenarios of using various technologies of WebLogic Platform (the Workshop IDE) to create WebLogic Web Services.
See Using WebLogic Workshop With WebLogic Web Services.
What's New in WebLogic Server 8.1 SP1
This section details major differences between WebLogic Server 8.1 SP1 and earlier versions. This section includes information about the following:
- Capacity Planning Documentation
- JDBC Features
- New JSP Tag Added to the Console Extension Tag Library
- Optimized JMS Topic Subscriber Message Selectors
- Specify Non-Anonymous Principals when EJB Container Passivates and Removes Beans
- Web Services Features
Capacity Planning Documentation
BEA WebLogic Server runs on hardware ranging from low-end PCs to high-end mainframes. The process of determining what type of hardware and software configuration is required to meet application needs adequately is called capacity planning. This release of WebLogic Server includes the BEA WebLogic Server Capacity Planning Guide, which provides capacity planning requirements and uses the 8.1 MedRec application for benchmarking purposes.
JDBC Features
WebLogic Server 8.1 Service Pack 1 includes the following new JDBC features.
BEA WebLogic Type 4 JDBC Driver for Microsoft SQL Server
WebLogic Server 8.1 SP1 includes a new JDBC driver from BEA for connecting to a Microsoft SQL Server database. The BEA WebLogic Type 4 JDBC MS SQL Server driver replaces the WebLogic jDriver for Microsoft SQL Server, which is deprecated. The new driver offers JDBC 3.0 compliance, support for some JDBC 2.0 extensions, and better performance. BEA recommends that you use the new BEA WebLogic Type 4 JDBC MS SQL Server driver in place of the WebLogic jDriver for Microsoft SQL Server.
See BEA WebLogic Type 4 JDBC Drivers.
JDBC Connection Pool Property to Handle Erroneous Local Transactions
According to the SQL specification, any DDL or DML operation can potentially start a local transaction. It is the application's responsibility to commit or rollback these transactions. Previously, this was not a problem because JDBC drivers did not check for active local transactions before starting a global transaction, or for active global transactions before starting a local transaction. However, the Oracle Thin driver version 920 does check for local and global transactions before starting a new transaction of the other type (global or local), and throws an XAER_PROTO exception if an application (or WebLogic Server) tries to start a global transaction (XAResource.start()) on a connection when a local transaction is already active on the connection.
To work around this problem, you can set the rollbackLocalTxUponConnClose attribute on the JDBC connection pool to true. The Weblogic Server will call rollback() on the connection to clean up the connection before returning it to the connection pool. Enabling this attribute will have a performance impact because the rollback call requires communication with the database server.
To set the rollbackLocalTxUponConnClose attribute, you can use the setRollbackLocalTxUponConnClose() method on the JDBCConnectionPoolMBean or you can manually add it to the JDBCConnectionPool tag in the config.xml file. For example:
<JDBCConnectionPool DriverName="oracle.jdbc.xa.client.OracleXADataSource" Name="oraclePool" Password="{3DES}8YdvP4FQW3k=" Properties="user=SCOTT" URL="jdbc:oracle:thin:@server:port:sid" RollbackLocalTxUponConnClose="true"/>The RollbackLocalTxUponConnClose attribute is not available in the Administration Console.
Support for Oracle Virtual Private Databases
Starting with WebLogic Server 8.1 SP1, WebLogic Server provides support for Oracle Virtual Private Databases (VPDs). A VPD is an aggregation of server-enforced, application-defined fine-grained access control, combined with a secure application context in the Oracle 9i database server.
See "Programming with Oracle Virtual Private Databases in Programming WebLogic JDBC.
New JSP Tag Added to the Console Extension Tag Library
A new JSP tag has been added to the Console Extension Tag Library that displays a standard BEA banner in your Administration Console extensions.
See <wl:standard-banner> Tag" in Extending the Administration Console.
Optimized JMS Topic Subscriber Message Selectors
For a certain class of applications, WebLogic JMS can optimize topic subscriber message selectors significantly by indexing them. These applications have messages that contain one or more unique identifiers and thousands of subscribers that filter based on these identifiers.
A typical example is an instant messaging application where each subscriber corresponds to a different user, and each message contains a list of one or more target users.
See Indexing Topic Subscriber Message Selectors To Optimize Performance" in Programming WebLogic JMS.
Specify Non-Anonymous Principals when EJB Container Passivates and Removes Beans
This release introduces two new security-related elements to the weblogic-ejb-jar.xml deployment descriptor. These new elements, passivate-as-principal-name and remove-as-principal-name, address ejbPassivate and ejbRemove failures due to security violations.
See passivate-as-principal-name" and remove-as-principal-name" in Programming WebLogic Enterprise JavaBeans.
Web Services Features
WebLogic Server 8.1 Service Pack 1 includes the following new Web Services features.
Per Operation Message Security
You can now specify more than one security specification in the web-services.xml deployment descriptor file, and associate different security specifications with the operations of a Web Service. Security specifications describe how SOAP messages, generated when a client application invokes a Web Service operation, should be encrypted and digitally signed.
You can also specify that the SOAP request of an invoke of a particular operation use a different security specification than the SOAP response.
See Associating an Operation With a Particular Security Specification.
Timestamps In SOAP Messages
When a client application invokes a WebLogic Web Service configured for message security (encryption or digital signatures), WebLogic Server automatically adds a timestamp to the SOAP response. Additionally, you can configure the Web Service to require a timestamp in the SOAP request, set expiration periods, and so on.
See Using Timestamps.
Implementing and Assembling a WebLogic Web Service From a Schema File
You can now implement and assemble a WebLogic Web Service starting from an XML Schema file, and preserve the XML Schema throughout the development process so that the WSDL of the deployed Web Service contains the original XML Schema.
See Assembling a Web Service Starting With an XML Schema.
New Ant Task Features to Support XML Schemas
The autotype Ant task now includes the XML Schema in the generated file that contains the data type mapping information. This file is called types.xml by default. In previous releases, this generated file contained only the <type-mapping> and <type-mapping-entry> deployment descriptor elements; now it also includes the <types> element.
Similarly, when using the autotype or servicegen Ant tasks to generate data type components, you can now include a <types> element (containing an XML Schema) in the data type mapping file pointed to by the typeMappingFile attribute. The Ant tasks merge any generated XML Schemas or data type mapping information with the existing information.
See autotype or servicegen.
Mapping Complex Data Types in SOAP Faults to Java Exceptions
WebLogic Server now correctly handles complex data types in service-specific exceptions in accordance with the Java API for XML-Based RPC (JAX-RPC) 1.0 specification.
This is not a new feature per se, but rather a fix in this service pack to the known GA issue CR101160.
Restricting Access to the WebLogic Web Service Home Page
You can now restrict access to the WebLogic Web Service Home Page by specifying the exposeHomepage="False" attribute of the relevant <web-service> element in the web-services.xml deployment descriptor file.
See Securing the WSDL and Home Page of the Web Service.
Detailed Overview of Message Security
The Configuring Security" section of the Programming WebLogic Web Servicesguide contains a new section that describes in detail how message security (encryption and digital signatures) works in WebLogic Server.
What's New in WebLogic Server 8.1
This section details major differences between WebLogic Server 8.1 and earlier versions. Previous sections describe additional changes in Service Pack releases. This section includes information about the following:
- Packaging and Deployment Features
- Administration Features
- Sample Applications
- Security Features
- EJB Features and Changes
- J2EE Connector Changes
- JDBC Features and Changes
- JTA Features
- JMS Features
- Web Application Features
- Web Services Features
- Web Service Changed Features In This Release
- WebLogic Tuxedo Connector Features
- XML Features
- Developer Tools
Packaging and Deployment Features
WebLogic Server includes the following new and changed features related to J2EE modules and module deployment.
Split Development Directory Structure
In a development environment, you can use the new WebLogic split development directory structure to build WebLogic Server enterprise applications. Rather than having a single archived EAR file or an exploded enterprise application directory structure, the split development directory structure provides two parallel directories. The split development directory structure provides several important benefits over the traditional structure, and is accompanied in WebLogic Server by a set of Ant tasks for building, packaging, and deploying applications as traditional EAR files for production use.
See Introducing the Split Development Directory Structure" in Developing WebLogic Server Applications.
Custom Classloading for J2EE Modules
You can now create custom classloader hierarchies for an Enterprise Application, allowing for better control over class visibility and reloadability of modules within an .EAR. You achieve this by defining a classloader-structure element in the weblogic-application.xml deployment descriptor file.
See Custom Module Classloader Hierarchies" in Developing WebLogic Server Applications.
New Application Lifecycle Events
You can extend the abstract class weblogic.application.ApplicationLifeCycleListener to perform application-specific actions when various application lifecycle events occur. WebLogic Server defines the following lifecycle events:
- Initialization - WebLogic Server parses the application's deployment descriptors before deploying its module(s).
- Preparation - WebLogic Server has identified (and in some cases, started) EJBs, Web Applications, and application-scoped DataSources that are defined in the Enterprise Application.
- Activation - The application is available for processing client requests.
- Update - WebLogic Server detects that one of the application's deployment descriptors has changed.
You can perform actions for each of the above lifecycle events by supplying the associated method.
See Application Lifecycle Events" in Developing WebLogic Server Applications.
Application-Level Class Library
The APP-INF/lib directory helps you organize shared class files in an application. WebLogic Server automatically appends classes included in APP-INF/lib to the end of the application's CLASSPATH; this ensures that all application modules can access the shared classes.
See Developing WebLogic Server Applications.
Dynamic Descriptor Changes
WebLogic Server supports updating deployment descriptor attributes in deployed module containers.
Dynamic Changes to Application-Scoped Pools
WebLogic Server supports updating application-scoped JDBC connection pool properties in the weblogic-application.xml deployment descriptor for deployed applications.
enforceClusterConstraints Option Changed
The enforceClusterConstraints option to weblogic.Deployer has changed. You now enable or disable cluster constraints for an entire domain either by providing a startup option to the Administration Server or by using an Administration Console control.
See Enforcing Cluster Constraints with Two-Phase Deployment" in Deploying WebLogic Server Applications.
Alternate Deployment Descriptors
You can specify an alternate deployment descriptor file to use when deploying an archive file or exploded archive directory. This ability enables you to change the run-time deployment configuration of an application without having to modify and repackage the contents of the archive itself. To use an alternate deployment descriptor, you use one or both of the following options with the weblogic.Deployer utility:
- -altappdd - specifies the name of an alternate J2EE deployment descriptor, such as application.xml.
- -altwlsappdd - specifies the name of an alternate WebLogic Server deployment descriptor, such as weblogic-application.xml.
See Deploying WebLogic Server Applications.
No Support for Deploying Unrelated Modules
WebLogic Server no longer supports deploying multiple J2EE modules without an application.xml file. If you select a directory for deployment, the directory must contain either a standalone J2EE module (an EJB, Web Application, or Resource Adapter), or multiple modules with an associated application.xml file (an Enterprise Application).
Improved Deployment Performance and Feedback
The speed of J2EE module deployment has improved over previous server versions. You also get additional feedback on the deployment process for both weblogic.Deployer and the Administration Console. Feedback is provided by a new JMX notification and filter (weblogic.management.DeploymentNotification and weblogic.management.DeploymentNotificationFilter), which you can use in your own applications.
See the Javadocs for WebLogic Classes.
Administration Console Deployment Changes
The WebLogic Server Administration Console interface has been streamlined to make production-level deployment descriptors available for editing by the administrator. Although full deployment descriptor editing is no longer available in the Administration Console, many descriptor elements of interest to Administrators are directly editable via Administration Console fields. You can edit these descriptors without repackaging and redeploying the associated module.
Full J2EE module deployment descriptor editing remains available in the WebLogic Builder application for development use.
The Administration Console also provides new Deployment Assistants to help you deploy different types of J2EE modules. The assistants guide you through the process of selecting deployment files and target servers, and automates the selection of deployment staging modes.
See the Administration Console Online Help.
Weblogic.Deployer Changes
The weblogic.Deployer utility now includes the -distribute, -start, and -stop commands identified in JSR88. Command help has also been reorganized for easy access to basic and advanced commands.
See Deploying WebLogic Server Applications.
Administration Features
The following new and improved server administration features are included in WebLogic Server 8.1:
JRockit JVM
This version of WebLogic Server includes BEA WebLogic JRockit 8.1, the first commercial server-side Java Virtual Machine.
See the JRockit for Windows and Linux User Guide for information about the benefits and usage of JRockit.
JRockit Monitoring
The Administration Console provides additional runtime data for servers running with the JRockit Virtual Machine (VM).
See Monitoring the JRockit Virtual Machine" in the Administration Console Help.
Enhanced Configuration Wizard
The Configuration Wizard is a Java application that creates WebLogic Server administration domain and server configurations. With WebLogic Server 8.1, you can now use the Configuration Wizard to configure such resources as database connectivity , messaging services , and security groups, security roles, and user accounts.
In addition, prior to WebLogic Server 8.1 you could use the Configuration Wizard only to create new domains. Now, you can use the wizard to modify existing domains.
See Configuring WebLogic Platform.
New Defaults for Development Mode and Production Mode
When you create a domain, you can now indicate whether the domain is to be used in a development environment or a production environment. WebLogic Server uses different default values for various services depending on the type of environment you specify.
See Differences Between Configuration Startup Modes" in Configuring WebLogic Platform.
Message Catalogs
Message catalogs are available in HTML format on e-docs as part of the documentation deliverable. You can search for messages by error number using the search engine.
See the Message Catalog Index.
New Logging APIs
This version of WebLogic Server includes support for the JDK 1.4 logging APIs. With these APIs, you can filter the messages that a server instance writes to its local log file, its standard out, and to the domain-wide message log. Prior to WebLogic Server 8.1, you could filter only the messages that a server instance wrote to the domain-wide log file. You could also establish a minimal level of filtering for a server's output to standard out.
In addition, if you want your applications to receive log messages from WebLogic Server logging services, you can use the JDK 1.4 logging APIs instead of Java Management Extensions (JMX). The JDK 1.4 logging APIs are easier to use than the JMX APIs.
See Filtering WebLogic Server Log Messages" and Subscribing to Messages" in Using WebLogic Logging Services.
Disabling Remote Exceptions
A new server attribute, setLogRemoteExceptionsEnabled, determines whether server message logs include exceptions that are raised in remote systems.
The default value for this attribute is false. To change the value of this attribute, use JMX APIs or the following weblogic.Admin command:
java weblogic.Admin -username username -password password set -mbean "domain-name:Name=server-name,Type=Server" -property LogRemoteExceptionsEnabled true
For example, on the sample MedRecServer:
java weblogic.Admin -username weblogic -password weblogic set -mbean "medrec:Name=MedRecServer,Type=Server" -property LogRemoteExceptionsEnabled true
See the Javadoc for weblogic.management.configuration.ServerMBean and "weblogic.Admin Command-Line Reference in WebLogic Server Command Reference.
Timer Service
You can configure the WebLogic Server 8.1 timer service to emit notifications at specific dates and times or at a constant interval. The timer service extends the standard JMX timer service, enabling it to run within a Weblogic Server execute thread and within the security context of a WebLogic Server user account.
See "Using the WebLogic Timer Service to Generate and Receive Notifications in Programming WebLogic Management Services with JMX.
Automatic config.xml Archiving
The Administration Server automatically archives old copies of the domain's config.xml file when you make changes to the configuration. By default, the Administration Server saves the five most recent versions of config.xml in the /configArchive subdirectory of the domain. Use the Administration Console to configure the maximum number of archived files to be stored for the domain.
See WebLogic Server Archives Previous Versions of config.xml" in Configuring and Managing WebLogic Server.
New Affinity Policies for Java Client Load Balancing
Three new load balancing algorithms minimize the number of IP sockets opened between external Java clients and server instances in a cluster. The new algorithms preserve server affinity by considering a client's existing server connections when accessing objects in a cluster.
The new policies can be applied to EJBs and other RMI objects, as well as to JMS client applications.
See Load Balancing in a Cluster" in Using WebLogic Server Clusters.
Improved Node Manager
The Node Manager is a Java application that starts and manages the life cycle of Managed Servers. The following features have been added or improved in WebLogic Server 8.1:
- You can configure the Node Manager process automatically during server installation (using demonstration SSL certificates).
- When you create a Managed Server, WebLogic Server adds your WebLogic Server username and password to the server's Remote Start properties. The Node Manager requires this data to start Managed Servers.
- Improved logging facilities and monitoring capabilities help you better manage multiple servers in a domain.
See Configuring, Starting, and Stopping Node Manager" in Configuring and Managing WebLogic Server.
Improved Network Channel Configuration
The functionality of Network Channels has been enhanced to simplify the configuration process. Network Channels now encompass the features that, in WebLogic Server 7.x, required both Network Channels and Network Access Points. In this version of WebLogic Server, Network Access Points are deprecated.
Network Channels allow you to manage quality of service, meet varying connection requirements, and improve utilization of your systems and network resources. For example, you can use Network Channels to:
- Segregate different types of network traffic
- Support varied application or user requirements on the same Managed Server
- Prioritize network connections that servers use to connect to other servers in a domain
WebLogic Server 8.1 also has new guidelines that apply to configuring Network Channels.
See Configuring Network Resources" in Configuring and Managing WebLogic Server.
Changes to Managed Server Independence
Managed Server Independence (MSI) enables Managed Servers to start even if the Administration Server is unavailable.
In previous releases, if a Managed Server could not access an Administration Server, it retrieved its configuration from a file named config.xml in the Managed Server's root directory. In WebLogic Server 8.1, a Managed Server retrieves its configuration from a file named msi-config.xml in its root directory.
If you enable MSI-replication for a Managed Server, the Administration Server creates the msi-config.xml file. This file is a replica of the domain's config.xml file.
You can now enable MSI-replication for a Managed Server that shares its root directory with the Administration Server. Before WebLogic Server 8.1, MSI-replication for a Managed Server that shared its root directory with the Administration Server would have overwritten the domain's config.xml file with the replica.
Changes to Discovering Managed Servers
If an Administration Server fails while Managed Servers continue to run, or if you shut down an Administration Server while Managed Servers continue to run, when you restart the Administration Server, it discovers which Managed Servers are running and re-establishes administrative control.
In WebLogic Server 8.1, Administration Servers no longer attempt to discover Managed Servers that have been gracefully or forcefully shut down. If you shut down a Managed Server by killing the JVM or killing the command prompt (shell) in which the server was running, an Administration Server still attempts to discover the Managed Server and throws an exception when it determines that the Managed Server is no longer running.
If the Administration Server is unable to discover all Managed Servers automatically, you can use a new weblogic.Admin command, DISCOVERMANAGEDSERVER.
See weblogic.Admin Command-Line Reference" in the WebLogic Server Command Reference.
JNDI Names in Deployment Descriptors
WebLogic Server 8.1 deployment descriptors do not support the use of equals signs (=) in JNDI names. For example, the following declaration is no longer supported:
<provider-url> ldap://snoopy</provider-url>
<connection-factory-jndi-name>cn=myTest</connection-factory-jndi-name>Prior to this release, the WebLogic Server deployment subsystem would convert equals signs to underscores (_). Now, the deployment subsystem throws an exception if it encounters a JNDI name with equals signs.
Administration Console Usability Improvements
The WebLogic Server Administration Console is reorganized to provide better usability for both novice and advanced users. Some of the many Administration Console changes include:
- Simplified navigation tree in the left pane of the Administration Console makes it easier to access configuration tabs for server resources and deployed modules.
- Reorganized server configuration tabs provide easier access to frequently-used controls.
- Reorganized SSL and Key Store configuration tabs facilitate enabling SSL security in a domain.
- Advanced options toggle enables you to access less-common, advanced fields by clicking the Advanced button on the relevant page. By default, the Administration Console now displays only the most commonly-used controls on each configuration tab.
- Improved feedback and exception handling in the Administration Console provides better feedback on deployment and other administration tasks. It also provides better access to server log files. Within each server log file, you can click on message ID numbers to view more information about an error or exception in the message catalog.
- New inline help for Administration Console controls provide help text directly on the configuration tab. You can also access more detailed help for a particular page by using the context-sensitive help icon.
- Deployment Assistants in the Administration Console help you deploy different J2EE modules.
- JDBC Assistants in the Administration Console help you configure JDBC Connection Pools and DataSources.
For more information about the Administration Console changes, see the Administration Console Online Help.
weblogic.Admin Features
The weblogic.Admin utility provides new commands:
- BATCHUPDATE runs multiple weblogic.Admin commands in an uninterrupted sequence. (You no longer have to invoke a separate JVM for each weblogic.Admin command.)
- CLUSTERSTATE returns the number and state of servers in a cluster.
- DISCOVERMANAGEDSERVER causes the Administration Server to re-establish administrative control over Managed Servers.
- QUERY searches for WebLogic Server MBeans whose WebLogicObjectName matches a pattern that you specify.
- STARTCLUSTER and STOPCLUSTER start and stop all server instances in a cluster.
- TEST_POOL tests a connection pool by reserving and releasing a connection from it.
- VALIDATECLUSTERCONFIG verifies the formatting of cluster-related attributes in the domain's config.xml file.
In addition:
- You can use the new -adminurl argument to access runtime MBeans for all server instances through the Administration Server.
- All weblogic.Admin commands now return an exit code of 0 if the command succeeds and an exit code of 1 if the command fails.
- The weblogic.Admin command now supports the IIOP protocol in addition to T3, T3S, HTTP, and HTTPS.
- The weblogic.Admin STARTINSTANDBY command has been removed.
See weblogic.Admin Command-Line Reference" in the WebLogic Server Command Reference.
New Default OOTB Performance Parameter Settings
The following performance-related attributes are adjusted to improve the out-of-the-box performance of WebLogic Server. Optimal WebLogic Server production tuning values vary according to your environment and applications.
- The production mode default for the execute queue thread pool size (ThreadCount) has been increased from 15 to 25. The development mode default size remains at 15.
- The default maximum capacity of a JDBC connection pool (MaxCapacity) now equals the default size of the execute queue thread pool: 25 for production mode; 15 for development mode.
- When native performance packs are used (NativeIOEnabled=true), socket reader multiplexor threads now have their own execute queue and do not borrow threads from the default execute queue, which frees up default execute threads to do application work.
- The default execute queue no longer performs internal work (for example, http session invalidation, http session invalidation triggers, and server heartbeat triggers), which frees up execute threads to perform application work.
- The default JDBC connection pool StatementCacheSize parameter is now turned on by default and is set to 10. This setting reduces both network roundtrips and preparation work in the database.
Changes to Default Execute Queue Names
The default execute queue has been renamed to weblogic.kernel.Default in this release. The __weblogic_admin_html_queue execute queue has been renamed to weblogic.admin.HTTP. The __weblogic_admin_rmi_queue has been renamed to weblogic.admin.RMI.
Note: Do not reconfigure or modify the default execute queues.
New Locations of System Administration Documentation
The system administration documentation has been reorganized for this release. Some of the topics previously included in the Administration Guide are now located in the locations indicated in Table 1-1. For a complete index of system administration documentation, see System Administration.
Topic
New Location
Starting and Stopping Servers Starting and Stopping Servers in the Administration Console Online Help Using Log Messages to Manage WebLogic Server Server Log in the Administration Console Online Help Deploying Applications Deploying Applications and Modules in the Administration Console Online Help Managing Transactions JTA in the Administration Console Online Help JDBC JDBC, JDBC Connection Pools, JDBC DataSources, JDBC MultiPools in the Administration Console Online Help JMS Configuring JMS, Tuning JMS, and Monitoring JMS in the Administration Console Online Help Messaging Bridge Messaging Bridge in the Administration Console Online Help JNDI JNDI in the Administration Console Online Help J2EE Connectors Connectors in the Administration Console Online Help Managing WebLogic Server Licenses Installing and Updating a WebLogic Server License in the Installation Guide Java Utilities Using the WebLogic Server Java Utilities in the WebLogic Server Command Reference Command-Line Interface (weblogic.Admin) weblogic.Admin Command-Line Reference in the WebLogic Server Command Reference. Configuring Network Resources Configuring and Managing WebLogic Server Overview of WebLogic Server Domains Configuring and Managing WebLogic Server Creating New Domains Using the Configuration Wizard Configuring and Managing WebLogic Server Recovering Failed Servers Configuring and Managing WebLogic Server Node Manager Configuring and Managing WebLogic Server Monitoring a WebLogic Server Domain Configuring and Managing WebLogic Server
Sample Applications
A new J2EE sample application, Avitek Medical Records (or MedRec), concisely demonstrates all aspects of the J2EE platform. Designed as an educational tool for all levels of J2EE developers, MedRec showcases the use of each J2EE component, and illustrates best practice design patterns for component interaction and client development. Medical Records is available from the Start menu on Windows machines. On Linux and other platforms it can be started from the WL_HOME\samples\server\config\medrec directory.
WebLogic Server sample applications have also been updated to use the PointBase® version 4.3 server as the sample datastore.
Security Features
The following new and improved security features are included in WebLogic Server 8.1.
Improved Functionality for Creating Roles and Policies
New windows and improved options facilitate managing access to WebLogic resources such as the Administration Console, the weblogic.Admin tool, MBeans, applications, COM, EIS, EJB, JDBC, JNDI, JMS, servers, and Web applications.
See Security" in the Administration Console Online Help.
Improved Support for Keystores and SSL Configuration
The SSL implementation of WebLogic Server supports the use of keystores for storing private keys and trusted CAs. Keystores add a level of protection to the flat files used in past release of WebLogic Server.
The default configuration of SSL and demonstration keystores provide users with secure communication out of the box. The configuration of keystores and SSL for a production environment has been simplified by the implementation of an assistant.
See Configuring Keystores and SSL" in the Administration Console Online Help.
Support for the Sun Java Cryptography Extension (JCE) Package
The Java Cryptography Extension (JCE) is a set of packages that provide a framework for encryption using strong ciphers, key generation and agreement, and Message Authentication Code algorithms.
See WebLogic Server Security Service" in Introduction to WebLogic Server and WebLogic Express.
EJB Features and Changes
This release of WebLogic Server introduces the following EBJ features and changes.
appc Compiler
appc is a single tool for compiling and validating a J2EE ear file, an ejb-jar file or war file for deployment. Previously, a user wanting to compile all modules within an ear file had to extract the individual components of an ear and manually execute the appropriate compiler (jspc or ejbc) to prepare the module for deployment. appc automates this process and performs additional pre-deployment validation checks not previously performed.
appc is discussed in detail in "appc" in Programming WebLogic Enterprise JavaBeans.
Batch Operations
WebLogic Server now supports batch updates and deletes, in addition to the existing batch insert (previously known as "bulk insert") support. In addition, the EJB container now prevents exceptions by performing dependency checks between batch operations.
See Batch Operations" in Programming WebLogic Enterprise JavaBeans.
Automatic Table Creation Feature Expanded
Previously, WebLogic Server automatically created database tables if the create-default-dbms-tables element in weblogic-cmp-rdbms-jar.xml was set to True. However, if the table already existed, the server did not recreate it. Beginning with this release, WebLogic Server recreates existing tables when underlying table schema change, that is, when any container-managed persistence fields are modified.
See Automatic Table Creation" in Programming WebLogic Enterprise JavaBeans.
Preventing Deadlocks for Container-Managed Persistence Beans
In situations of high throughput, applications that use an exclusive concurrency strategy can encounter deadlocks if a transaction that performs a cascade delete needs access to the same bean as a transaction that does not perform a cascade delete. This release includes a feature to prevent deadlocks in this scenario, via the lock-order element in the weblogic-cmp-rdbms-jar.xml deployment descriptor file.
See Preventing Deadlocks for Transactions that Use Exclusive Concurrency" in Programming WebLogic Enterprise JavaBeans.
Fine-Grained EJB Redeployment
During iterative development of an EJB application, developers make many modifications to EJB implementation class files; they typically redeploy an EJB module multiple times during its development.
Previously, in order to redeploy an implementation class, developers had to reload the entire EJB module containing the implementation class, including all other implementation classes as well as utility classes. With this new feature, developers can specify reloading granularity to the level of an individual implementation class.
See WebLogic Application Classloading" in Developing WebLogic Server Applications for a detailed explanation of this feature.
EJB Query Language (QL) Compiler Enhancements
Compiler error messages in EJB QL now provide a visual aid to identify which part of the query is in error and allow the reporting of more than one error per compilation.
See EJB QL Error-Reporting Enhancements" in Programming WebLogic Enterprise JavaBeans.
Performance Improvements
WebLogic Server provides improved performance for EJB bulk updates, optimistic concurrency, field groups, relationship caching, and EJB redeployment.
This release also introduces greatly improved monitoring of performance, via new tab pages in the WebLogic Server Administration Console.
See Tuning WebLogic Server EJBs" in WebLogic Server Performance and Tuning.
Reloadable EJB Modules
With the Reloadable J2EE Modules feature, you can also redeploy EJB modules independently of other components in an Enterprise Application.
See Developing WebLogic Server Applications.
EJB Deployment Assistants
The Administration Console provides an EJB Module Deployment Assistant to help you deploy EJBs. See the EJB section of the Administration Console Online Help.
New Default Values for Several EJB-Specific Deployment Descriptor Elements
Several EJB-related deployment descriptor elements now have new default values, in compliance with the J2EE 1.3 specification.
Deployment Descriptor File
Element
New Default Value
weblogic-ejb-jar.xml enable-call-by-reference False weblogic-cmp-rdbms-jar.xml check-exists-on-method True include-updates True
For a complete discussion of weblogic-ejb-jar.xml elements, see The weblogic-ejb-jar.xml Deployment Descriptor" in Programming WebLogic Enterprise JavaBeans.
For a complete discussion of weblogic-cmp-rdbms-jar.xml elements, see The weblogic-cmp-rdbms- jar.xml Deployment Descriptor" in Programming WebLogic Enterprise JavaBeans.
New dbms-column-type Values
WebLogic Server supports two additional values for the dbms-column-type element in weblogic-cmp-rdbms.xml: LongString and SybaseBinary.
See dbms-column-type" in Programming WebLogic Enterprise JavaBeans.
Relationship Caching Functionality Allows Multiple Caching Elements
The caching-element tag in weblogic-cmp-rdbms-jar.xml is used in relationship-caching to specify the cmr-field for the related bean, and the group-name in the related bean.
The WebLogic Server EJB container now allows multiple caching-element sub-elements. The relevant DTD entry is:
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element*
)>
Previously, the DTD entry read this way:
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element?
)>
Disabling Deployment Warning Messages
A new feature can disable certain warning messages during deployment, via the new disable-warning element in weblogic-ejb-jar.xml.
See Disabling Deployment Warning Messages" in Programming WebLogic Enterprise JavaBeans.
New Security-related Deployment Descriptor Elements
Two new security-related deployment descriptor elements have been added to weblogic-ejb-jar.xml:
- The externally-defined element replaces global-role, which has been deprecated in this release. See externally-defined" in Programming WebLogic Enterprise JavaBeans.
- The run-as-role-assignment element is used to map a given security-identity/ /run-as/role-name that is specified in the ejb-jar deployment descriptor to a run-as-principal-name. See run-as-role-assignment" in Programming WebLogic Enterprise JavaBeans.
For a comprehensive discussion of these elements and their relationship to securing of EJBs in general, see Securing Enterprise JavaBeans" in Programming WebLogic Security.
Constraining Optimistic Row Checking
To specify the rows in a table that the EJB container should check when optimistic concurrency is used, use the new verify-rows element in weblogic-cmp-rdbms-jar.xml. This element allows you to choose between performing optimistic checking on any row read by a transaction versus only rows updated or deleted by a transaction.
See verify-rows" in Programming WebLogic Enterprise JavaBeans.
Storing Table Creation Scripts
To specify the DDL file name to which the EJB container writes table creation scripts, use the new default-dbms-tables-ddl element in weblogic-cmp-rdbms-jar.xml.
See default-dbms-tables-ddl" in Programming WebLogic Enterprise JavaBeans.
Assigning a Message-Driven Bean to a Configured Execute Queue
As of this release, you can assign message-driven beans to a configured execute queue, via the dispatch-policy element in weblogic-ejb-jar.xml. Previously, dispatch-policy applied only to session and entity beans.
if the EJB is recompiled - during deployment for example - the setting will not be lost.
See The weblogic-ejb-jar.xml Deployment Descriptor"in Programming WebLogic Enterprise JavaBeans.
EJB Features Deprecated in This Release
The following EJB features have been deprecated in this release.
Administration Console Deployment Descriptor Editor
This release of WebLogic Server deprecates the Administration Console Deployment Descriptor Editor.
The majority of deployment descriptor elements can now only be edited using a text or XML editor. A small subset of elements - those related to administering and tuning EJBs - can still be viewed, modified, and persisted to the descriptor file via the Administration Console using the Descriptors tab.
See Configuring Deployment Descriptor Values" in the EJB section of the Administration Console Online Help.
ejbc Compiler
The ejbc compiler has been deprecated. Use appc in its place. See appc" in Programming WebLogic Enterprise JavaBeans.
sql-select-distinct
This version of WebLogic Server deprecates the sql-select-distinct element in weblogic-cmp-rdbms-jar.xml. Use the DISTINCT clause directly in finder queries instead of this deployment descriptor element. For finder queries that have a DISTINCT clause, the container defers duplicate elimination to the database if FOR UPDATE is not used and filters duplicates in memory if it is used.
global-role
This version of WebLogic Server deprecates the global-role element in weblogic-ejb-jar.xml. Use the externally-defined element instead. For a comprehensive discussion of the externally-defined element and its relationship to securing of EJBs in general, see Securing Enterprise JavaBeans" in Programming WebLogic Security.
run-as-identity-principal
This version of WebLogic Server deprecates the run-as-identity-principal element in weblogic-ejb-jar.xml. Use the run-as-principal-name element instead. For a comprehensive discussion of the run-as-principal-name element and its relationship to securing of EJBs in general, see Securing Enterprise JavaBeans" in Programming WebLogic Security.
stateless-bean-methods-are-idempotent
This version of WebLogic Server deprecates the stateless-bean-methods-are-idempotent element in weblogic-ejb-jar.xml. Use the idempotent-methods element instead. See idempotent-methods" in Programming WebLogic Enterprise JavaBeans.
J2EE Connector Changes
The DTD for the WebLogic Server Connector deployment descriptor, weblogic-ra.xml, has changed in this version. See weblogic-ra.xml Deployment Descriptor Elements" in Programming WebLogic Server J2EE Connectors.
The Connector implementation now makes connections shareable unless a suitable "hint" is specified at deployment time. EJB 2.0 uses the res-sharing-scope deployment descriptor (with values Shareable or Unshareable) to specify this hint.
jCOM Features
In this release. you configure COM packet timeout values and the maximum length of COM message packets via a different location in the Administration Console.
These changes are summarized in the following table.
Value
Configured This Way in 7.0
Configure This Way in 8.1
COM packet timeout value Set the COM Message Timeout property under Server -> Connections -> jCOM in the Administration Console.
Set the Complete Message Timeout property under Server -> Protocols -> General -> Advanced Options in the Administration Console. The maximum length of COM message packets Set the COM Max Message Size property under Server -> Connections -> jCOM in the Administration Console. Set the Complete Maximum Message Size property under Server -> Protocols -> General -> Advanced Options in the Administration Console.
JDBC Features and Changes
WebLogic Server provides the following new JDBC features, along with internal performance enhancements in the JDBC subsystem.
JDBC Assistants
The Administration Console includes the JDBC Connection Pool Assistant and the JDBC Data Source Assistant. These assistants help ease database connectivity configuration by prompting you for database, JDBC driver, and connection pool information, and then constructing the connection attributes required by your JDBC driver. See the Administration Console Online Help.
JDBC Connection Pool Attributes
JDBC connection pools include several new attributes and features that you can configure from the Administration Console or MBean attributes using the JMX API, including among others:
- Connection Reserve Timeout - Enables connection requests to wait for a connection from a connection pool when all connections are currently in use.
- Connection Creation Retry Frequency - Enables WebLogic Server to retry to create a database connection after the original attempt to create the connection failed.
- Test Created Connections - Enables testing and initialization of physical database connections when each connection is created.
- Test Pool - Tests a JDBC connection pool by reserving and releasing a connection.
See the Administration Console Online Help.
Enhanced Support for JDBC Extensions
Some database vendors provide additional proprietary methods for working with data from their DBMS. These methods extend the standard JDBC interfaces.WebLogic Server provides enhanced support for vendor extensions to JDBC by supporting most extension methods exposed in a public interface in the vendor's JDBC driver. See Using Vendor Extensions to JDBC Interfaces in Programming WebLogic JDBC.
Physical Connection from a Connection Pool
When you get a connection from a connection pool, WebLogic Server provides a logical connection rather than a physical connection so that WebLogic Server can manage and maintain the connection. In some cases, you may want to use a physical connection, such as if you need to pass the connection to a method that checks the class name of the object for a particular class. WebLogic Server includes the getVendorConnection() method in the weblogic.jdbc.extensions.WLConnection interface that you can use to get the underlying physical connection from a logical connection. See Getting a Physical Connection from a Connection Pool in Programming WebLogic JDBC.
Support for RowSets
WebLogic Server includes support for RowSets, which are a JDBC 2.0 extension to ResultSets. RowSets allow a user to read and modify a cached query result and then commit the resulting changes back to a database. RowSets use a disconnected model which uses optimistic concurrency control to ensure database consistency. This allows work to be performed without holding open long transactions or database and application server resources. See Using RowSets with WebLogic Server in Programming WebLogic JDBC.
Statement Caching
The statement cache for JDBC connection pools was enhanced to include a Least Recently Used caching algorithm and controls for clearing the statement cache.
When you use a prepared statement or callable statement in an application or EJB, there is considerable processing overhead. To minimize the processing costs, WebLogic Server can cache statements used in your applications in the statement cache. When an application or EJB calls any of the statements stored in the cache, WebLogic Server reuses the statement stored in the cache, which reduces CPU usage on the database server, and thus improves performance for the current statement and leaves CPU cycles on the database server for other tasks. See the Administration Console Online Help.
Classes Removed from weblogic.jdbc.pool
In WebLogic Server 8.1, the weblogic.jdbc.pool classes were removed, except for the weblogic.jdbc.pool.Driver class. These classes were removed because they were incompatible with an internal change that enables and enhances support for JDBC extensions provided in JDBC drivers. For more information, see "Removed Classes in the Upgrade Guide.
JTA Features
WebLogic Server 8.1 provides the following new JTA features.
Manual Completion of Current Transactions
In some cases, a transaction may not complete normally due to system or network failures. In such situations there may be locks held on behalf of the pending transaction that are inhibiting the progress of other transactions. You can use the Administration Console or methods on the JTA runtime MBean to manually complete transactions that did not complete normally. See the Administration Console Online Help.
Non-XA-Compliant Resource Participation in a Global Transaction
A single, non-XA-compliant resource adapter can participate in a global transaction with other XA-compliant resources. WebLogic Server uses a last agent commit optimization so that after all participating XA-compliant resources are prepared, the result of the local transaction for the non-XA resource is used to determine the outcome of the global transaction. The resource adapter must provide local transaction semantics. You can use this functionality with the WebLogic Server J2EE Connector architecture to enable non-XA legacy systems to participate in a global transaction.
JMS Features
WebLogic Server 8.1 provides the following new JMS features.
JMS Thin Client
At approximately 400KB, the JMS thin application client (wljmsclient.jar) file provides full WebLogic JMS functionality, yet greatly reduces the client-side WebLogic footprint by using a smaller library that contains only the set of supporting files required by client-side programs. The JMS thin client also requires using the standard WebLogic thin application client JAR (wlclient.jar), around 300KB, which contains the base client support for clustering, security, and transactions, and failover. See WebLogic JMS Thin Client in Programming WebLogic JMS.
Simplified Access to Remote WebLogic Domains or Third-Party JMS Providers
Using the Foreign JMS Server node on the Administration Console, you can quickly map a third-party JMS provider so that its connection factories and destinations appear in your WebLogic Server JNDI tree as a local JMS objects. A Foreign JMS Server configuration can also be used to reference remote instances of WebLogic Server in another cluster or domain in your local WebLogic JNDI tree. See Accessing Foreign JMS Providers in the Administration Console Online Help.
Easier Access to JMS Via EJBs and Servlets
New "wrappers" for JMS connection factories make it easier to use JMS inside a J2EE container, such as an EJB or servlet. By using a resource-ref element in the deployment descriptors to define your connection factories, the wrappers make it easy to access local or remote WebLogic JMS objects, and can even be used to access third-party JMS providers. This feature also provides automatic pooling of JMS connection and session objects (and some pooling of message producer objects as well); automatic transaction enlistment for JMS providers that support XA; monitoring of the JMS connection and re-establishment after a failure; and security credentials that are managed by the EJB or servlet. See Using JMS with EJBs and Servlets in Programming WebLogic JMS.
Better Expired Message Handling
Active message expiration ensures that expired messages are cleaned up immediately. Moreover, expired message auditing gives you the option of tracking expired messages, either by logging when a message expires or by redirecting expired messages to a special destination. See Handling Expired Messages in the Administration Console Online Help.
Improved Message Flow Control by Blocking Producers
The "Blocking Send" features help you avoid receiving message quota errors by temporarily blocking message producers from sending messages to a destination (queue or topic) when the destination has exceeded its specified maximum message quota. See Avoiding Quota Exceptions by Blocking Message Producers in the Administration Console Help.
Ordered Redelivery of Messages
As per the JMS Specification, all messages initially delivered to a consumer from a given producer are guaranteed to arrive at the consumer in the order in which they were produced. WebLogic JMS goes above and beyond this requirement by guaranteeing the correct ordering of redelivered messages as well. See Ordered Redelivery of Messages in Programming WebLogic JMS.
Dynamically Deleting Queue or Topic Destinations
New JMS Helper extension methods enable you to delete JMS destinations dynamically. The JMS server removes the deleted destination in real time; therefore, it is not necessary to redeploy the JMS server for the deletion to take effect. See Deleting Destinations Dynamically in Programming WebLogic JMS.
ServerSessionPoolFactory Class Deprecated In weblogic.jms Package
The ServerSessionPoolFactory class in the weblogic.jms package has been deprecated in WebLogic Server 8.1. It has been replaced by the ServerSessionPoolFactory class in the weblogic.jms.extensions package. BEA recommends using the new version in the weblogic.jms.extensions package when binding a ServerSessionPoolFactory into JNDI. However, for this release you can still perform the JNDI lookup with either version. See Defining Server Session Pools in Programming WebLogic JMS or the weblogic.jms.extensions.ServerSessionPoolFactory Javadoc.
Web Application Features
WebLogic Server 8.1 includes the following new Web Application features and changes.
Performance Improvements
Performance is improved for JSP string handling as well as JSP compilation time.
Security Principle for init Method
Use the new init-as-principal-name element in weblogic.xml to declare a principle name for running a servlet's init method. See Developing Web Applications for WebLogic Server.
Allow Access to WEB-INF on forward/include
You can now call one servlet from inside another servlet. This is accomplished using either a forward or an include request from within the original servlet. Should you forward to a second servlet, all future action takes place according to the second servlet, as with any forward. Including a second servlet allows you to gather data from a source already accessed by another servlet without having to rewrite all the code. See Dispatching Requests to Another Resource in Programming WebLogic HTTP Servlets.
Integrated jspc Functionality into appc
The appc compiler now incorporates the functionality of jspc. You can use appc to compile and generate both EJBs and JSPs for deployment. See appc and jspc Compilers in Developing Web Applications for WebLogic Server.
Class Reloading for Servlet Filters
When responding to a request for a servlet, WebLogic Server checks the time stamp of the servlet class file prior to applying any filters associated with the servlet, and compares it to the servlet instance in memory. If a newer version of the servlet class is found, WebLogic Server re-loads the servlet class before any filtering takes place. You can configure the interval at which WebLogic Server checks the timestamp using the Server Reload attribute. See Servlet Development Tips in Programing WebLogic HTTP Servlets.
FileServlet File Sorting Options
WebLogic Server introduces new weblogic.xml deployment descriptors to provide sorting options for directory listings. The new element, index-directory-sort-by has valid sorting styles of NAME, LAST_MODIFIED, and SIZE. For example, to enable directory listing sorted by file size, the XML would look similar to:
<weblogic-web-app>
<index-directory-enabled>true</index-directory-enabled>
<index-directory-sort-by>SIZE</index-directory-sort-by>
</weblogic-web-app>
Web Services Features
The following new Web Services features are available with WebLogic Server 8.1.
Digital Signatures and Encryption
You can configure data security for Web Services and Web Service clients using new elements in the web-services.xml deployment descriptor. See Configuring Security in Programming WebLogic Web Services.
Reliable SOAP Messaging
Reliable SOAP messaging is a framework whereby an application running in one WebLogic Server instance can asynchronously and reliably invoke a Web service running on another WebLogic Server instance. See Using Reliable SOAP Messaging in Programming WebLogic Web Services.
SOAP 1.2
WebLogic Server supports SOAP 1.2 as the message transport when a client invokes a Web Service operation. See Using SOAP 1.2 in Programming WebLogic Web Services.
JMS Transport Protocol
You can optionally configure a Web Service to use JMS as the transport protocol (in addition to HTTP/S, the default protocol) when a client accesses the service. See Using JMS Transport to Invoke a WebLogic Web Service in Programming WebLogic Web Services.
Asynchronous Invocation of WebLogic Web Services
The clientgen Ant task can now generate stubs for invoking a Web service operation asynchronously. The stub contains two methods: the first invokes the operation with the required parameters but does not wait for the result; later, the second method returns the actual results. Use this asynchronous client when using reliable SOAP messaging. See Writing an Asynchronous Client in Programming WebLogic Web Services.
Portable Stubs
You can now use portable stubs (versioned client JAR files used to invoke WebLogic Web services) to avoid class clashes when invoking a Web service from within WebLogic Server. See Creating and Using Portable Stubs in Programming WebLogic Web Services.
Implementation of the SOAP With Attachments API For Java (SAAJ) 1.1
SAAJ enables developers to produce and consume messages conforming to the SOAP 1.1 specification and SOAP with Attachments note. This specification is derived from the java.xml.soap package originally defined in the JAXM 1.0 specification.
wsdlgen Ant Task
The wsdlgen Ant task generates a WSDL file from the EAR and WAR files that implement your Web Service. The EAR file contains the EJBs that implement your Web Service and the WAR file contains the web-services.xml deployment descriptor file. See Web Service Ant Tasks and Command-Line Utilities in Programming WebLogic Web Services.
Additional Functionality in Existing Ant Tasks
The existing Web Service Ant tasks have the following new attributes and elements:
- autotype - The autotype Ant task has the following new attributes: keepGenerated and overwrite.
The Ant task also has a new command-line version.
- clientgen - The clientgen Ant task has the following new attributes: generateAsyncMethods, generatePublicFields, and keepGenerated.
- servicegen - The servicegen Ant task has the following new child elements: <handlerChain>, <reliability>, and <security>.
The main servicegen Ant task has the following new attributes: keepGenerated and mergeWithExistingWS.
The <service> child element of the servicegen Ant task has the following new attribute: useSoap12.
- The source2wsdd Ant task has the following new attributes: ejblink, mergeWithExistingWS, overwrite, and wsdlFile.
- The wsdl2Service Ant task has the following new attribute: overwrite.
- The wspackage Ant task has the following new attribute: utilJars.
For detailed information, see Web Service Ant Tasks and Command-Line Utilities in Programming WebLogic Web Services.
Web Service Changed Features In This Release
The following Web Service features have changed in this release.
wsdl2Service Ant Task
The wsdl2Service Ant task now generates a Java interface that represents the implementation of your Web Service. In the previous release, this Ant task generated a Java source file that partially implemented the Web service.
JMS-Implemented Web Services
BEA no longer supports using JMS Topics as the destination type for JMS-implemented WebLogic Web Services. This functionality was deprecated in release 7.0 of WebLogic Server.
Command-Line Version of the servicegen Ant Task
BEA no longer supports the command-line version of the servicegen Ant task.
WebLogic Tuxedo Connector Features
WebLogic Server 8.1 provides the following new WebLogic Tuxedo Connector features.
Enhanced Security Administration
WebLogic Tuxedo Connector provides to users the ability to select one of the following APPKEY generators to access Tuxedo services:
- TPUSER plug-in - Enables users to use a tpuser file to provide user information to the Tuxedo authentication server.
- LDAP - Enables users create a single source of security administration by allowing WebLogic Server embedded LDAP information to be used by a Tuxedo 8.1 authentication server.
- Custom - Enables users to create a custom APPKEY to generate user information to access Tuxedo services.
WLEC to WebLogic Tuxedo Connector Migration Guide
The guide outlines how to migrate applications using WLEC to the WebLogic Tuxedo Connector. WebLogic Tuxedo Connector provides support for FactoryFinder objects using the find_one_factory_by_id method. WLEC to WebLogic Tuxedo Connector migration requires minor application modification:
- WLEC applications require modification of the portions of application code that use or call environmental objects.
- Existing CORBA C++ server objects do not require server application changes.
See the WLEC to WebLogic Tuxedo Connector Migration Guide.
Asynchronous tpacall
The asynchronous tpacall method allows you to send a request to a Tuxedo service and release the thread resource that performed the call to the thread pool. This allows a very large number of outstanding requests to be serviced with a much smaller number of threads. See Request/Response Communication in the WebLogic Tuxedo Connector Programmer's Guide.
Runtime WTC ORB
This release of WebLogic Tuxedo Connector implements a new WTC ORB which uses WebLogic Server RMI-IIOP runtime and CORBA support. Previous releases used a JDK based WTC ORB. A wrapper is provided to allow users with legacy applications to use the new WTC ORB without modifying their existing applications. See How to Develop WebLogic Tuxedo Connector Client Beans using the CORBA Java API in the WebLogic Tuxedo Connector Programmer's Guide.
Enhancements to FML Interface
Several performance enhancements are provided in the Java Application-to-Transaction Monitor Interface Field Markup Language (JATMI FML Interface). Enhancements include:
- The addition of a Fadd method to add objects to a fielded buffer
- Performance enhancements for the Fchg and Fdel methods
VIEW Buffer Example
The simpview example demonstrates the ability of WebLogic Tuxedo Connector to allow WebLogic Server to interoperate with Tuxedo using VIEWs. WebLogic Tuxedo Connector code examples, if installed, are located in the SAMPLES_HOME\server\examples\src\examples\wtc directory of your WebLogic Server installation, where SAMPLES_HOME is the location of all examples for the WebLogic Platform.
Changes to WTC in the Navigation Tree
The terminology used to reference the WebLogic Tuxedo Connector Service and nodes in Administration Console has changed:
- The WebLogic Tuxedo Connector node is now WTC.
- The Local WLS Domains node is now Local Tuxedo Access Points.
- The Remote Tuxedo Domains node is now Remote Tuxedo Access Points.
- A WTCServer instance is now a WTC Service instance.
XML Features
You can now use the WebLogic XPath API to perform XPath matching against an XML document represented as a DOM, XMLNode, or XMLInputStream. See Using the WebLogic XPath API in Programming WebLogic XML.
Developer Tools
The following new developer tool features are available in WebLogic Server 8.1.
New appc Compiler
The appc compiler compiles and generates EJBs and JSPs for deployment. It also validates the descriptors for compliance with the current specifications at both the individual module level and the application level. The application level checks include checks between the application-level deployment descriptors and the individual modules as well as validation checks across the modules.
New J2EE Client .JARs
Prior to version 8.1, client applications that incorporated WebLogic Server functionality required the entire WebLogic Server distribution (weblogic.jar and weblogicaux.jar) on the client machine. WebLogic Server now provides two new client .jar files that include only the functionality needed for small-footprint J2EE client functionality. The new files are:
- wlclient.jar for basic WebLogic functionality such as clustering, security, and transactions.
- wljmsclient.jar for basic WebLogic functionality plus JMS features.
The new client .jar files are located in the /server/lib subdirectory of the WebLogic Server installation directory (for example, c:\bea\weblogic81b\server\lib). The new client .jar files are not supported with JDK 1.3.x or earlier.
See Developing WebLogic Server Applications.
Builder Changes
The following features and changes apply to the WebLogic Builder tool.
Deployment Descriptor Editing
Use the Builder tool to edit J2EE module deployment descriptors. Deployment Descriptor editing features are no longer available via the Administration Console. See the WebLogic Builder Online Help.
Optimistic Concurrency
It is now possible to configure your CMP entity beans to use optimistic concurrency for parallel transactions using Builder. See Working with EJBs in the WebLogic Builder Online Help.
Internationalization Features
WebLogic Server introduces the following changes to internationalization utilities:
- weblogic.i18ngen has updated command line options.
- weblogic.i10ngen has updated command line options.
- weblogic.gettxt is a new command line utility.
- weblogic.i18ntools.GetText is a new API.
- weblogic.MsgEditor has an updated GUI. The main Message Editor window also provides the ability to retire and unretire messages. Retiring a message does not mean that the message is deleted from the master catalog. It simply means it is hidden from user view. This feature is useful for removing obsolete messages. If you need to bring a retired message back into view, you can unretire it.
Certifications
For the latest information about supported WebLogic Server configurations, see Supported Configurations.
Standards Support
The following tables provide information about J2EE and other standards supported in WebLogic Server 8.1:
- Java Standards Support: Table 1-4
- Web Services Standards Support: Table 1-5
- Other Standards Support: Table 1-6
Standard
Version
J2EE 1.3 JDKs 1.4 J2EE EJB 2.0 and 1.1 J2EE JMS 1.0.2b J2EE JDBC (with third-party drivers) 2.0 MS SQL jDriver 1.0 Oracle OCI jDriver 1.0 and some 2.0 features (batching) J2EE JNDI 1.2 OTS/JTA 1.2 and 1.0.1b J2EE Servlet 2.3 and 2.2 J2EE JSP 1.2 and 1.1 RMI/IIOP 1.0 JMX 1.0 JavaMail 1.2 JAAS 1.0 Full J2EE CA 1.0 JCE 1.4 Java RMI 1.0 JAXP 1.1 JAX-RPC 1.0
Standard
Version
SOAP 1.1 and 1.2 WSDL 1.1 UDDI v1 and v2 WS-Security 1.0
Standard
Version
SSL v3 X.509 v3 LDAP v2 TLS v1 HTTP 1.1 SNMP --
Deprecated Features and APIs
For a list of deprecated WebLogic Server classes, see http://e-docs.bea.com/wls/docs81/javadocs/deprecated-list.html.
Third-Party JAR Files
Table 1-7 provides information about the JAR files from third parties that are part of WebLogic Server:
JAR File
Description
J2EE, javax and subdirectories
- com/sun/activation/
- com/sun/mail
- corba idl
- javax/activation
- javax/connector
- javax/ejb
- javax/jms
- javax/jts
- javax/mail
- javax/management
- javax/net
- javax/servlet
- javax/transaction
- javax/xml/messaging
- javax/xml/soap
- javax/xml/rpc
- jta
- jts
Libraries
- Ant 1.5
- Antlr 2.7.1 (MageLang Institute)
- Cert-J 2.0.2 from certicom
- Certicom SSL 3.1.14
- Crypto-J 3.3.1 from certicom
- Netscape LDAP 3.1
- Oracle Thin JDBC driver 9.2.0.3
- AdventNet SNMP 3.2 SP1
- JavaScript 1.5 from Mozilla
- JCom from J-Integra
- PointBase 4.3
- Octetstring 1.5
XML
- Acumen UDDI
- Apache Xerces DOM
Other Available Resources
Here are some pointers to useful information related to this release. The hyperlinks require Internet access.
Fast Track Procedures
High-level procedures to help you quickly deploy an HTML file, JSPs, and servlets, are available at http://e-docs.bea.com/wls/docs70/quickstart/quick_start.html.
Examples
Code examples, if installed, are located in the SAMPLES_HOME\server\src\examples directory of your WebLogic Server installation, where SAMPLES_HOME is the location of all examples for the WebLogic Platform. By default, this location is c:\bea\weblogic81b\samples. Examples are also available from the Start menu for Windows users.
Introduction
For an overview of WebLogic Server features and the J2EE application architecture, see Introduction to WebLogic Server.
Additional Documentation
The full documentation set for BEA WebLogic Server 8.1, including administration, programming, and reference guides, is provided on the BEA Web site at http://e-docs.bea.com/wls/docs81/index.html.
Newsgroups
BEA WebLogic Server newsgroups provide community support for BEA products. Information about BEA-related newsgroups can be found at http://newsgroups.bea.com/ and news://newsgroups.bea.com.
Dev2Dev Online
The BEA site Dev2Dev Online provides resources to make your e-commerce development easier and faster. To reach Dev2Dev online, go to http://developer.bea.com/.