Upload
marcena-terence
View
13
Download
1
Embed Size (px)
DESCRIPTION
Architecture with Components. What Changes?. Components reduce the architectural control Remove some qualities from your direct influence Which can force “how-important-is-this” decisions about requirements Search becomes a part of the problem. Searching for workable component ensembles. - PowerPoint PPT Presentation
Citation preview
Architecture with Components
What Changes?Components reduce the architectural controlRemove some qualities from your direct influence Which can force “how-important-is-this”
decisions about requirements
Search becomes a part of the problem
Searching for workable component ensembles1. Define constraints that the ensemble
must meet2. Define a first cut at other success criteria 3. Try to make it work4. Revise (usually, add to) the success
criteria5. Modify the ensemble6. Repeat 3-5 until
• An adequate ensemble is found, OR• You give up
RememberYou are searching for a working ensemble of componentsWorking one component at a time will probably waste time and energy
Mismatch can make an ensemble unworkable
Each OTS component comes with an architectural styleArchitectural Mismatch! Requires Provides
What to do? Detect mismatch during search and avoid it Detect it during design/implementation and
fix it
Detect mismatch during search
Inspect each candidate component to discover Requires Provides
Make sure each requires can be satisfied by a providesParameterized interfaces can give you some control over requires/providesUnfortunately, examining all assumptions for components is not possible!
Detect mismatch during design/implementation
Qualify the interfaces by discovering requires and provides while Designing the architecture Integrating the ensemble Prototyping Building a skeletal system
When qualifying an interface, remember
An interface is more than method signaturesIt may also include assumptions about Ordering of method calls Threading Resource availability and consumption Authorization Security Persistent storage Network access Error reporting and handling Logging
Fixing mismatch1. Wrappers2. Bridges3. Mediators
Fixing Mismatch 1 - Wrappers
Encase the component to Translate an element Hide an element Preserving an element without change
Usually specific to the using and used componentsExamples: Screen scraping Most legacy wrappers
What experience do you have with wrappers?
Fixing Mismatch 2 - BridgesAn independent componentTranslate a requires of one side to a provides of the otherTranslation is defined at design timeOften independent of the componentsExample: postscript to PDFExperience with bridges?
Fixing Mismatch 3 - Mediators
PlanningIs often a first class component in the architectureExamples: Sensor fusion (p 459) EAI platform
Experience with mediators?