COBOL Software Modernization - Franck Barbier - E-Book

COBOL Software Modernization E-Book

Franck Barbier

0,0
139,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Nowadays, billions of lines of code are in the COBOL programming language. This book is an analysis, a diagnosis, a strategy, a MDD method and a tool to transform legacy COBOL into modernized applications that comply with Internet computing, Service-Oriented Architecture (SOA) and the Cloud. It serves as a blueprint for those in charge of finding solutions to this considerable challenge.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 289

Veröffentlichungsjahr: 2015

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Contents

Acknowledgments

Acronyms

Introduction

I.1. Behind software modernization is “modernization”: the car metaphor

I.2. COBOL

I.3. Why the Cloud?

I.4. Legacy2Cloud

I.5. Human weight on successful modernization

I.6. This book’s structure

1. Software Modernization: a Business Vision

1.1. Software-based business

1.2. Information-driven business

1.3. The case of tourism industry

1.4. IT progress acceleration

1.5. Legacy world

1.6. Conclusions

2. Software Modernization: Technical Environment

2.1. Legacy system

2.2. Modernization

2.3. Software engineering principles underpinning modernization

2.4. Conclusions

3. Status of Cobol Legacy Applications

3.1. OLTP versus batch programs

3.2. Mainframes

3.3. Data-driven design

3.4. COBOL degeneration principle

3.5. COBOL pitfalls

3.6. Middleware for COBOL

3.7. Moving COBOL OLTP/batch programs to Java

3.8. COBOL is not a friend of Java, and vice versa

3.9. Spaghetti code

3.10. No longer COBOL?

3.11. Conclusions

4. Service-Oriented Architecture (SOA)

4.1. Software architecture versus information system urbanization

4.2. Software architecture evolution

4.3. COBOL own style of software architecture

4.4. The one-way road to SOA

4.5. Characterization of SOA

4.6. Conclusions

5. Soa in Action

5.1. Service as materialized component

5.2. Service as Internet resource

5.3. High-end SOA

5.4. SOA challenges

5.5. The Cloud

5.6. Conclusions

6. Model-Driven Development (MDD)

6.1. Why MDD?

6.2. Models, intuitively

6.3. Models, formally

6.4. Models as computerized objects

6.5. Model-based productivity

6.6. Openness through standards

6.7. Models and people

6.8. Metamodeling

6.9. Model transformation

6.10. Model transformation by example

6.11. From contemplative to executable models

6.12. Model execution in action

6.13. Toward Domain-Specific Modeling Languages (DSMLs)

6.14. Conclusions

7. Model-Driven Software Modernization

7.1. Reverse and forward engineering are indivisible components of modernization

7.2. Architecture-Driven Modernization (ADM)

7.3. ASTM and KDM at a glance

7.4. Variations on ASTM

7.5. From ASTM to KDM

7.6. Variations on KDM

7.7. Automation

7.8. Conclusions

8. Software Modernization Method and Tool

8.1. BLU AGE overview

8.2. The toolbox

8.3. BLU AGE as an ADM- and MDA-compliant tool

8.4. Modernization workflow

8.5. Conclusions

9. Case Study

9.1. Case study presentation

9.2. Legacy modernization in action

9.3. Annotations

9.4. Pattern definition

9.5. Transmodeling

9.6. Transmodeling complex functionalities

9.7. Application generation and testing

9.8. Conclusions

Bibliography

Index

First published 2015 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.

Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address:

ISTE Ltd27-37 St George’s RoadLondon SW19 4EUUK

www.iste.co.uk

John Wiley & Sons, Inc.111 River StreetHoboken, NJ 07030USA

www.wiley.com

© ISTE Ltd 2015

The rights of Franck Barbier and Jean-Luc Recoussine to be identified as the authors of this work have been asserted by them in accordance with the Copyright, Designs and Patents Act 1988.

Library of Congress Control Number: 2014955859

British Library Cataloguing-in-Publication DataA CIP record for this book is available from the British LibraryISBN 978-1-84821-760-7

Acknowledgments

The BLU AGE method and tool have been developed for more than 10 years with a significant investment in terms of involved researchers and engineers, as well as money. The authors of this book would like to thank all contributors and administrative enablers.

The BLU AGE method has been partly funded by the European Commission through the ReMiCS project (www.remics.eu), contract number 257793, within the 7th Framework Program.

The authors also wish to thank the following people (in alphabetical order) who provided contributions, ideas, feedback, etc., so that this book could become a reality: Christian Champagne, Olivier Le Goaer and Alexis Henry.

Note from Franck Barbier

As books are long odysseys, their elaboration is not only linked to technical thinking at work places. Seeking harmony in life, philosophy and deep exchanges with “profound people” are, among other sources of inspiration, strong factors of idea regeneration, stimulation. In this spirit, I strongly thank great thinkers (and thus indirect contributors), philosophers (?), inspiring the people of this book: Sophie (with infinite love!), Vincent (when bicycling and canyoning!), Bruno J. (within (too many?) long coffee breaks) and Bruno P. (within (definitely too many!) long body building exercises). Their presence, outreach, humanity simply, etc. help me a lot.

Acronyms

ADL

Architecture Description Language

ADM

Architecture Driven Modernization

API

Application Programming Interface

ASTM

Abstract Syntax Tree Metamodel

B2B

Business to Business

B2C

Business to Customer

BLU AGE

BLU Application GEnerator

BNF

Backus-Naur Form

BPMN

Business Process Model and Notation

BSP

BLU AGE Shared Plugin

CASE

Computer-Aided Software Engineering

CICS

Customer Information Control System

COBOL

Common Business-Oriented Language

CORBA

Common Object Request Broker Architecture

COTS

Commercial Off-The-Shelf

CRUD

Create, Read, Update, Delete

DAO

Data Access Object

DSMLs

Domain-Specific Modeling Languages

DTD

Document Type Definition

EAR

Enterprise Java Archive

EJB

Enterprise JavaBeans

EMF

Eclipse Modeling Framework

ERP

Enterprise Resource Planning

ESB

Enterprise Service Bus

ForTran

Formula Translation

FUML

Semantics of a Foundational Subset for Executable UML

HQL

Hibernate Query Language

IaaS

Infrastructure as a Service

IDE

Integrated Development Environment

IDL

Interface Description Language

IT

Information Technology

JAAS

Java Authentication and Authorization Service

JAR

Java Archive

Java EE

Java Enterprise Edition

JBI

Java Bus Integration

JNI

Java Native Interface

JMS

Java Message Service

JPA

Java Persistence API

JSL

Job Specification Language

JSF

JavaServer Faces

JSON

JavaScript Object Notation

JTA

Java Transaction API

JTS

Java Transaction Service

JVM

Java Virtual Machine

KDM

Knowledge Discovery Metamodel

MDA

Model-Driven Architecture

MDD

Model-Driven Development

MOF

Meta Object Facility

MVC

Model-View-Controller

NIH

Not-Invented-Here

OCL

Object Constraint Language

OLTP

On Line Transaction Processing

OMG

Object Management Group

PaaS

Platform as a Service

PDMs

Platform Description Models

PIMs

Platform-Independent Models

POJO

Plain Old Java Object

PSMs

Platform-Specific Models

QoS

Quality of Service

SaaS

Software as a Service

SASTM

Specialized ASTM

SCXML

State Chart XML

SBVR

Semantics of Business Vocabulary and Rules

SEI

Software Engineering Institute

SLA

Service-Level Agreement

SOA

Service-Oriented Architecture

SOAP

Simple Object Access Protocol

SME

Small and Medium Enterprise

SQL

Structured Query Language

UDDI

Universal Description Discovery and Integration

UI

User Interface

UML

Unified Modeling Language

WAR

Web Java Archive

WS-BPEL

Web Services Business Process Execution Language

WS-Choreography

Web Service Choreography

WSDL

Web Service Description Language

XMI

XML Model Interchange

Introduction

The digital economy is expanding faster and faster. This results from recurrent advances in information technology (IT). There is a virtuous circle such that, in turn, more and more (often unpredictable) innovative usages boost IT. These usages are social and, in a broad sense, economical. More generally, the impact of IT on business is immense nowadays.

In this dynamical context, two decades ago software became the premier economy sector in terms of revenue. Substantial overturning occurred: the progress and multiplication of operating systems (LINUX, Windows, OS X, etc.) and associated product lines (e.g. mobile variants), the development and increasing re(use) of open-source software, outsourcing in developing countries, etc. United States and Europe tried to keep their advanced positioning through “differential software engineering”: inventing new programming languages like Java or C#, new software development approaches like agile development, model-driven development (MDD), new software architecture paradigms like service-oriented architecture (SOA) and related middleware like Java Enterprise Edition (Java EE) or .NET and new computing paradigms like mobile computing, cloud computing or Internet computing as the superset of all modern computing paradigms.

However, a great paradox persists, as technological entry costs, human involvement, the acquisition of new technologies and take-up initiatives, etc., are not easily and straightforwardly controllable. In other words, the great majority of people and teams in software development continue to use “old” technologies. First, a very good reason for this is that information systems on the top of these cannot be thrown overboard. Second, development hides maintenance. Challenges relate to software evolution not to software creation, especially from scratch. Seacord in [SEA 02] highlights this point as follows: “For large enterprise systems, a strategy of design is a need. ”.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!