Understanding Software Architecture / 1: |
What is Software Architecture? / 1.1: |
Definitions of Software Architecture / 1.2: |
Architecture Defines Structure / 1.2.1: |
Architecture Specifies Component Communication / 1.2.2: |
Architecture Addresses Nonfunctional Requirements / 1.3: |
Architecture Is an Abstraction / 1.3.1: |
Architecture Views / 1.3.2: |
What Does a Software Architect Do? / 1.4: |
Architectures and Technologies / 1.5: |
Architect Title Soup / 1.6: |
Summary / 1.7: |
Further Reading / 1.8: |
General Architecture / 1.8.1: |
Architecture Requirements / 1.8.2: |
Architecture Patterns / 1.8.3: |
Technology Comparisons / 1.8.4: |
Enterprise Architecture / 1.8.5: |
Introducing the Case Study / 2: |
Overview / 2.1: |
The ICDE System / 2.2: |
Project Context / 2.3: |
Business Goals / 2.4: |
Constraints / 2.5: |
Software Quality Attributes / 2.6: |
Quality Attributes / 3.1: |
Performance / 3.2: |
Throughput / 3.2.1: |
Response Time / 3.2.2: |
Deadlines / 3.2.3: |
Performance for the ICDE System / 3.2.4: |
Scalability / 3.3: |
Request Load / 3.3.1: |
Simultaneous Connections / 3.3.2: |
Data Size / 3.3.3: |
Deployment / 3.3.4: |
Some Thoughts on Scalability / 3.3.5: |
Scalability for the ICDE Application / 3.3.6: |
Modifiability / 3.4: |
Modifiability for the ICDE Application / 3.4.1: |
Security / 3.5: |
Security for the ICDE Application / 3.5.1: |
Availability / 3.6: |
Availability for the ICDE Application / 3.6.1: |
Integration / 3.7: |
Integration for the ICDE Application / 3.7.1: |
Other Quality Attributes / 3.8: |
Design Trade-Offs / 3.9: |
An Introduction to Middleware Architectures and Technologies / 3.10: |
Introduction / 4.1: |
Middleware Technology Classification / 4.2: |
Distributed Objects / 4.3: |
Message-Oriented Middleware / 4.4: |
Mom Basics / 4.4.1: |
Exploiting Mom Advanced Features / 4.4.2: |
Publish-Subscribe / 4.4.3: |
Application Servers / 4.5: |
Enterprise JavaBeans / 4.5.1: |
Ejb Component Model / 4.5.2: |
Stateless Session Bean Programming Example / 4.5.3: |
Message-Driven Bean Programming Example / 4.5.4: |
Responsibilities of the Ejb Container / 4.5.5: |
Some Thoughts / 4.5.6: |
Corba / 4.6: |
Service-Oriented Architectures and Technologies / 4.7.2: |
Background / 5.1: |
Service-Oriented Systems / 5.2: |
Boundaries Are Explicit / 5.2.1: |
Services Are Autonomous / 5.2.2: |
Share Schemas and Contracts, Not Implementations / 5.2.3: |
Service Compatibility Is Based on Policy / 5.2.4: |
Web Services / 5.3: |
Soap and Messaging / 5.4: |
Uddi, Wsdl, and Metadata / 5.5: |
Security, Transactions, and Reliability / 5.6: |
Restful Web Services / 5.7: |
Conclusion and Further Reading / 5.8: |
Advanced Middleware Technologies / 6: |
Message Brokers / 6.1: |
Business Process Orchestration / 6.3: |
Integration Architecture Issues / 6.4: |
What Is an Enterprise Service Bus / 6.5: |
A Software Architecture Process / 6.6: |
Process Outline / 7.1: |
Determine Architectural Requirements / 7.1.1: |
Identifying Architecture Requirements / 7.1.2: |
Prioritizing Architecture Requirements / 7.1.3: |
Architecture Design / 7.2: |
Choosing the Architecture Framework / 7.2.1: |
Allocate Components / 7.2.2: |
Validation / 7.3: |
Using Scenarios / 7.3.3: |
Prototyping / 7.3.2: |
Summary and Further Reading / 7.4: |
Documenting a Software Architecture / 8: |
What to Document / 8.1: |
Uml 2.0 / 8.3: |
More on Component Diagrams / 8.4: |
Architecture Documentation Template / 8.6: |
Case Study Design / 8.7: |
ICDE Technical Issues / 9.1: |
Large Data / 9.2.1: |
Notification / 9.2.2: |
Data Abstraction / 9.2.3: |
Platform and Distribution Issues / 9.2.4: |
Api Issues / 9.2.5: |
Discussion / 9.2.6: |
ICDE Architecture Requirements / 9.3: |
Overview of Key Objectives / 9.3.1: |
Architecture Use Cases / 9.3.2: |
Stakeholder Architecture Requirements / 9.3.3: |
Nonfunctional Requirements / 9.3.4: |
Risks / 9.3.6: |
ICDE Solution / 9.4: |
Architecture Overview / 9.4.1: |
Structural Views / 9.4.3: |
Behavioral Views / 9.4.4: |
Implementation Issues / 9.4.5: |
Architecture Analysis / 9.5: |
Scenario Analysis / 9.5.1: |
Middleware Case Study: Medici / 9.5.2: |
Medici Background / 10.1: |
Medici Hello World / 10.2: |
Implementing Modules / 10.3: |
MifProcessor / 10.3.1: |
MifObjectProcessor / 10.3.2: |
MifMessageProcessor / 10.3.3: |
Module Properties / 10.3.4: |
Endpoints and Transports / 10.4: |
Connectors / 10.4.1: |
Supported Transports / 10.4.2: |
Medici Example / 10.5: |
Initialize Pipeline / 10.5.1: |
Chat Component / 10.5.2: |
Implementation code / 10.5.3: |
Component Builder / 10.6: |
Looking Forward / 10.7: |
The Challenges of Complexity / 11.1: |
Business Process Complexity / 11.2.1: |
Agility / 11.3: |
Reduced Costs / 11.4: |
What Next / 11.5: |
The Semantic Web / 12: |
ICDE and the Semantic Web / 12.1: |
Automated, Distributed Integration and Collaboration / 12.2: |
Creating and Using Metadata for the Semantic Web / 12.3: |
Putting Semantics in the Web / 12.5: |
Semantics for ICDE / 12.6: |
Semantic Web Services / 12.7: |
Continued Optimism / 12.8: |
Aspect Oriented Architectures / 12.9: |
Aspects for ICDE Development / 13.1: |
Introduction to Aspect-Oriented Programming / 13.2: |
Crosscutting Concerns / 13.2.1: |
Managing Concerns with Aspects / 13.2.2: |
Aop Syntax and Programming Model / 13.2.3: |
Weaving / 13.2.4: |
Example of a Cache Aspect / 13.3: |
Aspect-Oriented Architectures / 13.4: |
Architectural Aspects and Middleware / 13.5: |
State-of-the-Art / 13.6: |
Aspect Oriented Modeling in Uml / 13.6.1: |
Aop Tools / 13.6.2: |
Annotations and Aop / 13.6.3: |
Performance Monitoring of ICDE with AspectWerkz / 13.7: |
Conclusions / 13.8: |
Model-Driven Architecture / 13.9: |
Model-Driven Development for ICDE / 14.1: |
What is Mda? / 14.2: |
Why Mda? / 14.3: |
Portability / 14.3.1: |
Interoperability / 14.3.2: |
Reusability / 14.3.3: |
State-of-Art Practices and Tools / 14.4: |
AndroMda / 14.4.1: |
ArcStyler / 14.4.2: |
Eclipse Modeling Framework / 14.4.3: |
Mda and Software Architecture / 14.5: |
Mda and Nonfunctional Requirements / 14.5.1: |
Model Transformation and Software Architecture / 14.5.2: |
Soa and Mda / 14.5.3: |
Analytical Models are Models Too / 14.5.4: |
Mda for ICDE Capacity Planning / 14.6: |
Software Product Lines / 14.7: |
Product Lines for ICDE / 15.1: |
Benefiting from Spl Development / 15.2: |
Product Line Architecture / 15.2.2: |
Find and Understand Software / 15.3.1: |
Bring Software into the Development Context / 15.3.2: |
Invoke Software / 15.3.3: |
Software Configuration Management for Reuse / 15.3.4: |
Variation Mechanisms / 15.4: |
Architecture-Level Variation Points / 15.4.1: |
Design-Level Variation / 15.4.2: |
File-Level Variation / 15.4.3: |
Variation by Software Configuration Management / 15.4.4: |
Product Line Architecture for ICDE / 15.4.5: |
Adopting Software Product Line Development / 15.5: |
Product Line Adoption Practice Areas / 15.5.1: |
Product Line Adoption for ICDE / 15.5.2: |
Ongoing Software Product Line Development / 15.6: |
Change Control / 15.6.1: |
Architectural Evolution for Spl Development / 15.6.2: |
Product Line Development Practice Areas / 15.6.3: |
Product Lines with ICDE / 15.6.4: |
Index / 15.7: |
Understanding Software Architecture / 1: |
What is Software Architecture? / 1.1: |
Definitions of Software Architecture / 1.2: |