![]() |
![]() |
![]() |
![]() |
Workshop for WebLogic provides tools to help ease the process of upgrading applications built with version 8.1. These tools are designed to read your version 8.1 code and generate a new corresponding version 9.2 workspace. The newly generated code is a migrated, upgraded version of the 8.1 code in which all of the clearly predictable changes have been made (note that your application logic is not altered by upgrade tools). The new code supports a new annotation model, a different project model, and other component-oriented changes.
Note: The Workshop for WebLogic upgrade documentation assumes that your application was developed using WebLogic Workshop version 8.1. If it wasn't, you must migrate your code so that it builds and runs in the WebLogic Workshop IDE version 8.1 SP4, SP5, or SP6 before using the tools described here to upgrade to Workshop for WebLogic version 9.2.
This topic provides an overview of the changes from version 8.1 to version 9.2, as well as suggested high-level steps for approaching upgrade.
Differences Between the Version 8.1 and 9.2 IDEs, and the Applications Built with Them
Upgrade Process: High Level Steps
Preparing a Version 8.1 Application for Upgrade
Actions Performed By Upgrade Tools
If you've been developing on WebLogic Workshop version 8.1, the most significant differences you'll notice in version 9.2 (and applications built with it) are likely to be:
You might also be interested in the reading Key Differences for WebLogic Workshop 8.1 Users.
Unlike version 8.1, in version 9.2 the IDE is built on the Eclipse Platform. This is a change that offers many benefits, including: the transparency of an open-source architecture; commonly used features that are familiar because they're available with other widely used Eclipse-based IDEs; and a widely used extensibility model via the Eclipse plug-in framework. To this open framework, Workshop for WebLogic adds many features to support iterative development of the kinds of components you built with version 8.1.
Needless to say, moving from the version 8.1 IDE to the Eclipse-based version 9.2 means that there are significant user interface changes. The following list describes how familiar version 8.1 features are (or are not) rendered in version 9.2.
Many of the changes from the version 8.1 to the version 9.2 project model are intended to align the model with broadly used Eclipse and Java conventions. If you've used other Eclipse-based IDEs, version 9.2 of Workshop for WebLogic should feel familiar. For a list of significant changes, see Changes During Upgrade from WebLogic Workshop 8.1 to Version 9.2.
Workshop for WebLogic version 9.2 supports the Java 5 annotation model. Whereas in version 8.1 the annotations in your source code were embedded in Javadoc-style comments, their version 9.2 counterparts are outside the comment block. In the abstract, however, there are more similarities than differences between the annotation model in versions 8.1 and 9.2. In other words, for most version 8.1 annotations there are version 9.2 counterparts that use the new syntax. Note that as with version 8.1, the version 9.2 IDE provides an editor (the Annotations view) through which you can view and edit annotation attribute values. For more information on the changes, see Upgrading Annotations.
These are changes that are specific to component types, such as web services, EJBs, controls, and so on. They primarily affect source code. You can read Changes During Upgrade from WebLogic Workshop 8.1 to Version 9.2 for a summary list, or see the individual technology-oriented topics listed at the bottom of this topic under Related Topics.
These steps assume that your application was developed with WebLogic Workshop. If you wrote your code without using that IDE and you want to upgrade it using Workshop for WebLogic upgrade tools, you must first migrate your code so that it builds and runs in the WebLogic Workshop IDE.
Upgrading domains and upgrading WebLogic Workshop applications are separate processes, but they're interrelated. For information about upgrading version 8.1 WebLogic Workshop domains, see WebLogic Workshop Version 8.1 Domains Can Be Upgraded from Within Version 9.2.
For a list of suggested pre-upgraded changes, see Preparing a Version 8.1 Application for Upgrade.
Also, see Changes During Upgrade from WebLogic Workshop 8.1 to Version 9.2. That topic lists upgrade-related issues, providing links to more information.
How To: Use the Import Wizard to Upgrade Version 8.1 Applications describes how to use the tool.
You can also perform the wizard's work through the upgradeStarter Command or upgrade Ant Task.
If your applications are complex, upgrading them from version 8.1 to version 9.2 is likely to be a multi-step process. A key part of that process will be the upgrade support the IDE provides via upgrade tools. But you'll also find that some preparatory work on your version 8.1 application makes the wizard's end result much easier to work with and get running.
Take a look through the upgrade documentation provided here. Many of the notes recommend ways to edit your version 8.1 application to make your upgraded code easier to get running.
Workshop for WebLogic includes three tools that automate most parts of the upgrade process. Each tool does essentially the same thing, allowing you to specify applications and parameters for upgrade: the import wizard is available as user interface in the IDE; upgradeStarter Command exposes options from the command line; and the upgrade Ant task exposes options for use from Ant.
Note: You can also upgrade individual files once they're in the version 9.2 IDE. To do this, right-click the file, then click Upgrade Source Files. For information about the error logging and message verbosity options, see To Import and Upgrade a Version 8.1 Application.
The following briefly describes actions performed (and not performed) by the upgrader.
Whether you use the import wizard, command-line, or Ant task to upgrade, Workshop for WebLogic will generate a log of the upgrade changes, errors, and warnings. If you use the import wizard, this log will also be displayed in a dialog you can review before completing the process.
You can expand the node for each file to view the upgrade messages associated with that file. The following key describes the symbols displayed next to file names:
Informational message.
Warning message.
Error message.
Upgrade tools generate a log file containing upgrade messages. This file is available at the following location after upgrade has completed:
UPGRADE_WORKSPACE_HOME\.metadata\upgrade.log
A log message in the file will take the following form:
!SUBENTRY 1 com.bea.wlw.upgrade severity_level date time
!MESSAGE Upgrade-related message.
The severity_level will be two numbers, but they have the same meaning. The date and time entries refer to when the upgrade was attempted. The upgrade-related message describes what was done, warned about, or the error that occurred. The following is a snippet that shows two log entry examples:
!SUBENTRY 1 com.bea.wlw.upgrade 2 2 2006-02-27 17:17:53.687 !MESSAGE The 9.2 control context only supports a subset of the 8.1 control context APIs. Please see the Workshop for WebLogic upgrade documentation for more information. !SUBENTRY 1 com.bea.wlw.upgrade 1 1 2006-02-27 17:17:53.687 !MESSAGE The import "com.bea.control.JwsContext" needs to be updated.
The following describes problems you might see after upgrade, but which aren't tied to particular component types or technologies. For upgrade-related issues associated with specific technologies, see the topics listed under Related Topics.
Generally speaking, the upgrade process will present a warning message when a precompiled library must be recompiled to be used in the version 9.2 environment. However, there might be cases when the library should be recompiled but no message is presented. In other words, consider recompiling these libraries when you see compile errors in a project that you can't otherwise account for.
Unlike version 8.1, version 9.2 enforces the line length size limit in JAR file manifests when the JAR is used as an application library. Upgraded applications containing JARs with lines exceeding the limit will generate errors at build time. To work around this change, either reduce the size of the lines or remove the manifest from the JAR.
The use of internal APIs is not supported and the version 9.2 classpath does not (and should not) include weblogic.jar. Public APIs that used to be in weblogic.jar have been moved into wls-api.jar. The workaround for breakage due to the absence of weblogic.jar from the classpath is to rewrite code to use public APIs.
In addition, code that uses third-party APIs is not supported for upgrade to version 9.2.
New language features in Java 5 and the JSP 2.0 expression language (which is used by the Beehive tag libraries) might make it necessary to rewrite portions of upgraded code.
For example, new features reserve words that were not reserved for code written in version 8.1. Workshop for WebLogic upgrade tools do not upgrade the use of these words, so code that uses them will not compile until you rewrite it so that it accounts for the new language features.
In particular, Java 5 adds the enum
keyword. For more information, see Enums at the Sun web site.
JSP 2.0 reserved word are listed in Reserved Words Can Not Be Used as Identifiers.
In addition, upgraded code might encounter many changes in the Java APIs. With the addition of generics to the Java language, method signatures that took Object parameters in Java 1.4 have become more strongly typed. This enables Workshop for WebLogic version 9.2 to detect many errors at compile time that would only appear at run time in version 8.1. For example, if you wrote:
String s; Thing t; s.compareTo(t);
you would see no compilation error in version 8.1, but a ClassCastException would occur at run time. In version 9.2, compareTo(t) will be flagged as an compile time error because String.compareTo() actually expects a String parameter in 9.2, but only requires an Object in 8.1.
As a general rule, debugged code will not contain these types of errors. But when they appear during post-upgrade compilation, the code must be fixed by the developer before the project will build successfully.
During the upgrade process, Workshop for WebLogic upgrade tools update package import statements to support the movement of key libraries. In some cases, this might break code that uses a class from the version 8.1 package that is still in that package. For example, upgrade tools will make the following changes:
import com.bea.wlw.netui.util.*;
... would be changed to...
import org.apache.beehive.netui.util.*
This leaves
com.bea.wlw.netui.util.TemplateHelper
stranded without an import because it is still in the older package. You can easily repair the code by using the Workshop for WebLogic quick fix feature to import required packages. Another, more thorough fix would be to remove wildcards and explicitly import classes in the version 8.1 code before upgrading it.
Version 8.1 includes APIs provided with the Pointbase database. These are not supported in version 9.2.
Version 8.1 of the IDE allowed the use of schemas that were not standards-compliant; version 9.2 does not. As a result, invalid schemas will generate errors during upgrade. Note, however, that while errors will appear in the IDE, the errors should not effect runtime behavior.
If you want to continue using the schemas in their invalid state but don't want errors displayed in the IDE, you can turn off schema validation. If you turn off validation, it will be off for all schemas, even though you may want to have validated. To turn off schema validation:
When you create a new server as described in Creating a Server Definition for Use Within the IDE, you can upgrade a WebLogic Workshop version 8.1 domain.
An older version domain is detected. Click here to upgrade it with the Upgrade Wizard.
![]() ![]() |