Oracle Data Integrator 12c is a powerful ELT tool with the ability to target different environments. It might be the traditional Development, Test and Production environments but there can be much more. Having a good release process is therefore important to ensure ongoing development doesn't impact the code running in production and that we can always go back to a previous version of the code if something goes wrong. We also want to have different developers or teams working concurrently without impacting each other. All of this is now easier than before thanks to the new features introduced in ODI 12.2.1. After looking at different architectures we will review all these new features and see how we can have a robust and efficient development cycle.
3. info@rittmanmead.com 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 : jerome.francoisse@rittmanmead.com
• Twitter : @JeromeFr
3
4. info@rittmanmead.com 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
12. info@rittmanmead.com 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
13. info@rittmanmead.com 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
15. info@rittmanmead.com 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)
34. info@rittmanmead.com 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?
35. info@rittmanmead.com 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?
36. info@rittmanmead.com 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?
66. info@rittmanmead.com 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
93. info@rittmanmead.com 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)
94. info@rittmanmead.com 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)
99. info@rittmanmead.com 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
120. info@rittmanmead.com www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1
101 2 3 5
4 6 7 9
Merging
Bug Fixes for Release 1
New features for Release 2
New features for Release 1
8
121. info@rittmanmead.com www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1
101 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
122. info@rittmanmead.com www.rittmanmead.com @rittmanmead
VCS - Working on multiple releases
41
Trunk
Branch 1
Branching
Release 1
101 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
143. info@rittmanmead.com 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
144. info@rittmanmead.com 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