Component Based Development: Principles and Planning for Business Systems (Addison-wesley Object Technology Series) - Softcover

Whitehead, Katharine

 
9780201675283: Component Based Development: Principles and Planning for Business Systems (Addison-wesley Object Technology Series)

Synopsis

Introduces key principles of component-based development (CBD) that need to be understood in order to adopt a component-based model of software development, and explains the benefits of adopting such an approach for an organization. Softcover.

"synopsis" may belong to another edition of this title.

About the Author

Katharine Whitehead has worked in the software industry for over 20 years, during which time she has contributed to a range of IT projects, including work on OO analysis and design. She has been involved with CBD since 1996 as a consultant, and the book is based on her experiences with industry clients in developing an approach to CBD. She currently works for Critical Path, a global leader in internet communications.

From the Back Cover

This book introduces the key principles of component-based development (CBD) that need to be understood in order to adopt a component-based model of software development, and explains the benefits of adopting such an approach for an organization. It guides the reader through the program-planning process, and outlines the need-to-know issues in designing and assembling components.

Software developers, architects and IT project managers will learn how to spring-board over to using a component-based approach, and discover the organizational issues affecting its adoption.

Key features of the book include:

  • Insights into component characteristics, and how they are defined and scoped
  • Consideration of the software architecture and infrastructure within which components can operate effectively
  • Practical advice on building and assembling components
  • A case study showing the highs and lows experienced by a finance company that is evolving its software development to a component-based approach, using CORBA, to introduce call centers and internet-based systems.


0201675285B04022002

Excerpt. © Reprinted by permission. All rights reserved.

This book tries to answer the questions: What is it that we are trying to achieve with components? and How can we define and implement components so that we do achieve this? It is intended to provide an insight into the specific benefits of component-based development (CBD) and to convey the conceptual issues that must be fully understood in order to be successful with CBD.

It aims to:


* explain the rationale for CBD and the key concepts behind it;
* outline an approach to program planning that should significantly improve the effectiveness of CBD;
* provide guidance on introducing a component-based approach into the organization;
* provide an understanding of the issues involved in the design and assembly of components, including strategies for scoping components and for managing their assembly.

It is left to other books in the field to provide technical insights into J2EE, .NET, etc. or to provide a full method that would necessarily have a heavy emphasis on modeling techniques. Instead, it is assumed that you will use a model-based development method (preferably OO or at least hybrid). This assumption makes it possible to concentrate in this book on issues that are specific to adopting a component-based approach, rather than discussing software development techniques that are already widely understood.

CBD is usually regarded as principally relevant to new software development. However, software development cannot take place in a vacuum. It must take account of the current application portfolio and existing software infrastructure of the organization. It is for this reason that this book pays particular attention to program planning. In this book, CBD and integration with existing systems are seen as natural partners. Software development is seen as a process of gradual migration forwards from an existing application portfolio to an improved (and more component-based) application portfolio. CBD provides a means of achieving this gradual improvement, while a component-based vision of how the application portfolio could ultimately look provides guidance as to how to move it forwards.AudienceThis book aims to meet the needs of practitioners, and in particular the needs of program planners and architects, who are likely to be responsible for achieving the introduction of CBD into the organization. Managers, designers, and developers should also find it of use.Content and organization

The book contains the following parts and chapters:PART 1. Introduction to component-based developmentChapter 1 Component-based development: attempting to managing chaos

This chapter explains the industry context within which CBD has emerged, and why CBD provides a way of dealing with the conflicting pressures facing software developers.

Chapter 2 What are components?

This chapter provides a definition of components and a discussion of component characteristics. It also discusses the environment required to support components, and briefly outlines the advantages and disadvantages of existing component models such as COM, CORBA, and EJB.

Chapter 3 Putting components in perspective

CBD is only a part of what is relevant for effective software development. This chapter positions CBD in relation to other development techniques, and in relation to OO. It also discusses the limitations to the potential of CBD, and the contexts in which it will not be relevant.PART 2. The planning process

Chapter 4 Positioning components within the organization

phis chapter discusses the ownership and scope of a CBD initiative and its positioning within the organization.

Chapter 5 Software architecture and infrastructure

This chapter discusses the need for an architecture and the various aspects that an architecture for CBD needs to cover.

Chapter 6 Defining components

This chapter covers the principles affecting component definition:


* coarse- versus fine-grained components;
* types of component and how they can be fitted together;
* defining component scope.
Emerging standards are discussed.

Chapter 7 Putting component-based development into practice

This chapter builds on the previous three chapters and outlines a set of tasks that can be carried out to create an initial CBD strategy and to refine this strategy over time.

Chapter 8 Pragmatics of program planning

This chapter discusses how the CBD strategy can be put into effect over time, as part of program planning. It covers the process of reconciling an ideal vision with short-term requirements and messy reality.

Chapter 9 Organization for component-based development

This chapter discusses alternative organizational structures for implementing a zBD program. It discusses roles and team structures for strategy planning, component acquisition, and component assembly.PART 3. Building and assembling components

Chapter 10 Acquiring components

This chapter covers issues that are specific to procuring components as opposed to packages.

Chapter 11 Designing components

This chapter discusses how to design components for flexibility [ and where to draw the line in designing for reuse.

Chapter 12 Assembling components

This chapter discusses some of the issues that arise when fitting components together.

Chapter 13 Testing, certification, and maintaining a component catalog

This chapter outlines issues relating to the management and maintenance of a portfolio of components, including a consideration of what is needed to make a component available for reuse or sale.PART 4. A brief case study

Chapter 14 Managing chaos with components

This chapter contains a brief (fictional) case study of the use of CBD in an organization with existing mainframe-based applications that is evolving toward a component-based approach, as it introduces call centers and Internet-based systems.Acknowledgments

The origins of this book lie in work on components that my colleagues and I carried out while I was working at Seer Technologies. I owe much to Jon Cogdale, who was my collaborator on our original research into components, and my examples in Chapter 7 are based on his. Graham Berrisford contributed lively and thought-provoking discussion of the concepts, and the order processing examples in Chapter 12 owe much to discussions with him. Amongst my colleagues, Doug Kime, Rob Allen, Tony Phillips, Bernard Londeix, Mark Gilbert, and Martin Carter also offered valuable advice.

I also learned from the experiences our customers shared with us, from the CBDi Forum run by David Sprott and Lawrence Wilkes, as well as from other literature and work in the field. 0201675285P04152002

"About this title" may belong to another edition of this title.