Change Management on the Cheap:Tortoise SVN and Ant Two Tools for your Applications Implementation Toolkit Joe Tseng North Slope Solutions email@example.com
Agenda • What is Change Management? • Change Management and Oracle Applications • Jakarta ANT • Tortoise SVN • ANT, SVN, and Oracle Applications • Q&A
What 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.
What is Change Management? • From Wikipedia (con’t)…. • 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.
What is Change Management? • Goals of Change Management • Standardized processes and procedures • Prompt and efficient handling of changes • Minimal impact on service quality
Oracle 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
Oracle Applications and Change Management Change Management Scenario #1
Oracle Applications and Change Management Change Management Scenario #2
Oracle Applications and Change Management Change Management Scenario #3
Oracle 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
Oracle 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
Oracle 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.
Oracle 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.
Apache 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
Apache 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
Apache Ant • Example of an Ant target calling SQL*Plus to execute SQL scripts
Apache Ant • Example of an Ant target deploying Oracle reports
Apache Ant • Ant is run from the command line
Tortoise 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.
Ant, 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
Ant, 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.
Ant, 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 SQL*Plus • Build PLSQL Packages via client-side SQL*Plus • 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.
Ant, 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
Useful Sources and Links • http://ant.apache.org • http://tortoisesvn.tigris.org • http://subversion.tigris.org
Thank You! Joe Tseng North Slope Solutions firstname.lastname@example.org