Book contents
- Frontmatter
- Contents
- Preface
- Contributors
- Acknowledgments
- Introduction
- Notes for Educators: AMA Teaching Methods
- Chapter 1 Collaborative Engineering
- Chapter 2 Software Architecture and Integration Technologies
- Chapter 3 From a Specific Task to “Integration-Ready” Components
- Chapter 4 Integration with Voice
- Chapter 5 An Introduction to Knowledge Technologies
- Chapter 6 Write Once
- Chapter 7 The New Generation of Client–Server Software
- Chapter 8 Wireless Technologies
- Chapter 9 Programming Wireless Application Protocol Applications
- Chapter 10 A Single JavaCard Identity Key for All Doors and Services
- Chapter 11 The J2ME Family
- Chapter 12 Speech Technologies on the Way to a Natural User Interface
- Chapter 13 Integration with Knowledge
- Chapter 14 Distributed Life in the JXTA and Jini Communities
- Appendix 1 Java and C#: A Saga of Siblings
- Appendix 2 XML and Web Services
- Appendix 3 Source Examples
- Index
Chapter 2 - Software Architecture and Integration Technologies
Published online by Cambridge University Press: 17 August 2009
- Frontmatter
- Contents
- Preface
- Contributors
- Acknowledgments
- Introduction
- Notes for Educators: AMA Teaching Methods
- Chapter 1 Collaborative Engineering
- Chapter 2 Software Architecture and Integration Technologies
- Chapter 3 From a Specific Task to “Integration-Ready” Components
- Chapter 4 Integration with Voice
- Chapter 5 An Introduction to Knowledge Technologies
- Chapter 6 Write Once
- Chapter 7 The New Generation of Client–Server Software
- Chapter 8 Wireless Technologies
- Chapter 9 Programming Wireless Application Protocol Applications
- Chapter 10 A Single JavaCard Identity Key for All Doors and Services
- Chapter 11 The J2ME Family
- Chapter 12 Speech Technologies on the Way to a Natural User Interface
- Chapter 13 Integration with Knowledge
- Chapter 14 Distributed Life in the JXTA and Jini Communities
- Appendix 1 Java and C#: A Saga of Siblings
- Appendix 2 XML and Web Services
- Appendix 3 Source Examples
- Index
Summary
You have a better chance of finding a solution if you understand the problem.
—From teaching experienceSOFTWARE ARCHITECTURE—THE CENTER PLACE OF SOFTWARE DEVELOPMENT
Software architecture is the highest level of a software system definition that can include subsystems with their own architectures. The main question is how deep one should go into the nested abstractions to define software architecture. The general answer is to stop right before implementation details that can be considered “private” parts of the design. More visible and exposed “public” containers, components, and connectors of the system with their run-time behavior and relationships comprise software architecture.
Software architecture has its own worlds of “what,” “why,” and “how”. The what world is mostly inhabited by industry standards, tools, and modules. The how world is about development process, design patterns, and architectural styles. The why world is a map between requirements criteria and the worlds of what and how. Design patterns [1, 2] and architectural styles [3] are very close by their nature but different in their scope and manners. Both are symbol names and concepts that describe approaches to common development problems.
Multiple architectural views work as light projectors helping us to see the systems from different sides by eyes of different parties interested in the product.
ARCHITECTURAL ELEMENTS, STYLES, VIEWS, AND LANGUAGES
Most of today's enterprise applications are built with object-oriented architecture, in which system components encapsulate data and behavior and communicate via messages.
Components, containers, and connectors are basic elements of the architecture.
- Type
- Chapter
- Information
- Integration-Ready Architecture and DesignSoftware Engineering with XML, Java, .NET, Wireless, Speech, and Knowledge Technologies, pp. 42 - 68Publisher: Cambridge University PressPrint publication year: 2004