Strategies For Deploying Java Applications In Your Enterprise Paper 36726 (9/8) @ 1:00PM - PowerPoint PPT Presentation

About This Presentation
Title:

Strategies For Deploying Java Applications In Your Enterprise Paper 36726 (9/8) @ 1:00PM

Description:

Compuware Corporation. Strategies For Deploying Java Applications In Your ... IT has learned its lesson with Y2K, but still feels they should drive technology ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 36
Provided by: stephenpk
Category:

less

Transcript and Presenter's Notes

Title: Strategies For Deploying Java Applications In Your Enterprise Paper 36726 (9/8) @ 1:00PM


1
Strategies For Deploying Java Applications In
Your EnterprisePaper 36726 (9/8) _at_ 100PM
People and software for business applications
  • Stephen Karniotis
  • Technical Alliance Manager Product Manager
  • Compuware Corporation
  • Stephen.Karniotis_at_Compuware.COM
  • www.Compuware.com

2
Session Agenda
  • Who is Compuware?
  • What are the typical application development and
    deployment pitfalls?
  • What are some production deployment pitfalls?
  • How to mitigate these problems?
  • What technology is available to help?
  • Summary

3
Compuware Overview
30 Year History -- 12,000 Employees 1.4 Billion
FY 03 -- 6th Largest SW Developer
Global Reach 46 Countries
Professional Services 2900 Customers
Software Products 28,000 Customers
4
OptimalView OptimalJ
Uniface FileAid
Vantage VantageView
Fault Manager
Reconcile TrackRecord PointForward
Application
Life Cycle
FileAid
DevPartner Java DevPartnerDB
QACenter Enterprise TestPartner
Application Expert QACenter
Performance Edition
5
Yesterdays Development Practices
  • Legacy
  • Limited number of platforms Mainframes or Large
    Severs
  • Limited development tools COBOL, PL/I or
    Assembler
  • Strict design, coding and deployment standards
  • Client/Server
  • Multiple disparate platforms tools available
  • Some standards, but ineffective across many of
    the platforms

6
Todays Technology Challenges
  • Web-centric
  • Very immature technology
  • Substantial number of platforms tools available
  • Standards lacking or are for limited number of
    technologies available
  • Multiple Development Methodologies
  • XP
  • BPI
  • Code centric vs. Rule centric

7
What Has Not Changed
  • Meeting business requirements and customer
    demands
  • Demonstrating customer value
  • Good customer experience
  • Sufficient return on investment
  • Positive impact and impressions for the enterprise

8
Where We Are Now
  • Perceived arrogance within IT
  • IT has learned its lesson with Y2K, but still
    feels they should drive technology requirements
  • Return on investment demanded, not suggested
  • Quality is absolute, not secondary
  • Leverage existing assets for all deployments

9
Quality
Cost
Time
10
Application Deployment Pitfalls
  • Forgot about the customer
  • Ignored the primary reason for the application
  • Straying from the requirements
  • Using cool stuff that really didnt work
  • Desired results never achieved

11
Look Familiar?
12
Design Development Pitfalls
  • Poor overall system design
  • Choice of technology too early in the process
  • Use of unproven or bleeding edge technology
  • Integration design insufficient
  • Poor application component design
  • Excessive use of resources (CPU, Memory, I/O)
  • Bad coding practices (unnecessary page
    refreshing, etc.)

13
Design Development Pitfalls
  • Standards dont exist
  • Immaturity of Java/J2EE is the common excuse
  • Research into industry standards ineffective
  • Lack of standards compliance
  • Too difficult
  • Too restrictive
  • Developer pursuit for creativity

14
Design Development Pitfalls
  • Poor testing strategies
  • Testing done in perfect situations
  • Failure testing never performed
  • Only valid data is used
  • Integration testing never performed
  • External application communication
  • Internal application communication
  • Test to fail versus test to succeed!

15
Production Deployment Pitfalls
  • Infrastructure unable to accommodate new load
  • Insufficient bandwidth available
  • Incomplete network infrastructure available
  • Extra load never defined as part of the
    deployment
  • Java/J2EE dependency on the network is documented
    and must be included

16
Production Deployment Pitfalls
  • Buggy deployments fixed in production
  • Directly correlated to lack of proper testing
  • Bugs are corrected only in production no
    testing of the bug fix performed
  • Corrections lost if hardware or software upgrades
    to infrastructure performed
  • Application outages
  • Caused by above!
  • Outages cost money time!!

17
Suggested Ways To Improve The Process
  • Production Deployment Strategies
  • Continual monitoring/managing
  • Continual load stress testing
  • Repair, test deploy
  • Development Strategies
  • Design before develop
  • Develop in phases
  • Test often
  • Utilize existing assets versus re-invention
  • Quality is king!
  • Testing strategies
  • Component Testing
  • String System Testing
  • Infrastructure Testing
  • Load Stress Testing

18
Design Before Develop
  • Complete business process definition
  • Model-Driven/Pattern Based Architecture
  • UML
  • Case Tool technology
  • Ignore technology-dependent issues
  • Complete application architecture
  • Resources and/or Services to provide
  • Resources and/or Services to consume
  • Complete integration architecture
  • Bi-directional communication, requirements, etc.
  • Complete application design generate base
    application

19
Develop Small Test Often
  • Develop components first
  • Establish common component repository for
    reusability
  • Modify design as code generation is modified to
    include common infrastructure components
  • Develop common infrastructure
  • Develop code-stubs
  • Test communication between each component before
    adding sophistication

20
Develop Small Test Often - How
  • Oracle JDeveloper 9i
  • IDE for creating Java/J2EE applications
  • Offers some business workflow/integration
    capabilities
  • Not a true modeling tool
  • Compuware OptimalJ
  • First to implement OMGs Model Driven
    Architecture
  • Technology agnostic application development tool
    for Java/J2EE centric applications
  • Implements Patterns for business processes and
    generates fully-functional applications based on
    a visual model

21
Improving Development Processes
  • OptimalJ
  • Reduces application development and deployment
    time by implementing a model-driven architecture
    for deploying J2EE applications
  • Allows Java Architects to construct the
    application architecture before code is
    generated or written
  • Can deploy Pattern-Based technologies to reduce
    the complexity or individuality within
    application development projects
  • Automatically generates all Oracle9iAS specific
    deployment descriptors

22
Strategic Benefits
  • Leverages technology investments within
    organization versus purchasing new technology to
    deploy to
  • Developing small helps capture coding problems
    early
  • Helps build the common repository for use by
    development teams
  • Tightens quality of code

23
Improving Application Quality
  • Component Testing
  • Validate the lowest level of the application
    before continuing
  • Validate feature/functionality from ALL points of
    entry
  • Validate code integration for/from all invocation
    points
  • Inspect and reduce consumption of resources
  • System (CPU, Memory, I/O)
  • Network (transmissions, packets, etc.)
  • Validate that code is executed properly and/or
    executed at all

24
Improving Through Testing
25
Strategic Benefits
  • Locate coding errors early
  • Helps isolate resource consumption problems much
    earlier
  • Helps create string and system test strategy
  • If the code is never executed, why does it exist
  • Resolve problems before the users do

26
Improving Application Quality
  • String System Testing
  • Complexity of Java/J2EE applications
  • Integration with external resources
  • Web Services sites
  • Internal applications (i.e. HR, Inventory,
    etc.)
  • External web sites (i.e. Credit Processing,
    etc.)
  • Testing individual transactions
  • Functional validation
  • Isolate both performance and functionality issues
    before deployment
  • Review individual components of specific
    transactions for either performance or
    functionality issues

27
Infrastructure Testing
  • Validate construction of infrastructure for
    application
  • Web Server
  • Application Server
  • Database Server
  • Validate
  • Interconnectivity
  • Communication
  • Performance
  • Failover

28
Load Testing Before Deployment
  • Critical step for enterprise-wide application
    deployments
  • Ensure application will withstand the load of
    the user community
  • Must test realistic transactions versus
    fictitious transactions
  • Test must be repeatable
  • Java application load testing critical for
    validating web interconnectivity

29
QACenter Performance Edition
30
Production Deployment Improvements
  • Managing Change Control
  • OEM Change Management Pack
  • OEM Diagnostics Pack
  • Strict Repair/Test/Resolve policies
  • Strict change management policies
  • Active monitoring of application performance
    after deployment
  • Planned load test operations during active hours
  • Passive monitoring after deployment
  • Planned load tests performed in the background

31
Production Deployment Improvements
  • Vantage
  • Application-level diagnosis for
  • Performance problems throughout the
    infrastructure
  • Performance issues related to individual
    application components
  • Resource consumption monitoring
  • Service level agreement management
  • Correlates data for a comprehensive view of the
    IT resources for applications

32
Technology Complements
 
33
Summary
  • Discussed traditional application development
    deployment pitfalls
  • Discuss how Java/J2EE applications are
    unfortunately positioned within these pitfalls
  • Discussed ways to improve application deployments
    through
  • Standards
  • Confronting the design issue
  • Ensuring quality
  • Stress before users rely on the application
  • Managing the deployment

34
Questions
  • Please complete the evaluations!!

35
Strategies For Deploying Java Applications In
Your EnterprisePaper 36726 (9/8) _at_ 100PM
People and software for business applications
  • Stephen Karniotis
  • Technical Alliance Manager Product Manager
  • Compuware Corporation
  • Stephen.Karniotis_at_Compuware.COM
  • www.Compuware.com
Write a Comment
User Comments (0)
About PowerShow.com