3 Using the SmartUpgrade Command Line

In addition to using SmartUpgrade as an integrated Oracle JDeveloper extension, you can also use the SmartUpgrade command-line interface.

The command line interface can be run using the Java command line or as an Apache Ant task.

With the SmartUpgrade command-line, you can consider automating the analysis and generation of artifacts for multiple applications using scripts.

For more information, see the following sections:

3.1 Using the SmartUpgrade Java Command-Line

The following sections describe how to use the command-line interface for SmartUpgrade:

3.1.1 Verifying Prerequisites and Locating the smartupgrade.jar File

Before you can run the SmartUpgrade command-line interface:

  1. Verify that you have installed the required Java software, as described in Section 1.7.4, "Installing the SmartUpgrade Command-Line Interface".

    Note that you should also make sure that the Java bin directory is defined as part of the current PATH variable, so you can run the java command from any location on your system. Otherwise, you must include the path to the java command every time you run the SmartUpgrade software.

  2. Verify that you have installed a supported version of Oracle WebLogic Server and that you have access to a local Oracle WebLogic Server home directory.

    You specify the location of the Oracle WebLogic Server home directory using the -targetStackHome command-line option.

    For more information, see Table 3-3, "Summary of the Command-Line Options Specific to Generating Artifacts".

  3. Locate the smartupgrade.jar file, which you installed using the instructions in Section 1.7, "Downloading and Installing SmartUpgrade".

Note that the instructions and examples in this chapter assume you are running SmartUpgrade from the directory where the smartupgrade.jar resides.

3.1.2 Basic Syntax of the SmartUpgrade Command-Line Interface

To use the SmartUpgrade command-line interface, simply navigate to the directory where you unpacked the contents of the downloaded smartupgrade.zip file and use the following syntax:

java -jar smartupgrade.jar options

For more information, see Section 3.1.5, "Summary of the SmartUpgrade Command-Line Options"

3.1.3 Optionally Increasing the Java Heap Size When Running SmartUpgrade

As with other Java programs, you can control the Java heap size when you run SmartUpgrade.

Increasing the heap size can be useful if you are upgrading a particularly large or complex application. In those cases, SmartUpgrade displays a message similar to the following:

java.lang.OutOfMemoryError: Java heap space

To work around this problem, increase the Java heap size using the standard Java command line. For example:

java -Xmx512M -jar smartupgrade.jar options

3.1.4 Getting Help on the SmartUpgrade Command-Line Options

To display a list of the available options, enter one of the following commands:

java -jar smartupgrade.jar -help
java -jar smartupgrade.jar -help locator
java -jar smartupgrade.jar -help category
java -jar smartupgrade.jar -help option

For detailed information, see Section 3.1.5, "Summary of the SmartUpgrade Command-Line Options".

3.1.5 Summary of the SmartUpgrade Command-Line Options

Refer to the following sections for detailed information about the options you can use when running SmartUpgrade from the command line:

3.1.5.1 List of SmartUpgrade Command-Line Interface Options

The following example shows the options you can use when running the SmartUpgrade command-line utility:

java -jar smartupgrade.jar --LOCATOR_NAME path_or_list_of_file_names
                        -category list_of_categories
                        -generate
                        -html
                        -target OC4J_version

In the previous example:

  • Replace LOCATOR_NAME with a valid Locator that SmartUpgrade upgrade can analyze. For more information, see Section 3.1.5.2, "Identifying a SmartUpgrade Locator".

  • Note that the two dashes (--) are required to identify the LOCATOR_NAME. The LOCATOR_NAME must be prefixed with the two dashes. All other arguments require only one dash.

  • All but the LOCATOR_NAME value are optional.

  • For detailed information about the other options shown in the example, see Table 3-2.

3.1.5.2 Identifying a SmartUpgrade Locator

A locator is a general term to identify the object or objects that you want SmartUpgrade to analyze. The locator can be one or more application archives (EAR, WAR, JAR, or RAR files). It can also be a directory path where archives are stored, or the configuration directory of an OC4J server.

Table 3-1 describes the values you can use for the LOCATOR_NAME command-line option.

Note that if you use a LOCATOR_NAME option that does not match the type of file or configuration you want to upgrade, SmartUpgrade can produce incomplete or invalid output. For example, the SmartUpgrade output might be incomplete or invalid output if you use the --ears LOCATOR_NAME value and provide the name of a JAR file, rather than an EAR file.

Table 3-1 Supported Values for the SmartUpgrade LOCATOR_NAME Option

LOCATOR_NAME value Description Examples

--ears

Identifies one or more enterprise archive (EAR) files to analyze.

If you are a providing the path to more than one EAR file, then use a space-delimited list after the -ear option.

java -jar smartupgrade.jar 
      --ears myApp.ear
java -jar smartupgrade.jar 
     --ears C:\samples\App3.ear
java -jar smartupgrade.jar 
      --ears myApp.ear App3.ear

--wars

Identifies one or more Web archive (WAR) files to analyze.

If you are a providing the path to more than one WAR file, then use a space-delimited list after the -ear option.

java -jar smartupgrade.jar 
      --wars payroll.war
java -jar smartupgrade.jar 
     --wars C:\samples\Webapp3.war
java -jar smartupgrade.jar 
      --wars payroll.war C:\samples\Webapp3.war

--jars

Identifies one or more Java archive (JAR) files to analyze.

If you are a providing the path to more than one JAR file, then use a space-delimited list after the -ear option.

java -jar smartupgrade.jar 
      --jars myProj.jar
java -jar smartupgrade.jar 
     --jars C:\samples\App3.jar
java -jar smartupgrade.jar 
      --jars myApp.jar C:\samples\App3.jar

--rars

Identifies one or more RAR archive files to analyze.

If you are a providing the path to more than one RAR file, then use a space-delimited list after the -ear option.

java -jar smartupgrade.jar 
      --rars myApp.rar
java -jar smartupgrade.jar 
     --rars C:\samples\App3.rar
java -jar smartupgrade.jar 
      --rars myApp.rar C:\samples\App3.rar

--server-config

Identifies the configuration directory of an existing OC4J server.

SmartUpgrade analyzes the configuration of the OC4J server and provide advice and configuring Oracle WebLogic Server in a similar manner.

java -jar smartupgrade.jar --server-config
       C:\Oracle\AppServ1\j2ee\home\config
java -jar smartupgrade.jar --server-config
       /dua1/Oracle/AppServ1/j2ee/home/config

--archive-homes

Identifies one or more directories that contain archive files (EAR, WAR, RAR, or JAR files) that you want to analyze.

SmartUpgrade scans the directory and analyzes all the archives in the directory.

java -jar smartupgrade.jar --archive-home 
      C:\projects\myEARfiles\
java -jar smartupgrade.jar --archive-home
      /dua1/projects/myEARfiles/

--application-jars

Identifies the location of jar files that required or referenced by an application you are analyzing. The specified file is not analyzed by SmartUpgrade.

You can use this feature to identify third-party libraries required by the application you are analyzing.

java -jar smartupgrade.jar
    --application-jars C:\projects\myApp\lib\
java -jar smartupgrade.jar 
    --application-jars /dua1/projects/myApp/lib/

3.1.5.3 Specifying More Than One Locator on the SmartUpgrade Command Line

You can specify more than one LOCATOR_NAME on the command line.

For example, to analyze an enterprise archive and the configuration of the OC4J server on Linux where the archive was deployed, use the following command:

java -jar smartupgrade.jar --ears myApp.ear 
                           --server-config /dua1/Oracle/AppServ1/j2ee/home/config

3.1.5.4 Summary of the SmartUpgrade Optional Command-Line Options

In addition to identifying a SmartUpgrade locator, you can also control the behavior of SmartUpgrade by using various optional command-line options.

Table 3-2 describes the optional command-line options you can use.

Table 3-2 Summary of Optional SmartUpgrade Command-Line Options

Options Description For More Information

-category

Use this option to limit the analysis of the application to specific categories of SmartUpgrade rules.

For example, you can limit the report to findings about data-source configurations in the selected application archive.

If you are generating artifacts, use caution when using the -category option. If you use both the -category and -generate options, SmartUpgrade generates only the artifacts of the specified categories.

Section 3.1.7.5, "Limiting the Findings to Specific Rule Categories from the SmartUpgrade Command-Line Interface"

-generate

Use this option to generate specific types of Oracle WebLogic Server artifacts, such as Oracle WebLogic Server deployment descriptors for the application.

The artifacts can be used as a starting point for the deploying your OC4J applications on Oracle WebLogic Server.

Section 3.1.7.3, "Using the SmartUpgrade Command-Line Interface to Generate Oracle WebLogic Server Artifacts"

-html

Use this option to generate output formatted in HTML. You can use this option to redirect the resulting report to an HTML file.

Section 3.1.7.4, "Using the SmartUpgrade Command-Line Interface to Generate an HTML Report"

-target

Use this option to specify that you are analyzing an Oracle Application Server 10g Release 2 (10.1.2) application.

By default, SmartUpgrade assumes you are analyzing an application that was previously deployed on 10g Release 3 (10.1.3)

Section 3.1.7.6, "Using the SmartUpgrade Command-Line Interface to Analyze 10g Release 2 (10.1.2) Applications"

-output

Use this option to output all the upgrade findings to file.

Section 3.1.8, "Controlling the Output of SmartUpgrade Findings Information and Error Reporting"

Section 3.1.7.4, "Using the SmartUpgrade Command-Line Interface to Generate an HTML Report"

-quiet

Use this option to prevent SmartUpgrade from outputting any error or diagnostic information.

Section 3.1.8, "Controlling the Output of SmartUpgrade Findings Information and Error Reporting"


3.1.6 Summary of the SmartUpgrade Command-Line Options Specific to Artifact Generation

Example 3-1 shows the options you can use when running the SmartUpgrade command-line utility to generate artifacts.

For complete information about using the artifacts generated by SmartUpgrade, refer to Chapter 4, "Using SmartUpgrade Generated Artifacts".

For a description of each option, refer to Table 3-3, "Summary of the Command-Line Options Specific to Generating Artifacts".

When generating Web services artifacts, the LOCATOR_NAME value, -generate option, and -targetStackHome option are mandatory.

Replace LOCATOR_NAME with a valid Locator that SmartUpgrade upgrade can analyze. For more information, see Section 3.1.5.2, "Identifying a SmartUpgrade Locator".

Example 3-1 List of Command-Line Options When Generating Artifacts

java -jar smartupgrade.jar --LOCATOR_NAME path_to_application_archive_or_directory
          -generate
          -category category_name
                      -acceptDuplicates
                      -additionalClassPath
                      -autoWrap
                      -continue
                      -dateFormat
                      -debug
                      -ejbLookupName
                      -ejbNewWarBase
                      -ejbNewWarContextRoot
                      -evaluate
                      -javaHome
                      -jdevProject
                      -logLevel
                      -logWrap
                      -logWrapLength
                      -packLibs
                      -processTimeout
                      -propertyFile
                      -qos
                      -resolveMapAmbiguity
                      -sessionImplKey
                      -sessionTimeoutSecs
                      -skipGlueCode
                      -stopAtTargetPlan
                      -targetStackHome
                      -useJSF
                      -useJSTL
                      -wrapperNullAllowed

Table 3-3 Summary of the Command-Line Options Specific to Generating Artifacts

Command-Line Option Equivalent Option in the Java EE Upgrade Wizard Description

-acceptDuplicates

Accept Duplicate Classes

Enable this option by passing -acceptDuplicates (or -acceptDuplicates true) on the command line or by selecting the check box on the OC4J Web Services Upgrade wizard page.

This option indicates whether the system should ignore the duplicate class error and continue the glue code generation.

You should enable this option only after ensuring that the duplicate classes are identical.

-additionalClassPath

Additional Classpath

An additional classpath containing JAR files and class directories. This option is required when the input application does not contain all the libraries that a Web service depends on.

This option can also be used to provide a path to a missing WSDL file, inserted in a JAR file.

-autoWrap

Generate Parameter Wrapping

Enable this option by passing -autoWrap (or -autoWrap true) on command line or by selecting the check box on the OC4J Web Services Upgrade wizard page.

When this option is enabled, SmartUpgrade enables parameter wrapping for the internal types that are generated.

The existing business methods will not be aware of any of new interfaces and value types generated.

When this option is not specified, its value is defined by whether the existing business parameters are wrapped.

-continue

  1. Select Regenerate from the SmartUpgrade Report context menu.

  2. Select Continue with web service upgrade on the Required Inputs screen.

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with '-generate' argument when category 'web-services' is enabled.

This option indicates that the web service upgrade should proceed with the upgrade generation process which was started in a previous invocation of SmartUpgrade.

For more information, see Section 2.3.4, "Continuing with the Upgrade When Generating Artifacts".

-dateFormat

Format for Date-String Conversion

The date format to be used by glue code for conversion between java.lang.String and java.util.Date.

If SmartUpgrade detects that WebLogic Web Services generation tools have generated java.util.Date value types, but the original application methods use java.lang.String, then SmartUpgrade will add conversion methods to the glue code.

However, SmartUpgrade will need the string format for this conversion. As a result, you must examine the OC4J application to determine the specific string format that the existing business logic expects for its date values.

-debug

Print Debug Info

Enable this option by passing -debug (or -debug true) on the command line or by selecting the check box on the OC4J Web Services Upgrade wizard page.

When enabled, indicates that debug level messages should be printed. The debug messages are more detailed than INFO level messages.

The default value is false.

-ejbLookupName

EJB Lookup Name

The EJB 2.x lookup name to be used in the POJO-based Web service to which an EJB web service will be upgraded.

This option should be used only when there is a single EJB Web service in the application. If multiple EJB Web services are present, edit the upgrade plans generated for each service.

For information about locating the upgrade plans, see Appendix A, "Output Directories Generated by SmartUpgrade".

-ejbNewWarBase

WAR Base Name

The base name of the WAR file to be generated.

When an EJB-based Web service is upgraded to a POJO-based Web service, SmartUpgrade generates a new WAR file. The value of this option will be the base name of the new WAR file.

If there are more than one EJB Web service, edit the source upgrade plan to add this property with different values for each EJB Web service.

For information about locating the upgrade plans, see Appendix A, "Output Directories Generated by SmartUpgrade".

-ejbNewWarContext

WAR Context Root

The context path of the WAR file to be generated.

When an EJB-based Web service is upgraded to POJO-based Web service, SmartUpgrade generates a new WAR file. The value of this option will be the context root of the new WAR file.

If there is more than one EJB Web service, then modify the source upgrade plan to add this property with different values for each EJB Web service.

For information about locating the upgrade plans, see Appendix A, "Output Directories Generated by SmartUpgrade".

-evaluate

Generate Instrumented Code for Performance Analysis

Enable this option by passing -evaluate (or -evaluate true) on command line, or by selecting the check box on the OC4J Web Services Upgrade wizard page.

When you enable this option, the generated wrapper ("glue") code is instrumented for performance analysis.

The default value of the option is false.

This option is appropriate only for testing the application, and not for production environments.

For more information, see Section 2.3.3.2, "Generating Instrumented Code for Performance Analysis".

-javaHome

JDK Home for Target Server Tools

The JDK home that SmartUpgrade uses to run the Web Service tools on the target server. The system automatically attempts to locate JDK installed with the target server.

You can override this behavior by specifying a JDK home as a value for this option.

If this option is not specified and if no JDK home is installed as part of the target server, the system will use the current JDK home used to run this upgrade tool.

-jdevProject

Not applicable

This is an option used for Oracle internal use only.

-logLevel

Logging Level

Use this option to set the level of logging output.

This option indicates the levels of logging output during upgrade of Web services.

Possible log levels are: INFO, FINE, DEBUG, TRACE.

The default value is INFO. Warnings and errors are reported unconditionally. Every log message belongs to one log level and will be printed only if its log level is requested.

Specify all levels that you wish to be included in the log, separated by the vertical bar character (|). For example: INFO|DEBUG.

Note: This option is not validated; any invalid value will be ignored.

-logWrap

Margins in Log Output

Enable this option by passing -debugWrap (or -debugWrap true) on the command line or by selecting the check box on the OC4J Web Services Upgrade wizard page.

When enabled, this option causes SmartUpgrade to align the diagnostic output for easy reading.

The default value is true. You can adjust column width using the logWrapLength option.

-logWrapLength

Log Line Width

Use this option to set the maximum length of the text that is logged without breaking the text into multiple lines. Use this option to preserve alignment.

This is applicable only when logWrap option is set to true. The default value is 80.

-packLibs

Packaging Includes

A list of JAR files, separated by a path separator.

On Windows, the separator is a semicolon (;); on UNIX systems, the separator is colon (:).

The identified JAR files are automatically packaged into the final generated archive, if the final archive is an EAR or WAR file.

This value is also added into the value of additionalClassPath option to use the libraries for reference during artifact generation.

-processTimeout

Generate Tasks Timeout (seconds)

The number of seconds SmartUpgrade will continue trying to process WSDL documents and generate artifacts. The timeout prevents SmartUpgrade from hanging when waiting for response from a WSDL URL.

The tasks timeout default is 300 seconds. A different value may be set by using this command-line option, by providing a positive number on the wizard page in Oracle JDeveloper, or by setting the following environment variable prior to starting SmartUpgrade:

GENERATION_TASKS_TIMEOUT

-propertyFile

Property File

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with '-generate' argument when category 'web-services' is enabled.

The location of a property file where the users usually define the location of missing WSDLs with the key being the SEI class name and the value being the path of the WSDL file.

Other properties may be defined in this file instead of using separate options, such as Format for Date-String Conversion, Wrapper Null Value Allowed, EJB Lookup Name, WAR Base Name for EJB Web Service, WAR Context Root for EJB Web Service, Session Bind Key for Stateful Web Services and SessionTimeout for Stateful Web Services (seconds).

-qos

Quality of Service Policies

This option indicates the types of policies (Quality Of Services) that need to be enabled in the target Web service that is generated.

The list of possible tokens is MTOM, WSS_UNT, CONVERSATIONAL, STATEFUL, or RM11.

Multiple values can be passed with a comma(,) as the separator.

-resolveMapAmbiguity

Resolve Mapping Ambiguity

Enable this option by setting the value to true or selecting the check box in the OC4J Web Services Upgrade wizard page.

Enable this option to allow the system to resolve mapping ambiguities automatically.

This option is applicable only when SmartUpgrade does not find mapping information either in mapping file or from annotations.

The default value is false.

If you want to rely on SmartUpgrade to resolve ambiguity, then enable this option.

-sessionImplKey

Session Bind Key for Stateful Web Services

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with '-generate' argument when category 'web-services' is enabled.

The bind key used to bind the business implementation to the HTTP session in the case of a Stateful web service. The default value is derived from the generated implementation class. The default value can be overridden at the web service level.

-sessionTimeoutSecs

Session Timeout for Stateful Web Services (seconds)

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with '-generate' argument when category 'web-services' is enabled. The web service session timeout in seconds.

This value can not be more than the HTTP session timeout of the application. The default value is 1,200.

-skipGlueCode

Skip Glue Code Generation

Enable this option by setting the value to true or selecting the check box in the OC4J Web Services Upgrade wizard page.

When enabled, this option indicates that glue code generation needs to be skipped. When enabled, the target plan generation is also skipped. Use this option when the you have modified the generated glue code and you need to compile and package the application.

-stopAtTargetPlan

Stop after Upgrade Target Plan Generated

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with '-generate' argument when category 'web-services' is enabled.

The flag (true/false) to indicate whether the glue code generation should be done. The default value is false - glue code generation will be done. When option value is true, web services upgrade stops once the target upgrade plan is generated.

The source upgrade plan, unless skipped, will be generated before generating target upgrade plan. The option is used when the users want to edit the target upgrade plan and then generate glue code in a separate step.

-targetStackHome

Not Applicable

Mandatory command-line property used to specify the target WebLogic Server home. For example:

C:\Oracle\Middleware\wlserver_10.3

If you are migrating a large number of applications, you can avoid repeatedly specifying this property by setting the environment variable WL_HOME prior to starting Oracle JDeveloper.

The value you set in WL_HOME environment variable will be applied to all applications during the upgrade process.

Note that this property is not necessary when using Oracle JDeveloper, because the SmartUpgrade Oracle JDeveloper extension automatically uses the libraries and other required files from the Oracle WebLogic Server environment installed with Oracle JDeveloper.

For more information, see Section 3.1.7.1, "Identifying the Oracle WebLogic Server Home Directory".

-useJSF

Use latest JSF Libraries

The JSF libraries are provided as Web Application libraries and must be deployed to WLS for this Web Application to utilize JSF features.

-useJSTL

Use latest JSTL Libraries

The JSTL libraries are provided as Web Application libraries and must be deployed to WLS for this Web Application to utilize JSTL features.

-wrapperNullAllowed

Wrapper Null Value Allowed

This option applies specifically to artifact generation of Web Services. It should be used in conjunction with the -generate argument when the web-services category is enabled.

Enable this option by passing -wrapperNullAllowed (or -wrapperNullAllowed true) on the command line or by selecting the check box on the OC4J Web Services Upgrade wizard page.

When enabled, null values are allowed for wrapper types already present in the application before upgrade.

The default value is false. In this case, the null value of a wrapper type will be represented by an empty object.

Note that WebLogic Server JAX-RPC Web Services do not allow null values for wrapper types.


3.1.7 Examples of Using the SmartUpgrade Command-Line Interface

The following sections provide some examples of how you can use the SmartUpgrade command-line options to help you upgrade your applications to Oracle WebLogic Server:

3.1.7.1 Identifying the Oracle WebLogic Server Home Directory

For many of its operations, SmartUpgrade requires specific libraries and resources that are provided by Oracle WebLogic Server.

When running SmartUpgrade as an extension to Oracle JDeveloper, SmartUpgrade locates these files automatically using the Oracle WebLogic Server software that you install with the Oracle JDeveloper installer. For more information, see Section 2.1, "Installing and Configuring Oracle JDeveloper".

However, on the command line, you must either define the environment variable WL_HOME or use the -targetStackHome option to specify the location of an Oracle WebLogic Server home directory to use for this purpose.

For example, to define the WL_HOME variable:

set WL_HOME=c:\middleware\wlserver_10.3

To use the -targetStackHome option, refer to the following example:

java -jar smartupgrade.jar
     --ears myApp.ear
     -generate
     -category web-services
     -targetStackHome c:\middleware\wlserver_10.3

3.1.7.2 Using the SmartUpgrade Command-Line Interface to analyze an Enterprise Archive (EAR) File

To generate a SmartUpgrade report for a specific enterprise archive (EAR) file, use the following command syntax:

java -jar smartupgrade.jar --ears path_of_ear_file.ear

For example, if you have an EAR file called myApp.ear and it resides in a directory called my C:\MyApps, then use the following command:

java -jar smartupgrade.jar --ears C:\MyApps\myApp.ear

SmartUpgrade generates a report that is written to the terminal window. To save the report findings, redirect the output to a file. For example, the following examples show how to redirect the output to a file called report.txt.

  • On the Windows operating system:

    java -jar smartupgrade.jar --ears C:\MyApps\myApp.ear > account_report.txt
    
  • On the UNIX operating system:

    java -jar smartupgrade.jar --ears /home/MyApps/myApp.ear > account_report.txt
    

3.1.7.3 Using the SmartUpgrade Command-Line Interface to Generate Oracle WebLogic Server Artifacts

In addition to generating a report, SmartUpgrade can also generate a limited number of artifacts that can make it easier to update your applications so they can be deployed successfully on Oracle WebLogic Server.

At a minimum, you must:

  • Use the -generate option to generate artifacts

  • Specify the mandatory -targetStackHome option that identifies the target server home directory

For example, to generate artifacts in addition to a SmartUpgrade report for an archive called myApp.ear, use the following command:

java -jar smartupgrade.jar 
     --ears archive_name
     -generate
     -targetStackHome c:\middleware\wlserver_10.3 

For another example, suppose you want to do the following:

  • Specify the Oracle WebLogic Server home

  • Restrict generation of artifacts for upgrade to Web Services artifacts only

  • Specify the classpath to additional libraries not contained in the application archive but required for the loading of classes

  • Indicate that you want SmartUpgrade to generate code instrumented for performance analysis

In that case, you would enter the following command:

java -jar smartupgrade.jar 
     --ears archive_name
      -generate 
      -category web-services 
               -targetStackHome c:\middleware\wlserver_10.3 
               -additionalClassPath path_to_libraries
               -evaluate

For information on the results of this analysis, see Chapter 4, "Using SmartUpgrade Generated Artifacts".

3.1.7.4 Using the SmartUpgrade Command-Line Interface to Generate an HTML Report

By default, the SmartUpgrade command-line interface generates a report in text format and the report is written to the standard output of the current machine. In most cases, this means the output is written to the terminal window.

You can optionally generate a report in HTML format, which includes headings and lists that can make the output easier to read. Further, you can use your operating system commands to redirect the output to a file. The resulting HTML file can be read by any Web browser or other tool that can read HTML.

For example, if you have an EAR file called account_mgmt.ear and it resides in a directory called my C:\MyApps, then use the following command to generate an HTML file called account_mgmt_report.html:

java -jar smartupgrade.jar --ears myApp.ear -html > account_mgmt_report.html

For related information, see Section 3.1.8, "Controlling the Output of SmartUpgrade Findings Information and Error Reporting".

3.1.7.5 Limiting the Findings to Specific Rule Categories from the SmartUpgrade Command-Line Interface

By default, SmartUpgrade generates a report and optionally generates artifacts by applying all rule categories to the selected archive or OC4J server configuration.

However, if you want to limit the size of the report, or if you want to focus on a particular aspect of your application, you can limit the analysis to a specific set of SmartUpgrade rule categories.

For example, to analyze only the data-source configuration of the myApp.ear application:

java -jar smartupgrade.jar --ears myApp.ear -category data-sources

To apply multiple categories, separate the list of categories with a space. For example:

java -jar smartupgrade.jar --ears myApp.ear -category data-sources web-app

Table 3-4 describes the SmartUpgrade rule categories you can apply when generating your reports and, optionally, your application artifacts.

Note:

If you are generating artifacts, use caution when specifying the -category option. If you use both the -category and -generate options, SmartUpgrade generates only the artifacts of the specified categories.

Table 3-4 List of SmartUpgrade Rule Categories

Rule Category Use this category to analyze...

adf

Artifacts specific to the Oracle Application Development Framework (Oracle ADF).

api

Standard application programming interfaces (APIs) used in the application. This category of rules checks for OC4J and third-party APIs that may not be supported in Oracle WebLogic Server.

app-client

Client interfaces within the application.

classloading

Classloading configurations and shared libraries used by the application.

cluster

Cluster-specific configuration settings in the application.

data-sources

OC4J-specific data source configuration settings.

ejb

Enterprise Java Beans being used by the application.

jca

J2EE Connector Architecture (JCA) configuration settings and artifacts.

jms

Java Messaging Server configuration settings and artifacts, including the use of Oracle Enterprise Messaging Service (OEMS).

jmx

Java Management Extensions (JMX) used by the application.

jndi

Java Naming and Directory Interface (JNDI) configuration settings and artifacts.

jta

Java Transaction API (JTA) configuration settings and artifacts.

rmi

Remote Method Invocation (RMI) configuration settings and artifacts.

security

Security configuration settings and artifacts.

soa

Service-Oriented Architecture (SOA) configuration settings and artifacts.

web-app

Web application configuration settings and artifacts.

web-services

Web services configuration settings and artifacts.

webcache

Oracle Web Cache configuration settings.


3.1.7.6 Using the SmartUpgrade Command-Line Interface to Analyze 10g Release 2 (10.1.2) Applications

By default, SmartUpgrade assumes the applications you are upgrading were previously deployed on Oracle Application Server 10g Release 3 (10.1.3).

However, you can use the -target option to specify that SmartUpgrade analyze your application for any features, configuration settings, or artifacts that are specific to 10g Release 2 (10.1.2).

If you are upgrading an application that was previously deployed on OC4J as part of an Oracle Application Server 10g Release 2 (10.1.2) installation, use the -target option as follows:

java -jar smartupgrade.jar --LOCATOR_NAME -target 10.1.2

For example:

java -jar smartupgrade.jar --ears C:\myApps\my1012App.ear -target 10.1.2

3.1.8 Controlling the Output of SmartUpgrade Findings Information and Error Reporting

SmartUpgrade uses both the stdout and stderr output streams.

SmartUpgrade prints all finding information to stdout. You can redirect this output, according to the rules of your operating system and command-line shell, to a file.

Alternatively, users can use the "-output output_file" option to output the stream to a specified file. Consider the following examples:

java -jar smartupgrade.jar -output report.txt
java -jar smartupgrade.jar -html -output report.html

SmartUpgrade uses the stderr stream to report status and diagnostics on the command line. The -quiet flag stops SmartUpgrade from outputting anything to stderr. When you use the -quiet option, SmartUpgrade does not output any status or diagnostic messages.

The -quiet and -output options can be used in combination, because the options govern separate, internal behavior characteristics of SmartUpgrade and control how SmartUpgrade produces output.

For related information, see Section 3.1.7.4, "Using the SmartUpgrade Command-Line Interface to Generate an HTML Report".

3.2 Integrating SmartUpgrade with Apache Ant

If you use Apache Ant in your development environment, you can use the custom Ant task shown in Example 3-2 to integrate SmartUpgrade with your existing Ant environment:

Example 3-2 Custom Ant Task for SmartUpgrade

<taskdef
   name="SmartUpgrade"
   classname="oracle.smartupgrade.UpgradeTask"
   classpath="${basedir}/smartupgrade.jar"/>

After you define the taskdef, as shown in Example 3-2, then you can execute SmartUpgrade from within an Ant script.

Example 3-3 shows a typical example, which recursively locates all EAR files in the demo directory and executes SmartUpgrade to examine each file. The valid values used for the upgrade locator element in Example 3-3 are identical to those used for the LOCATOR_NAME on the Java command line.

For more information, see Section 3.1.5.2, "Identifying a SmartUpgrade Locator".

Example 3-3 Using the SmartUpgrade Custom Ant Task Within Apache Ant

<target name="test" depends="declare">
   <SmartUpgrade flags="-quiet"
      <upgrade locator="ears">
         <fileset dir="${basedir}/demo">
            <include name="**/*.ear" />
         </fileset>
      </upgrade>
   </SmartUpgrade>
</target>