Presents a complete conceptual framework for Internet-centered, component-based Web development. Covers new directions in component development, methods for selecting technologies, defining architectures, and modeling applications, and defines the role of middleware, application servers, and enterprise application integration. Softcover.
"synopsis" may belong to another edition of this title.
Software engineering is entering a new era. The Internet and its associated technologies are changing the way customers, suppliers, and companies interact to conduct business, communicate, and collaborate. The result is the creation of huge opportunities to expand existing businesses, the delivery of greater variety and depth of information in a timely manner to those who need it wherever they need it, and the rise of completely new forms of commerce unthinkable without the business and technology advances fostered by the onset of the Internet age. As succinctly stated by the U.S. Commerce Secretary William Daley:"Technology is reshaping this economy and transforming businesses and consumers. This is more than e-commerce, or e-mail, or e-trades, or e-files. It's about the 'e' in economic opportunity."
This impact has been confirmed in a recent study conducted by the Economist Intelligence Unit (EIU) of Booz-Allen & Hamilton. They surveyed the opinions of more than 500 senior executives with respect to how the Internet is changing their corporate strategy. The results showed that more than 90 percent believed that the Internet will transform or have a major impact on their corporate strategy within the next three years. Furthermore, many of these executives recognized the need to restructure their businesses to take advantage of fundamental changes in their business environment.
However, with these changes come a number of threats. Many organizations are intimidated by the new technologies, unsure of how to take advantage of them, and wondering how these technologies will align with existing investments in skills and infrastructures. What they require is a conceptual framework for understanding software solutions in the Internet age, coupled with a realistic view of the technologies that will drive this revolution.
Components and Component-Based Development (CBD) are the approaches that satisfy these needs. More and more we see organizations turning to components as a way to encapsulate existing functionality, acquire third-party solutions, and build new services to support emerging business processes. The latest technologies for distributed systems support and encourage a component view of application integration and deployment. Furthermore, component-based development provides a design paradigm well suited to today's eclectic Internet-centric software solutions. This book examines components and component-based development, and their role in provisioning enterprise-scale solutions for the Internet age.The Origins and Role of Component-Based Development
At its root, component-based development (CBD) is application development primarily carried out by composing previously developed software. Many people in the software industry are beginning to see CBD as an exciting new approach to application development which offers the promise of reducing cycle time for software development, and improving the quality of delivered applications.
Interest in reuse of previously developed components is nothing new. Ever since software was developed there have been efforts to reduce the amount of work involved in creating new software, ranging from small-scale efforts such as macro languages to large-scale efforts such as process asset libraries. While each of these efforts has had some impact on the reuse of software, none of them has had the overall impact expected or required.
Recently, however, a number of important advances in computer-based technologies have taken place. These have made the software industry rethink how software is developed, and offer new opportunities with respect to computer-based support for reuse of software artifacts. The impact of these advances is directly affecting everyone in the software industry. Three of these advances are of particular note.
First, the rapid evolution of hardware technologies has continued for more than a decade. The result has been a continuing improvement in the price/performance ratio of computer technologies. Organizations have much more computing power today than only a few years ago, embodied in a large number of desktop computers distributed throughout all levels of the organization.
Second, distributed access to remote information is now less expensive to develop, less cumbersome to maintain, and more user-friendly and responsive. This is a consequence of a number of advances in distributed infrastructure technologies supporting client/server architectures, high throughput networks, and distributed data management. Many distributed infrastructure technologies are now commonplace, supporting a collection of underlying protocols and standards that includes transmission control protocol/Internet protocol (TCP/IP), remote procedure call (RPC), hypertext transmission protocol (HTTP), the Common Object Request Broker Architecture (CORBA), and the Internet inter-ORB protocol (IIOP).
Third, unbounded excitement in the World Wide Web, Internet, and intranet technologies has changed the way people think about information access and availability. This has led to many new tools, processes, techniques, and technologies to support this new way of thinking and working. What an end user expects from an application is quite different now than it was only a few years ago.
Building on these advances, a new approach to solution provisioning, called component-based development (CBD), is being promoted. In its purest form, CBD takes advantage of these advances to provide an infrastructure for future applications that increases the ease with which separately developed software artifacts can be connected. As a result, it provides greater opportunity for integrating available software artifacts within your own organization or anywhere in the world, and uses available computing power to implement intelligent assistance to reduce the burden of evaluating, converting, and integrating software artifacts acquired from many sources.
All aspects of software design, implementation, deployment, and evolution are affected when a CBD approach is followed. As a result, a software project can be transformed from a development-intensive grind of code writing and bug fixing, to a more controlled assembly process in which new code development is minimized and system upgrade becomes the task of replacement of well-bounded functional units of the system. This is the goal of a variety of approaches and technologies gaining a great deal of attention in the software industry, which is now being referred to collectively under the banner of Enterprise Application Integration (EAI).
The needs and the rewards of taking a component-based approach are compelling. However, as with any new software approach, there is currently a significant gap between the aspirations of CBD visionaries, and the tools, processes, and techniques that support their vision. CBD has many hurdles to overcome to be considered a well-tried, repeatable process for developing large-scale, robust solutions for every application domain.
The most pressing needs facing software practitioners at present is to understand the business drivers encouraging the move toward CBD, to obtain a grounding in the underlying technologies from which it is built, and to gain the insight needed to understand how and when to apply CBD technologies within their particular context. These are the needs addressed by this book.Scope of this Book
This book provides the context necessary to understand CBD and to apply it successfully to enterprise-scale solutions. CBD is a new approach to software development that will significantly affect software development practices over the coming years. As a result, the goals of this book are threefold:
It provides an introduction to the fundamental technologies of CBD. There are a number of different technologies that contribute to this approach. Each of these is examined in terms of how that technology has come to be, its major strengths and weaknesses, and the directions in which it is likely to evolve.
Rather than simply enumerate individual technology advances, this book provides a holistic view of how each technology contributes to the larger goal of CBD. Readers can then put each technology advance into the context required for a more complete understanding of its relevance and impact.
While the academic background of these technologies is discussed, the book is predominantly practical in nature. Wherever possible, the technologies are discussed with respect to their impact on current and future software engineering practices as experienced by a wide range of practicing software engineers.
Having read this book, readers will understand the key technology advances in software engineering as they affect CBD, and therefore be in a better position to take advantage of them in their organization.Target Audience for this Book
The primary audience for this book is Information Technology (IT) managers, practicing software engineers, and software project managers interested in improving software engineering practices within their organization. Additionally, students in advanced software engineering courses will gaFrom the Back Cover:
"This book is very well written. I have never seen a book on the market that discusses these concepts as well as this book. Anyone involved with Information Technology should be familiar with this material. If not, they need to get this book ASAP and read it cover to cover."
óWilliam H. Murray, author of many best-selling programming titles
The strategic guide to enterprise-class component and Web development
In this definitive book, the R&D leader at one of the world's top software companies presents a complete conceptual framework for Internet-centered, component-based development.
Alan W. Brown introduces "best practices" enterprise development techniques that deliver reduced cycle times, improved quality, and greater reuse. He offers holistic insights into leveraging technologies such as Enterprise JavaBeans, COM+, and CORBA/IIOP to enable distributed access at lower cost, with greater flexibility, responsiveness, and user-friendliness than ever before. Coverage includes:
Large-Scale, Component-Based Development offers a start-to-finish blueprint for managing the Web and component technologies that enable e-business. For every decision-maker involved with Internet-focused, multi-tiered enterprise systems, this is an invaluable resource.
"About this title" may belong to another edition of this title.
Book Description Prentice Hall PTR, 2000. Paperback. Book Condition: New. 1st. Bookseller Inventory # DADAX013088720X
Book Description Book Condition: Brand New. Book Condition: Brand New. Bookseller Inventory # 97801308872071.0