SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Real World ADF Design & Architecture Principles
Version Control
15th Feb 2013 v1.0
3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Learning Objectives
•  At the end of this module you should be able to:
–  Have a basic understanding of SVN and JDev features
–  Identify different SVN installation types
–  Consider different SVN repository layouts suitable for ADF
projects
–  Acknowledge that you must devise a SVN branching strategy
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Introduction
•  Free open-source version control system (VCS)
•  Java EE enterprise defacto VCS
•  Allow teams to version files, directories, source code
•  Not a collaboration tool
•  Single shared enterprise repository
•  Uses efficient delta solution for tracking file changes
•  Accessed via file:// svn:// http:// https://
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Architecture
Image: SVN Book
Image Attributed under CC2.0 to Subversion Redbean: http://svnbook.red-bean.com/
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
SVN JDeveloper Features
•  SVN Client (SVNKit)
•  Create repositories (local only)
•  Versioning Navigator (repository browser)
•  Pending changes window
•  SVN commands: check-out, commit, merge etc
•  IDE features: visual file diff, history, visual merge
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Repository Layout
•  SVN repository mimics a file system: directories and files
•  What can you store in a file system?: SVN is flexible by design
•  However there is a set of conventions:
<RootDirectory>
/trunk Current development code
/tags Snapshots of code
/branches Use is variable (& debatable!)
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion vs ADF Architecture
•  ADF allows applications to be:
–  Self contained in one workspace
–  Separated across multiple workspaces
•  How to layout the SVN repository?
Single Workspace
Multiple Workspaces
#1 SVN First
#2 Domain First
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Single Workspace SVN Layout
One directory
maps to JDev
workspace
name
Standard
SVN
directories
JDev
workspace
code
Branches/
tags also
contain
workspace
code
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Branches/tags reflect
same structure
Each JDev
workspace
Further
logical
directories if
needed Each JDev
workspace
code
Standard
SVN
directories
at root level
Multiple Workspace SVN Layout #1
15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Multiple Workspace SVN Layout #1
•  Advantages
–  Checkout at trunk (or unique tag/branch) results in all source code checked
out (though you can still check out individual workspaces)
–  All versioned together, little library dependency management needed, less
requirement on clear team communications
–  No cross version dependencies / all or nothing build and release
–  Suitable for single uber apps where all parts roll out as 1 release
•  Disadvantages
–  No separate versioning
–  With multiple applications, all must roll out in an update/release even
though only one may have changed
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Each JDev
workspace
code
Standard
SVN
directories at
workspace
level
Each JDev
workspace
Logical
directories
at root level
Multiple Workspace SVN Layout #2
Branches/
tags only
contain
workspace
code
17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Multiple Workspace SVN Layout #2
•  Advantages
–  Can version each workspace separately
–  Suitable for multiple applications requiring separate release cycles
•  Disadvantages
–  Have to track version dependencies across applications
–  Build and dependency management tools required
–  Team communications need to be clear
–  Messy release cycles
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Best Practices
•  Define a standard checkout location for developer PCs
•  SVN working copy directory structures should match SVN directory
structures exactly
–  Easier for build scripts
–  Easier for developers
–  Easier to document
•  Developers who check out multiple copies of an application need to handle
the unique directory names themselves
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Branching Strategies
•  Allows multiple teams or application versions to be developed consecutively
•  You need to define your own branching strategy – one size doesn't fit all
•  Start with a simple branching strategy then evolve it when required
•  Attempting to mimic dev/test/prod as branches doesn’t work
–  Overtime you will have many different dev/test/prod releases
•  Some known branching strategies
–  Branch per feature
–  Branch per iteration/release
–  Branch per team
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Subversion Branch/Release Strategies
•  Use a formal numbering scheme (e.g. 1.2, 1.3, 2.0 etc)
–  Perpendicular to existing software dev/test/prod rollouts
–  What designates a release is at your discretion
–  You may need a "development" and "user/customer" release numbering
scheme ... do users need to know you're at release 4.2.3.54.1234?
•  Guidelines for release/branching naming schemes
–  Each name must be unique
–  Devise a naming scheme that shows progression
–  Don’t try and invent the perfect naming scheme
•  If Oracle, Microsoft and Apple can't get it perfect, neither will you!
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Subversion Introduction
•  Subversion Architecture
•  Subversion Repository Layout
•  Subversion vs ADF Architecture
–  Single Workspace Layout
–  Multiple Workspace Layout
•  Subversion Best Practices
•  Git
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Git
•  Popular contemporary VCS
•  Seen as replacement for SVN
•  Not widely adopted in enterprises (yet)
•  Decentralized repository model
–  1 or more central repositories
–  Developers can create 1 or more local repositories (~branch)
–  Developers responsible for merging repositories
•  Required for Oracle’s Developer Cloud Services
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Image Attributed under CC2.0 to http://programmers.stackexchange.com/questions/96915/using-git-in-enterprise-environment /
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What do you think the
pros and cons of a
decentralized repository
model would be?
Image: imagerymajestic/ FreeDigitalPhotos.net
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Is Git Suitable for the Enterprise?
•  Or more accurately, is the Enterprise ready for Git?
•  10 things I hate about Git http://bit.ly/PQfT3e
•  Using Git in the Enterprise http://bit.ly/P6PH8Q
•  Git based source control in the Enterprise http://bit.ly/MVskur
•  Subversion 1.8 Released But Will You Still Use Git? http://bit.ly/12YWcmo
•  Can you trust your developers to merge code?
•  Can you trust your developers to backup their repository?
•  But do all of your developers have access to the central SVN repository?
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  Version control is not a nice to have, it is critical to a well
oiled software development effort
•  Your goal is to create an "ADF factory" where version
control rolls many different releases off the factory floor
repeatedly & efficiently
•  The more effort you put in the more transparent & automatic it becomes
•  Your SVN branching strategy needs careful consideration
–  Don't trust your developers
–  Version control is tedious to them
–  They'll devise an ad hoc mechanism with no thought to the future
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  Versioning applications in JDeveloper http://bit.ly/Slnf7i
•  Branching and merging primer http://bit.ly/Vj6p8d
•  Branching strategies #1 http://bit.ly/13iv6Vk
•  Branching strategies #2 http://bit.ly/UNxrpU
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Más contenido relacionado

La actualidad más candente

Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationChris Muir
 
Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesChris Muir
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationChris Muir
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignChris Muir
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationChris Muir
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...Chris Muir
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsChris Muir
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsChris Muir
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewChris Muir
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsChris Muir
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignChris Muir
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesChris Muir
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternChris Muir
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsChris Muir
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleChris Muir
 

La actualidad más candente (20)

Oracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build OptionsOracle ADF Architecture TV - Deployment - Build Options
Oracle ADF Architecture TV - Deployment - Build Options
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System TopologiesOracle ADF Architecture TV - Deployment - System Topologies
Oracle ADF Architecture TV - Deployment - System Topologies
 
Oracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for InternationalizationOracle ADF Architecture TV - Design - Designing for Internationalization
Oracle ADF Architecture TV - Design - Designing for Internationalization
 
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module DesignOracle ADF Architecture TV - Design - ADF BC Application Module Design
Oracle ADF Architecture TV - Design - ADF BC Application Module Design
 
Oracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project DependenciesOracle ADF Architecture TV - Design - Project Dependencies
Oracle ADF Architecture TV - Design - Project Dependencies
 
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL IntegrationOracle ADF Architecture TV - Design - Architecting for PLSQL Integration
Oracle ADF Architecture TV - Design - Architecting for PLSQL Integration
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow ConceptsOracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
Oracle ADF Architecture TV - Design - Advanced ADF Task Flow Concepts
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
 
Oracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDSOracle ADF Architecture TV - Design - Application Customization and MDS
Oracle ADF Architecture TV - Design - Application Customization and MDS
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure DecisionsOracle ADF Architecture TV - Design - MDS Infrastructure Decisions
Oracle ADF Architecture TV - Design - MDS Infrastructure Decisions
 
Oracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout DesignOracle ADF Architecture TV - Design - Usability and Layout Design
Oracle ADF Architecture TV - Design - Usability and Layout Design
 
Oracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration ArchitecturesOracle ADF Architecture TV - Design - Service Integration Architectures
Oracle ADF Architecture TV - Design - Service Integration Architectures
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication PatternOracle ADF Architecture TV - Design - Task Flow Communication Pattern
Oracle ADF Architecture TV - Design - Task Flow Communication Pattern
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service Architectures
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
 

Destacado

Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsChris Muir
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk MobileChris Muir
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...Chris Muir
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysCarlos Taborda
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Chris Muir
 

Destacado (6)

Oracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction OptionsOracle ADF Architecture TV - Design - Task Flow Transaction Options
Oracle ADF Architecture TV - Design - Task Flow Transaction Options
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
CRUX (CRUD meets UX) Case Study: Building a Modern Applications User Experien...
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
Joulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success StoryJoulex & Junos Space SDK: Customer Success Story
Joulex & Junos Space SDK: Customer Success Story
 
Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013Future of Oracle Forms AUSOUG 2013
Future of Oracle Forms AUSOUG 2013
 

Similar a Oracle ADF Architecture TV - Development - Version Control

Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Mastering DevOps with Oracle
Mastering DevOps with Oracle Mastering DevOps with Oracle
Mastering DevOps with Oracle jeckels
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introductionssusera8d54f
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...PROIDEA
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAPVictor Morales
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Martin Bergljung
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Mee Nam Lee
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Shelly Megan
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp Londonhernanibf
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsBen Krug
 
Open Source
Open SourceOpen Source
Open Sourceu059225
 
Open Source
Open SourceOpen Source
Open Sourceu059738
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated TestingMorgan Tocker
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMdevkulkarni
 

Similar a Oracle ADF Architecture TV - Development - Version Control (20)

Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Mastering DevOps with Oracle
Mastering DevOps with Oracle Mastering DevOps with Oracle
Mastering DevOps with Oracle
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introduction
 
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
JDD2014: Enforcing architecture patterns with static code analysis - Pablo Ba...
 
How to setup a development environment for ONAP
How to setup a development environment for ONAPHow to setup a development environment for ONAP
How to setup a development environment for ONAP
 
Em13c New Features- Two of Two
Em13c New Features- Two of TwoEm13c New Features- Two of Two
Em13c New Features- Two of Two
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Open Source
Open SourceOpen Source
Open Source
 
Open Source
Open SourceOpen Source
Open Source
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
 
Em13c features- HotSos 2016
Em13c features- HotSos 2016Em13c features- HotSos 2016
Em13c features- HotSos 2016
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALM
 
JDK 10 Java Module System
JDK 10 Java Module SystemJDK 10 Java Module System
JDK 10 Java Module System
 

Último

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Último (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

Oracle ADF Architecture TV - Development - Version Control

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Real World ADF Design & Architecture Principles Version Control 15th Feb 2013 v1.0
  • 3. 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Learning Objectives •  At the end of this module you should be able to: –  Have a basic understanding of SVN and JDev features –  Identify different SVN installation types –  Consider different SVN repository layouts suitable for ADF projects –  Acknowledge that you must devise a SVN branching strategy Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 5. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Introduction •  Free open-source version control system (VCS) •  Java EE enterprise defacto VCS •  Allow teams to version files, directories, source code •  Not a collaboration tool •  Single shared enterprise repository •  Uses efficient delta solution for tracking file changes •  Accessed via file:// svn:// http:// https://
  • 6. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 7. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Architecture Image: SVN Book Image Attributed under CC2.0 to Subversion Redbean: http://svnbook.red-bean.com/
  • 8. 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. SVN JDeveloper Features •  SVN Client (SVNKit) •  Create repositories (local only) •  Versioning Navigator (repository browser) •  Pending changes window •  SVN commands: check-out, commit, merge etc •  IDE features: visual file diff, history, visual merge
  • 9. 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 10. 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Repository Layout •  SVN repository mimics a file system: directories and files •  What can you store in a file system?: SVN is flexible by design •  However there is a set of conventions: <RootDirectory> /trunk Current development code /tags Snapshots of code /branches Use is variable (& debatable!)
  • 11. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 12. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion vs ADF Architecture •  ADF allows applications to be: –  Self contained in one workspace –  Separated across multiple workspaces •  How to layout the SVN repository? Single Workspace Multiple Workspaces #1 SVN First #2 Domain First
  • 13. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Single Workspace SVN Layout One directory maps to JDev workspace name Standard SVN directories JDev workspace code Branches/ tags also contain workspace code
  • 14. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Branches/tags reflect same structure Each JDev workspace Further logical directories if needed Each JDev workspace code Standard SVN directories at root level Multiple Workspace SVN Layout #1
  • 15. 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Multiple Workspace SVN Layout #1 •  Advantages –  Checkout at trunk (or unique tag/branch) results in all source code checked out (though you can still check out individual workspaces) –  All versioned together, little library dependency management needed, less requirement on clear team communications –  No cross version dependencies / all or nothing build and release –  Suitable for single uber apps where all parts roll out as 1 release •  Disadvantages –  No separate versioning –  With multiple applications, all must roll out in an update/release even though only one may have changed
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Each JDev workspace code Standard SVN directories at workspace level Each JDev workspace Logical directories at root level Multiple Workspace SVN Layout #2 Branches/ tags only contain workspace code
  • 17. 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Multiple Workspace SVN Layout #2 •  Advantages –  Can version each workspace separately –  Suitable for multiple applications requiring separate release cycles •  Disadvantages –  Have to track version dependencies across applications –  Build and dependency management tools required –  Team communications need to be clear –  Messy release cycles
  • 18. 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 19. 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Best Practices •  Define a standard checkout location for developer PCs •  SVN working copy directory structures should match SVN directory structures exactly –  Easier for build scripts –  Easier for developers –  Easier to document •  Developers who check out multiple copies of an application need to handle the unique directory names themselves
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Branching Strategies •  Allows multiple teams or application versions to be developed consecutively •  You need to define your own branching strategy – one size doesn't fit all •  Start with a simple branching strategy then evolve it when required •  Attempting to mimic dev/test/prod as branches doesn’t work –  Overtime you will have many different dev/test/prod releases •  Some known branching strategies –  Branch per feature –  Branch per iteration/release –  Branch per team
  • 21. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Subversion Branch/Release Strategies •  Use a formal numbering scheme (e.g. 1.2, 1.3, 2.0 etc) –  Perpendicular to existing software dev/test/prod rollouts –  What designates a release is at your discretion –  You may need a "development" and "user/customer" release numbering scheme ... do users need to know you're at release 4.2.3.54.1234? •  Guidelines for release/branching naming schemes –  Each name must be unique –  Devise a naming scheme that shows progression –  Don’t try and invent the perfect naming scheme •  If Oracle, Microsoft and Apple can't get it perfect, neither will you!
  • 22. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Subversion Introduction •  Subversion Architecture •  Subversion Repository Layout •  Subversion vs ADF Architecture –  Single Workspace Layout –  Multiple Workspace Layout •  Subversion Best Practices •  Git
  • 23. 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Git •  Popular contemporary VCS •  Seen as replacement for SVN •  Not widely adopted in enterprises (yet) •  Decentralized repository model –  1 or more central repositories –  Developers can create 1 or more local repositories (~branch) –  Developers responsible for merging repositories •  Required for Oracle’s Developer Cloud Services
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image Attributed under CC2.0 to http://programmers.stackexchange.com/questions/96915/using-git-in-enterprise-environment /
  • 25. 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. What do you think the pros and cons of a decentralized repository model would be? Image: imagerymajestic/ FreeDigitalPhotos.net
  • 26. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Is Git Suitable for the Enterprise? •  Or more accurately, is the Enterprise ready for Git? •  10 things I hate about Git http://bit.ly/PQfT3e •  Using Git in the Enterprise http://bit.ly/P6PH8Q •  Git based source control in the Enterprise http://bit.ly/MVskur •  Subversion 1.8 Released But Will You Still Use Git? http://bit.ly/12YWcmo •  Can you trust your developers to merge code? •  Can you trust your developers to backup their repository? •  But do all of your developers have access to the central SVN repository?
  • 27. 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Conclusion •  Version control is not a nice to have, it is critical to a well oiled software development effort •  Your goal is to create an "ADF factory" where version control rolls many different releases off the factory floor repeatedly & efficiently •  The more effort you put in the more transparent & automatic it becomes •  Your SVN branching strategy needs careful consideration –  Don't trust your developers –  Version control is tedious to them –  They'll devise an ad hoc mechanism with no thought to the future
  • 28. 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Further Reading •  Versioning applications in JDeveloper http://bit.ly/Slnf7i •  Branching and merging primer http://bit.ly/Vj6p8d •  Branching strategies #1 http://bit.ly/13iv6Vk •  Branching strategies #2 http://bit.ly/UNxrpU
  • 29. 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.