Managing Large Application Development using Oracle Application Express - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

Managing Large Application Development using Oracle Application Express

Description:

Maintain Content (keep it fresh and relevant) Encourage User Contributions ... Rarely kicks sand into other's faces. Determine Security Requirements ... – PowerPoint PPT presentation

Number of Views:187
Avg rating:3.0/5.0
Slides: 33
Provided by: ora3
Category:

less

Transcript and Presenter's Notes

Title: Managing Large Application Development using Oracle Application Express


1
Managing Large Application Development using
Oracle Application Express
  • David Peake
  • Product Manager, Database Tools
  • (david.peake_at_oracle.com)

2
Agenda
  • Background
  • Defining Large Applications
  • Project Staffing
  • Before you begin
  • Initial steps
  • Pilots and Proof of Concepts
  • Building the Solutions
  • Performance Considerations
  • Integration with Other Tools
  • Deployment
  • Conclusion
  • QA

3
Background
  • Oracle Consultant for 13 years
  • 5 years on 1 x Oracle Forms / Designer Project
  • 4 years on 1 x Oracle Application Express Project
  • Lead development team
  • Team included Oracle Consultants, Contractors,
    and Employees
  • Involved from Initial Analysis / Design through
    to Post-Production Support and Maintenance
  • Designed solutions
  • Built Applications
  • Trained team members
  • Put out fires

4
The Project
  • Approximately 1000 individual Applications
  • Enterprise-wide OLTP System for Large Law
    Enforcement Agency
  • Thousands of concurrent users
  • True 24 x 7 Operations (Even Training)
  • Four separate development teams with up to 50
    developers
  • Many cross-team links / co-developed processes
  • Large number of common entities (Addresses,
    People Contact Details,etc.)
  • Still growing

5
How Large Applications Differ
  • Total project size gt 100 applications working as
    one suite.
  • Solve complete business processes end-to-end
  • Large number of stakeholders
  • Mixed environments
  • Complex Requirements
  • Large teams of developers working concurrently
  • Performance considerations
  • Rollouts are not easy
  • Coordination is critical

6
Large Applications
  • Integrated APEX applications working seamlessly
    together
  • Consistent Development practices
  • Complex Data Model(s) Many shared entities
  • Numerous common functions / procedures
  • Major Reporting requirements
  • Integration with other tools
  • Other applications interacting with the Database
  • Extensive back-end processing

SCOPE CREEP
7
Project Staffing Types of Experience
  • Project Initiation Resources
  • Project Manager Project Duration
  • System Architect
  • Expert in Oracle Database Configuration Sizing
  • Security Specialist
  • Knowledgeable in Corporate security
  • Expert in Oracle Security
  • GUI Expert Project Duration
  • HTML Guru
  • Experience with CSS, Javascript, AJAX, DHTML
    Critical
  • SQL Experience Optional
  • Data Modeller at least through Design Phase
  • EXPERT at designing large application data models

8
Project Staffing Types of Experience
  • Design Phase Resources
  • Team Leads Project Duration
  • Experienced practitioners - Writing
    Specifications, etc.
  • Excellence conducting JADs, running POCs
  • PL/SQL Knowledge
  • APEX an advantage but not critical
  • Industry Knowledge a distinct Advantage
  • Lead Developers Project Duration
  • Experienced building Proof of Concepts
  • PL/SQL Expert
  • At least some APEX experience
  • Ability to Train / Mentor other team members

9
Project Staffing Types of Experience
  • Build Phase
  • Developers Numbers as required
  • SQL Experience
  • PL/SQL a definite advantage
  • Oracle Forms developers adapt very readily
  • Able to work in a team environment
  • Willing to follow standards and specifications
  • Numbers and personnel will continually fluctuate
  • Remote Developers CAN Work Very Well

How long until my Developers should be
Productive?
10
Project Staffing Types of Experience
  • Test Phase
  • Quality Assurance experts
  • Experience writing test specifications
  • Prepared to raise issues when standards not
    followed
  • Documentation expert
  • Ability to write User Guides
  • Ability to write On-line Help
  • Training Phase
  • Trainers
  • Ability to construct training sessions
  • Ability to create Viewlets
  • Ability to communicate with End-Users

11
Project Staffing Responsibilities
  • Systems Architect
  • Design and implement Environments (Dev, Test,
    etc.)
  • Develop Capacity Plan
  • Security Specialist
  • Document Security Standards for Developers
  • Design and Implement Security practices for
    End-Users
  • GUI Expert
  • Implement Look and Feel Modify Templates,
    etc.
  • Develop Javascript, AJAX, DHTML Components
  • Data Modeller
  • Work closely with the Teams and DBAs
  • Ensure cohesive database design Not easy
  • Enforce database naming standards
  • Determine and implement partitioning strategy

12
Project Staffing Responsibilites
  • Team Leads / Lead Developers
  • Manage developers
  • Coordinate with PM, other Team Leads, etc.
  • Write Specifications
  • Design and build POCs
  • Train / Mentor Developers
  • Developers
  • Follow standards
  • Implement Applications based on Specifications
  • Ignore the two points above and do some cool
    stuff that is totally outside of scope

13
Project Staffing Training the Development Team
  • New to APEX
  • Oracle University Course(s)
  • http//otn.oracle.com/apex
  • Oracle By Example (OBE)
  • User Guide / Advanced Tutorials
  • Books / Forum
  • Consulting Companies
  • Drill into EVERYONE the importance of Standards
  • Explain the Methodolgy
  • Set Expectations regarding Deliverables / Testing
    /
  • Walk through of Existing and Common Components
  • Give them something easy to get their feet wet

14
Before you Begin
  • Standards, Standards, Standards,
  • Application Security
  • Application Naming Standards
  • Application Numbering / Groups
  • Page Numbering
  • Item Naming
  • UI Standards BE DRACONIAN
  • Screen Design
  • List of Values
  • Display Characteristics - Pagination, Sorting,
    etc.
  • Formatting Dates, Numbers, Phone Numbers, etc.
  • Application Components
  • Query / Detail Screens

15
Before you Begin
  • Application Components ( Continued)
  • Summary Pages
  • Reporting / Charting
  • Branching
  • PL/SQL Components
  • Naming Conventions
  • Headers
  • APIs
  • Use of Common Packages
  • Development Standards
  • Testing
  • Deployment
  • Change Requests

16
Before you Begin
  • Methodology
  • Agree upon Development Approach
  • Prototyping / Proof of Concept / JAD Sessions
  • Change Control
  • Testing / Sign-Off Procedures
  • Training Procedures
  • Roll-out Procedures
  • Create Documentation Templates and Guidelines

17
Initial Steps
  • Configure Environments
  • Define Topology
  • Size Environments
  • Procure Hardware / Software
  • Install Oracle Application Express
  • Define APEX Administrators / Developers
  • Install / Configure Middle Tier
  • Configure / Define Security
  • Integrate Corporate Security
  • Implement Developer Security Rights
  • Define Authorization Standards
  • Define Development Security Standards

18
Initial Steps
  • Look and Feel
  • Determine Theme(s)
  • Customize Templates only where Essential
  • Create Sample Screens as Guidelines
  • Navigation Style
  • Menu Type / Layout
  • Breadcrumbs
  • Tab Design / Levels
  • Navigation Bar

19
Initial Steps
  • Initial Data Model
  • Review existing model(s)
  • Define Common Entities
  • People / Customers /
  • Addresses
  • Define Code Tables
  • Define Partitioning Strategy
  • Define Archiving / Aging of Data

20
Proof of Concepts and Pilots
  • Proof of Concepts
  • A picture / 1,000 words
  • Screen mock-ups with working navigation
  • Demonstrates workflow
  • Address UI Issues
  • Explore Usability Issues
  • Integrate into Detailed Specifications
  • Use Pilots when
  • Requirements are sketchy
  • Significant business process change is involved
  • Integrating multiple tools
  • Dealing with outside Companies
  • Substantial User Training is required

Low Cost Disposable
21
Building the Solutions
  • 1 Get Database Design CORRECT
  • Rapid Application Development
  • Incremental deliverables better than Big Bang.
  • Dont get into Analysis Paralysis
  • Keep key Users involved throughout
  • Update Datamodel rather than workaround bad
    design
  • Use the speed of development using APEX
  • Ensure Testing is not an afterthought
  • Provide Training / User Guides / Viewlets /
    Online Help

MANAGE EXPECTATIONS
22
Building the Solutions
  • Common Components
  • Menus
  • Applications
  • List of Values
  • Search Screens
  • Packages
  • Authorization
  • Manage them closely
  • Expected delivery timeframes
  • Differences in Environments
  • Dependencies
  • Dont be afraid to shuffle versions
  • Coordination is key

Downtime Requirements
23
Building the Solutions
  • Dashboards
  • Important Launch Pads
  • Make Common functions available
  • Different content for different People
  • Job Function
  • Security Rights
  • Informative at a glance
  • Charts
  • Top 10 Xs
  • Scrolling Marquee
  • Great for Broadcasting News / Announcements
  • Maintain Content (keep it fresh and relevant)
  • Encourage User Contributions

24
Building the Solutions
  • Multiple Applications Vs Multiple Pages
  • Called from multiple Applications
  • Parameter Passing
  • Return URL
  • OR Self-Contained business function
  • Maintenance considerations
  • Multiple Page Data Entry Forms Vs One Very Long
    Page
  • Used by Standard Users
  • OR Used by Data Entry Operators
  • Insert / Maintain Data
  • Beware the number of clicks

25
Building the Solutions
  • Multiple Teams Multiple Developers
  • Consistency CRITICAL
  • Not just same Look and Feel
  • Same way of doing business
  • Object Placement
  • Object Labels
  • Actions Performed

Backport Changes if Necessary
  • Can multiple developers work on one Application?
  • YES
  • Should they?
  • MAYBE

26
Performance Considerations
  • At some point the Applications will probably run
    slow
  • Diagnose the Problem First
  • Determine where the bottleneck is
  • PC
  • Network
  • Middle-Tier
  • Database
  • Disk
  • Check Database Health
  • SGA
  • CPU Utilization
  • Locks
  • Database Parameters

27
Performance Considerations
  • DBAs will assume APEX as APEX running slow
  • What else is running?
  • Legacy Applications
  • Batch Programs
  • Database Jobs
  • Slow Running SQL
  • Use standard Performance Tuning techniques
  • Use Collections
  • Use Wait Bar
  • Prevent Multiple Clicks
  • 80 / 20 Rule -gt Dissect the business
    requirement(s)
  • Additional Screens
  • Examine Datamodel

28
Integrating with Other Tools
  • APEX plays well with others!
  • Is friendly and happy to talk to others
  • Happy to share and be a Team player
  • Rarely kicks sand into others faces
  • Determine Security Requirements
  • Identify level of Integration Required
  • Identify what Parameters need to be exchanged
  • Determine the Process Flow between the tools
  • Coordinate schedules / deliverables

29
Deployment
  • Examine Dependencies carefully
  • Other Applications
  • Common Components
  • Database Elements
  • Other Tools
  • Determine Downtime Requirements
  • Implement Applications and Supporting Objects
  • Load / Migrate Data
  • Manage End-Users
  • Grant Security Rights
  • Provide Links
  • Monitor Performance

30
Conclusion
  • Much Like any Large Application Development
  • Standards
  • Methodology
  • Coordination and Management
  • Scope Creep
  • 1 Data Model
  • CONSISTANCY

Does the Solution Solve the Business Requirements
  • BUT Some Differences
  • Productivity of Development Staff
  • Utilization of Common Components Differs
  • Use the declarative nature of APEX to your
    advantage
  • Just because you can develop Applications quicker
    than the users can think of them doesnt mean you
    should

31
Q

A
32
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com