Sie sind auf Seite 1von 146

Manage Your ODI Development Cycle

Jerome Francoisse | ODTUG Webinar | January 2016


info@rittmanmead.com www.rittmanmead.com @rittmanmead 1
Jrme Franoisse

Consultant for Rittman Mead

ODI Trainer

Providing ODI support on OTN Forums

ODI 12c Beta Program Member

Blogger at http://www.rittmanmead.com/blog/

Email : jerome.francoisse@rittmanmead.com

Twitter : @JeromeFr

info@rittmanmead.com www.rittmanmead.com @rittmanmead 3


About Rittman Mead

Optimizing your investment in Oracle Data Integration

Worlds leading specialist partner for technical Providing our customers targeted expertise; we are a
excellence, solutions delivery and innovation in company that doesnt try to do everything only
Oracle Data Integration, Business Intelligence, what we excel at
Analytics and Big Data
Founded on the values of collaboration, learning,
70+ consultants worldwide including 1 Oracle ACE integrity and getting things done
Director and 2 Oracle ACEs
Comprehensive service portfolio designed to
support the full lifecycle of any analytics solution

info@rittmanmead.com www.rittmanmead.com @rittmanmead 4


5
20% discount on rittmanmead.com/save-on-training/
5
Successful ODI project

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great


but its not enough!

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great


but its not enough!

We also need :

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great


but its not enough!

We also need :
- Assurance that the code deployed in production is correct

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great


but its not enough!

We also need :
- Assurance that the code deployed in production is correct
- Possibility to restore any previous state

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Successful ODI project

Having good developers is great


but its not enough!

We also need :
- Assurance that the code deployed in production is correct
- Possibility to restore any previous state
- A way to manage concurrent development

info@rittmanmead.com www.rittmanmead.com @rittmanmead 6


Agenda

Lifecycle Management

- Architecture
- Promotion
- Versioning

info@rittmanmead.com www.rittmanmead.com @rittmanmead 7


ODI 12c Key Components
ODI Studio (the main development IDE)

- Designer Navigator Security

- Operator Navigator Topology

Versioning
- Topology Navigator
Master Repository
- Security Navigator
ODI Agents (executing mappings and packages)
Models

ODI Console (web-based interface)


Projects Execution
Execution
ODI Repositories (contain definitions of models,
mappings and other objects) Work Repository Execution Repository
(Development) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 8


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH

HR

SCOTT

TEST_OP
HR

SCOTT

PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH

HR
SCOTT

SCOTT
SH
TEST_OP
HR
HR

SCOTT

PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH
DEV
HR
SCOTT

SCOTT

TEST_OP TEST SH

HR
HR

SCOTT PROD
PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH
DEV
HR
SCOTT

SCOTT

TEST_OP TEST SH

HR
HR

SCOTT PROD
PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH
DEV
HR
SCOTT

SCOTT

TEST_OP TEST SH

HR
HR

SCOTT PROD
PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Physical and Logical Topology
Physical Contexts Logical

DEV_SCOTT

DEV_OP SH
DEV
HR
SCOTT

SCOTT

TEST_OP TEST SH

HR
HR

SCOTT PROD
PROD_OP SH

HUM_RES

info@rittmanmead.com www.rittmanmead.com @rittmanmead 9


Architecture

Security

Topology

Versioning

Master Repository

Models

Projects Execution
Execution

Work Repository Execution Repository


(Development) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 10


How many repositories do I need?

Security

Topology

Versioning

Master Repository

Models

Projects Execution Execution

Execution

Work Repository Execution Repository Execution Repository


(Development) (Test) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 11


How many repositories do I need?

Security Security
Topology Topology
Versioning Versioning

Master Repository Master Repository

Models

Projects Execution Execution

Execution

Work Repository Execution Repository Execution Repository


(Development) (Test) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 12


How many repositories do I need?

Security Security Security


Topology Topology Topology
Versioning Versioning Versioning

Master Repository Master Repository Master Repository

Models

Projects Execution Execution Execution


Execution

Work Repository Execution Repository Execution Repository Execution Repository


(Development) (Test) (Pre-Production) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 13


How many repositories do I need?

Security Security Security


Topology Topology Topology
Versioning Versioning Versioning

Master Repository Master Repository Master Repository

Models Models

Projects Execution Execution Projects Execution


Execution Execution

Work Repository Execution Repository Execution Repository Work Repository Execution Repository
(Development) (Test) (Pre-Production) (Hotfix) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 14


How many repositories do I need?

Security Security Security


Topology Topology Topology
Versioning Versioning Versioning

Master Repository Master Repository Master Repository

Models Models

Projects Execution Execution Execution Projects Execution

Execution Execution

Work Repository Execution Repository Execution Repository Execution Repository Work Repository Execution Repository
(Development) (Test) (Smoke Test) (Pre-Production) (Hotfix) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 15


How many repositories do I need?

Security Security Security Security Security

Topology Topology Topology Topology Topology


Versioning Versioning Versioning Versioning Versioning

Master Repository Master Repository Master Repository Master Repository Master Repository

Models Models

Projects Execution Execution Projects Execution

Execution Execution

Work Repository Execution Repository Execution Repository Work Repository Execution Repository
(Development) (Test) (Smoke Test) (Hotfix) (Production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 16


Problems

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Execution

Execution Repository

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Models

Execution Projects

Execution

Execution Repository Work Repository

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Models

Execution Projects

Execution

Execution Repository Work Repository

As a release manager, how do I easily

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Models

Execution Projects

Execution

Execution Repository Work Repository

As a release manager, how do I easily


- promote code from one environment to another?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Models

Execution Projects

Execution

Execution Repository Work Repository

As a release manager, how do I easily


- promote code from one environment to another?
- keep track of these sets of objects?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


Problems
As a developer, how do I create a consistent set of objects for a release?

Models

Execution Projects

Execution

Execution Repository Work Repository

As a release manager, how do I easily


- promote code from one environment to another?
- keep track of these sets of objects?
- roll back to a previous release?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 17


The Solution Deployment Archive (DA)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)
3 types :

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)
3 types :
- Initial

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)
3 types :
- Initial
- Patch

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)
3 types :
- Initial
- Patch
- Rollback

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


The Solution Deployment Archive (DA)

Archive file containing a set of consistent ODI objects


Applied to Deployed Repositories (test/production)
3 types :
- Initial
- Patch
- Rollback
Development or Execution

info@rittmanmead.com www.rittmanmead.com @rittmanmead 18


Example

Developer
Development
environment

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Initial
Release 1.0.0.0

Developer
Development
environment

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Initial
Release 1.0.0.0

Developer
Development
environment

Initialize
repository with
Release 1.0.0.0

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch
Creates Initial Release 1.1.0.0
Release 1.0.0.0 to add a
features
Developer
Development
environment

Initialize
repository with
Release 1.0.0.0

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch
Creates Initial Release 1.1.0.0
Release 1.0.0.0 to add a
features
Developer
Development
environment

Apply Patch
Initialize Release 1.1.0.0
repository with and create
Release 1.0.0.0 rollback DA

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch
Creates Initial Release 1.1.0.0
Release 1.0.0.0 to add a
features
Developer
Development
environment

Bug

Apply Patch
Initialize Release 1.1.0.0
repository with and create
Release 1.0.0.0 rollback DA

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch
Creates Initial Release 1.1.0.0
Release 1.0.0.0 to add a
features
Developer
Development
environment

Bug

Apply Patch
Initialize Apply Rollback
Release 1.1.0.0
repository with Release 1.1.0.0
and create
Release 1.0.0.0 rollback DA

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch Creates Patch


Creates Initial Release 1.1.0.0 Release 1.1.0.1
Release 1.0.0.0 to add a to fix the
features previous bug
Developer
Development
environment

Bug

Apply Patch
Initialize Apply Rollback
Release 1.1.0.0
repository with Release 1.1.0.0
and create
Release 1.0.0.0 rollback DA

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Example

Creates Patch Creates Patch


Creates Initial Release 1.1.0.0 Release 1.1.0.1
Release 1.0.0.0 to add a to fix the
features previous bug
Developer
Development
environment

Bug

Apply Patch Apply Patch


Initialize Apply Rollback
Release 1.1.0.0 Release 1.1.0.1
repository with Release 1.1.0.0
and create and create
Release 1.0.0.0 rollback DA rollback DA

Release Manager
QA environment
(Deployed repository)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 19


Developer / Administrator

Create a deployment archive

info@rittmanmead.com www.rittmanmead.com @rittmanmead 20


Developer / Administrator

Create a deployment archive


from VCS label

Best Practice :
Link documentation and DDL
statements to be applied

info@rittmanmead.com www.rittmanmead.com @rittmanmead 21


Developer / Administrator

Create a deployment
archive from selected
objects

Best Practice :
Mention the bug number in
the description

info@rittmanmead.com www.rittmanmead.com @rittmanmead 22


Developer / Administrator

No need to think about development or


execution-only environment

info@rittmanmead.com www.rittmanmead.com @rittmanmead 23


Release Manager

Apply Deployment Archives

info@rittmanmead.com www.rittmanmead.com @rittmanmead 24


Release Manager

Initial DA

Can choose from


development or
execution-only archive

info@rittmanmead.com www.rittmanmead.com @rittmanmead 25


Release Manager

Patch DA

Can choose from


development or
execution-only archive

Best Practice :
Always create a
Rollback DA!

info@rittmanmead.com www.rittmanmead.com @rittmanmead 26


Release Manager

See applied DAs


Inventory

info@rittmanmead.com www.rittmanmead.com @rittmanmead 27


Release Manager

See applied DAs


Inventory

See available DAs


View Details

info@rittmanmead.com www.rittmanmead.com @rittmanmead 27


Release Manager

Rollback DA

info@rittmanmead.com www.rittmanmead.com @rittmanmead 28


Automation

Available through ODI SDK

Scenarios :
- Import and be sure you always generate a rollback DA

info@rittmanmead.com www.rittmanmead.com @rittmanmead 29


Automation

Available through ODI SDK

Scenarios :
- Import and be sure you always generate a rollback DA
- Import daily into a smoke test environment

info@rittmanmead.com www.rittmanmead.com @rittmanmead 29


Automation

Available through ODI SDK

Scenarios :
- Import and be sure you always generate a rollback DA
- Import daily into a smoke test environment
- Import the same release in Hotfix and Production at the same
time

info@rittmanmead.com www.rittmanmead.com @rittmanmead 29


Other Problems

info@rittmanmead.com www.rittmanmead.com @rittmanmead 30


Other Problems

How to rollback on the Development environment?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 30


Other Problems

How to rollback on the Development environment?


How to restore delete objects in the Development
environment?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 30


Other Problems

How to rollback on the Development environment?


How to restore delete objects in the Development
environment?

How to develop concurrently?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 30


The Solution - VCS

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


The Solution - VCS

Integration with Subversion (SVN)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


The Solution - VCS

Integration with Subversion (SVN)


- Everything is done through ODI Studio

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


The Solution - VCS

Integration with Subversion (SVN)


- Everything is done through ODI Studio
- Git support in the next release

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


The Solution - VCS

Integration with Subversion (SVN)


- Everything is done through ODI Studio
- Git support in the next release
- Tagging

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


The Solution - VCS

Integration with Subversion (SVN)


- Everything is done through ODI Studio
- Git support in the next release
- Tagging
- Branching / Merging

info@rittmanmead.com www.rittmanmead.com @rittmanmead 31


VCS - Features

Add an object to VCS

info@rittmanmead.com www.rittmanmead.com @rittmanmead 32


VCS - Features

Add an object to VCS

info@rittmanmead.com www.rittmanmead.com @rittmanmead 32


VCS - Features

Add an object to VCS

info@rittmanmead.com www.rittmanmead.com @rittmanmead 32


VCS - Features
Create a new version of an object

info@rittmanmead.com www.rittmanmead.com @rittmanmead 33


VCS - Features
Create a new version of an object

info@rittmanmead.com www.rittmanmead.com @rittmanmead 33


VCS - Features
View and compare versions

info@rittmanmead.com www.rittmanmead.com @rittmanmead 34


VCS - Features
View and compare versions

info@rittmanmead.com www.rittmanmead.com @rittmanmead 34


VCS - Features
View and compare versions

info@rittmanmead.com www.rittmanmead.com @rittmanmead 34


VCS - Features
View and compare versions

info@rittmanmead.com www.rittmanmead.com @rittmanmead 34


VCS - Features
Restore a version

info@rittmanmead.com www.rittmanmead.com @rittmanmead 35


VCS - Features
Restore a version

info@rittmanmead.com www.rittmanmead.com @rittmanmead 35


VCS - Features
Tags

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects
- Ready for promotion Deployment Archive

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects
- Ready for promotion Deployment Archive
- or for branching

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects
- Ready for promotion Deployment Archive
- or for branching
- Created from

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects
- Ready for promotion Deployment Archive
- or for branching
- Created from
Whole repository (Full Tag)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Tags
- Snapshot of consistent set of versioned objects
- Ready for promotion Deployment Archive
- or for branching
- Created from
Whole repository (Full Tag)
Selected Objects and
dependencies (Partial Tag)

info@rittmanmead.com www.rittmanmead.com @rittmanmead 36


VCS - Features
Branches

info@rittmanmead.com www.rittmanmead.com @rittmanmead 37


VCS - Features
Branches
- Created from a Tag

info@rittmanmead.com www.rittmanmead.com @rittmanmead 37


VCS - Features
Branches
- Created from a Tag
- Populate a new environment Master and Work repository

info@rittmanmead.com www.rittmanmead.com @rittmanmead 37


VCS - Features
Branches
- Created from a Tag
- Populate a new environment Master and Work repository
- For a new feature or a new team

info@rittmanmead.com www.rittmanmead.com @rittmanmead 37


VCS - Features
Branches
- Created from a Tag
- Populate a new environment Master and Work repository
- For a new feature or a new team
- Can be merged back in the trunk

info@rittmanmead.com www.rittmanmead.com @rittmanmead 37


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 38


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 38


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 39


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 39


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 40


VCS - Features

info@rittmanmead.com www.rittmanmead.com @rittmanmead 40


VCS - Working on multiple releases

Trunk

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1

Trunk

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1

Trunk 1

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1

Trunk 1 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1

Trunk 1 2 3

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3

Branch 1

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3

Branching

Branch 1 4

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3

Branching

Branch 1 4

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5

Branching

Branch 1 4

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5

Branching

Branch 1 4 6

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5

Branching

Branch 1 4 6 7

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5 8
Release 1
Branching

Branch 1 4 6 7

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5 8
Release 1
Branching

Branch 1 4 6 7 9

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1

Trunk 1 2 3 5 8 10
Release 1
Branching Merging

Branch 1 4 6 7 9

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1 New features for Release 2

Trunk 1 2 3 5 8 10
Release 1
Branching Merging

Branch 1 4 6 7 9

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working on multiple releases

New features for Release 1 Bug Fixes for Release 1 New features for Release 2

Trunk 1 2 3 5 8 10 11
Release 1
Branching Merging

Branch 1 4 6 7 9

New features for Release 2

info@rittmanmead.com www.rittmanmead.com @rittmanmead 41


VCS - Working with different cycles

Trunk

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Trunk 42

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Trunk 42

Branch 1

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Trunk 42

Branching

Branch 1 43

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Trunk 42

Branching

Branch 1 43 44

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2

Trunk 42

Branching

Branch 1 43 44

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45

Branching

Trunk 42

Branching

Branch 1 43 44

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45

Branching

Trunk 42

Branching

Branch 1 43 44 46

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45

Branching

Trunk 42 47

Branching Merging

Branch 1 43 44 46

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48

Branching Merging

Trunk 42 47

Branching Merging

Branch 1 43 44 46

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49

Branching Merging

Trunk 42 47

Branching Merging

Branch 1 43 44 46

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49

Branching Merging

Trunk 42 47

Branching Merging

Branch 1 43 44 46 50

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51

Branching Merging

Trunk 42 47

Branching Merging

Branch 1 43 44 46 50

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51

Branching Merging Merging

Trunk 42 47 52

Branching Merging

Branch 1 43 44 46 50

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51

Branching Merging Merging

Trunk 42 47 52

Branching Merging Merging

Branch 1 43 44 46 50 53

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51 54

Branching Merging Merging

Trunk 42 47 52

Branching Merging Merging

Branch 1 43 44 46 50 53

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51 54

Branching Merging Merging

Trunk 42 47 52

Branching Merging Merging

Branch 1 43 44 46 50 53 55

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51 54

Branching Merging

Trunk 42 47 52

Branching Merging

Branch 1 43 44 46 50 53 55

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51

Branching Merging

Trunk 42 47 52

Branching Merging

Branch 1 43 44 46

Branch 3 50

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


VCS - Working with different cycles

Branch 2 45 48 49 51

Branching Merging

Trunk 42 47 52

Branching Merging

Branch 1 43 44 46 Branching

Branch 3 50

info@rittmanmead.com www.rittmanmead.com @rittmanmead 42


Summary
ODI - Deployment Archives

- Promote, Rollback and keep track of your code


- For development or execution-only environment
- Easy for Developers and Release Managers
- Can be automated

ODI - VCS

- Be able to get back to any version to object


- Branching for Team development
- Cannot be automated

info@rittmanmead.com www.rittmanmead.com @rittmanmead 43


Further Reading / Testing

ODI Lifecycle

- Managing versions in SVN


https://blogs.oracle.com/dataintegration/entry/oracle_data_integrator_12_21

- Parallel Development using SVN Branches


https://blogs.oracle.com/dataintegration/entry/oracle_data_integrator_12_22

- ODI Getting Started VM 12.2.1


http://www.oracle.com/technetwork/middleware/data-integrator/odi-
demo-2032565.html

info@rittmanmead.com www.rittmanmead.com @rittmanmead 44


Questions?

info@rittmanmead.com www.rittmanmead.com @rittmanmead 45

Das könnte Ihnen auch gefallen