manage your odi development cycle – odtug webinar
TRANSCRIPT
[email protected] www.rittmanmead.com @rittmanmead
Jerome Francoisse | ODTUG Webinar | January 2016
Manage Your ODI Development Cycle
1
[email protected] www.rittmanmead.com @rittmanmead
Jérôme Françoisse
• 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 : [email protected]• Twitter : @JeromeFr
3
[email protected] www.rittmanmead.com @rittmanmead
About Rittman Mead
4
•World’s leading specialist partner for technical excellence, solutions delivery and innovation in Oracle Data Integration, Business Intelligence, Analytics and Big Data
•Providing our customers targeted expertise; we are a company that doesn’t try to do everything… only what we excel at
• 70+ consultants worldwide including 1 Oracle ACE Director and 2 Oracle ACEs
•Founded on the values of collaboration, learning, integrity and getting things done
Optimizing your investment in Oracle Data Integration
•Comprehensive service portfolio designed to support the full lifecycle of any analytics solution
5
5
20% discount on rittmanmead.com/save-on-training/
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great• … but it’s not enough!
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great• … but it’s not enough!
• We also need :
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great• … but it’s not enough!
• We also need :- Assurance that the code deployed in production is correct
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great• … but it’s not enough!
• We also need :- Assurance that the code deployed in production is correct- Possibility to restore any previous state
[email protected] www.rittmanmead.com @rittmanmead
Successful ODI project
6
• Having good developers is great• … but it’s 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
[email protected] www.rittmanmead.com @rittmanmead
Agenda
7
• Lifecycle Management- Architecture - Promotion - Versioning
[email protected] www.rittmanmead.com @rittmanmead
ODI 12c Key Components
8
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
• ODI Studio (the main development IDE)
- Designer Navigator - Operator Navigator - Topology Navigator - Security Navigator • ODI Agents (executing mappings and packages)
• ODI Console (web-based interface)
• ODI Repositories (contain definitions of models, mappings and other objects)
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical Contexts Logical
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical
SCOTT
HR
Contexts Logical
SH
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical
SCOTT
HR
Contexts Logical
DEV
TEST
PROD
SH
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical
SCOTT
HR
Contexts Logical
DEV
TEST
PROD
SH
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical
SCOTT
HR
Contexts Logical
DEV
TEST
PROD
SH
[email protected] www.rittmanmead.com @rittmanmead
Physical and Logical Topology
9
DEV_SCOTT
SH
HR
SCOTT
HR
SCOTT
SH
HUM_RES
DEV_OP
TEST_OP
PROD_OP
Physical
SCOTT
HR
Contexts Logical
DEV
TEST
PROD
SH
[email protected] www.rittmanmead.com @rittmanmead
Architecture
10
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
11
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
12
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
Security
Topology
Versioning
Master Repository
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
13
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
Security
Topology
Versioning
Master Repository
Execution
Execution Repository (Pre-Production)
Security
Topology
Versioning
Master Repository
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
14
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Hotfix)
Execution
Execution Repository (Pre-Production)
Security
Topology
Versioning
Master Repository
Security
Topology
Versioning
Master Repository
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
15
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Hotfix)
Execution
Execution Repository (Pre-Production)
Security
Topology
Versioning
Master Repository
Security
Topology
Versioning
Master Repository
Execution
Execution Repository (Smoke Test)
[email protected] www.rittmanmead.com @rittmanmead
How many repositories do I need?
16
Models
Projects
Execution
Work Repository (Development)
Execution
Execution Repository (Production)
Execution
Execution Repository (Test)
Security
Topology
Versioning
Master Repository
Models
Projects
Execution
Work Repository (Hotfix)
Security
Topology
Versioning
Master Repository
Security
Topology
Versioning
Master Repository
Execution
Execution Repository (Smoke Test)
Security
Topology
Versioning
Master Repository
Security
Topology
Versioning
Master Repository
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Execution
Execution Repository
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Models
Projects
Execution
Work Repository
Execution
Execution Repository
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Models
Projects
Execution
Work Repository
Execution
Execution Repository
• As a release manager, how do I easily
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Models
Projects
Execution
Work Repository
Execution
Execution Repository
• As a release manager, how do I easily- promote code from one environment to another?
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Models
Projects
Execution
Work Repository
Execution
Execution Repository
• As a release manager, how do I easily- promote code from one environment to another?- keep track of these sets of objects?
[email protected] www.rittmanmead.com @rittmanmead
Problems
17
• As a developer, how do I create a consistent set of objects for a release?
Models
Projects
Execution
Work Repository
Execution
Execution 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?
[email protected] www.rittmanmead.com @rittmanmead
The Solution – Deployment Archive (DA)
• Archive file containing a set of consistent ODI objects
18
[email protected] www.rittmanmead.com @rittmanmead
The Solution – Deployment Archive (DA)
• Archive file containing a set of consistent ODI objects• Applied to Deployed Repositories (test/production)
18
[email protected] www.rittmanmead.com @rittmanmead
The Solution – Deployment Archive (DA)
• Archive file containing a set of consistent ODI objects• Applied to Deployed Repositories (test/production)• 3 types :
18
[email protected] www.rittmanmead.com @rittmanmead
The Solution – Deployment Archive (DA)
• Archive file containing a set of consistent ODI objects• Applied to Deployed Repositories (test/production)• 3 types :- Initial
18
[email protected] www.rittmanmead.com @rittmanmead
The Solution – Deployment Archive (DA)
• Archive file containing a set of consistent ODI objects• Applied to Deployed Repositories (test/production)• 3 types :- Initial- Patch
18
[email protected] www.rittmanmead.com @rittmanmead
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
18
[email protected] www.rittmanmead.com @rittmanmead
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
18
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Creates Initial Release 1.0.0.0
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
Apply Patch Release 1.1.0.0
and create rollback DA
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Bug
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
Apply Patch Release 1.1.0.0
and create rollback DA
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Bug
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
Apply Patch Release 1.1.0.0
and create rollback DA
Apply Rollback Release 1.1.0.0
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Bug
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
Apply Patch Release 1.1.0.0
and create rollback DA
Apply Rollback Release 1.1.0.0
Creates Patch Release 1.1.0.1
to fix the previous bug
[email protected] www.rittmanmead.com @rittmanmead
Example
19
Development environment
QA environment (Deployed repository)
Developer
Release Manager
Bug
Creates Initial Release 1.0.0.0
Initialize repository with Release 1.0.0.0
Creates Patch Release 1.1.0.0
to add a features
Apply Patch Release 1.1.0.0
and create rollback DA
Apply Rollback Release 1.1.0.0
Creates Patch Release 1.1.0.1
to fix the previous bug
Apply Patch Release 1.1.0.1
and create rollback DA
[email protected] www.rittmanmead.com @rittmanmead
Developer / Administrator
20
• Create a deployment archive
[email protected] www.rittmanmead.com @rittmanmead
Developer / Administrator
21
• Create a deployment archivefrom VCS label
• Best Practice :Link documentation and DDL statements to be applied
[email protected] www.rittmanmead.com @rittmanmead
Developer / Administrator
22
• Create a deployment archive from selected objects
• Best Practice :Mention the bug number in the description
[email protected] www.rittmanmead.com @rittmanmead
Developer / Administrator
23
• No need to think about development or execution-only environment
[email protected] www.rittmanmead.com @rittmanmead
Release Manager
25
• Initial DA• Can choose from
development or execution-only archive
[email protected] www.rittmanmead.com @rittmanmead
Release Manager
26
• Patch DA• Can choose from
development or execution-only archive
• Best Practice :Always create a Rollback DA!
[email protected] www.rittmanmead.com @rittmanmead
Release Manager
27
• See applied DAs – Inventory
• See available DAs – View Details
[email protected] www.rittmanmead.com @rittmanmead
Automation
29
• Available through ODI SDK
• Scenarios :- Import and be sure you always generate a rollback DA
[email protected] www.rittmanmead.com @rittmanmead
Automation
29
• Available through ODI SDK
• Scenarios :- Import and be sure you always generate a rollback DA- Import daily into a smoke test environment
[email protected] www.rittmanmead.com @rittmanmead
Automation
29
• 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
[email protected] www.rittmanmead.com @rittmanmead
Other Problems
30
• How to rollback on the Development environment?
[email protected] www.rittmanmead.com @rittmanmead
Other Problems
30
• How to rollback on the Development environment?• How to restore delete objects in the Development
environment?
[email protected] www.rittmanmead.com @rittmanmead
Other Problems
30
• How to rollback on the Development environment?• How to restore delete objects in the Development
environment?
• How to develop concurrently?
[email protected] www.rittmanmead.com @rittmanmead
The Solution - VCS
31
• Integration with Subversion (SVN)
[email protected] www.rittmanmead.com @rittmanmead
The Solution - VCS
31
• Integration with Subversion (SVN)- Everything is done through ODI Studio
[email protected] www.rittmanmead.com @rittmanmead
The Solution - VCS
31
• Integration with Subversion (SVN)- Everything is done through ODI Studio- Git support in the next release
[email protected] www.rittmanmead.com @rittmanmead
The Solution - VCS
31
• Integration with Subversion (SVN)- Everything is done through ODI Studio- Git support in the next release- Tagging
[email protected] www.rittmanmead.com @rittmanmead
The Solution - VCS
31
• Integration with Subversion (SVN)- Everything is done through ODI Studio- Git support in the next release- Tagging- Branching / Merging
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
33
• Create a new version of an object
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
33
• Create a new version of an object
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• Tags- Snapshot of consistent set of versioned objects
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• Tags- Snapshot of consistent set of versioned objects- Ready for promotion – Deployment Archive
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• Tags- Snapshot of consistent set of versioned objects- Ready for promotion – Deployment Archive- … or for branching
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• Tags- Snapshot of consistent set of versioned objects- Ready for promotion – Deployment Archive- … or for branching- Created from
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• Tags- Snapshot of consistent set of versioned objects- Ready for promotion – Deployment Archive- … or for branching- Created from‣ Whole repository (Full Tag)
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
36
• 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)
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
37
• Branches- Created from a Tag- Populate a new environment – Master and Work repository
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
37
• Branches- Created from a Tag- Populate a new environment – Master and Work repository- For a new feature or a new team
[email protected] www.rittmanmead.com @rittmanmead
VCS - Features
37
• 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
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk 1
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk 1 2
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk 1 2 3
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk 1 2 3
Bug Fixes for Release 1New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
1 2 3
Bug Fixes for Release 1New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
1 2 3
4
Bug Fixes for Release 1New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
1 2 3
4
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
1 2 3 5
4
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
1 2 3 5
4 6
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
1 2 3 5
4 6 7
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 11 2 3 5
4 6 7
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
8
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 11 2 3 5
4 6 7 9
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
8
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1101 2 3 5
4 6 7 9
Merging
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
8
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1101 2 3 5
4 6 7 9
Merging
Bug Fixes for Release 1
New features for Release 2
New features for Release 2New features for Release 1
8
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1101 2 3 5
4 6 7 9
Merging
11
Bug Fixes for Release 1
New features for Release 2
New features for Release 2New features for Release 1
8
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
42
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Branch 2
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Branch 2 45
Branching
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Branch 2 45
Branching
46
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
Merging
48
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
Merging
48 49
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
Merging
48 49
50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
Merging
48 49 51
50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
Merging
48 49
52
51
Merging
50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44 53
Merging
47
Branch 2 45
Branching
46
Merging
48 49
52
51
Merging
Merging
50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44 53
Merging
47
Branch 2 45
Branching
46
Merging
48 49
52
51
Merging
Merging
54
50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44 53
Merging
47
Branch 2 45
Branching
46
Merging
48 49
52
51
Merging
Merging
54
5550
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44 53
Merging
47
Branch 2 45
Branching
46
48 49
52
51
Merging
54
5550
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
48 49
52
51
Merging
Branch 3 50
[email protected] www.rittmanmead.com @rittmanmead
VCS - Working with different cycles
42
Trunk
Branch 1
Branching
42
43 44
Merging
47
Branch 2 45
Branching
46
48 49
52
51
Merging
Branch 3
Branching
50
[email protected] www.rittmanmead.com @rittmanmead 43
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
[email protected] www.rittmanmead.com @rittmanmead
Further Reading / Testing
44
• 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