There are a few, significant differences in developing applications between the Workshop-based Oracle WebLogic Integration (WLI) 8.x IDE and the Eclipse-based WLI IDE. This document provides tips and tricks to users familiar with the WLI 8.x environment, which help them transition to developing applications in the current WLI IDE.
This document includes the following sections:
The Integrated Development Environment (IDE) for WLI is based on Oracle Workshop for WebLogic, which uses Eclipse 3.2.2. It is different from the WLI 8.x IDE as described in the following sections:
WLI 8.x applications included artifacts and other sub-projects such as schema, web, and EJB projects and they were hierarchical in nature. Now, WLI applications have a flat organization and consist of an EAR project, one or many Web projects and one or many Utility projects.
Each project maintains references to other related projects. When a WLI application is created through the Process Application Wizard, these references are already established. If projects are imported in WLI, then such references should be manually updated (see Managing Project Dependencies).
In a WLI application, an EAR project is the central point of the application. It is used to create EAR (Enterprise Archive) files and includes:
Note: | Libraries that need to be available to any project in the application should be stored in <EAR project>/EarContent/APP-INF/lib . |
In a WLI application, a Web project includes processes, controls, XQ files, message broker, and transformation files. A Utility project includes schemas, XML, and WSDLs.
When a project is created, you are required to do some or all of the following:
The above options are specified by choosing facets during project creation. Basically each project type has its own facets, which assigns the corresponding builders, validators. Facets can also be added and deleted from a project after its initial creation. To edit a project's facets, select Project > Properties > Project Facets.
Note: | A process can be created only in a WEB project which has Oracle WebLogic Integration Process facet (process-enabled) added to it. Similarly a Worklist task plan can be created in an EAR project which has Worklist Integration Worklist Application Module facet (worklist-enabled) added to it. |
Table 4-1 lists various artifacts and their locations.
WLI applications and their projects depend on Eclipse. Unlike WLI 8.x Applications, you cannot move projects from one system to another by merely copying projects. Now, the projects have to be imported into the workspace using the Import wizard and selecting the Existing Projects into Workspace option.
In WLI 8.x, the various types of WLI artifacts had their own file extensions like .jpd, .dtf, .jcx. Now, unique file extensions for specialized java files like .jpd, .dtf, .jcx no longer exist. All file extensions end with .java (for example, process.java). Therefore, while creating WLI artifacts it is a good practice to name Process files, controls, and data transformations in such a way that each can be identified easily.
Note: | XQuery files have .xq extensions. |
Some of the Workshop controls (for example, JDBC or Timer) no longer have wizards. You must use the Source view or Annotation view to configure them.
To create a new EJB control, you need to import the ejb jar file and the source code of the application.
There is no DTF design view. Only a Source view is available.
To configure a Transformation method, right-click Source view, then select Transform, and then select one of the options (see Figure 8-1).
To reconfigure a Transformation method, open the transformation file and in Source view, select the transformation method and then right-click, select Transform > Reconfigure XQuery Transformation Method.
WLI 8.x supports XQuery 2002. Current release of WLI supports XQuery 2004, and XQuery 2002 support is extended for backward compatibility. Upgrade of an Xquery file from 8.x to the latest release may not be successful due to the incompatibility between the XQuery specifications. In such cases, you are expected to manually correct the upgraded xquery file.
Note: | An XQuery file which has not been configured in WLI 8.x can be upgraded successfully into the current release of WLI, but will lead to a compilation failure, as WLI now enforces strict configuration for XQuery method. |
If the interface of a Process file is modified, then you need to recreate all the other dependant artifacts (such as process controls that are generated out of this Process file, WSDLs generated from this Process file). In addition, iterative development does not automatically redeploy the application as in WLI 8.x.
In the case of Task Controls, it is very necessary to regenerate the task control each time you make a change to the Task Plan and reuse it in the process.
WLI 8.x uses the Javadoc-comment style annotations. Now, Java 5 annotations are used; therefore, when upgrading a WLI 8.x application, the annotations in the application are converted to Java 5 annotations. Some of the 8.x annotations are deprecated, because of which the conversion to Java 5 annotations may cause error. You have to manually correct them (see Upgrading Annotations).
The WLI 8.x Schema Builder allows you to a build sample application even though the namespace is not specified. The current WLI Schema Builder does not support empty namespaces. If you import the envelope.xsd
from WLI 8.x, it will lead to some errors.
To fix these errors do one of the following:
xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd">
to: xmlns:eb="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd"> schemaLocation="http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd"/>
Note: | Import namespace statements should be added. |
The XQuery Mapper test view in WLI 8.x is not a standalone tester and always requires a running WLI server. Where as, the XQuery Mapper test view in the current release of WLI is a standalone tester and does not runs inside a process file container. (It does not matter if there is a WLI server running, the XQuery Mapper tester does not use it). This is by design, because the XQuery Mapper is used in other Oracle products outside of WLI.
If you are developing a complex application with high consumption of memory, change your JVM setting by changing the memory parameters in the file workshop.ini
available at your BEA_HOME directory (for example, <BEA_HOME>\workshop_10.3\workshop.ini
) as follows:
Note: | The above settings are only a recommendation; you can calculate settings best suited for your machine. |
Once you add a worklist facet to a process project, you can create a Process file and a task plan in the same application.
Do not check in the following directories to source control. (Not all of these directories and files will exist in every project.)
The following directories and files should be included in source control. (Not all of these directories and files will exist in every project.):
When you try to use this project from another machine, perform the following steps,
Note: | Occasionally you might see some errors such as the library module reference: beehive-controls-1.0 is on the classpath of a dependent project, but it is not included in this EAR project. In this case, clean and build the project again. If it does not work, switch to the same workspace and build to resolve the errors. |
If you are making a portable ZIP file with Oracle Workshop for WebLogic, select File > Export > Archive file > Next. In the left-hand pane, select the projects you want to include, but unselect the following directories within each project:
To retain the original directory structure when your workspace has multiple projects, make sure to place a checkmark next to Create directory structure for files.
To uncompress the ZIP file and use the workspace, select File > Import > Existing Projects into Workspace, then select Archive file option and provide the ZIP file.
In a node editor, each time you edit the transformation, by modifying its inputs or outputs, a new Transformation method with a new signature and a new XQ file is generated. If you intend to reuse these transformations across processes, it is good practice to develop a separate transformation file containing all node editor-related transformations, then, you can reuse the transformation methods through the Advanced Options dialog in the node editor.
getEmpID()
get method on that XML Bean object, create a simple XQuery transformation, using the node editor, for extracting EmpID from EMP.-da:org.apache.xmlbeans
" to the file <BEA_HOME>\workshop_10.3\workshop.ini
. eventSet = tmp.TaskC.Callback
.class to eventSet = tmp.TaskC.CustomCallback
.class in the EventHandler
annotation.
For more information, refer to the following documents:
See edocs, for more WLI related information.