139,99 €
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:
Seitenzahl: 289
Veröffentlichungsjahr: 2015
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
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.
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.
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!
