Using Oracle9i SCM for Software Configuration Management. An Oracle Technical White Paper July 2002



Similar documents
An Oracle White Paper June Security and the Oracle Database Cloud Service

An Oracle White Paper June, Provisioning & Patching Oracle Database using Enterprise Manager 12c.

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener

Oracle Warehouse Builder 10g

An Oracle White Paper September Oracle Team Productivity Center

Oracle Application Development Framework Overview

An Oracle White Paper July Introducing the Oracle Home User in Oracle Database 12c for Microsoft Windows

Oracle BI Discoverer Administrator 11g: Develop an EUL

How To Load Data Into An Org Database Cloud Service - Multitenant Edition

Oracle Application Server 4.0: The Integration Platform for Oracle Products and the Internet. An Oracle White Paper August 1998

An Oracle White Paper October BI Publisher 11g Scheduling & Apache ActiveMQ as JMS Provider

Oracle SQL Developer for Database Developers. An Oracle White Paper September 2008

Oracle SQL Developer for Database Developers. An Oracle White Paper June 2007

Oracle Whitepaper April Security and the Oracle Database Cloud Service

Oracle Business Rules Business Whitepaper. An Oracle White Paper September 2005

New 11g Features in Oracle Developer Tools for Visual Studio. An Oracle White Paper January 2008

An Oracle White Paper February Oracle Data Integrator 12c Architecture Overview

Oracle Data Integrator 12c: Integration and Administration

Oracle Database 10g: Building GIS Applications Using the Oracle Spatial Network Data Model. An Oracle Technical White Paper May 2005

Oracle Identity Management Concepts and Architecture. An Oracle White Paper December 2003

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Oracle Fusion Middleware. 1 Oracle Team Productivity Center Server System Requirements. 2 Installing the Oracle Team Productivity Center Server

Oracle SQL Developer Migration. An Oracle White Paper September 2008

Team Collaboration, Version Management, Audit Trails

An Oracle Technical White Paper May How to Configure Kaspersky Anti-Virus Software for the Oracle ZFS Storage Appliance

Manage Oracle Database Users and Roles Centrally in Active Directory or Sun Directory. Overview August 2008

An Oracle White Paper May Oracle Database Cloud Service

Oracle Application Server 10g Web Services Frequently Asked Questions Oct, 2006

Change Manager 5.0 Installation Guide

Oracle Data Integrator 11g: Integration and Administration

WebSphere MQ Oracle Enterprise Gateway Integration Guide

October Oracle Application Express Statement of Direction

Oracle Enterprise Manager

An Oracle White Paper September Oracle Database and the Oracle Database Cloud

An Oracle White Paper March Oracle s Single Server Solution for VDI

Report Writer's Guide Release 14.1

An Oracle White Paper October Oracle Data Integrator 12c New Features Overview

Oracle BI Publisher Enterprise Cluster Deployment. An Oracle White Paper August 2007

Oracle Utilities Meter Data Management Business Intelligence

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

Oracle SOA Suite 11g: Essential Concepts Student Guide

An Oracle White Paper November Upgrade Best Practices - Using the Oracle Upgrade Factory for Siebel Customer Relationship Management

VERITAS NetBackup 6.0 for Oracle

An Oracle White Paper January Using Oracle's StorageTek Search Accelerator

An Overview of Oracle Forms Server Architecture. An Oracle Technical White Paper April 2000

D83167 Oracle Data Integrator 12c: Integration and Administration

Oracle Database. Products Available on the Oracle Database Examples Media. Oracle Database Examples. Examples Installation Guide 11g Release 2 (11.

Oracle Audit Vault Administrator s Guide Oracle Audit Vault Auditor s Guide Oracle Enterprise Manager Cloud Control Administrator s Guide

Oracle Utilities Integration for Device Operations

An Oracle White Paper August Oracle Database Auditing: Performance Guidelines

Agile Product Lifecycle Management

Deliver Oracle BI Publisher documents to Microsoft Office SharePoint Server An Oracle White Paper July 2008

An Oracle White Paper June How to Install and Configure a Two-Node Cluster

Oracle Fusion Middleware

File System Auditor Release Notes

Integrating Oracle Sales Cloud, Release 9 with JD Edwards EnterpriseOne release 9.1 Implementation Guide

An Oracle White Paper June Oracle Linux Management with Oracle Enterprise Manager 12c

Oracle Enterprise Manager

Get More from Microsoft SharePoint with Oracle Fusion Middleware. An Oracle White Paper January 2008

Oracle Database. New Feature in Oracle Database 11g Release 2 ( ) Products Available on the Oracle Database Examples Media

Oracle Business Intelligence ADF Custom Visualizations and Integration. An Oracle White Paper November 2012

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

An Oracle White Paper June RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

Using Symantec NetBackup with VSS Snapshot to Perform a Backup of SAN LUNs in the Oracle ZFS Storage Appliance

Promotion Model. CVS SUITE QUICK GUIDE 2009 Build 3701 February March Hare Software Ltd

Load Testing Hyperion Applications Using Oracle Load Testing 9.1

An Oracle White Paper March Oracle Label Security in Government and Defense Environments

Oracle WebCenter Content Service for Microsoft Exchange

Siebel Application Deployment Manager Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

IAF Business Intelligence Solutions Make the Most of Your Business Intelligence. White Paper November 2002

An Oracle White Paper March Integrating the SharePoint 2007 Adapter with WebCenter Spaces ( & )

Oracle SQL Developer Migration

Oracle CRM Foundation

An Oracle Best Practice Guide April Best Practices for Implementing Contact Center Experiences

Sentinel Cloud V.3.5 Installation Guide

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

Oracle Net Services for Oracle10g. An Oracle White Paper May 2005

Introduction. Document Conventions. Administration. In This Section

Copyright

Oracle Forms Services Secure Web.Show_Document() calls to Oracle Reports Server 6i

The Case for a Stand-alone Rating Engine for Insurance. An Oracle Brief April 2009

Ensuring Web Service Quality for Service-Oriented Architectures. An Oracle White Paper June 2008

Oracle Financial Services Analytical Applications Infrastructure

New Features in Primavera P6 Professional 15.1

Oracle Enterprise Manager

StreamServe Persuasion SP4

Oracle Provides Cost Effective Oracle8 Scalable Technology on Microsoft* Windows NT* for Small and Medium-sized Businesses

NEW FEATURES ORACLE ESSBASE STUDIO

Oracle Identity Management: Integration with Windows. An Oracle White Paper December. 2004

March Oracle Business Intelligence Discoverer Statement of Direction

Oracle Financial Services Data Integration Hub Foundation Pack Extension for Oracle Banking Platform

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

An Oracle Technical Article November Certification with Oracle Linux 6

Oracle Audit Vault Oracle FLEXCUBE Universal Banking Release [April] [2014]

Oracle Endeca Server. Cluster Guide. Version May 2013

Brocade Virtual Traffic Manager and Oracle Enterprise Manager 12c Release 2 Deployment Guide

Administering batch environments

Oracle FLEXCUBE Universal Banking 12.0

An Oracle White Paper January Integrating Oracle Application Express with Oracle Access Manager. Revision 1

Oracle Fusion Middleware User s Guide for Oracle Approval Management for Microsoft Excel 11gRelease 1 ( )

Transcription:

Using Oracle9i SCM for Software Configuration Management An Oracle Technical White Paper July 2002

INTRODUCTION As organizations strive to build larger, more complex, fully integrated software applications the challenge to manage the development is ever-increasing. Developers are expected to produce quality software that integrates with existing applications and other projects, while working at Internet speed. If control of the versions of software released into a production environment is lost huge costs can be incurred backtracking to a working solution. With global development teams, expected to communicate all changes and dependencies to each other, a more rigorous approach is required beyond email and paper based control systems. Software Configuration Management (SCM) aids development by controlling who has access to versions of code and managing the particular versions that go together to create a release. Further control can be achieved by permitting parallel development combined with merging of the development streams. Dependency management between versions and products can also improve the quality and reliability of developed software. Oracle9i Software Configuration Manager (Oracle9i SCM) provides these SCM capabilities as an integral component of Oracle Internet Developer Suite. Education is essential to ensure that development teams take maximum advantage of SCM. This includes a clear understanding of the tools and the benefits of using them. To enable software developers to work together in a carefully managed, secure development environment requires: a repository for storing development objects mechanisms for managing versioned objects controlling access to the repository policies that impose restrictions on versioning operations This document discusses each of the above, adding repository driven impact analysis, and continues with a discussion on how the tools in Oracle Internet Developer Suite integrate with Oracle 9i SCM. Using Oracle Repository for Software Configuration Management 2

ORACLE9I SCM OVERVIEW Briefly, Oracle9i SCM is a software configuration management (SCM) system. It was previously available only with Oracle Designer, which is used to model and generate data and applications. The availability of Oracle9i SCM as a separate component helps developers who need an integrated SCM capability for version control and code management outside the Oracle Designer environment. As an integral component of Oracle9iDS, Oracle9i SCM manages structured and unstructured data throughout the development life cycle. It supports multi-developer, multi-stream software development projects of any size and complexity. The key components of Oracle9i SCM are articulated around the repository meta data stored in an Oracle database and various tools that are available to access the meta data as follows: Repository Object Navigator - provides easy to use graphic navigation through repository storage Dependency Manager maintains relationships of dependency among objects, for example which data is used by which code Matrix Diagrammer for analyzing impact of changes on objects Repository Administration Library tools to maintain and administer Oracle Repository Repository Reports provides a variety of reports on Oracle Repository and its usage. STORING DATA Oracle9i SCM acts as a central storage area for structured and unstructured data. Structured data is the meta data used as application building blocks. Application developers use modeling tools such as Oracle9i Designer to create these object definitions in the underlying repository. Unstructured data consists of all types of files and file systems e.g. Oracle Forms.FMB files, text documents, XML files, DTDs, schemas, XSL stylesheets, SQL scripts, Java programs and images. Individual files or complete file systems can be copied into the Oracle9i SCM repository (uploaded), and can then be Using Oracle Repository for Software Configuration Management 3

accessed by other tools (e.g., text editors or word processors). Files created in the repository, or uploaded to it, can also be copied to any accessible file system (downloaded). In this overview, we use the generic term 'object' to refer to both structured objects and file system objects. Within the SCM repository, objects are stored in containers. Objects can be manipulated via a Java or PL/SQL API or via tools that use these APIs, such as the Oracle9i SCM Command Line Interface or Repository Object Navigator. For more information on these APIs see the Oracle9i SCM documentation. CONTAINERS Containers are a means of organizing data in a logical fashion, and are similar to directories in a file system. Each object is owned by a container and has a set of audit properties that record details such as the date when the object was created and who created the object. There are two types of container: folders and application systems. Either can hold instances of any type of repository object. Folders are available if you install only the core repository (for example when using the repository as a source control system). Application systems are available (as well as folders) if you install Oracle Designer model in the SCM repository. Containers are also used to control access to repository objects. A user may be granted access to a container and thus to the container objects. Using Oracle Repository for Software Configuration Management 4

Workarea Containers Figure 1 Repository Object Navigator showing Containers MANAGING DATA Within the repository there may be many versions of objects. Oracle9i SCM has two primary mechanisms for managing versioned repository objects: WORKAREAS Worakareas are specific views of the repository through which you can work on your own objects. An individual user may not want to see a list of every version of every object in the repository. In addition, some kind of mechanism is needed to ensure that one user does not interfere with another user's work. Oracle9i SCM addresses both these requirements with workareas. Using Oracle Repository for Software Configuration Management 5

Figure 2 Workarea views of the Repository CONFIGURATIONS Configurations identify specific versions of objects and group them, e.g., to build a test suite or release a product. A configuration is a collection of repository object versions that are related in some way. Usually a configuration details all the object versions that represent a checkpoint in development or component of an application, for example, all the object versions that make up a payroll production application. Oracle9i SCM provides facilities for the management of configurations, rather like the idea of striping or labeling in some software configuration management systems. A specific object version that is included in a configuration is said to be a member of that configuration. For example, when Using Oracle Repository for Software Configuration Management 6

the development of individual objects reaches the stage where you can build a particular application, you need to specify exactly which version of each object is to be used for the build. The same applies when assembling a set of objects to be used for a test or included in a patch release the configuration defines which versions of which objects are to be used. Figure 3 Thick line represents a Configuration through object versions ACCESS TO THE ORACLE9I SCM REPOSITORY Access to the entire repository is controlled through Oracle database security. Anyone wishing to use the Oracle9i SCM must already have an account on the database where it resides. Only a user with database administrator (DBA) privileges can create user accounts on the database. At the time the repository is installed, only the repository owner can access the repository. The repository owner can subsequently authorize other existing database users to access the repository. Once an account is created access to the repository and the tasks users can perform, are determined by Repository privileges and access rights. Privileges allow a user to execute a particular Oracle9i SCM tool. The users who own those items set access rights against workareas, containers and configurations. Your access rights on any other type of repository object are determined from the object's owning container. For example, if you have Select access rights on a container, you also have Select access rights on all objects in that container. Using Oracle Repository for Software Configuration Management 7

ORACLE 9I SCM REPOSITORY POLICIES Oracle9i SCM provides users with policies that impose restrictions on the following version control features: branching version labeling locking When an automatic branching policy is set, all checked -out objects check in to the default branch set for each workarea. Doing so ensures that specific development branches are not populated with new object versions at critical periods in development, for example during a build. If no default branch is set, or the automatic branching policy is not set, then objects check in to the same branch they were checked out from. When automatic version labeling is set, the repository automatically assigns a label for an object version when it is checked in. This ensures adherence to a system-specified version-labeling scheme. Users have the option to lock an object version when they check out the object. IMPACT ANALYSIS For many Oracle9i SCM users, it is important to assess the impact on the rest of an application of changing one component - a process known as impact analysis. For example, developers could investigate how many applications use a particular PL/SQL function, and thus discover whether a change to the function would have a significant impact across the enterprise. Oracle9i SCM provides a set of tools that are useful for impact analysis. For example, the Dependency Analyzer is a utility that analyzes the relationships between objects in an application and allows users to determine the effects of change. Using Oracle Repository for Software Configuration Management 8

ORACLE9I SCM SETUP Oracle9i SCM features a set of tools enabling Software Configuration Management in complex development environments. The following section describes how an Oracle9i SCM development environment is setup and used. Further detail is available in the online help. First, use the Repository Administration Utility to create a repository and add Repository Users. At least two types of user are required, a developer and a configuration manager. Developers must be able to use the repository tools without reducing their productivity; thus they should be able to easily create a development environment. Use the Repository Object Navigator as the configuration manager to setup a workarea definition. This typically would include the latest object versions of a software development. Include in this definition any branch and configuration rules that may be required for a particular team of developers. Consider the following example: Workarea Ruleset: LATEST(GrantAccess) LATEST(AccessRights) LATEST(Payroll_1) INCLUDE_CONFIG(Payroll{MAIN;1}=Configuration) The above workarea ruleset is taken from an Access Rights project on a Payroll Project and reads, in order: include all the latest files that exist on a branch named GrantAccess. This is the task branch on which a developer is working. then include all the latest files on the AccessRights branch, as long as they do not exist in the above rule. This is known as the project branch. then include all the latest files on the Payroll_1 branch, as long as they do not exist in the above rule. This is known as the Release branch. Using Oracle Repository for Software Configuration Management 9

then include all files that exist in the named configuration, again provided they are not already included in the above two rules. Using the Workarea Wizard save the above Workarea ruleset to a file. This file is made available to developers working on the Access Rights Project. Viewed as a set of branches this looks like the following: Release Project Task Branch Branch Branch Figure 4 Branch Schematic Each developer takes the Workarea ruleset file and creates his/her own workarea and private task branch. A local filesystem directory is mapped to the root folder of the folder system, enabling files to be checked out and worked upon. Files are created or modified and once complete are checked onto the developer s task branch. A modified or new file from the task branch is then merged onto the Project branch by the developer or team leader. A team leader would then merge the Project branch onto the Release branch. At each stage, both before and after merging, testing is performed. The Repository Object Navigator and Commandline Tool are ideal for creating the above environment. The Version History Viewer enables discrete versions of a file to be examined, compared and merged. Once all the required files from a project branch are complete and merged a configuration is created of the Release branch at a point in time. This configuration is used to create a workarea from which Using Oracle Repository for Software Configuration Management 10

a complete set of files can be downloaded to the filesystem. This then forms the release set of software, which in turn goes on for testing. Multi developer software projects with many code streams and developer branches are supported, taking advantage of the underlying Oracle database performance and scalability features. ORACLE9I SCM AS AN INTEGRAL PART OF ORACLE INTERNET DEVELOPER SUITE Oracle9i SCM provides configuration management services for software development projects from inception through deployment. It serves as an integrating mechanism in collaborative development environments by providing access to relevant models, documents and code for team members. Within Oracle Internet Developer Suite, the following products offer access to Oracle9i SCM repository: Oracle JDeveloper (applicable to release 3.2 onward) Oracle Forms and Reports Oracle Designer The remainder of this paper illustrates how each of the above works with Oracle Repository. Using Oracle Repository for Software Configuration Management 11

ORACLE JDEVELOPER (APPLICABLE TO RELEASE 3.2 ONWARD) Oracle JDeveloper can use Oracle9i SCM for code management. As shown in Figure 5, its main menu allows files to be checked in/out of the Repository. Access is also given to the Repository toolset. Files can be versioned, compared and merged as well as parsed to give dependency information: Figure 5 Oracle JDeveloper 3.2 Integration with Oracle Repository Parsing Java files provides dependency information that can be viewed in summary or detail form using the Dependency Manager, as illustrated by Figure 6: Using Oracle Repository for Software Configuration Management 12

Figure 6 Parsed Java file -showing dependencies ORACLE FORMS AND REPORTS Oracle Forms and Oracle Reports permit the source code (.fmb or.rdf ) to be stored and maintained from Oracle Repository. Oracle Forms.fmb files can be versioned, compared, merged and parsed to offer dependency information. Oracle Reports.rdf files can be versioned and parsed. Figure 7 shows an example check-in of a report file. Using Oracle Repository for Software Configuration Management 13

Figure 7 Oracle Reports integration with Oracle Repository ORACLE DESIGNER Oracle Designer structured objects (i.e. Table and Entity definitions) are stored in Oracle Repository. They can also be versioned, compared, merged and parsed to offer dependency information using the Oracle Repository toolset. As an example, Figure 8 illustrates check-in of an Entity Relationship diagram. Using Oracle Repository for Software Configuration Management 14

Figure 8 Oracle Designer Entity Relationship Diagrammer showing check in of a structured Entity SUMMARY Several Software Configuration Management tools exist, ranging from single user, single code stream to multi user, multi code stream. Oracle Repository offers a highly scalable, multi user SCM environment, ideally suited to large-scale projects where rapid change and continuous delivery and maintenance are required. Oracle Repository provides a multi-user, managed and secure development environment enabling the building of complex integrated applications. Oracle Repository stores both structured and unstructured information, ensuring that all project documentation, definitions and code are stored in one place. Without management of all project artifacts developers might work on the wrong code, Using Oracle Repository for Software Configuration Management 15

wasting valuable resources. As developers are required to be more productive and react to change more quickly a managed and integrated SCM environment becomes essential. Using Oracle Repository for Software Configuration Management 16

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: +1.650.506.7000 Fax +1.650.506.7200 http://www.oracle.com/ Copyright Oracle Corporation 2001 All Rights Reserved This document is provided for informational purposes only, and the information herein is subject to change without notice. Please report any errors herein to Oracle Corporation. Oracle Corporation does not provide any warranties covering and specifically disclaims any liability in connection with this document. Oracle is a registered trademark, and Oracle8i, Oracle8, PL/SQL, and Oracle Expert are trademarks of Oracle Corporation. All other company and product names mentioned are used for identification purposes only and may be trademarks of their respective owners. Using Oracle Repository for Software Configuration Management 17