BN.com Gift Guide

Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 95%)
Other sellers (Paperback)
  • All (14) from $1.99   
  • New (7) from $32.50   
  • Used (7) from $1.99   

Overview

"The potential impact of this book cannot be overstressed. Software systems that are not continually and adequately evolved and, in particular, legacy systems that have not been so maintained, can threaten an organization's very survival. I recommend the book as a must for people directly involved in such evolution, whether as customers, managers and resource providers, or as implementers."

--M. M. Lehman, Emeritus Professor, Middlesex University

Businesses inevitably face a critical choice in the design and maintenance of their software systems: Dismantle older systems and completely replace them, or incrementally modernize existing systems. Many businesses choose the latter course, seeking to maximize their existing investment and preserve valuable business knowledge, while adapting to rapidly evolving technologies. Modernizing Legacy Systems is a much-needed guide, showing how to implement a successful modernization strategy and describing specifically a risk-managed, incremental approach--one that encompasses changes in software technologies, engineering processes, and business practices.

Key topics include:

  • Making a case for modernization
  • Understanding requirements and constraints
  • Maintaining performance, data integrity, and security
  • Designing and deploying the target architecture
  • Migrating code and data
  • Estimating costs
  • Planning the modernization effort

For every topic, this book presents current standards and available products that support legacy system modernization. In addition, a large retail-supply-system case study--a system written in COBOL being modernized to one based on the J2EE architecture--runs throughout this book to demonstrate a real-world legacy system modernization effort.

0321118847B01232003

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Like cars that become “used” as soon as you drive off the lot, today’s software systems seem to become “legacy” almost instantaneously. IT organizations are making huge investments in rejuvenating legacy systems. But many modernization projects fail, often spectacularly. Modernizing Legacy Systems shows how to do the job right.

This book’s authors come from the Software Engineering Institute -- the center of the universe when it comes to software development processes and software quality. They’ve seen it all. And they’ve synthesized it all into lessons and techniques that encompass technology, process, and business issues.

You’ll start by comparing your options for modernization, and the issues associated with each: “white-box” modernization which messes with the internals, “black-box” modernization, which attempts to leave them alone; replacement, retargeting, user interface revamping, and so forth. Then, using a fictional “Retail Supply System” case study that draws upon dozens of actual projects, they walk through the entire modernization process.

You’ll master Risk Managed Modernization (RMM), a process for continually assessing what can go wrong, and planning in advance to mitigate those risks. You’ll then systematically address architectural transformation, language migration (in this case, from COBOL to Java/J2EE), transactional issues, and middleware (this case study uses IBM’s WebSphere MQSeries). You’ll plan for both code and data migration, estimate resource requirements, build an integrated modernization plan -- and, finally, review the high-level principles that lead to lower risk and better results. Bill Camarda

Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.

Read More Show Less

Product Details

  • ISBN-13: 9780321118844
  • Publisher: Addison-Wesley
  • Publication date: 2/28/2003
  • Series: SEI Series in Software Engineering Series
  • Edition description: New Edition
  • Pages: 332
  • Sales rank: 867,393
  • Product dimensions: 6.30 (w) x 9.10 (h) x 0.90 (d)

Meet the Author

Robert Seacord began programming (professionally) for IBM in 1982 and has been programming in C since 1985, and in C++ since 1992. Robert is currently a Senior Vulnerability Analyst with the CERT/Coordination Center at the Software Engineering Institute (SEI). He is coauthor of Building Systems from Commercial Components (Addison-Wesley, 2002) and Modernizing Legacy Systems (Addison-Wesley, 2003). The CERT/CC, among other security-related activities, regularly analyzes software vulnerability reports and assesses the risk to the Internet and other critical infrastructure.

Daniel Plakosh is a senior member of the technical staff in the COTS-Based Systems initiative at the SEI. Prior to joining the SEI, he was the lead software engineer for the Systems Engineering Department at the Naval Surface Warfare Center (NSWCDD).

Grace A. Lewis is a member of the technical staff at the SEI. Before joining the SEI, she was Chief of Systems Development for Icesi University in Cali, Colombia.

Read More Show Less

Read an Excerpt

Software systems become legacy systems when they begin to resist modification and evolution. However, the knowledge embodied in legacy systems constitutes a significant corporate asset. Assuming that these systems still provide significant business value, they must then be modernized or replaced. This book describes a risk-managed approach to legacy system modernization that applies a knowledge of software technologies and an understanding of engineering processes within a business context.

Audience

Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices should be useful to anyone involved in modernizing a legacy system.

  • For a software engineer, the book should help you understand some of the larger business concerns that drive a modernization effort.
  • For a software designer, this book should help you understand the impact of legacy code, coupled with incremental development and deployment practices, on design activities.
  • For a system architect, this book explains the processes and techniques that have failed or succeeded in practice. It should also provide insight into how you can repeat these successes and avoid the failures.
  • For an IT manager, this book explains how technology and business objectives influence the software modernization processes.

In particular, the book should help you answer the following questions:

  • When and how do I decide whether a modernization or replacement effort is justified?
  • How do I develop an understanding of the legacy system?
  • How do I gain an understanding of, and evaluate the applicability of, information system technologies that can be used in the modernization of my system?
  • When do I involve the stakeholders, and how can I reconcile their conflicting needs?
  • What role does architecture play in legacy system modernization?
  • How can I estimate the cost of a legacy system modernization?
  • How can I evaluate and select a modernization strategy?
  • How can I develop a detailed modernization plan?
Organization and Content

Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices shows how legacy systems can be incrementally modernized. It uses and extends the methods and techniques described in Building Systems from Commercial Components Wallnau 01 to draw on engineering expertise early in the conceptual phase to ensure realistic and comprehensive planning.

This book features an extensive case study involving a major modernization effort. The legacy system in this case study consists of nearly 2 million lines of COBOL code developed over 30 years. The system is being replaced with a modern system based on the Java 2 Enterprise Edition (J2EE) architecture. Additional challenges include a requirement to incrementally develop and deploy the system. We look at the strategy used to modernize the system; the use of Enterprise JavaBeans, message-oriented middleware, Java, and other J2EE technologies to produce the modern system; the supporting software engineering processes and techniques; and the resulting system.

Chapter 1 provides an introduction to the challenges and practices of software evolution. Chapter 2 introduces the major case study in the book. Chapter 3 introduces the risk-managed modernization (RMM) approach, which is elaborated in Chapters 4 through 17 and illustrated by the case study. At the beginning of Chapters 4 through 17, we provide an activity diagram of RMM as a road map to the chapter. Chapter 18 provides some recommendations to help guide your modernization efforts, although these recommendations cannot be fully appreciated without reading the main body of the book.

Throughout this book, we use the Unified Modeling Language (UML) to represent architecture drawings and design patterns. A brief introduction to UML is provided in Chapter 6.

Updated information, events, and news related to Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices can be found at http://www.sei.cmu.edu/cbs/mls.

Read More Show Less

Table of Contents

Preface.

1. The Legacy Crisis.

Modernization Challenges.

Complexity.

Software Technology and Engineering Processes.

Risk.

Commercial Components.

Business Objectives.

How Did We Get Here?

The Legacy Crisis.

Evolving Legacy Systems.

Maintenance.

Modernization.

Replacement.

Software Reengineering.

Retargeting.

Revamping.

Commercial Components.

Source Code Translation.

Code Reduction.

Functional Transformation.

Incremental Development and Deployment.

Summary.

For Further Reading.

2. The Beast.

The Retail Supply System.

Database.

User Interface.

Transactions.

Recent History.

Web Enablement.

Reports.

Summary.

3. Risk-Managed Modernization.

Risk Management.

Portfolio Analysis.

Identify Stakeholders.

Understand Requirements.

Create the Business Case.

Understand the Legacy System.

Understand Existing Software Technologies.

Evaluate Technology.

Define Target Architecture.

Define Modernization Strategy.

Reconcile Modernization Strategy with Stakeholders.

Estimate Resources for Modernization Strategy.

Summary.

4. Developing the Business Case.

Where Are We?

Identify Stakeholders.

Understand Requirements.

Requirements.

Constraints.

RSS Requirements.

New Functionality.

Architecture Compliance.

Incremental Development and Deployment.

Modernization Goals.

Create a Business Case.

General Structure and Contents.

Incremental Modernization.

The RSS Business Case.

Problem Statement.

Solution.

Risks.

Benefits.

Summary.

For Further Reading.

5. Understanding the Legacy System.

Where Are We?

The Context for Program Understanding: The Horseshoe Model.

Code Transformations.

Functional Transformations.

Architectural Transformations.

Reconstruction.

Code-Structure Representation.

Function-Level Representation.

Architecture-Level Representation.

Architecture Reconstruction.

Issues.

Tool Support versus Manual Effort.

Decompilation/Disassembly.

Summary.

For Further Reading.

6. Architecture Representation.

Where Are We?

Purpose of Architecture Representation.

Architecture Representation Requirements.

Views of the System.

Levels of Granularity.

Architectural Views.

Module Views.

Component-and-Connector Views.

Deployment View.

Additional Considerations.

System Context.

Hybrid Views.

Summary.

For Further Reading.

7. Languages and Data Management.

Where Are We?

COBOL.

History.

General Structure.

Arithmetic.

Variables.

Calling and Parameter Passing.

Composing Source Files.

Obsolete Language Features.

Standards.

Products.

Java.

History.

General Structure.

The Java Platform.

Characteristics of the Java Language.

Types of Java Programs.

Java Application Programming Interfaces (APIs).

Products.

Data Repositories.

Database Management Systems.

Data Warehouses.

Standards.

Products.

Data Representations for Information Exchange.

EDI.

XML.

Standards.

Products.

Summary.

8. Transaction Technology.

Where Are We?

Distributed Communication.

Transactions.

Flat Transactions.

Flat Transactions with Save Points.

Chained Transactions.

Closed Nested Transactions.

Open Nested Transactions.

Multilevel Transactions.

Distributed-Access Transactions.

Distributed Transactional Operations.

Distributed-Transaction Model.

Resource Manager Component.

Communication Resource Manager Component.

Transaction Manager Component.

Application Components.

Queued-Transaction Model.

Comparison of Transactional Models.

Standards.

Products.

Summary.

9. Software Infrastructure.

Where Are We?

Enterprise JavaBeans.

Enterprise JavaBean Types.

Persistence for Entity Beans.

Support for Transactions.

Security.

Products.

Message-Oriented Middleware.

Messages.

Queues.

Queue Manager.

Triggers.

Message Queue Interface.

Transaction Support.

Products.

Java 2 Enterprise Edition.

J2EE Services.

Deployment.

XML Messaging.

XML Messaging Components.

BizTalk.

Electronic Business XML.

Open Applications Group Integration Specification.

RosettaNet.

How These Standards Relate.

Other Standards Related to XML Messaging.

Summary.

10. Maintaining Transactional Context.

Where Are We?

Model Problem: Retail Supply System.

Contingency Planning.

MQSeries.

Object Transaction Service.

Oracle Pro*Cobol.

Net Express.

Definition of the Model Problem.

Solution of the Model Problem.

Design of the Model Solution.

Building the Test Adapter.

Evaluation.

Summary.

11. Business Object Integration.

Where Are We?

A Tale of Two Architectures.

J2EE Architecture.

B2B Architecture.

Quality Attributes.

Performance.

Security.

Availability.

Data Integrity.

Modifiability.

Portability.

Reusability.

Integrability.

Summary.

12. Target Architecture.

Where Are We?

Forces Affecting the Architecture.

Data Requirements.

Organizational Requirements.

Technology Requirements.

Overview of the Architecture.

Application Components.

Business Objects.

Service Components.

Data Components.

Wrapper Components.

BSR Interface.

Architectural Patterns.

Data Access Involving One Business Object.

Data Access Involving More Than One Business Object.

Report.

Ad Hoc Query.

Roll-Ups.

Batch Roll-Up.

Continuously Updated Roll-Up.

Transactions.

Data Warehouses.

Summary.

13. Architecture Transformation.

Where Are We?

Data Adapters.

Data Replication.

Data-Access Layer.

Database Gateway.

Hybrids.

Comparison.

Logic Adapters.

Object-Oriented Wrapping.

Component Wrapping.

Comparison.

Architecture Transformation Strategy.

Code Migration.

Data Migration.

Deployment Strategy.

Componentization Trail Maps.

Use of Adapters in RSS.

Summary.

14. System Preparation.

Where Are We?

Analysis of Alternatives.

Plan 1: DMS on OS 2200.

Plan 2: RDMS on OS 2200.

Plan 3: Oracle on the Solaris Platform.

Plan 4: Everything on the Solaris Platform.

Plan 5: Everything on Solaris+.

Evaluation of Alternatives.

Summary.

15. Code and Data Migration.

Where Are We?

Structural Analysis.

Initial Plan.

Revised Plan.

Code Migration Plan.

Data Migration Plan.

Summary.

16. Integrated Plan.

Where Are We?

Reconciliation Objectives.

Reconciliation Plan.

Stakeholder Priorities.

User Representatives.

Architecture Team.

Legacy System Maintainers.

Management.

Observations.

Stakeholder Ideal Profiles.

User Representatives.

Architecture Team.

Legacy System Maintainers.

Management.

Stakeholder Consensus Meetings.

Code-Migration Prioritization Results.

Summary.

17. Resource Estimation.

Where Are We?

Cost Estimation Overview.

Function-Based Estimation.

Task-Based Estimation.

Costing an Increment.

Legacy System Size.

Adapters.

Maintenance Costs.

Growth Factor.

Estimation of Cost and Duration.

Productivity Ratio Approach.

Cost Estimation Models.

Costing the Preparation Work.

Costing the Final Database Migration.

Data Collection.

Summary.

For Further Reading.

18. Recommendations.

Find a Better Way.

Use Commercial Components.

Manage Complexity.

Develop and Deploy Incrementally.

Software Engineering Skills.

Component-Centric Approach.

Architecture-Centric Approach.

High Levels of Concurrent Development.

Continuous Integration.

Risk-Managed Development.

Final Word.

References.

Acronyms.

Index. 0321118847T01242003

Read More Show Less

Preface

Software systems become legacy systems when they begin to resist modification and evolution. However, the knowledge embodied in legacy systems constitutes a significant corporate asset. Assuming that these systems still provide significant business value, they must then be modernized or replaced. This book describes a risk-managed approach to legacy system modernization that applies a knowledge of software technologies and an understanding of engineering processes within a business context.

Audience

Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices should be useful to anyone involved in modernizing a legacy system.

  • For a software engineer, the book should help you understand some of the larger business concerns that drive a modernization effort.
  • For a software designer, this book should help you understand the impact of legacy code, coupled with incremental development and deployment practices, on design activities.
  • For a system architect, this book explains the processes and techniques that have failed or succeeded in practice. It should also provide insight into how you can repeat these successes and avoid the failures.
  • For an IT manager, this book explains how technology and business objectives influence the software modernization processes.

In particular, the book should help you answer the following questions:

  • When and how do I decide whether a modernization or replacement effort is justified?
  • How do I develop an understanding of the legacy system?
  • How do I gain an understanding of, and evaluate the applicability of, information system technologies that can be used in the modernization of my system?
  • When do I involve the stakeholders, and how can I reconcile their conflicting needs?
  • What role does architecture play in legacy system modernization?
  • How can I estimate the cost of a legacy system modernization?
  • How can I evaluate and select a modernization strategy?
  • How can I develop a detailed modernization plan?

Organization and Content

Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices shows how legacy systems can be incrementally modernized. It uses and extends the methods and techniques described in Building Systems from Commercial Components Wallnau 01 to draw on engineering expertise early in the conceptual phase to ensure realistic and comprehensive planning.

This book features an extensive case study involving a major modernization effort. The legacy system in this case study consists of nearly 2 million lines of COBOL code developed over 30 years. The system is being replaced with a modern system based on the Java 2 Enterprise Edition (J2EE) architecture. Additional challenges include a requirement to incrementally develop and deploy the system. We look at the strategy used to modernize the system; the use of Enterprise JavaBeans, message-oriented middleware, Java, and other J2EE technologies to produce the modern system; the supporting software engineering processes and techniques; and the resulting system.

Chapter 1 provides an introduction to the challenges and practices of software evolution. Chapter 2 introduces the major case study in the book. Chapter 3 introduces the risk-managed modernization (RMM) approach, which is elaborated in Chapters 4 through 17 and illustrated by the case study. At the beginning of Chapters 4 through 17, we provide an activity diagram of RMM as a road map to the chapter. Chapter 18 provides some recommendations to help guide your modernization efforts, although these recommendations cannot be fully appreciated without reading the main body of the book.

Throughout this book, we use the Unified Modeling Language (UML) to represent architecture drawings and design patterns. A brief introduction to UML is provided in Chapter 6.

Updated information, events, and news related to Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices can be found at http://www.sei.cmu.edu/cbs/mls.

0321118847P01242003

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)