Software Reuse in the Emerging Cloud Computing Era Hongji Yang DeMontfort University, UK Xiaodong Liu Edinburg Napier University, UK Managing Director: Lindsay Johnston Senior Editorial Director: Heather A. Probst Book Production Manager: Sean Woznicki Development Manager: Joel Gamon Development Editor: Michael Killian Acquisitions Editor: Erika Gallagher Typesetter: Milan Vracarich, Jr. Cover Design: Nick Newcomer, Lisandro Gonzalez Published in the United States of America by Information Science Reference (an imprint of IGI Global) 701 E. Chocolate Avenue Hershey PA 17033 Tel: 717-533-8845 Fax: 717-533-8661 E-mail: [email protected] Web site: http://www.igi-global.com Copyright © 2012 by IGI Global. All rights reserved. No part of this publication may be reproduced, stored or distributed in any form or by any means, electronic or mechanical, including photocopying, without written permission from the publisher. Product or company names used in this set are for identification purposes only. Inclusion of the names of the products or companies does not indicate a claim of ownership by IGI Global of the trademark or registered trademark. Library of Congress Cataloging-in-Publication Data Software reuse in the emerging cloud computing era / Hongji Yang and Xiaodong Liu, editors. p. cm. Includes bibliographical references and index. ISBN 978-1-4666-0897-9 (hardcover) -- ISBN 978-1-4666-0898-6 (ebook) -- ISBN 978-1-4666-0899-3 (print & perpetual access) 1. Computer software--Reusability. 2. Cloud computing. 3. Service-oriented architecture (Computer science) I. Yang, Hongji. II. Liu, Xiaodong, 1966- QA76.76.R47S64586 2012 004.6782--dc23 2011048474 British Cataloguing in Publication Data A Cataloguing in Publication record for this book is available from the British Library. All work contributed to this book is new, previously-unpublished material. The views expressed in this book are those of the authors, but not necessarily of the publisher. Editorial Advisory Board & List of Reviewers William Chu, Tunghai University, Taiwan Xudong He, Florida International University, USA Zakwan Jaroucheh, School of Computing, Edinburgh Napier University, UK Dino Konstantopoulos, MITRE’s Center for Air Force Command and Control System, USA Sally Smith, School of Computing, Edinburgdh Napier University, UK Guifa Teng, Graduate School, Hebei Agricultural University, China Hong Zhu, Oxford Brooks University, UK Table of Contents Preface ....................................................................................................................................................x Acknowledgment .................................................................................................................................xii Section 1 Reuse Assets Chapter 1 Software Asset Re-Use: Migration of Data-Intensive Legacy System to the Cloud Computing Paradigm .................................................................................................................................................1 Richard Millham, University of Bahamas, Bahamas & Durban University of Technology, South Africa Chapter 2 Model Expansion in Model-Driven Architectures ................................................................................28 Tsung Lee, National Sun Yat-Sen University, Taiwan Jhih-Syan Hou, National Sun Yat-Sen University, Taiwan Chapter 3 Components and Frameworks in the Cloud Era ...................................................................................51 Dino Konstantopoulos, The MITRE Corporation, USA Mike Pinkerton, Northrop Grumman Corporation, USA Eric Braude, Boston University, USA Chapter 4 Service-Oriented Architecture: Adoption Challenges ...........................................................................70 Qusay F. Hassan, Mansoura University, Egypt Section 2 Reuse of Architecture, Infrastructure, Platforms, and Services Chapter 5 Reuse across Multiple Architectures ...................................................................................................107 Indika Kumara, WSO2 Inc, Sri Lanka Chandana Gamage, University of Moratuwa, Sri Lanka Chapter 6 Software Development Using Service Syndication Based on API Handshake Approach between Cloud-Based and SOA-Based Reusable Services ................................................................136 Vishav Vir Singh, Intersil Corporation, USA Chapter 7 Reuse across ESB Systems .................................................................................................................158 Indika Kumara, WSO2 Inc, Sri Lanka Chandana Gamage, University of Moratuwa, Sri Lanka Chapter 8 Information Feedback Based Architecture for Handling the Scalability Issues in the Reusable Cloud Components ..............................................................................................................186 Manjunath Ramachandra, Philips Innovation Campus, India Pandit Pattabhirama, Philips Innovation Campus, India Section 3 Reuse in Cloud Applications Chapter 9 Understanding Cloud Computing .......................................................................................................204 Qusay F. Hassan, Mansoura University, Egypt Alaa M. Riad, Mansoura University, Egypt Ahmed E. Hassan, Mansoura University, Egypt Chapter 10 Social CRM: Platforms, Applications, and Tools ...............................................................................228 Anteneh Ayanso, Brock University, Canada Chapter 11 Reusing Transaction Models for Dependable Cloud Computing .......................................................248 Barbara Gallina, Mälardalen University, Sweden Nicolas Guelfi, University of Luxembourg, Luxembourg Chapter 12 Goal-Based Requirements Elicitation for Service Reuse in Cloud Computing .................................278 Lin Liu, Tsinghua University, China Compilation of References ...............................................................................................................306 About the Contributors ....................................................................................................................324 Index ...................................................................................................................................................329 Detailed Table of Contents Preface ....................................................................................................................................................x Acknowledgment .................................................................................................................................xii Section 1 Reuse Assets Chapter 1 Software Asset Re-Use: Migration of Data-Intensive Legacy System to the Cloud Computing Paradigm .................................................................................................................................................1 Richard Millham, University of Bahamas, Bahamas & Durban University of Technology, South Africa This chapter examines the migration process of a legacy system, as a software-as-a-service model, to the Web and looks at some of the reasons that drive this legacy system migration. As migration is often a multi-step process, depending on the legacy system being migrated, the author outlines several tech- niques and transformations for each step of the migration process in order to enable legacy systems, of different types, to be migrated to the cloud. Chapter 2 Model Expansion in Model-Driven Architectures ................................................................................28 Tsung Lee, National Sun Yat-Sen University, Taiwan Jhih-Syan Hou, National Sun Yat-Sen University, Taiwan This chapter introduces a model expansion method that is used in a new methodology of model compo- sition and evolution for broad design domains. In the methodology, hierarchical model compositional relationships are captured in a model composition graph (MCG) as a schema of designs. An MCG schema can be used as a blueprint for systematic and flexible evolution of designs with three hierarchi- cal model refinement operations: expansion, synthesis, and configuration. Chapter 3 Components and Frameworks in the Cloud Era ...................................................................................51 Dino Konstantopoulos, The MITRE Corporation, USA Mike Pinkerton, Northrop Grumman Corporation, USA Eric Braude, Boston University, USA This chapter describes some of the most popular and innovative software reuse in the Cloud. By catego- rizing software in these dual categories, the authors glimpse the practices of source code, binary code, components, and frameworks that prime them for massive reuse and establish them as building blocks of software innovation. Chapter 4 Service-Oriented Architecture: Adoption Challenges ...........................................................................70 Qusay F. Hassan, Mansoura University, Egypt This chapter lists the most important challenges that might prevent adopters from successfully imple- menting SOA in their organizations, with the help of some recommended solutions. Furthermore, it presents a step-by-step implementation case study in order to teach beginners the best ways to apply SOA to their organizations. Section 2 Reuse of Architecture, Infrastructure, Platforms, and Services Chapter 5 Reuse across Multiple Architectures ...................................................................................................107 Indika Kumara, WSO2 Inc, Sri Lanka Chandana Gamage, University of Moratuwa, Sri Lanka This chapter describes the development of software systems having different architectures reusing most of the implementations of the required functionalities as-is. It presents a systematic process for craft- ing multi-architecture reusable components and for using those components in formulating software systems. Furthermore, the chapter highlights the significance of the strategic reuse across systems in three contemporary research spheres. Chapter 6 Software Development Using Service Syndication Based on API Handshake Approach between Cloud-Based and SOA-Based Reusable Services ................................................................136 Vishav Vir Singh, Intersil Corporation, USA This chapter follows the contours of evolution from object orientation to Cloud Computing and Service- oriented Architecture (SOA) to understand reusability in the context of service syndication based on the API handshake approach between diverse systems. Chapter 7 Reuse across ESB Systems .................................................................................................................158 Indika Kumara, WSO2 Inc, Sri Lanka Chandana Gamage, University of Moratuwa, Sri Lanka To produce several ESB variations successfully, a systematic reuse across ESB systems is crucial. Therefore, the commonality in ESB products, which is comprised mainly of ESB services, should be strategically exploited, and this chapter discusses an approach to realize it. The authors present a platform that can derive architecturally heterogeneous ESB products from reusable ESB services. Their approach for building the platform leverages aspect oriented programming. Chapter 8 Information Feedback Based Architecture for Handling the Scalability Issues in the Reusable Cloud Components ..............................................................................................................186 Manjunath Ramachandra, Philips Innovation Campus, India Pandit Pattabhirama, Philips Innovation Campus, India Although it is transparent to the user through virtualization, that is also a strength of cloud computing, the runtime scalability of resources to cater for a variety of services is to be addressed to meet the critical factor of the agreed quality of service. In this work, an architecture based on information feed-back is presented to address this issue. The findings have been supported by the simulation results. Section 3 Reuse in Cloud Applications Chapter 9 Understanding Cloud Computing .......................................................................................................204 Qusay F. Hassan, Mansoura University, Egypt Alaa M. Riad, Mansoura University, Egypt Ahmed E. Hassan, Mansoura University, Egypt This chapter tries to demystify cloud computing by means of introducing and simplifying its terms to readers with different IT interests. Chapter 10 Social CRM: Platforms, Applications, and Tools ...............................................................................228 Anteneh Ayanso, Brock University, Canada This chapter provides an overview of social customer relationship management (CRM) and explores the Web-based platforms that provide social CRM solution in software as a service (SaaS) model as well as the applications and tools that complement traditional CRM systems. Based on a review of current practices, the chapter also outlines the potential benefits social CRM provides to organizations in their sales, service, and marketing efforts. Chapter 11 Reusing Transaction Models for Dependable Cloud Computing .......................................................248 Barbara Gallina, Mälardalen University, Sweden Nicolas Guelfi, University of Luxembourg, Luxembourg In the literature, several transaction models exist. Choosing (reusing entirely) or introducing (reusing partially) transaction models for cloud computing is not an easy task. The difficulty of this task is due to the fact that it requires a deep understanding of the properties that characterize transaction models to be able to discriminate reusable from non reusable properties with respect to cloud computing characteristics. Chapter 12 Goal-Based Requirements Elicitation for Service Reuse in Cloud Computing .................................278 Lin Liu, Tsinghua University, China This chapter formulates the service-oriented requirements analysis as an automated feedback control process, in which the classical once for all philosophy is replaced with a continuous learning, negotia- tion, and adaptation process. Based on the existing requirements model and new service requests, the proposed service requirements elicitation framework ASREGL aims to achieve an optimal service sup- ply and demand relationship. The current control variable is the similarity of the service requirements and capabilities. Compilation of References ...............................................................................................................306 About the Contributors ....................................................................................................................324 Index ...................................................................................................................................................329