Title: Change Management on the Cheap: Tortoise SVN and Ant
1Change Management on the CheapTortoise SVN and
Ant
- Two Tools for your Applications Implementation
Toolkit
Joe Tseng North Slope Solutions jtseng_at_nslope.com
2Agenda
- What is Change Management?
- Change Management and Oracle Applications
- Jakarta ANT
- Tortoise SVN
- ANT, SVN, and Oracle Applications
- QA
3What is Change Management?
From Wikipedia Change Management is an IT
Service Management discipline. The objective of
Change Management in this context is to ensure
that standardized methods and procedures are used
for efficient and prompt handling of all changes
to controlled IT infrastructure, in order to
minimize the number and impact of any related
incidents upon service. Changes in the IT
infrastructure may arise reactively in response
to problems or externally imposed requirements,
e.g. legislative changes, or proactively from
seeking imposed efficiency and effectiveness or
to enable or reflect business initiatives, or
from programs, projects or service improvement
initiatives.
4What is Change Management?
From Wikipedia (cont). Change Management can
ensure standardized methods, processes and
procedures are used for all changes, facilitate
efficient and prompt handling of all changes, and
maintain the proper balance between the need for
change and the potential detrimental impact of
changes. The goal of the Change Management
process is to ensure that standardized methods
and procedures are used for efficient and prompt
handling of all changes, in order to minimize the
impact of change-related incidents upon service
quality, and consequently improve the day-to-day
operations of the organization.
5What is Change Management?
- Goals of Change Management
- Standardized processes and procedures
- Prompt and efficient handling of changes
- Minimal impact on service quality
6Oracle Applications and Change Management
- Common Existing Challenges
- Very often overlooked or neglected aspect of
owning an ERP system, especially among small to
mid-sized organizations - In larger organizations, handled with very
expensive tools such as Mercury Object Migrator - The lack of a standardized methodology for the
management of change is a source of significant
pain for many organizations - Code Promotion Errors Code may be lost in the
move from development to production, or the wrong
code may be promoted into production. - Documentation Costs Properly documenting change
can be time consuming and tedious
7Oracle Applications and Change Management
Change Management Scenario 1
8Oracle Applications and Change Management
Change Management Scenario 2
9Oracle Applications and Change Management
Change Management Scenario 3
10Oracle Applications and Change Management
- During an Oracle Applications implementation, a
large number of artifacts can be accumulated - Map/Gap documentation
- Functional and Technical Design documentation
- Functional Setup Documentation
- Patch Lists
- Custom Extension Code
- SQL Build Scripts
- PLSQL Packages
- Custom Oracle Forms
- Custom Oracle Reports
- XML files for OAF substitutions
11Oracle Applications and Change Management
- On any Oracle Applications implementation, the
building of environments is a necessary task that
may be conducted numerous times over the life of
the project. Each environment build may involve
the following - Entering functional setups
- Setting up custom application file folders and
environments - Building custom database objects
- Moving and compiling custom Oracle Forms and
Reports - Moving and compiling OAF substitutions and
personalizations - Performing data migrations and conversions
- For larger projects, performing all of these
tasks can be time consuming and prone to errors
12Oracle Applications and Change Management
- Manual change management procedures or standards
can be costly - Change management procedures and policies that
are dependent upon manual user action are prone
to error. - Manual procedures are dependent upon users to
follow steps that in and of themselves must then
again be audited - Many of the difficulties that are encountered
when managing change can either be eliminated or
reduced through use of tools to manage source
code and automate deployment.
13Oracle Applications and Change Management
- In any Oracle environment, Ant and SVN are two
open source tools that can provide the basis for
standardizing change management procedures - Apache Ant is an Java-based XML scripting tool
that can be used to automate code deployment. - Subversion (SVN) is a free version control system
that maintains versions of files. - Tortoise SVN is a free open-source client for
SVN.
14Apache Ant
- Apache Ant is a Java-based build tool
- Utilizes XML scripting
- Removes dependency upon shell scripting
- Available for free at http//ant.apache.org
15Apache Ant
An Ant script uses XML to script a series of
tasks. There are a large number of tasks
available within the Ant scripting language. In
addition, Ant is able to interact with the
Operating System command line to issue external
commands
16Apache Ant
Example of an Ant target calling SQLPlus to
execute SQL scripts
17Apache Ant
Example of an Ant target deploying Oracle reports
18Apache Ant
Ant is run from the command line
19Tortoise SVN
- A subversion (SVN) client
- Implemented as a Windows extension
- Runs direct from Windows Explorer on client
machines - Available at http//tortoisesvn.tigris.org
Subversion (SVN) is a version control system
meant to become the successor to the widely used
Concurrent Versioning System (CVS). SVN was
started in 2000 and is a well-known tool in the
open source community.
20Tortoise SVN
21Ant, SVN, and Oracle Applications
- When used together in an Oracle Applications
environment, Apache Ant and Tortoise SVN provide
the basis for a sound change management
methodology. - Ant scripting insures that deployment activities
are conducted in a standard, consistent manner
with every deployment or build iteration. - Tortoise SVN maintains code and revision history
for all implementation artifacts. These may
include - Setup documents
- DataLoad files
- PLSQL object scripts
- SQL scripts
- Oracle Forms or Reports
- OAF XML files
- Setup or conversion data
22Ant, SVN, and Oracle Applications
- In order to automate deployments using these
tools, the following is needed - SVN source code repository maintained with
Tortoise clients - Installation of Apache Ant and SVN on the client
machine used for deployment. - One or more Ant scripts written to automate the
deployment of the various pieces of the Oracle
Applications technology stack - Proper structuring of the SVN repository to
differentiate between types of code objects to be
deployed - The tagging or labeling of actual artifacts to
be deployed within the source code repository - Frequent and fast cloning of production
environment to testing environments - Proper access to server resources
- By repeating deployments frequently, a high
degree of confidence can gained as to what will
actually occur when code is deployed to
production.
23Ant, SVN, and Oracle Applications
24Ant, SVN, and Oracle Applications
- A typical deployment script for Oracle
Applications might do the following - Create a time stamped build folder
- Extract Source Code using Command Line
- Execute SQL scripts via client-side SQLPlus
- Build PLSQL Packages via client-side SQLPlus
- Transfer Oracle Forms .fmb files to Oracle
Applications middle-tier via FTP - Login to middle-tier via SSH
- Set Oracle environment
- Compile forms
- Copy forms to appropriate application top
The actions taken may vary depending upon which
pieces of the technology stack are being deployed.
25Ant, SVN, and Oracle Applications
26Ant, SVN, and Oracle Applications
27Ant, SVN, and Oracle Applications
- Goals of Change Management
- Standardized processes and procedures
- Prompt and efficient handling of changes
- Minimal impact on service quality
Ant and SVN provide the means to meet each of
these goals
28Useful Sources and Links
http//ant.apache.org http//tortoisesvn.tigris.or
g http//subversion.tigris.org
29Questions?
30Thank You!
Joe Tseng North Slope Solutions jtseng_at_nslope.com