|bea.com | products | dev2dev | support | askBEA|
|e-docs > WebLogic Server > Release Notes > WebLogic Server 8.1 Beta Features and Changes|
WebLogic Server 8.1 Beta Features and Changes
Welcome to BEA WebLogic Server 8.1 Beta! As the leading Web application server, WebLogic ServerTM 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 Beta is the latest version of WebLogic Server. The following sections describe the new features and major improvements made in the WebLogic Server 8.1 Beta release:
Packaging and Deployment Features
WebLogic Server includes the following new and changed features related to J2EE modules and module deployment.
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.j2ee.ApplicationLifeCycleListener to perform application-specific actions when various application lifecycle events occur. WebLogic Server defines the following lifecycle events:
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.
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:
See Deploying WebLogic Server Applications.
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.
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.
The following new and improved server administration features are included in WebLogic Server 8.1 Beta.
This version of WebLogic Server includes BEA WebLogic JRockit 8.1 Beta, 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.
WebLogic Server now provides message catalogs 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.
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. You 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.
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.
New Affinity Policies for Java Client Load Balancing
WebLogic Server provides three new load balancing algorithms that 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 JMS client applications. See Load Balancing in a Cluster in Using WebLogic Server Clusters.
Improved Node Manager
You have the option of configuring the Node Manager process automatically during server installation (using demonstration SSL certificates). The new Node Manager also includes improved logging facilities and monitoring capabilities that 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:
WebLogic Server 8.1 also has new guidelines that apply to configuring Network Channels. See Configuring Network Resources in Configuring and Managing WebLogic Server.
Administration Console Usability Improvements
The WebLogic Server Administration Console has been reorganized to provide better usability for both novice and advanced users. The following are some of the many Administration Console changes:
For more information about the Administration Console changes, see the Administration Console Online Help.
The weblogic.Admin utility provides the following new commands:
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.
For more information, refer to weblogic.Admin Command-Line Reference in the WebLogic Server Command Reference.
New Default OOTB Performance Parameter Settings
The following performance-related attributes have been adjusted for improving the out-of-the-box performance of WebLogic Server. Optimal WebLogic Server production tuning values vary according to your environment and applications.
A new J2EE sample application, Avitek Medical Records (or MedRec), concisely demonstrates all aspects of the J2EE platform, and is 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.
The following new and improved security features are included in WebLogic Server 8.1 Beta.
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 a wizard. 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 introduces the following EJB features and changes.
Performance Monitoring Improvements
Performance monitoring is improved through the implementation of new tab pages in the WebLogic Server Administration Console.
appc is a single tool for compiling and validating a J2EE .EAR file, an EJB .JAR file, or .WAR file for deployment. appc replaces and improves upon ejbc, which is deprecated as of this release.
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.
See appc in Programming WebLogic Enterprise JavaBeans.
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 Database Detection
As application developers develop their entity beans, the underlying table schema must change. With the automatic database detection feature enabled, WebLogic Server automatically changes the underlying table schema as entity beans change. See Automatic Database Detection in Programming WebLogic Enterprise JavaBeans.
EJB QL Compiler Enhancements
Compiler error messages in EJB QL 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.
The ejbc compiler has been deprecated. Use appc in its place. See appc.
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 XML element. For finder queries that have a DISTINCT clause, the container defers duplicate elimination to the database if FOR UPDATE is not used and filter duplicates is used.
If sql-select-distinct is set to true, but the finder query does not have a DISTINCT clause, the value of sql-select-distinct is ignored and it is equivalent to specifying a DISTINCT clause in the finder query.
If sql-select-distinct is set to false, but the finder query has a DISTINCT clause, the value of sql-select-distinct is ignored.
For more information on sql-select-distinct, see sql-select-distinct in Programming WebLogic Enterprise JavaBeans.
For more information on the SELECT DISTINCT clause in EJB QL, see Using SELECT DISTINCT.
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.
WebLogic Server provides improved performance for EJB bulk updates, optimistic concurrency, field groups, relationship caching, and EJB redeployment.
Reloadable EJB Modules
With the Custom Classloading for J2EE Modules feature, you can redeploy EJBs independently of other components in an Enterprise Application.
EJB Deployment Assistants
The Administration Console provides an EJB Module Deployment Assistant to help you deploy EJBs. See the Administration Console Online Help.
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.
WebLogic Server provides the following new JDBC features, along with internal performance enhancements in the JDBC subsystem.
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:
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.
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.
WebLogic Server 8.1 Beta 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.
WebLogic Server 8.1 Beta provides the following new JMS features.
JMS Thin Client
At approximately 800k, the 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 new client .jar file is available in the /server/lib subdirectory of the WebLogic Server installation directory (for example, c:\bea\weblogic81b\server\lib). This .jar provides for full-featured WebLogic Server clients that can support clustering, load balancing, transactions, security, and failover. See WebLogic JMS Thin Client in Programming WebLogic JMS.
Accessing Foreign JMS Providers
Using the Foreign JMS Server node on the Administration Console, you can quickly map a foreign JMS provider so that its connection factories and destinations appear in the WebLogic 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 the local WebLogic JNDI tree. See Accessing Foreign JMS Providers in Programming WebLogic JMS.
Accessing JMS via Servlets and EJBs
New "wrappers" make it easier to use JMS inside a J2EE component, such as an EJB or servlet. The wrappers provide features including automatic pooling of JMS Connection and Session objects (and some pooling of MessageProducer 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 container. See Using WebLogic 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 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 Excptions by Blocking Message Producers in the Administration Console Help.
Web Application Features
WebLogic Server 8.1 Beta includes the following new Web Application features and changes.
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.
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. For more information about appc usage and syntax 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 resemble:
Web Services Features
The following new Web Services features are available with WebLogic Server 8.1 Beta.
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 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 Messaging in Programming WebLogic Web Services.
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. You use this asynchronous client when using reliable messaging. See Writing an Asynchronous Client in Programming WebLogic Web Services.
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.
WebLogic Tuxedo Connector Features
WebLogic Server 8.1 Beta 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:
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.
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.
The following new developer tool features are available in WebLogic Server 8.1 Beta.
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 Beta, 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:
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 Programming WebLogic Server Applications for more information.
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.
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.
WebLogic Server introduces the following changes to internationalization utilities:
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://download.oracle.com/docs/cd/E13222_01/wls/docs70/quickstart/quick_start.html.
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.
For an overview of WebLogic Server features and the J2EE application architecture, see Introduction to WebLogic Server.
The full documentation set for BEA WebLogic Server 8.1 Beta, including administration, programming, and reference guides, is provided on the BEA Web site at http://download.oracle.com/docs/cd/E13222_01/wls/docs81b/index. This link is password protected and available only to Beta customers.
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.
The BEA site Dev2Dev Online provides resources to make your e-commerce development easier and faster. To reach Dev2Dev online, go to http://dev2dev.bea.com/.