Book contents
- Frontmatter
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- PART I Overview
- PART II Software Modeling
- PART III Architectural Design
- 12 Overview of Software Architecture
- 13 Software Subsystem Architectural Design
- 14 Designing Object-Oriented Software Architectures
- 15 Designing Client/Server Software Architectures
- 16 Designing Service-Oriented Architectures
- 17 Designing Component-Based Software Architectures
- 18 Designing Concurrent and Real-Time Software Architectures
- 19 Designing Software Product Line Architectures
- 20 Software Quality Attributes
- PART IV Case Studies
- Appendix A Catalog of Software Architectural Patterns
- Appendix B Teaching Considerations
- Glossary
- Answers to Exercises
- Bibliography
- Index
17 - Designing Component-Based Software Architectures
from PART III - Architectural Design
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Annotated Table of Contents
- Acknowledgments
- PART I Overview
- PART II Software Modeling
- PART III Architectural Design
- 12 Overview of Software Architecture
- 13 Software Subsystem Architectural Design
- 14 Designing Object-Oriented Software Architectures
- 15 Designing Client/Server Software Architectures
- 16 Designing Service-Oriented Architectures
- 17 Designing Component-Based Software Architectures
- 18 Designing Concurrent and Real-Time Software Architectures
- 19 Designing Software Product Line Architectures
- 20 Software Quality Attributes
- PART IV Case Studies
- Appendix A Catalog of Software Architectural Patterns
- Appendix B Teaching Considerations
- Glossary
- Answers to Exercises
- Bibliography
- Index
Summary
In distributed component-based software design, the component-based software architecture for the distributed application is developed. The software application is structured into components, and the interfaces between the components are defined. To assist with this process, guidelines are provided for determining the components. Components are designed to be configurable so that each component instance can be deployed to a different node in a geographically distributed environment.
Components are initially designed using the subsystem structuring criteria described in Chapter 12. Additional component configuration criteria are used to ensure that components are indeed configurable – in other words, that they can be effectively deployed to distributed physical nodes in a distributed environment.
Section 17.1 describes concepts, architectures, and patterns for distributed component-based software architectures. Section 17.2 describes the steps in designing distributed component-based software architectures. Section 17.3 describes the concepts and design of composite subsystems and components. Section 17.4 describes how components can be modeled and designed with UML. Section 17.5 describes component structuring criteria for structuring a distributed application into configurable distributed components. Section 17.6 describes group communication patterns, including Broadcast Message Communication and Subscription/Notification Message Communication patterns. Finally, Section 17.7 describes application deployment.
CONCEPTS, ARCHITECTURES, AND PATTERNS FOR COMPONENT-BASED SOFTWARE ARCHITECTURES
In Chapter 12, the term component was introduced in a general way. This chapter describes the design of distributed components as used in distributed component-based software architectures. It describes the component structuring criteria for designing components that can be deployed to execute on distributed platforms in a distributed configuration.
- Type
- Chapter
- Information
- Software Modeling and DesignUML, Use Cases, Patterns, and Software Architectures, pp. 300 - 317Publisher: Cambridge University PressPrint publication year: 2011