SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ORACLE
PRODUCT
LOGO
Planning & Getting Started: Team, Skills and Development Environments
Real World ADF Design & Architecture Principles
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:
–  Understand what roles are required to support
an ADF project
–  What tools, hardware and infrastructure you
need to get in place
–  How do you prepare for an ADF project
Image: imagerymajestic/ FreeDigitalPhotos.net
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Team Size, Roles, Expertise
•  Developer Tools
•  Developer PCs
•  Database & WLS Setup for Development Environments
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Exercise We've an unlimited budget! What roles
would we like to support our ADF project
with? Both technical and non.
Image: imagerymajestic/ FreeDigitalPhotos.net
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How Big Should Our Project Team Be?
•  There isn't a 1 size fits all
–  Team size directly relates to the
application size & requirements
–  Small developments = 1 team
member with multiple
responsibilities
–  Large developments = multiple
teams with multiple members &
separate responsibilities
Image: Simon Howden / FreeDigitalPhotos.net
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Development Roles
Each project team
•  ADF team leader
•  ADF developer(s)
Preferably
•  Database developers
•  Java expert (more soon)
•  Java EE expert (more soon)
•  JSF expert
Image: marin/ FreeDigitalPhotos.net
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Supporting Design Roles
•  Enterprise architects
•  System architects
•  Database architects
•  FMW skilled architects
•  Web designers
•  User experience advocates
Image: tungphoto / FreeDigitalPhotos.net
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Supporting Technical Roles
•  Change control administrators
•  Database administrators
•  WebLogic Server administrators
•  LDAP administrators
•  Firewall administrators
•  SSL security administrators
•  DevOps
Image: David Castillo twobee / FreeDigitalPhotos.net
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Software Development Roles
•  IT manager
•  Project manager
•  Enterprise architect
•  Change control officers
•  Risk managers
•  QA managers
•  Documentation writers
Image: David Castillo Dominici/ FreeDigitalPhotos.net
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Supporting QA Roles
•  Development and Code QAs
•  Load/stress testers
•  Functional testers
•  Users/system custodians
Image: David Castillo Stuart Miles / FreeDigitalPhotos.net
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Users
•  Expert users
•  Domain knowledge experts
•  End users
Image: akeeries/ FreeDigitalPhotos.net
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
It would be great to have a team of Java
experts, but most of our team are just
starting out. What Java does the average
ADF team member need to know?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How competent in Java do I need to be for ADF?
“Not everybody who writes needs the skills of
Shakespeare. But everybody who writes need to
follow rules of spelling and grammar in order to
make themselves understood. Every programmer on
the project needs to know Java as a programming
language and to be able to write syntactically correct
Java code. But not everyone who writes Java code
needs to be a virtuoso with full command of
inheritance, interfaces and inner classes.”
Sten Vesterli’s Oracle ADF Enterprise Application Development Made Simple
15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java Skills for Average ADF Developers
Java SE 7 Programming I
þ  Java Basics
þ  Working with Java Data Types
þ  Using Operators and Decision Constructs
þ  Creating and Using Arrays
þ  Using Loop Constructs
þ  Working with Methods and Encapsulation
þ  Working with Inheritance
þ  Handling Exceptions
Java SE 7 Programming II
þ  Java Class Design
þ  Java Advanced Class Design
þ  Object-Oriented Principles
☐ String Processing
þ Exceptions
ý Assertions
☐ Java I/O Fundamentals
☐ Java File I/O
☐ JDBC
ý Threads
ý Concurrency
☐ Localization
?
?
?
?
?
16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java EE Skills
•  At least 1 team member should be knowledge in the following Java
EE technologies:
–  Servlets
–  HTTP Session
–  Vanilla JSF and the JSF lifecycle
•  Be warned
–  Some highly skilled Java EE programmers will not want to work with ADF
–  They are trained and knowledgeable in core Java EE technologies and competing
frameworks
–  Typically will have open-source preference
–  And human nature dictates experts can be defensive of their preferences
–  Be careful they don't convince you against why you chose ADF in the first place
17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Competence
•  Ensure to have at least one experienced ADF
programmer on the team
•  Put all the team on ADF training
•  Preferably both!
•  Start with a small project – THINK BIG (not the
other way round)
•  ADF is a massive framework with a huge array of features
•  Teams will struggle to learn everything in a short timeframe
•  = A large risk to ambitious deadlines or complicated projects
Image: phanlop88 / FreeDigitalPhotos.net
18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Community Participation
Encourage staff to:
•  Read the ADF manuals
•  Share experience internally
•  Participate & use the JDeveloper/ADF OTN Forum
•  Search Oracle Supports notes
•  Lodge (quality!) SRs with Oracle Support
•  Keep up to date with ADF announcements & blogs
•  Join ADF community groups like the ADF EMG
•  Blog and present on ADF
•  Attend ADF sessions at conferences like Oracle Open World
19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Other Team Expertise
What other expertise does your average ADF programmer need?
Source control?
...?
20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Team Size, Roles, Expertise
•  Developers Tools
•  Developer PCs
•  Database & WLS Setup for Development Environments
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
What software tools besides JDeveloper
do you think we should provide our
developers to make building software
easier?
Exercise
Image: imagerymajestic/ FreeDigitalPhotos.net
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Tools to Assist ADF Developers
•  Source version control software
–  e.g. SVN
•  Application Lifecycle Management (ALM)
software
•  Automated testing software
–  e.g. JUnit, Selenium, OATS
•  Build & Continuous Integration (CI) software
–  e.g. Ant, ojdeploy, Hudson, Cloud Developer Services
•  Others?
–  e.g. SoapUI, FireBug, UI design tools...
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Team Size, Roles, Expertise
•  Developer Tools
•  Developer PCs
•  Database & WLS Setup for Development Environments
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs – General Rules
•  For any development team over 1 person
–  Standardize developer PC setup
–  Document everything & update this periodically
•  Download and keep the JDeveloper install files from Oracle
•  Standardize on
–  One JDeveloper edition (e.g. studio edition)
–  Set of extensions
–  Patches
•  Track carefully what version of JDeveloper each application uses
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs - JDeveloper
•  JDeveloper installations need to cater for
–  Build scripts that assume location of services
–  Case sensitive build scripts
–  Moving between operating systems
•  Standardize base installation location & allow for multiple installs
–  Standardize the directory case across all installations
–  Do not use spaces or special characters
–  C:OracleJDeveloperJDev111160 or C:OracleJDeveloperJDev112200
•  Standardize "system" installation location too
–  Especially useful for requesting Virus Scanner corporate exemptions
(more soon)
–  Be mindful however different OS versions do move this by default
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs – JDeveloper Configuration
•  JDeveloper Configuration: document and standardize on
–  Any changes to ide.conf or jdev.conf
–  Any Tools – Preferences updates
–  Integrated WLS configurations (consider WLST scripts)
–  Database connections
–  Change control connections
–  Application server connections
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs – Hardware Requirements
•  Oracle dictates minimum hardware requirements
•  But these are the minimum, developers' productivity will suffer
•  JDeveloper is memory and IO intensive, and has lots of windows
•  The productivity of developers will be
enhanced by:
–  Additional memory (4GB minimum)
–  Large displays (24")
–  SSDs (or at minimum 7200RPM or
Hybrid HDD)
–  Faster CPUs
Image: Arvind Balaraman / FreeDigitalPhotos.net
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs - Performance
Virus scanners:
•  Potentially major silent killer
of JDeveloper performance
•  McAfee virus scanner worst
offender
•  Ensure to put in appropriate
Java exemptions
•  Get ready for a fight with
enterprise policy bureaucrats
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs - Browsers
•  Preconfigure PCs with every browser possible
–  Enterprise apps: even test with browsers that aren’t corporate standard
to identify issues early
–  Encourage developers to use a different browser each day
–  Previous versions of IE may require VMs as they can't coexist
–  Consider same setup for QA PCs as well
–  Consider browser extensions such as Firebug
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Developer PCs – Other Setup Options
Consider preconfigured virtual machines
31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Source Code
•  Log an Oracle Support Request
•  Make available on your local network
•  In JDeveloper source editor provides:
–  Quick JavaDoc lookup
–  Meaningful parameter insight
•  Debugger
–  Allows breakpoints and to see values in Oracle source
•  Configure: http://bit.ly/adfdevguide111210s3681
•  See Support Note: 971256.1
32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Program Agenda
•  Team Size, Roles, Expertise
•  Developer Tools
•  Developer PCs
•  Database & WLS Setup for Development Environments
33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Development Environment Setup
•  Later parts of course will consider server topologies and more
•  What infrastructure do we need to get development rolling?
Image: Renjith Krishnan / FreeDigitalPhotos.net
34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Development/Test/Production Environments
•  Enterprises typically support 3 types of platforms to
assist development: development/test/production
•  Typically one set per system or application
•  Change control process
–  Enhancement & bug fixes recorded in change control system
–  Allocated to developers on approval
–  Are never applied straight to production
–  First developed in “development”
–  Once completed tested in (1 of many) “test” environments
–  Once ready migrated to “production” for users
Production
Test
Development
35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Development/Test/Production Environments
•  Development/test/prod considerations
–  Ownership of each environment
–  Change control procedures
–  Change control software
–  Who manages patching/updating
–  Team communications & notifications
Production
Test
Development
36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Development Environment
•  Development environment
–  Typically 1 per system
–  Developers share & work with code in
development
–  Little administrative control, backups not always
required
–  Code can be inherently bug prone, incomplete,
the wrong version, experimental
–  Required early on in system lifecycle
Production
Test
Development
37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Testing Environments
•  Testing environment(s)
–  Code formally released from development for
testing
–  One of a number of environments, e.g.
• QA testing, nightly sanity build & deployments,
automated regression testing, user acceptance testing,
load/stress testing, release testing
–  Ideally rebuilt from production regularly
–  Ideally a duplicate of production systems + changes
–  Not required at the beginning of system lifecycle
–  However ideally should be built early on
Production
Test
Development
38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Production Environments
•  Production environment
–  Most important environment
–  Strict administrative controls
–  Backups critical
–  Code only migrated once passed all tests
–  Single point of truth for “released”
development code
Production
Test
Development
39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Environments
•  Each environment split into database and WLS
•  Test/production environments inherently more
complex (e.g. LDAP servers, web servers,
clustering. Covered later in course)
Production
Test
Development
40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF Environments
•  ADF applications on the same ADF Runtimes
can share WLS environments
•  But different ADF Runtimes require different
WLS servers
Production
Test
Development
41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF “Database” Environments
•  Database changes can have large impact on ADF
developers
•  Options
–  One development database only
–  Separate database per team
–  Separate database per developer PC
•  Who manages patches/updates?
Development
42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
ADF “WLS” Environments
•  Development WLS may be unnecessary as
developers have an integrated WLS with
JDeveloper
•  Counter arguments
–  A dedicated development environment gives
developers another environment to play and
collaborate
–  Integrated WLS doesn’t reflect production WLS
environments
–  Sharing web service development required
dedicated WLS
Development
43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
How do Independent
Software Vendors
support clients on
multiple releases?
How to support
multiple releases?
Do we keep development and
test servers for each release?
How do we deal with
outmoded hardware,
O/S, servers tech?
What about
production copies
to test against?
Image: imagerymajestic/ FreeDigitalPhotos.net
44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: imagerymajestic/ FreeDigitalPhotos.net
I was just on the phone with our
local Oracle sales office. They want
to sell us a full Oracle cloud based
solution for our development efforts.
Can it really do everything we
need?
45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Conclusion
•  Medium to large scale ADF projects require:
–  Experienced and trained staff, including non technical
–  Standardized & documented development PCs & infrastructure
–  Available tools and expertise
–  Documented processes and procedures
–  And planning to put all these in place
–  You wont have a lot to show, but are essential for successful ADF projects
46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Further Reading
•  Sten Vesterli’s Oracle ADF Enterprise
Application Development Made Simple
47 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

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 - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris 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 - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsChris Muir
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningChris Muir
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlChris Muir
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesChris 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
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsChris Muir
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsChris 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
 
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
 
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 - 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 - 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 - 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 - 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
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk MobileChris Muir
 

Was ist angesagt? (20)

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 - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
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 - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment OptionsOracle ADF Architecture TV - Deployment - Deployment Options
Oracle ADF Architecture TV - Deployment - Deployment Options
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Oracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version ControlOracle ADF Architecture TV - Development - Version Control
Oracle ADF Architecture TV - Development - Version Control
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
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
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural PatternsOracle ADF Architecture TV - Design - ADF Architectural Patterns
Oracle ADF Architecture TV - Design - ADF Architectural Patterns
 
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable ArtifactsOracle ADF Architecture TV - Design - ADF Reusable Artifacts
Oracle ADF Architecture TV - Design - ADF Reusable Artifacts
 
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
 
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...
 
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 - 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 - 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 - 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 - 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
 
Let's Talk Mobile
Let's Talk MobileLet's Talk Mobile
Let's Talk Mobile
 

Ähnlich wie Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and Development Environments

Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...Berry Clemens
 
Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Jeff Smith
 
Which postgres is_right_for_me_20130517
Which postgres is_right_for_me_20130517Which postgres is_right_for_me_20130517
Which postgres is_right_for_me_20130517EDB
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerJeff Smith
 
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitExtending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitLuc Bors
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introductionssusera8d54f
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceSten Vesterli
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle ManagementHari Srinivasan
 
Mastering DevOps with Oracle
Mastering DevOps with Oracle Mastering DevOps with Oracle
Mastering DevOps with Oracle jeckels
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesEDB
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBAJeff Smith
 
IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!Kellyn Pot'Vin-Gorman
 
Java: how to thrive in the changing world
Java: how to thrive in the changing worldJava: how to thrive in the changing world
Java: how to thrive in the changing worldAlexey Fyodorov
 
Kscope Not Your Father's Enterprise Manager
Kscope Not Your Father's Enterprise ManagerKscope Not Your Father's Enterprise Manager
Kscope Not Your Father's Enterprise ManagerKellyn Pot'Vin-Gorman
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentGeertjan Wielenga
 
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
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8terrencebarr
 

Ähnlich wie Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and Development Environments (20)

Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...Con11257 schifano con11257-best practices for deploying highly scalable virtu...
Con11257 schifano con11257-best practices for deploying highly scalable virtu...
 
Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?
 
Which postgres is_right_for_me_20130517
Which postgres is_right_for_me_20130517Which postgres is_right_for_me_20130517
Which postgres is_right_for_me_20130517
 
Oracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL ServerOracle SQL Developer Data Modeler - for SQL Server
Oracle SQL Developer Data Modeler - for SQL Server
 
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development KitExtending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
Extending Oracle SaaS Using Oracle Cloud UX Rapid Development Kit
 
Oracle Application Express Introduction
Oracle Application Express  IntroductionOracle Application Express  Introduction
Oracle Application Express Introduction
 
Oracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool ChoiceOracle APEX or ADF? From Requirements to Tool Choice
Oracle APEX or ADF? From Requirements to Tool Choice
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle Management
 
Oracle Data Integrator
Oracle Data Integrator Oracle Data Integrator
Oracle Data Integrator
 
Mastering DevOps with Oracle
Mastering DevOps with Oracle Mastering DevOps with Oracle
Mastering DevOps with Oracle
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
The Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle DatabasesThe Real Scoop on Migrating from Oracle Databases
The Real Scoop on Migrating from Oracle Databases
 
Oracle SQL Developer for the DBA
Oracle SQL Developer for the DBAOracle SQL Developer for the DBA
Oracle SQL Developer for the DBA
 
IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!IOUG at Coors Field ASH and AWR in EM12c!
IOUG at Coors Field ASH and AWR in EM12c!
 
Java: how to thrive in the changing world
Java: how to thrive in the changing worldJava: how to thrive in the changing world
Java: how to thrive in the changing world
 
Kscope Not Your Father's Enterprise Manager
Kscope Not Your Father's Enterprise ManagerKscope Not Your Father's Enterprise Manager
Kscope Not Your Father's Enterprise Manager
 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
 
Developer day v2
Developer day v2Developer day v2
Developer day v2
 
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
 
Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8Introduction to Java Micro Edition (ME) 8
Introduction to Java Micro Edition (ME) 8
 

Kürzlich hochgeladen

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 

Kürzlich hochgeladen (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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!
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
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
 

Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and Development Environments

  • 1. 1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 2. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ORACLE PRODUCT LOGO Planning & Getting Started: Team, Skills and Development Environments Real World ADF Design & Architecture Principles 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: –  Understand what roles are required to support an ADF project –  What tools, hardware and infrastructure you need to get in place –  How do you prepare for an ADF project Image: imagerymajestic/ FreeDigitalPhotos.net
  • 4. 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Team Size, Roles, Expertise •  Developer Tools •  Developer PCs •  Database & WLS Setup for Development Environments
  • 5. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Exercise We've an unlimited budget! What roles would we like to support our ADF project with? Both technical and non. Image: imagerymajestic/ FreeDigitalPhotos.net
  • 6. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. How Big Should Our Project Team Be? •  There isn't a 1 size fits all –  Team size directly relates to the application size & requirements –  Small developments = 1 team member with multiple responsibilities –  Large developments = multiple teams with multiple members & separate responsibilities Image: Simon Howden / FreeDigitalPhotos.net
  • 7. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Development Roles Each project team •  ADF team leader •  ADF developer(s) Preferably •  Database developers •  Java expert (more soon) •  Java EE expert (more soon) •  JSF expert Image: marin/ FreeDigitalPhotos.net
  • 8. 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Supporting Design Roles •  Enterprise architects •  System architects •  Database architects •  FMW skilled architects •  Web designers •  User experience advocates Image: tungphoto / FreeDigitalPhotos.net
  • 9. 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Supporting Technical Roles •  Change control administrators •  Database administrators •  WebLogic Server administrators •  LDAP administrators •  Firewall administrators •  SSL security administrators •  DevOps Image: David Castillo twobee / FreeDigitalPhotos.net
  • 10. 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Software Development Roles •  IT manager •  Project manager •  Enterprise architect •  Change control officers •  Risk managers •  QA managers •  Documentation writers Image: David Castillo Dominici/ FreeDigitalPhotos.net
  • 11. 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Supporting QA Roles •  Development and Code QAs •  Load/stress testers •  Functional testers •  Users/system custodians Image: David Castillo Stuart Miles / FreeDigitalPhotos.net
  • 12. 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Users •  Expert users •  Domain knowledge experts •  End users Image: akeeries/ FreeDigitalPhotos.net
  • 13. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. It would be great to have a team of Java experts, but most of our team are just starting out. What Java does the average ADF team member need to know? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 14. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. How competent in Java do I need to be for ADF? “Not everybody who writes needs the skills of Shakespeare. But everybody who writes need to follow rules of spelling and grammar in order to make themselves understood. Every programmer on the project needs to know Java as a programming language and to be able to write syntactically correct Java code. But not everyone who writes Java code needs to be a virtuoso with full command of inheritance, interfaces and inner classes.” Sten Vesterli’s Oracle ADF Enterprise Application Development Made Simple
  • 15. 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Java Skills for Average ADF Developers Java SE 7 Programming I þ  Java Basics þ  Working with Java Data Types þ  Using Operators and Decision Constructs þ  Creating and Using Arrays þ  Using Loop Constructs þ  Working with Methods and Encapsulation þ  Working with Inheritance þ  Handling Exceptions Java SE 7 Programming II þ  Java Class Design þ  Java Advanced Class Design þ  Object-Oriented Principles ☐ String Processing þ Exceptions ý Assertions ☐ Java I/O Fundamentals ☐ Java File I/O ☐ JDBC ý Threads ý Concurrency ☐ Localization ? ? ? ? ?
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Java EE Skills •  At least 1 team member should be knowledge in the following Java EE technologies: –  Servlets –  HTTP Session –  Vanilla JSF and the JSF lifecycle •  Be warned –  Some highly skilled Java EE programmers will not want to work with ADF –  They are trained and knowledgeable in core Java EE technologies and competing frameworks –  Typically will have open-source preference –  And human nature dictates experts can be defensive of their preferences –  Be careful they don't convince you against why you chose ADF in the first place
  • 17. 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Competence •  Ensure to have at least one experienced ADF programmer on the team •  Put all the team on ADF training •  Preferably both! •  Start with a small project – THINK BIG (not the other way round) •  ADF is a massive framework with a huge array of features •  Teams will struggle to learn everything in a short timeframe •  = A large risk to ambitious deadlines or complicated projects Image: phanlop88 / FreeDigitalPhotos.net
  • 18. 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Community Participation Encourage staff to: •  Read the ADF manuals •  Share experience internally •  Participate & use the JDeveloper/ADF OTN Forum •  Search Oracle Supports notes •  Lodge (quality!) SRs with Oracle Support •  Keep up to date with ADF announcements & blogs •  Join ADF community groups like the ADF EMG •  Blog and present on ADF •  Attend ADF sessions at conferences like Oracle Open World
  • 19. 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Other Team Expertise What other expertise does your average ADF programmer need? Source control? ...?
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Team Size, Roles, Expertise •  Developers Tools •  Developer PCs •  Database & WLS Setup for Development Environments
  • 21. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. What software tools besides JDeveloper do you think we should provide our developers to make building software easier? Exercise Image: imagerymajestic/ FreeDigitalPhotos.net
  • 22. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Tools to Assist ADF Developers •  Source version control software –  e.g. SVN •  Application Lifecycle Management (ALM) software •  Automated testing software –  e.g. JUnit, Selenium, OATS •  Build & Continuous Integration (CI) software –  e.g. Ant, ojdeploy, Hudson, Cloud Developer Services •  Others? –  e.g. SoapUI, FireBug, UI design tools...
  • 23. 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Team Size, Roles, Expertise •  Developer Tools •  Developer PCs •  Database & WLS Setup for Development Environments
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs – General Rules •  For any development team over 1 person –  Standardize developer PC setup –  Document everything & update this periodically •  Download and keep the JDeveloper install files from Oracle •  Standardize on –  One JDeveloper edition (e.g. studio edition) –  Set of extensions –  Patches •  Track carefully what version of JDeveloper each application uses
  • 25. 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs - JDeveloper •  JDeveloper installations need to cater for –  Build scripts that assume location of services –  Case sensitive build scripts –  Moving between operating systems •  Standardize base installation location & allow for multiple installs –  Standardize the directory case across all installations –  Do not use spaces or special characters –  C:OracleJDeveloperJDev111160 or C:OracleJDeveloperJDev112200 •  Standardize "system" installation location too –  Especially useful for requesting Virus Scanner corporate exemptions (more soon) –  Be mindful however different OS versions do move this by default
  • 26. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs – JDeveloper Configuration •  JDeveloper Configuration: document and standardize on –  Any changes to ide.conf or jdev.conf –  Any Tools – Preferences updates –  Integrated WLS configurations (consider WLST scripts) –  Database connections –  Change control connections –  Application server connections
  • 27. 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs – Hardware Requirements •  Oracle dictates minimum hardware requirements •  But these are the minimum, developers' productivity will suffer •  JDeveloper is memory and IO intensive, and has lots of windows •  The productivity of developers will be enhanced by: –  Additional memory (4GB minimum) –  Large displays (24") –  SSDs (or at minimum 7200RPM or Hybrid HDD) –  Faster CPUs Image: Arvind Balaraman / FreeDigitalPhotos.net
  • 28. 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs - Performance Virus scanners: •  Potentially major silent killer of JDeveloper performance •  McAfee virus scanner worst offender •  Ensure to put in appropriate Java exemptions •  Get ready for a fight with enterprise policy bureaucrats
  • 29. 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs - Browsers •  Preconfigure PCs with every browser possible –  Enterprise apps: even test with browsers that aren’t corporate standard to identify issues early –  Encourage developers to use a different browser each day –  Previous versions of IE may require VMs as they can't coexist –  Consider same setup for QA PCs as well –  Consider browser extensions such as Firebug
  • 30. 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Developer PCs – Other Setup Options Consider preconfigured virtual machines
  • 31. 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Source Code •  Log an Oracle Support Request •  Make available on your local network •  In JDeveloper source editor provides: –  Quick JavaDoc lookup –  Meaningful parameter insight •  Debugger –  Allows breakpoints and to see values in Oracle source •  Configure: http://bit.ly/adfdevguide111210s3681 •  See Support Note: 971256.1
  • 32. 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Program Agenda •  Team Size, Roles, Expertise •  Developer Tools •  Developer PCs •  Database & WLS Setup for Development Environments
  • 33. 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Development Environment Setup •  Later parts of course will consider server topologies and more •  What infrastructure do we need to get development rolling? Image: Renjith Krishnan / FreeDigitalPhotos.net
  • 34. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Development/Test/Production Environments •  Enterprises typically support 3 types of platforms to assist development: development/test/production •  Typically one set per system or application •  Change control process –  Enhancement & bug fixes recorded in change control system –  Allocated to developers on approval –  Are never applied straight to production –  First developed in “development” –  Once completed tested in (1 of many) “test” environments –  Once ready migrated to “production” for users Production Test Development
  • 35. 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Development/Test/Production Environments •  Development/test/prod considerations –  Ownership of each environment –  Change control procedures –  Change control software –  Who manages patching/updating –  Team communications & notifications Production Test Development
  • 36. 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Development Environment •  Development environment –  Typically 1 per system –  Developers share & work with code in development –  Little administrative control, backups not always required –  Code can be inherently bug prone, incomplete, the wrong version, experimental –  Required early on in system lifecycle Production Test Development
  • 37. 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Testing Environments •  Testing environment(s) –  Code formally released from development for testing –  One of a number of environments, e.g. • QA testing, nightly sanity build & deployments, automated regression testing, user acceptance testing, load/stress testing, release testing –  Ideally rebuilt from production regularly –  Ideally a duplicate of production systems + changes –  Not required at the beginning of system lifecycle –  However ideally should be built early on Production Test Development
  • 38. 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Production Environments •  Production environment –  Most important environment –  Strict administrative controls –  Backups critical –  Code only migrated once passed all tests –  Single point of truth for “released” development code Production Test Development
  • 39. 39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Environments •  Each environment split into database and WLS •  Test/production environments inherently more complex (e.g. LDAP servers, web servers, clustering. Covered later in course) Production Test Development
  • 40. 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF Environments •  ADF applications on the same ADF Runtimes can share WLS environments •  But different ADF Runtimes require different WLS servers Production Test Development
  • 41. 41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF “Database” Environments •  Database changes can have large impact on ADF developers •  Options –  One development database only –  Separate database per team –  Separate database per developer PC •  Who manages patches/updates? Development
  • 42. 42 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ADF “WLS” Environments •  Development WLS may be unnecessary as developers have an integrated WLS with JDeveloper •  Counter arguments –  A dedicated development environment gives developers another environment to play and collaborate –  Integrated WLS doesn’t reflect production WLS environments –  Sharing web service development required dedicated WLS Development
  • 43. 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. How do Independent Software Vendors support clients on multiple releases? How to support multiple releases? Do we keep development and test servers for each release? How do we deal with outmoded hardware, O/S, servers tech? What about production copies to test against? Image: imagerymajestic/ FreeDigitalPhotos.net
  • 44. 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Image: imagerymajestic/ FreeDigitalPhotos.net I was just on the phone with our local Oracle sales office. They want to sell us a full Oracle cloud based solution for our development efforts. Can it really do everything we need?
  • 45. 45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Conclusion •  Medium to large scale ADF projects require: –  Experienced and trained staff, including non technical –  Standardized & documented development PCs & infrastructure –  Available tools and expertise –  Documented processes and procedures –  And planning to put all these in place –  You wont have a lot to show, but are essential for successful ADF projects
  • 46. 46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Further Reading •  Sten Vesterli’s Oracle ADF Enterprise Application Development Made Simple
  • 47. 47 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.