O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Rapid Modernization of Java Applications: Practical Business and Technical Solutions for Upgrading Your Enterprise Portfolio

Book Description

Implement a Java application portfolio modernization strategy that saves time, eliminates risk, and maximizes benefits

With Oracle’s promise to upgrade Java every 2-3 years and the compelling new features seen with each release, IT professionals must keep faster pace to stay competitive. The modernization process can be time-consuming, complicated, and unpredictable. Businesses that do not stay up-to-date with the Java platform leave themselves at risk for cyber-crime; performance issues; increased cost of application support and maintenance; and, ultimately, obsolescence. This volume provides a methodology that bridges the gap between corporate and technical concerns and enables management teams to understand technical requirements and vice versa.

Designed to save you time, money, and frustration, Rapid Modernization of Java Applications: A Practical Guide to Technical and Business Solutions offers a practical approach to managing and updating the Java application portfolio. The book covers application portfolio management methodology, creating rapid modernization tools and accelerators including assessment and automation tools. You will learn to identify and create application portfolios, manage the application portfolios, automate the migration of Java applications to the latest Java platform, undertake large-scale migrations by utilizing concepts such as wave planning, dependency analysis, and cost estimation.

  • Teaches how to effectively modernize Java applications in a confident and predictive manner
  • Presents a detailed methodology for portfolio management, application migration, and cost estimation
  • Teaches IT professionals how to cut maintenance time and regain valuable development time

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Dedication
  5. Contents
  6. Foreword
  7. Preface
  8. Acknowledgments
  9. Introduction
  10. 1 Java and the Enterprise
    1. Enterprise Adoption
    2. Challenges to Enterprise Adoption and Modernization
    3. Java on the Cloud
    4. Past, Present, and Future
    5. Emerging Languages
    6. Summary
  11. 2 The Life Cycle of a Java Application
    1. The Need for a New Application
    2. Application Life-cycle Management
    3. Business Case Establishment
    4. Application Development
    5. Operations
    6. Processes for Life-cycle Management
    7. Challenges and Risks to Enterprises
    8. Application Development and Operations (DevOps)
    9. Creating an Application Portfolio
    10. Application Characteristics
    11. Portfolio Creation Process
    12. Summary
  12. 3 Application Portfolio Management
    1. What Is Application Portfolio Management?
    2. Why APM?
    3. The Peer Disciplines of APM
    4. APM Magnified
    5. Continuous and Integrated APM Discipline
    6. Renovate
    7. Integrate
    8. Manage
    9. Application Portfolio Analysis
    10. Discover: Application Inventory and Data Collection
    11. Analyze: Application Assessment and Analysis
    12. Recommend: Initiatives Prioritization and Roadmap Definition
    13. Measuring Portfolio Performance
    14. Metrics Definition
    15. Success with Metrics
    16. Summary
  13. 4 Architecture Decomposition
    1. Enterprise Architecture Distilled
    2. Standard Approaches to EA
    3. The Architectural Layers in the APM Context
    4. Solution Architecture
    5. Application Architecture
    6. Information Architecture
    7. Architecture Decomposition
    8. Functional Decomposition
    9. Technical Decomposition
    10. Future State Architecture
    11. Business Capabilities Prioritization
    12. Success of APM
    13. Successful APM with EA
    14. EA and APM Interaction
    15. Summary
  14. 5 Legacy Java Modernization
    1. Legacy Application Portfolios
    2. Why Do Legacy Application Portfolios Exist?
    3. Reasons to Modernize Legacy Application Portfolios
    4. Business Drivers
    5. Modernization Options
    6. Migration
    7. Reengineering
    8. Package Implementations
    9. Application Decommissioning
    10. Modernizing Java Applications
    11. Migration
    12. Reengineering
    13. Summary
  15. 6 Java Modernization Approach
    1. Java Modernization Explained
    2. Establish a Java Application Portfolio
    3. Management of the Java Application Portfolio
    4. Analyzation Methodologies
    5. Assess the Java Application Portfolio
    6. Evolve the Java Application Portfolio
    7. Optimize the Java Application Portfolio
    8. Executing a Java Modernization Program
    9. Why Modernize Java Applications?
    10. Leveraging APM with EA
    11. Leveraging the Stakeholders
    12. Sustaining Modernization Through the EA Discipline
    13. Benefits of Modernizing a Java Application Portfolio
    14. Governance of a Java Application Portfolio
    15. Challenges of Modernization
    16. Summary
  16. 7 Automating the Assessment: Framework and Tools
    1. Framework and Tools to Automate Java Portfolio Assessment
    2. Conceptual Architecture and Process of Automating Assessment
    3. The Solution Stack Conceptual Enablement
    4. The Solution Stack for Java Portfolio Assessment
    5. Open-Source Tools for Application Analysis and Testing
    6. Commercial Tools for Source Code Analysis and Testing
    7. Automated Test Generation
    8. Rule Management and Execution
    9. Scope of Assessment Automation
    10. Summary
  17. 8 Building the Java Assessment Tool
    1. Introduction to PMD
    2. Installation and Setup
    3. Understanding XPath
    4. Creating Custom PMD Rule
    5. Advantages of Using PMD
    6. Introduction to Windup
    7. Installation and Setup
    8. Windup Features
    9. Custom Windup Rule Creation Process
    10. Advantages of Using the Windup Migration Tool
    11. PMD Rules vs. Windup Rules
    12. Migration to Java 9
    13. Summary
  18. 9 Java Application Migration
    1. The Migration Methodology
    2. Assessment Framework
    3. Application Characteristics
    4. Estimating Complexity
    5. Integration Readiness
    6. Organizational Resource Needs
    7. Prioritization
    8. Effort and Cost Estimation
    9. Migration Roadmap
    10. Application Scheduling and Bundling
    11. Pilot Selection
    12. Application Migration
    13. Work Streams and Program Management
    14. Pilot Migration
    15. Evolve Stage
    16. Optimize Stage
    17. Risk Mitigation and Risk Minimization
    18. Summary
  19. 10 Java Application Reengineering
    1. Services Platform Concept
    2. Service Portfolio Identification
    3. Guiding Principles of a Services Platform
    4. Core Services
    5. Services Platform Stack and Frameworks
    6. Services Platform Features
    7. On-boarding Java Applications as Services
    8. Summary
  20. 11 The Service Life Cycle
    1. Understanding the Service Life Cycle
    2. Service Providers
    3. Service Consumers
    4. Service Registry
    5. Service Deployment and Registration
    6. Service Discovery
    7. Service Consumption
    8. Service Governance and Management
    9. The Management Interface
    10. Service Versioning
    11. Service Registry Cleanup
    12. Service Analytics, Log, and Trace
    13. Summary
  21. 12 Java Portfolio Management
    1. Application Portfolio Governance
    2. Java Portfolio Governance Framework
    3. Policies and Standards
    4. Processes and Tools
    5. KPIs and Metrics
    6. Data Quality and Management
    7. Resources and Funding
    8. People and Execution
    9. KPIs and Metrics Implementation Strategy
    10. Deployment of Metrics
    11. Measuring Value and Returns
    12. Maturity Model
    13. Summary
  22. 13 Modernization Costing and Estimation
    1. The Costing and Estimation Meta Model (CEMM)
    2. Introduction to COCOMO II, the Constructive Cost Model
    3. Drivers for Modernization Costing
    4. Calculating and Quantifying Business Benefits
    5. Data Collection and Metrics for Building Costing Models
    6. Data Collection
    7. Metrics Identification
    8. Metrics and KPI Measurement
    9. Building and Executing an Estimation Model
    10. Top-Down vs. Bottom-Up
    11. Bottom-Up Costing with the Scalable Costing Framework (SCF)
    12. Phases of Execution
    13. Assumptions on Cost and Effort Estimation
    14. Issues Encountered in Measuring Returns
    15. Strategies for Strategic Advantage
    16. Summary
  23. 14 Approaches for Large-Scale Modernizations
    1. The Java Modernization Solution Platform
    2. Unmanageable Cost
    3. Redundancy and Duplication
    4. Ineffective Integration and Process Inconsistency
    5. Aging Java Application Portfolio
    6. The Solution Stack
    7. The Solution Stack Unpacked
    8. Large-Scale Modernizations
    9. Java Modernization Factory
    10. Factory Design and Operating Model
    11. Segmentation and Wave Planning
    12. The Pilot Wave
    13. Elastic Sourcing Model
    14. Guaranteeing Successful Java Modernizations
    15. Summary
  24. Index