Contents
Components Of The Oracle Utilities Software Development Kit
Synchronizing With The Project Repository
Contents
The App Server Is The Development Environment
Development App Server Is Local, Not Shared
The Oracle Utilities Software Development Kit development environment is built on a standard app server install of the product being customized. Put another way, the app server is the development environment.
Source code is written and generated within the app server directory structure and executables are generated where the app server expects them and are therefore ready to be executed.
For example:
· UI code is written directly where the app server looks for them.
· The jar file for the Java programs is created directly where the app server looks for it.
Each developer has a development app server in his workstation for each project. This means that a developer can code and unit test all within his workstation. This also means work-in-progress code contained within the developer's workstation.
All finished code is submitted into the project repository. As such, developers synchronize with the project repository to get their local development environments current with the rest of the team.
The project repository is also set up as a development environment. When developers synchronize with the project repository, they get a development environment including configuration necessary for that project.
The following diagram illustrates the development environment.
Note. Please see the installation guide for instructions on how to set up the Oracle Utilities Software Development Kit and its components.
Development Environment
Development Client
Each project has a development database. This is a regular database install of the product that is being customized. System data for customizations are stored in this database. Development processes like code generation connect to this database. In addition, development app servers in development workstations connect to this database.
The project repository serves the following purposes:
· It is the central storage for all completed, unit-tested code.
· It provides the environment from which to build the latest state of the project.
· It provides the latest state of the project dev app server from which all developers can synchronize with.
· It is the source for CM Packaging.
To support these purposes:
· It has to be accessible to all developers.
· It is set up as a development client, i.e., similar to a development workstation (see Development Workstation below).
Developers write, generate, compile, and test code on development workstations. A development client is installed for each project that the developer works on.
The main components of a development client are the following:
· Project Dev App Server. Code is developed on and executables built into the project dev app server.
· Oracle Utilities Software Development Kit Client. This is the primary development tool of the Oracle Utilities Software Development Kit.
· Eclipse SDK. This is the Java development tool used in the Oracle Utilities Software Development Kit.
Contents
As mentioned earlier, the app server is the development environment. Source code and executables are therefore placed within the directory structure of the app server.
Contents
Standard App Server Directory Structure
Additional Directories for Development
Pertinent Directories In the App Server
The following presents the directory structure of a standard app server install. Oracle Utilities Customer Care and Billing is used as the example:
Contents
Project Configuration Information
A directory structure with a base directory of java is used for Java development as shown below.
· source contains the code that the developer writes or generates that is submitted to the repository. Under this are the following directories:
· com.splwg.cm.domain contains the CM java source code.
· sourcegen contains generated code that is necessary to build the project. All files in this structure are generated and therefore must not be modified manually in any way.
· target contains the runtime files created from source and sourcegen. The contents of this directory is what is deployed as a jar file to the app server. All files in this structure are generated and therefore must not be modified manually in any way.
Project information is stored in the SPLSDKCommon directory structure.
· eclipseLaunchScripts contains the Eclipse launch scripts for various tools.
· eclipseProject contains the project configuration information for Eclipse.
· tools contains the tools that are required for the project.
Item |
Directory |
Content |
Java sources |
java\source\cm\com\splwg\cm.domain |
Java source code. |
AppViewer files |
splapp\applications\appViewer\data\source\CM |
App viewer source code files. |
|
splapp\applications\appViewer\data\xml\CM |
App viewer XML files. |
Web Application |
splapp\applications\root\cm |
UI code. |
|
splapp\applications\root\WEB-INF\lib |
cm.jar file is deployed here. |
XAI Application |
splapp\applications\XAIApp\WEB-INF\lib |
CM?*.jar file. cm.jar file is deployed here. |
MPL Application |
splapp\mpl\lib |
CM?*.jar file. |
Standalone Application |
splapp\standalone\\lib |
CM?*.jar file. cm.jar file is deployed here. |
Help files |
splapp\applications\help\XXX\cm |
Help files segregated by language. |
XAI Schemas |
splapp\xai\schemas\CM*.xml |
XAI schemas. |
Service XML files |
splapp\xmlMetaInfo\CM*.xml |
Service XMLs for Java. |
Eclipse Launch Scripts |
SPLSDKCommon\eclipseLaunchScripts |
Eclipse launch scripts. |
Eclipse Project |
SPLSDKCommon\eclipseProject |
Project configuration information for Eclipse. |
Oracle Utilities Software Development Kit Tools |
SPLSDKCommon\tools |
Tools required by the Oracle Utilities Software Development Kit. |
The Oracle Utilities Software Development Kit client directory contains both the Oracle Utilities Software Development Kit itself and some project-specific information like the Eclipse workspace.
The location of the Oracle Utilities Software Development Kit client is stored in the environment variable SPLSDKROOT.
Contents
The Oracle Utilities Software Development Kit Client Itself
The Oracle Utilities Software Development Kit client is installed in SDK/<version>.
Additionally, a copy of Eclipse is installed later into the eclipse directory.
Note. Updates are unique versions of the Oracle Utilities Software Development Kit and therefore have their own directories.
Note. A separate copy of Eclipse is installed per version of the Oracle Utilities Software Development Kit client because each version may have its own set of plug-ins and the plug-ins must be in the plugins directory of Eclipse.
Each project has its own directory.
· eclipseWorkspace contains Eclipse workspace files.
· etc contains additional project-related files. setSPLEnv.bat is in this directory. It is used to set environment variables appropriate for the project. This script is executed before other scripts so that succeeding scripts operate on this project.
· eclipseProject (not shown above) exists only in development workstations (not in the project repository). It is a copy of the same directory in the app server.
Note. setSPLEnv.bat is generated when the project is created/configured.
The shortcuts directory contains various scripts used in development.
Developers synchronize the whole of the app server directory except for the following:
· java\sourcegen
· java\target
· splapp\xmlMetaInfo
· splapp\applications\root\WEB-INF\lib\cm.jar
· splapp\standalone\lib\cm.jar
· splapp\XAIApp\WEB-INF\lib\cm.jar
· logs\system
Contents
Moving Up To A New Version of a Product
The Oracle Utilities Software Development Kit version number has four (4) components, each of which is a number separated from the other components by a period ("."), as follows:
<component 1>.<component 2>.<component 3>.<component 4>
The first three components together specify the version of the framework it was built for. So it really is:
<framework version>.<Oracle Utilities Software Development Kit update >
Each version of a product is built on a specific version of the framework. And each version of the Oracle Utilities Software Development Kit is built for developing applications on a specific version of the framework. Developers must use the version of the Oracle Utilities Software Development Kit that is built for the version of the framework that the product is built on.
Unless noted otherwise, a version of the Oracle Utilities Software Development Kit is compatible with the version of the framework with the same first three (3) components of the version number, i.e., excluding the update number. For example, for a framework version of 2.1.0, any version of the Oracle Utilities Software Development Kit that starts with 2.1.0, e.g., 2.1.0.0, 2.1.0.1, … 2.1.0.n, can be used for development.
In between new versions of the framework, versions of the Oracle Utilities Software Development Kit that contain fixes for bugs may be released. These versions are called updates and are indicated by a change in the fourth component of the version number.
Updates are full packages of the Oracle Utilities Software Development Kit. They install as separate applications and appear so to the operating system. It does not update an existing earlier version to the new version. For example, versions 2.0.6.1, 2.0.6.2, 2.0.10.0, and 2.0.10.1 can all be installed at the same time. And different projects may be on different Oracle Utilities Software Development Kit versions.
Generally, it is best for projects to always be on the latest update. But the Oracle Utilities Software Development Kit allows different projects to be on different update version s for the following reasons:
· Although a very low possibility, there may be incompatibilities between updates. For example, libraries may have changed.
· Having separate installs for each update allows the developers move their projects to the next update on their own pace.
· This allows developers to keep their projects on the same version of the Oracle Utilities Software Development Kit that is used in the specific implementation. One project may be aggressive by always being on the latest update version, but another project may stay longer in an older version if it is more difficult to coordinate all developers to move up to the latest update.
Moving up to a new update of the Oracle Utilities Software Development Kit involves updating the tools while using the same project development environment.
Note. The project repository and all developers of a project must always be on the same version of the Oracle Utilities Software Development Kit.
Note. Not all projects need to upgrade to the latest update version at the same time. Moving to a new update version requires coordination among the developers for the project, as well as the on-site implementation team and so it may take more time for some projects to move to the latest update version.
There following are the steps:
· Stabilize the project.
· Install the update.
Contents
· Make sure that the project is in a stable state and that all developers have submitted all code to the repository.
The following procedure must be done for the project repository and all development worksations:
· If this is the first project to use the new update, install the Oracle Utilities Software Development Kit update and specify the information for the selected project to update the development environment.
· Otherwise, run the createCMEnv.cmd script, specifying the information about the existing project to update the development environment.
At this point, the selected project is configured to use the new update of the Oracle Utilities Software Development Kit.
Note. Oracle Utilities Software Development Kit V2.0.6.1 introduced a new directory structure for the development workstation. Consequently, existing installations of Oracle Utilities Software Development Kit V2.0.5.0 and V2.0.6.0 must be uninstalled first before installing this version.
Moving up to a new version of a product requires creating a new development environment suited for that version of the product. A new version of a product is likely to be built on a new version of the framework, which would mean that a new compatible version of the Oracle Utilities Software Development Kit is required.
The following are the steps:
· Stabilize the project on the old version of the product.
· Prepare the database for the new project.
· Set up the repository for the new project.
· Set up development workstations.
Contents
Stabilize the Project on the Old Version of the Product
Prepare the Database for the New Project
Set Up the Repository for the New Project
Set Up Development Workstations
· Make sure that the project is in a stable state and that all developers have submitted all code to the repository.
· Copy the database of the project in the old version to a new database.
· Upgrade this newly created database to the new version of the product by following the database upgrade procedures of the product.
· Prepare a project repository as described in the installation documentation.
· Copy source code from the repository of the previous version into the project repository.
· Update code, if necessary, as specified in the documentation of the new version of the product.
· Build the entire project. This includes generation of code, compilation, generation of services, etc.
· Test the customizations.
· At this point, developers can set up their workstations for the new project on the new version of the product. Each developer must follow the workstation set up procedure.
When single fixes to products are released, the following should be done for projects for which the single fixes are required:
· Stabilize the project by making sure that the project is in a stable state and that all developers have submitted all code to the repository.
· Apply the single fix to the project repository.
· Each developer of the project must then synchronize with the project repository.