1 / 12

Architecture with Components

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.

Download Presentation

Architecture with Components

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architecture with Components

  2. 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

  3. Searching for workable component ensembles • Define constraints that the ensemble must meet • Define a first cut at other success criteria • Try to make it work • Revise (usually, add to) the success criteria • Modify the ensemble • Repeat 3-5 until • An adequate ensemble is found, OR • You give up

  4. Remember • You are searching for a working ensemble of components • Working one component at a time will probably waste time and energy

  5. Mismatch can make an ensemble unworkable • Each OTS component comes with an architectural style • Architectural Mismatch! • Requires • Provides • What to do? • Detect mismatch during search and avoid it • Detect it during design/implementation and fix it

  6. Detect mismatch during search • Inspect each candidate component to discover • Requires • Provides • Make sure each requires can be satisfied by a provides • Parameterized interfaces can give you some control over requires/provides • Unfortunately, examining all assumptions for components is not possible!

  7. 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

  8. When qualifying an interface, remember • An interface is more than method signatures • It 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

  9. Fixing mismatch • Wrappers • Bridges • Mediators

  10. 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 components • Examples: • Screen scraping • Most legacy wrappers • What experience do you have with wrappers?

  11. Fixing Mismatch 2 - Bridges • An independent component • Translate a requires of one side to a provides of the other • Translation is defined at design time • Often independent of the components • Example: postscript to PDF • Experience with bridges?

  12. Fixing Mismatch 3 - Mediators • Planning • Is often a first class component in the architecture • Examples: • Sensor fusion (p 459) • EAI platform • Experience with mediators?

More Related