In earlier articles on ODI Lifecycle Management features
we covered Managing Versions in Apache Subversion and Parallel Development using Subversion Branches. Now let’s
explore the Release Management aspects addressed in ODI 12.2.1.
The release management use cases are addressed in ODI 12.2.1 through
the newly introduced object called Deployment Archive. It is an archive file containing
a set of ODI objects along an XML file containing archive details. It is the
vehicle to promote objects from a development environment to the testing or
production environment as depicted in below diagram. In a typical release
process a Deployment Archive is first deployed in testing environment
where the validations can be performed and after testing is done it is
applied to a production environment.
Deployment Archive Types
There are four types of Deployment Archives
- Initial Deployment Archive – It is used to
initialize a fresh ODI repository. It is created with all the objects in your
- Patch Deployment Archive – As the name suggest
it is used to apply patch containing a bug fix or enhancement to an ODI repository
that is already initialized with Initial Deployment Archive. It usually contains only the object having the bug fix or enhancement and all its dependencies.
- Rollback Deployment Archive – A Rollback Archive
facilitates restoring a pre-patch state of deployment environment. It is
created when a Patch Deployment Archive is applied to an ODI Repository and
contains the artifacts from the repository that are being updated by the patch.
- Execution Deployment Archive – It holds only the
runtime executable objects and gets created along with Initial or Patch
Deployment Archive. It is used to promote artifacts to ODI execution repository,
which holds only executable objects.
Creating Deployment Archive
All Deployment archive related operations can be invoked
from the ODI Studio menu. There are three options available for
creating a Deployment Archive, which differs in the way the objects to be
included in the Archive are selected.
Each of these options allows you to
- Select the type of Deployment Archive to create
- Provide Archive Name
- Specify the file location where the archive is created
- Specify an Export key which is used to encrypt
sensitive data in the exported object XML
- Provide an option to exclude physical topology
containing connectivity details.
Create from a VCS Label (Tag)
The objects from a Subversion Tag are included
in the Deployment Archive.
Create from Repository > Full Repository
objects from the entire repository are included in the Deployment Archive. Since
all the objects are included here, with this option you can create only the
Initial Deployment Archive.
Create from Repository >Selected Objects
You can selectively add the objects you wish to include in the Deployment Archive. All dependencies of an object is also automatically included along with the object so that
the Deployment Archive always contains a consistent set of objects that can be applied
in any environment.
Viewing Deployment Archives
You can list and view the details of Deployment Archives
from ODI Studio by specifying the folder location where all the
Deployment Archives are created.
You can double click on any entry to the list of objects
present under that archive.
Applying an Deployment Archive
An empty repository can be initialized with the Initial Deployment
If the repository is already initialized then you can apply
a Patch deployment Archive to it.
While applying patch archive you can also specify the file
location where the corresponding Rollback Deployment Archive should be created. A Rollback Archive is used to restore the pre-patch state of the repository when the Patch application result in some problems.
As shown below, a typical Production environment is first initialized with the released artifacts from a Initial Deployment Archive and
then at some later point in time the Patch Deployment Archive is applied for some bug fix
Auditing Deployment Archives
ODI maintains the history of all the Deployment Archives
applied to a repository and it can be easily view in ODI Studio.
The Inventory table for the applied patches has a number of columns as shown above providing important
- It provides details about the Deployment Archive- its type, how it was created, who created it and when it was created.
- It shows in what order a Deployment Archive was
applied, by whom and when.
- It provides the statistics - how many object got
added, updated or deleted as part of it.
- It shows if the Deployment Archive can be rolled
back and the path where the corresponding Rollback Deployment Archive was
Rolling Back a Patch Deployment Archive
The patches for which a Rollback Deployment Archive was
created can be rolled back from studio.
Note that not all Deployment Archives can be rolled back. In order to be rolled back it should satisfy following conditions.
- It should be a Patch Deployment Archive
- The corresponding Rollback Archive should have
been created during patch application
- The corresponding Rollback Archive should be
present in the specific file location
- The patches can be rolled back in the sequence
they are applied. It means that the patches can be rolled back in Last In First Out (LIFO) order only.
Programming Interface for Automation
There is Software Development Kit (SDK) Application Programming
Interface (API) available for all the Release management activities described
in this article. The deployment archive management related classes are
available in oracle.odi.core.service.deployment package. Using these
APIs you can write programs to automate your release process.
ODI 12.2.1 has come out with a number of features addressing
different Lifecycle Management needs. It provides seamless integration
with Apache Subversion to manage ODI objects versions in external version
control system. It provides Branch and Tag management capabilities to facilitate
parallel development between functionally or geographically distributed teams.
It provides comprehensive release management capabilities to create Deployment
Archives with artifacts from development environment which can then be tested in
isolation, applied to production environment and can be rolled back if
required. With all these capabilities users can easily manage an objects lifecycle in ODI 12.2.1, which is now generally available to download from OTN page.