Welcome to this new research book from IGI Global.
With the rapid development of computing hardware, high-speed network, web programming, distributed and parallel computing, and other technologies, cloud computing has recently emerged as a commercial reality.
Cloud Computing is rapidly emerging as the new computing paradigm of the coming decade. The idea of virtualizing, not just hardware, but software resources as well, has attracted the attention of academicians, as well as the industry. Cloud computing not only offers a viable solution to the problem of addressing scalability and availability concerns for large-scale applications but also displays the promise of sharing resources to reduce cost of ownership. The concept has evolved over the years starting from data centers to present day infrastructure virtualization. Technically, Cloud computing is still to mature, and there are still many challenges, including fundamental models, infrastructures and architectures, provision of services, and development of applications.
Software reuse is the use of existing software, or software knowledge, to build new software. At the early days, programmers have always reused sections of code, templates, functions, and procedures. Software reuse as a recognized area of study in software engineering, however, dates only from 1968 when Douglas McIlroy of Bell Laboratories proposed basing the software industry on reusable components.
Service-Oriented Computing is a computing paradigm that exploits both web services and Service-Oriented Architecture (SOA) as fundamental elements for developing software systems. This paradigm changes the way software systems are designed, architected, delivered, and consumed. The service-oriented paradigm is emerging as a new way to engineer systems that are composed of and exposed as services for use through standardized protocols.
Software reuse has been a major driver for the successful development of software systems for decades and has resulted in tremendous savings in costs and time. Over time, new reuse requirements keep initiating new techniques and approaches for the up to date implementation of the concept, from libraries of reusable assets to product lines, to generative methods. Reusable assets have always been the core of successful reuse, ranging from component to design pattern, and recently to software service.
With the advent of emerging software systems and advances in software reuse, the level of software reuse has recently been raised to services in SOA, large-scale components and agglomeration of components in the advanced context of service-oriented systems, pervasive computing, cloud computing, high confidence systems, embedded software, and globalized software development. Systematic and large-scale reuse of reusable assets at multiple development levels is improving the efficiency of software development activities significantly in terms of cost and time. New approaches and products keep emerging from research community and industry.
One of the important aspects for Cloud computing to develop rapidly is software asset reuse, i.e. to reuse assts that are available to computing systems presently. Asset reuse can be in the following groups: reuse of computing models, reuse of architecture and infrastructure, reuse of platforms and services, and reuse of platforms and services.
In answering the above challenges, the research and industry communities have been actively creating new approaches and tools on the development, specification, retrieval, reuse and evolution of reusable assets. It is worthy to systematically collect such new approaches and resultant tools to promote their acceptance, foster further developments, and speed up their commercialization. This book of research will be the first book that serves the above purposes. It will act as an effective means to summarize the current state of art and knowledge in this area, guide researchers, and foster new advances.
The book will help to clarify the present fast-advancing literature of the current state of art and knowledge in the areas of the development and reuse of reusable assets in emerging software systems and applications, as part of the information science and technology literature. It will no doubt expand the above literature, and promote the exchange and evolution of the above advances in software reuse and cloud computing among multiple disciplines, and a wide spectrum of research, industry, and user communities.
The book targets a spectrum of readers, including researcher, practitioners, educators, and students, and even part of the end users in software engineering, computing, networks and distributed systems, and information systems.
Here, we would heartily thank the invaluable contributions from the chapter authors, invited reviewers, and the IGI Global publisher. Without their support, the publication of the book would not be a reality.
We hope you all find the book informative and memorable.
De Montfort University, UK
Edinburgh Napier University, UK