There are a lot of changes and new features in Weblogic Server 10.0. This new release gets better and efficient in terms of performance, in terms of the supported APIs and in terms of the supported external libraries. Almost all of the updates in the Java EE are reflected in the WebLogic Server 10.0. In the following sections we will discuss 18 of these new features:-
1) Core Server
1.1) Client Support and Modularity
In order to ensure for greater flexibility some aspects of the file structure of WebLogic have reorganized. Now many of components of the WebLogic Server that used to be in weblogic.jar are now included in separate modules and weblogic.jar now refers to these
components in the modules directory from its manifest classpath. Now this file has relative manifest classpath references to the WL_HOME/modules directory and because of which it can not be moved to any new location. But if required three options are available:-
- Include both weblogic.jar and WL_HOME/modules/weblogic.server.modules_10.0.0.0.jar directly in the classpath.
- Modify the manifest classpath of weblogic.jar to refer to this JAR in the correct relative location.
- Create a consolidated wlfullclient.jar for client applications using the Jar Builder tool.
1.2) Subcomponents Version Information
There is a new verbose optional argument in the java weblogic.version command. It returns version information
about many WebLogic Server components.
1.3) Security Consequences
The default J2SE security policy in WebLogic server has been modified to grant access to the new modules. As a result of the reorganization of the weblogic.jar, the security policy, in your scenario, may need to be modified to grant access to the newer separate
2) Java EE Metadata Annotations and Dependency Injection
The Annotations feature in JDK 5.0 allows developers to specify how the application component behaves in the container, requests for Dependency Injections etc. in the Java class itself. This simplifies the application development process and because of these features being useful for EJBs, Web Services and Web Applications, annotations prove to be very handful for programmers in the
Java EE Programming model. Now application components can declare dependencies on external resources and configuration parameters through annotations, which is called Dependency Injection. It becomes the duty of the container to read those annotations and provide for the required resources.
3) Web Applications
Web Application technologies such as JSPs and Servlets have new and changed features. These are discussed below:-
3.1) Support for Servlet 2.5
Keeping up the compliance with the Java EE 5, WebLogic Server 10.0 implements the Servlet 2.5 specification. As with the EJB 3.0 specification the support for annotations and Resource Injections are among the new features of this release of the Servlets
Technology. The annotations are used to declare data in Java Code instead of defining it in the long and confusing deployment descriptors. Web.xml is now optional.
3.2) Support for JSP 2.1
Keeping up the compliance with the Java EE 5, WebLogic Server 10.0 implements the JSP 2.1 specification. Among the new features of this technology is the support for Deferred Expressions. This feature allows deferring of evaluation of the expression so that it can be processed by the underlying mechanism at a suitable time within its lifecycle. Annotations for tag handlers and event listeners are other new features in JSP 2.1.
3.3) Support for JSF 1.2 and JSTL 1.2
These packages come with WebLogic Server 10.0 in the form of shared Web Application Libraries. Earlier versions like JSF 1.1 and JSTL 1.1, are still supported in WebLogic 10.0.
3.4) Annotations for Web Components in Weblogic format
There are certain WebLogic specific annotations for Servlets and Filters. For Example, WLInitParam etc.
3.5) Java EE Application Client Utility
There is a new option available for the weblogic.j2eeclient.Main utility. This utility is used to execute Java EE application client code. The new option is used to specify the name of the client Jar to be invoked when passing in an exploded EAR file. For Example:-
java weblogic.j2eeclient.Main applicationclient.jar t3://localhost:7001
4) Support for the newer Enterprise JavaBeans, Version 3.0
WebLogic Server 10.0 implements the Enterprise JavaBeans specification v3.0. Also it continues to support the version 2.1 of the EJB Specification. So this means the applications written in version 2.1 will continue to run on this newer Weblogic Server 10.0,
without any modification. WebLogic also provides an implementation of the BEA, which means that JPA and JDO are also supported. The EJB 3.0 is oriented towards making it easier to program for the application developers. This is achieved by reducing the number of programming artifacts and introducing annotations which is related to the concept of Dependency Injections. Together these features in EJB 3.0 make programming the bean file easier and more intuitive. EJB 3.0 also looks after standardizing the Persistence Framework and Object-Relational Mapping Model.
4.1) Upgrade EJB 2.x to EJB 3.0
Firstly, the default transaction attribute in Session Beans and Message Driven Beans was “supports” in version 2.1. But now it is changed to “required” in EJB 3.0. So do ensure to provide proper transaction attribute while migrating to the newer version of EJBs.
Other than this there is no change for any of the three bean types in their deployment in WebLogic 10.0.
5) Shared Library Support gets better
The Java EE supports use of optional packages and shared libraries. An EAR file may have a directory that contains libraries
packaged in Jar files. The name of this directory is specified in the EAR file’s deployment descriptor “library-directory” element.
6) JDBC and JTA
A couple of features are introduced to the WebLogic JDBC and JTA in this release:-
6.1) Enhanced JDBC Connection Monitoring and Testing
WebLogic Server used to rely on JDBC drivers to properly handle Database connection failures. For some network failure conditions, WebLogic Server was not able to track a connection failure until the TCP/IP expires from timeout. This feature provides additional
connection health monitoring and testing for connections when connectivity is suspected to be broken.
6.2) Oracle Fast Connection Failover Support
Now WebLogic Server supports Oracle Fast Connection Failover. This means now the JDBC applications can utilize a
driver independent way to use connection failover support from Oracle 10g.
6.3) Support for MySQL 5.0
WebLogic Server supports MySQL 5.0.x and bundles with the required drivers as well.
6.4) JTA 1.1 support
WebLogic Server is compliant with JTA 1.1. It includes support for looking up the TransactionSynchronizationRegistry object in JNDI using java/TransactionSynchronizationRegistry. BEA extends this support by providing two more global JNDI names:
javax/transaction/TransactionSynchronizationRegistry and weblogic/ transaction/TransactionSynchronizationRegistry.
6.5) Migrating Transaction Recovery Service Automatically
Now an administrator can configure the JTA Transaction Recovery Service, using the WebLogic Server migration framework. This allows for automatic migration from the current unhealthy hosting server to a healthy active server utilizing the WebLogic Server health monitoring capabilities. So now a quick restart can be done on a redundant server should the host server fails which in turn improves the availability of the JTA TRS in a cluster.
6.6) Security for JTA across multiple Domains
WebLogic Server’s JTA implementation supports the new Cross-Domain Security feature.
There are improvements in the WebLogic Server JMS, which are discussed below in detail:-
7.1) Migration of JMS-Related Services
Using the WebLogic Server Migration
Framework, an Administrator can configure those targets that can be migrated, so that JMS related services can be migrated from an unhealthy hosting server to a healthy active server. Migrating a target, that can be migrated, from one clustered server to another in case of problems, leads to high availability. For scheduled maintenance, targets can also be migrated manually.
WebLogic Server also supports service level migration for JMS related services like Store-and-Forward (SAF) Agents and Path Services.
7.2) Security for JMS across multiple Domains
WebLogic Server’s JMS implementation also supports the new cross-domain security feature.
8) Web Services
In WebLogic 10.0, Web Services receive new features as well as improvements in some of the current features, as discussed below:-
8.1) Implementation and Update of Java EE 5 Web Services Specifications
To keep up the compliance with the Java EE 5, WebLogic Server includes two new Web Services specification implementations:-
- Java API for XML-Based Web Services (JAX-WS) 2.0
- Java Architecture for XML Binding (JAXB) 2.0
- Two specification updates are also included in WebLogic Server 10.0:-
- Web Services for Java EE 1.2
- SOAP With Attachments API For Java (SAAJ) 1.3
8.2) New and Updated Web Services Specification Implementations
There are the following updates and additions to the Web Services specification implementations in WebLogic Server 10.0:-
- SecureConversations 1.3
- WS-Security 1.1
- SecurityPolicy 1.2
- WS-Trust 1.3
A new set of security policy files is included that comply with WS-SecurityPolicy 1.2.
8.3 Standalone Client JAR File
Programmers can now use the standalone client Jar file to build and run the Web Services client applications outside of the WebLogic Server Container.
8.4) Web Services Ant Task Changes
- Now the three Web Services Ant tasks have a new attribute called as type. This attribute specifies to generate either of three, a JAX-RPC 1.1 or JAX-WS 2.0 style Web Service (jwsc/wsdlc) or Client Artifacts (clientgen).
- The documentation for the Ant Task reference, specifies which attributes apply to which type of Web Service. It actually depends on the type of Web Service and not all attributes apply to each Web Service. There are a few more updates to the WebLogic Web Services Ant Tasks as listed below:-
- This Ant task, which used to compile a JWS file into a deployable Web Service, is changed a little as follows: – The child element “xsdConfig” changed to “binding” and use of the “xsdConfig” element is deprecated.
- This Ant task is changed as follows: – The child element “xsdConfig” changed to “binding” and use of the “xsdConfig” element is deprecated.
- The task has two new attributes: “sysProperty” and “catalog”.
- This Ant task is changed as follows:
- The child element “xsdConfig” changed to “binding” and use of the “xsdConfig” element is deprecated.
- The task has two new attributes: “typeFamily” and “wlw81CallbackGen”.
Starting this release of WebLogic Server, the JMX implementation supports the “jmx.remote.x.request.waiting.timeout” environment parameter. This parameter specifies the number of milliseconds that the JMX client will wait for the invocation of an MBean-server method to return.
10) Diagnostics Features
There are new feature in both the WebLogic Diagnostics Framework (WLDF) and The WLDF Console Extension:-
10.1) WebLogic Diagnostic Framework
Now programmers can inspect an HTTP session object with a new standard application-scoped monitor, HttpSessionDebug. Numeric operations can now be performed on a column of type String. If the data in a column of a row is non numeric, then instead of throwing an exception the row will be excluded from the result set.
10.2) WebLogic Diagnostic Framework Console Extension
- Custom Metrics: Custom metrics can be defined on MBeans. Once defined, a custom metric attribute for that MBean instance can be graphed just like other attributes.
- Cut,Copy, and Paste: Graphs and Charts can be cut, copy and pasted, giving more flexibility in organizing graphs and charts. It also allows to move them from one view to another.
- Updated Visual and Interaction Design: There are new icons and various improvements to the visual tools in WLDF Console
- Extension. As an example, there is some additional functionality in the context menus.
Two new deployment features are added in WebLogic Server 10.0:
- Production redeployment is now supported for both stateless and stateful Web Services.
- A grace period can be specified for processing of RMI client requests, in cases when retiring or gracefully shutting down an application.
12) Filtering Classloader
The users can now explicitly specify the packages that are always loaded from the application rather than by the System Classloader. This has been possible because of the new WebLogic Server FilteringClassLoader.
13) Migration and Clustering
New features related to Migration and Clustering are discussed below:-
13.1) Targets, that can be migrated, Can Host Other JMS-related Services
WebLogic Server targets, that can be migrated, supports manual service-level migration for Store-and-Forward (SAF) agents and Path Services.
13.2) Automatic Singleton Service Migration
This feature allows for Automatic Health Monitoring and migration of the Singleton Services. This service is a user defined service which operates in a cluster and is available on only one server at a given moment. In case if a service, which can be migrated, fails it is deactivated at its current server and activated on a new server.
13.3) Job Scheduler
An implementation of the commonj.timer API, capable to be used in a clustered environment is called as a Job Scheduler. They allow for cluster wide timer to be aware of the other JVMs, which contain each server in the cluster. Therefore is able to perform load
balancing and failover. MySQL, Informix, DB2, Microsoft SQL Server, Oracle and Sybase Databases are now supported by Job Scheduler.
13.4) Using Unicast for Communications within a Cluster
An alternative is provided for multicast communication within a cluster. Although Unicast is much easier and efficient, to communicate between members in a cluster both Unicast and Multicast are used.
14) Support for Spring Framework
Spring Framework 2.0.2 is fully supported by the WebLogic Server 10.0.
There are two new features related to security in WebLogic Server 10.0. These are discussed below:-
15.1) Security across Domains
The WebLogic Server establishes security across multiple server domains by using a security role for cross-domain users and utilizes the WebLogic Credential Mapping Security Provider in each domain for storing the credentials to be used by the cross domain users.
15.2) Windows NT Authorization Provider Deprecated
The Windows NT Authentication provider is deprecated as of WebLogic Server 10.0. Some other supported authentication providers need to be used instead.
The changes related to the WebLogic Server SNMP Services are listed below:-
- After SNMPv1 and SNMPv2, SNMPv3 enters the list of supported protocols for the servers.
- Multiple SNMP agents can now be created to be targeted to WebLogic Server instances.
- These agents now can communicate through TCP port as well, in addition to the UDP port.
- SNMP can now be used to monitor custom MBeans.
- There are some changes to the SNMP command line utility as well.
- Most changes in the configuration of SNMP changes including port numbers takes
- Effect without restarting the server. Earlier versions required a restart of the server.
17) Administration Console
WebLogic Server release 10.0 introduces the following changes to the Administration Console:
- The WebLogic Scripting Tool (WLST) commands can now be stored as a series of commands, which can later be executed as a script.
- The number of seconds that the Administration console waits for the management operation to complete can now be set as a
- preference. This timeout actually specifies how long the Administration console waits for the method invocation to complete.
- Administration console extensions must be packaged as a WAR file instead of JAR file, otherwise many features of console-extension are unsupported.
18) Some Deprecated Classes
Some deprecated classes, such as weblogic.apache.xerces.* are now removed from the WebLogic Server 10.0.
In this article we discussed most of the new features added in WebLogic 10.0 and enhancements of the existing features. This new release is prepared well to handle the applications built on Java EE 5.0. It supports latest API Specifications for EJBs, Servlets, JSPs, JDBC, JTA and so on. The concept of annotations is also integrated well in this release. This release is improved in terms of security features and features in the Administration console etc. The server performs well in a clustered environment with the help of added
functionality for cross domain operations. Over all this server is heavily loaded with extensive new features for Programmers as well as Administrators.