Professional Documents
Culture Documents
Management
Concepts
Oracle Utilities Application Framework (4.4.0.0.0)
2 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Table of Contents
Introduction .................................................................................................. 5
Assets .......................................................................................................................................... 9
Extensions ..................................................................................................................................10
Baselines ....................................................................................................................................10
Versions .....................................................................................................................................12
Releases ....................................................................................................................................12
3 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Begin with the end in mind .........................................................................................................14
4 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
INTRODUCTION
The aim of Configuration Management is to deliver a physical product to a customer as agreed with that
customer. In terms of an Oracle Utilities Application Framework based product implementation, that
product is a copy of the base product, supplied by Oracle, and all the custom extensions performed by
the implementation. This constitutes the implementation for a customer with the extensions as well as
the version having the functionality agreed for that customer. The amount of extension, known as the
extension spectrum1, will vary with the individual requirements of the customer. The figure below
illustrates this relationship:
• Extensions can overlap base product functionality. For example, you may be replacing a base
provided algorithm with a custom version. Another example is taking a base provided extract and
modifying it for a customer’s purpose.
• Extensions are based upon base functionality but can create new functionality. If the base
product does support a new business process, adding new functionality may be required. At the base
level, the extension will extend the Oracle Utilities Application Framework functionality to ensure it
tightly integrates with the rest of the product.
5 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
This series of whitepapers will focus on Configuration Management for extensions (code and data) for
on-premise, hybrid and cloud implementations of Oracle Utilities Application Framework based products.
• Concepts. There are a set of key concepts that constitutes Configuration Management.
• Version Management. During development multiple versions of individual extension assets are
created in a team environment using Oracle Utilities SDK and/or ConfigTools. Version Management
is a set of policies and processes to manage these individual versions of the extension assets to
support extension activities of individual or teams of developers.
• Distribution. One a release is built and ready for release; Distribution is the policies and processes
for co-ordination of the installation of that release whether the destination is local or remote.
1
Term used for publishing purposes
6 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
• Change Management. In Configuration Management the process of deciding what is released is
decided in the policies and processes for Change Management. This back-office aspect drives the
operational and extension aspects.
• Defect Management. Out of the other processes including related processes like testing, defects are
raised to be corrected. Defect Management is the policies and processes that dictate how defects are
handled within the Configuration Management activities.
• Configuration Status. At any point in the lifecycle the status of all the activities and assets needs to
be able to be performed to report to interested parties. Configuration Status is a set of policies and
processes to enable effective reporting of state.
• A difficult bug that was fixed at great expense suddenly reappears. If a bug fixed in a version of
a program and implemented without tracking, then in future changes you may introduce an earlier
version reintroducing a bug. This can be frustrating for a customer who thought that a bug has been
solved for good.
• You cannot track what code is running in what environment. This can prevent implementation of
fixes and performing upgrades. There is a story of an implementation where the development team
onsite did not keep track of their code since they started developing. The team basically compiles
their code and then transfers the compiled object to production not tracking which source code it came
from. Over the period, it got to the state where it was almost impossible to determine which version of
the source belonged to which object in Production. Not only does this introduce the risk of
reintroducing already fixed problems back into production, it throws a doubt on upgrading and even
taking single fixes. If a recompile is required by an upgrade or single fix, then the risk is exposed and
can result in not taking an upgrade or fix for an issue. The only resolution for this type of situation is
to spend time attempting (i.e. guessing) to identify the correct version of the source for the object and
realigning all the code. This will take time (i.e. in search time and retesting time) and still not guarantee
success as you may not guarantee that the source matches the object.
• The relationships between code and data are not tracked leading to pieces of functionality not
working as expected or not at all. All the Oracle Utilities Application Framework based products are
primarily data driven products, key data must be provided to the product to recognize customizations
and operate customizations as expected.
• You are unable to track which environment has which release or which patch has been applied.
This can be critical in determining upgrade impact across the environments that a site has
implemented.
• The documentation delivered with the software does not match or is so out of date it is useless
to your customers. Releases include all types of assets and if one is not consistent with the other
then misunderstandings and negative impacts ensue.
7 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
All these situations (and more) are issues caused by ineffective or non-existent Configuration
Management practices. If you do not experience any of these problems or problems of a similar nature
you are either very lucky, do not have a Configuration Management problem or your Configuration
Management solution is either complete or so simple that is self-sustaining.
Configuration Management helps to reduce (or eliminate) these problems by offering a solution for
tracking and management of assets and releases.
The suggested reading order and components that are applicable to different groups are illustrated in
the table below:
1 Concepts ■ ■ ■
2 Environment Management ■ ■ ■
3 Version Management ■ ■
4 Release Management ■
5 Distribution ■
6 Change Management ■ ■
7 Defect Management ■ ■
8 Configuration Status ■ ■
11 Implementing Upgrades ■ ■ ■
Note: The ■ icon indicates that that group of people should read that component of the Configuration
Management Series. All groups are welcome to read outside this suggested reading guide.
8 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
CONFIGURATION MANAGEMENT CONCEPTS
For Configuration Management to be effective during an implementation and after, a number of key
concepts need to be understood.
Assets
An asset (also known as a Configuration Item) is a component (code, data or other) of the
implementation managed by Configuration Management. This can be something developed or acquired
by any other means (such as input directly), onsite or offsite.
The level of asset can get quite detailed with smaller and smaller levels of asset that can be managed
individually. The key to success is choosing the level you want to manage your assets to exhibit the
appropriate level of control. This concept will be discussed in the Version Management part of this series.
Base Product
The base product is the Oracle Utilities Application Framework based product assets delivered by the
Product Development team at Oracle. These are delivered at specific intervals in the form of the initial
installation of the product, upgrades, rollups and single fixes. The table below outlines the common
assets delivered with the product as part of the base product:
Runtime Java SE, Database, This is either an operating system or provided with Oracle
PERL etc WebLogic, Oracle Database and/or Oracle Coherence.
Base Software Base Services Underlying base services delivered in Java archive format
including libraries.
Base Utilities Utilities supplied with the product for operations and
configuration purposes. These are typically used by the IT
group.
Database Base Schema Product delivered database schema including tables, views,
materialized views, sequences, indexes etc.
Base System Data Data provided that is necessary for the product to operate
at a base level.
Base Meta Data Data provided for product shipped functionality and assets
including any ConfigTool based assets.
Base Cloud Accelerator Prebuilt Meta Data and related configuration for Oracle
Utilities Cloud Services.
Base Demonstration Data Optional data used for product demonstration or product
familiarization activities. Also contains samples for reuse.
9 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Other Base Documentation Online and downloadable documentation covering user,
configuration and administration roles.
Development Oracle Utilities SDK Java based development for non-Oracle Utilities Cloud
Service implementations
Extensions
An extension is any asset introduced, changed or removed as part of an implementation to implement
the customers’ business rules, practices and standards. In general, the following asset types are to be
considered extensions:
Data Custom Meta Data Data configuration as well as any ConfigTools objects
Custom XSL Style sheets used for Inbound Web Services or External
Systems
Baselines
A baseline is the sum of completed assets at a point in time, also known as a checkpoint. That point in
time will usually be around a release event, upgrade or significant date, such as coinciding with a phase
of the implementation. At that point the relevant assets are prepared for release and become the new
base on which each subsequent release is based against. Baselines can be automatic, triggered by
certain events, and non-automatic.
2
Compiled code is Java based assets only
10 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Baselines are important as they provide a realization that the base of an implementation can move
during an implementation so that rework is not necessary (i.e. by considering previous baselines). For
example, when an upgrade of the base product arrives on site, that latest version becomes the new
base for any future work. Older baselines become obsolete and can be effectively forgotten and
removed. This is important as it affects release retention as outlined in the Release Management
whitepaper in this series. Baselines become restore points in case of problems.
In any Oracle Utilities Application Framework based product implementation there is in fact are two
distinct streams of baselines:
• Product Baseline. This baseline is associated with product releases and upgrades. A product
baseline is a copy of the base product at a certain release level and associated patches.
Note: A single fix release is not a baseline as the original version of the product is required for the single
fix to be applied against. The combination of the base and patches becomes the baseline, not the single
fix on its own.
• Customization Baseline. This baseline is associated with the customizations implemented during an
implementation and post implementation.
The Product Baselines and Customization Baseline are closely associated by the fact that when a
Product Baseline is implemented the corresponding Customization Baseline is recommended to be
assembled. This is because the assets in the Customization Baseline reuse some of the Product
Baseline assets. For example, base libraries are used in customizations to provide interfaces to base
modules.
It is very easy to confuse baselines with releases as baselines are associated so closely with releases
but there is a crucial difference. Once a baseline is taken all previous baselines become obsolete, where
releases can always be reversed out if necessary. In terms of effort baselines are not much extra effort
on an implementation:
• A Product Baseline is created when a new base version or upgrade is installed with all its follow-up
consequences, such as recompilation of customizations etc. All past versions, that are not active, now
become obsolete for basing any customizations against.
• A Customization Base is created when you recompile all customizations and do not wish to retain
older releases, which are not active. All subsequent work on customization is based upon that release.
These principles have been incorporated into the processes and principles outlined in the Release
Management whitepaper in this series.
Automatic baselines
There are a certain number of situations that, by their very nature, dictate that a baseline be taken
automatically. The following table outlines the typical automatic baselines:
11 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Non-Automatic baselines
During an implementation other events may require a baseline to be created for extensions3. Whether
a baseline is created in these situations is up to the Development Manager, Project Manager and/or
Project Director considering whether past baselines are still valid.
• The release of an important piece of functionality that is significant in functionality terms but is not
considered a major release (due to size).
• A single fix from base product that includes changes to copybooks used by customizations.
Versions
A version is a variation of an individual extension asset. The processes employed to manage these
versions is outlined in the Version Management whitepaper in this series. Versions are usually
managed at the development level.
Releases
A release is a collection of assets ready for deployment associated with a baseline or any release event
including bug fixes (also known as emergency releases). The processes employed to manage these
versions is outlined in the Release Management whitepaper in this series. Releases are managed at
the appropriate level and become an asset itself which is tracked, once created.
• The assets from the customization are built using the relevant tools. Individual assets are version
controlled and stored in a configuration management repository, if necessary. This is the realm of the
development team who can use the repository to track the correct versions for the work they are
performing (e.g. fixes, upgrades or functionality releases) and mark the relevant assets as ready. This
aspect of Configuration Management will be covered in the Version Management whitepaper of this
series.
• The contents of a CM package will be influenced by what changes are to be implemented and what
defects are found during testing and post implementation. These aspects of Configuration
Management are covered in the Change Management and Defect Management whitepaper,
respectively, of this series.
• When ready, the relevant assets are extracted from the repository and placed ready for packaging
into a release or a single fix. The process includes the extract, transfer and packaging process to
produce a releasable unit known as a CM package. Typically, the CM package for a release a sum of
all the customizations, including data, up to the current date. This aspect of Configuration
Management will be covered in the Release Management whitepaper of this series.
• A set of environments are established to support all the activities required in the implementation and
any support activities after implementations. These will need to receive CM packages as required.
12 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
This aspect of Configuration Management will be covered in the Environment Management
whitepaper of this series.
• Once a CM package is available and set of environments are established the CM package will need
to be distributed and installed in these environments according to local conventions and processes.
This aspect of Configuration Management will be covered in the Distribution whitepaper of this
series.
• To check on all of the aspects of Configuration Management to ensure that the relevant CM packages
contain the relevant assets and the CM packages are implemented into the relevant environments at
the correct times a set of processes to audit and report the progress are required. This aspect of
Configuration Management will be covered in the Configuration Status whitepaper of this series.
• It tests the procedures from initial stages in lifecycle rather than at the later stages. For example, if
you treat your test environments as a production environment then the same (or similar) migration or
change procedures would be used, as for production. When the production migration happens, the
procedures would be used, tested and hopefully all problems ironed out. If you contrast this with
having different procedures for test and production, you will have no opportunity to test but in the
customer environments. If there any problems, then it would seem the developers are less than
professional and put the release in bad light. The customers would remember there was a problem
with delivery rather than the superior quality of the product or the fact that we may have delivered on
time or within budget.
• Production environments have unique characteristics that assist in making procedures more robust
and flexible:
• Assume that all data already in the database is to be kept. Any database changes or reference/system
data additions must be designed.
• All migrations and changes are done with minimal downtime or disruption to the users of the system.
• All changes should not compromise the integrity of the non-changed parts of the system or the stability
of other software/hardware on the same machines.
3
Product baselines are generally automatic as they are dictated by Oracle or the business in an upgrade situation.
13 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
• Reduce the amount of junk existing in the environment. For example, one off programs used by the
programmer to debug something or dummy database files.
• The availability requirements for a production system are usually quite high and there is no reason
why other environment should not have similar requirements during high activity. Just as a customer
would not appreciate a productions system down at a critical moment you would not want, say a
development environment, down when you are at a critical stage in the programming.
To this end a Configuration Manager should be appointed to manage the Configuration Management
aspects of the project.
All procedures and processes should be designed with change in mind and executed with change in
mind.
In one real life situation, one customer insisted in having multiple testing environments to simulate
differing time periods. After examining the requirement rather the need for extra environments, it was
found that other alternatives could be found such as changing the system time, logically not physically
or restructuring the data to satisfy the requirement. The need to have the multiple environments was
eliminated but the requirement was satisfied.
14 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
Keep the solution simple as possible
For projects that are simple in nature the Configuration Management solution should be simple. For
projects that are complex there is no reason why the solution should also not be simple. Ensure that any
solution used for Software Configuration Management at your site can be maintained by the available
staff.
• Other implementations may want to reuse your code and need documentation to understand and
customize it for their needs. If there is no up to date documentation this greatly reduces the likelihood
of documentation.
Tool vendors do not assist at all as they promote the tools as full lifecycle and solving all problems
(including world hunger…). They also typically will try to sell generic processes with the tool to illustrate
the full lifecycle or total solution aspect of the tool. Typically, the processes are basic and are applicable
as a starting point for the final processes, but do not cover the management aspects of anything but
basic projects. They are promoted as the Software Configuration silver bullet.
This series has purposely steered away from discussing tools to any detail for the above reason and the
fact that the facilities available in tools in constantly changing.
15 W HITE PAPER / Configuration Management Concepts - Oracle Utilities Application Framework (4.4.0.0.0)
ORACLE CORPORATION
Worldwide Headquarters
500 Oracle Parkway, Redwood Shores, CA 94065 USA
Worldwide Inquiries
TELE + 1.650.506.7000 + 1.800.ORACLE1
FAX + 1.650.506.7200
oracle.com
CONNECT W ITH US
Call +1.800.ORACLE1 or visit oracle.com. Outside North America, find your local office at oracle.com/contact.
Copyright © 2007 - 2019, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof
are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed
orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be
reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or
registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of
Advanced Micro Devices. UNIX is a registered trademark of The Open Group. 0119
Configuration Management Concepts - Oracle Utilities Application Framework
January 2019