SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
Most organizations rely on complex enterprise information systems (EISs) to codify their business practices and collect, process, and analyze business data. These EISs are large, heterogeneous, distributed, constantly evolving, dynamic, long-lived, and mission critical. In other words, they are a complicated system of systems. As features are added to an EIS, new technologies and components are selected and integrated. In many ways, these information systems are to an enterprise what a brain is to the higher species--a complex, poorly understood mass upon which the organism relies for its very existence. To optimize business value, these large, complex systems must be modernized--but where does one begin? This book uses an extensive real-world case study (based on the modernization of a thirty year old retail system) to show how modernizing legacy systems can deliver significant business value to any organization.
Maintaining Transactional Replication
Modernizing Legacy Systems: A Retargeting Case Study
Risk-Managed Modernization of Legacy Systems
Click below for Sample Chapter(s) related to this title:
Sample Chapter
3
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.
The Retail Supply System.
Database.
User Interface.
Transactions.
Recent History.
Web Enablement.
Reports.
Summary.
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.
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.
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.
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.
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.
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.
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.
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.
Where Are We?
A Tale of Two Architectures.
J2EE Architecture.
B2B Architecture.
Quality Attributes.
Performance.
Security.
Availability.
Data Integrity.
Modifiability.
Portability.
Reusability.
Integrability.
Summary.
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.
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.
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.
Where Are We?
Structural Analysis.
Initial Plan.
Revised Plan.
Code Migration Plan.
Data Migration Plan.
Summary.
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.
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.
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.
Software systems become legacy systems when they begin to resist modification and evolution. However, the knowledge embodied in legacy systems constitutes significant corporate assets. Assuming these system 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.
AudienceModernizing Legacy Systems: Software Technologies, Engineering Processes and Business Practices should be useful to anyone involved in modernizing a legacy system.
In particular, it should help you answer the following questions:
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, 2001 to draw upon 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.
Chapters 1 of this book provides an introduction to the challenges and practices of software evolution and 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. Throughout Chapters 4 through 17 we provide an activity diagram of RMM as a road map to each 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 Modelling Language (UML) to represent architecture drawings and design patterns. A brief introduction to UML is provided in Chapter 6.
Click below to download the Index file related to this title:
Index