Abstracts from the book Pattern Oriented Software Architecture shed light on the difference between a "service oriented architecture" and a "space based architecture".
The Pipes and Filters pattern provides a structure for systems that process a stream of data. Each processing step is encapsulated in a filter component. Data is passed through pipes between adjacent filters. Recombining filters allows you to build families of related systems.
The Blackboard pattern is useful for problems for which no deterministic solution strategies are known. In Blackboard several specialized subsystems assemble their knowledge to build a possibly partial or approximate solution.
Blackboard operations are axiomatic in the sense that they can be used to compose a Pipes and Filters architecture and a wide variety of others. For example, how would you implement editing a set of shared documents using SOAP, including features like notifications when changes are made, a history of changes made, concurrent translation of the text components into multiple languages, and any arbitrary set of other operations?
I see two general choices for doing this in SOAP:
You also have to specify how coordination works to prevent processes from stomping all over each other's work. And of course you need to decide how to structure the shared documents to facilitate the desired mode of sharing.
However using a generic document space (a Blackboard) with an axiomatic set of operations for access and coordination, the problem is reduced to that last step in the pure SOAP approach, i.e. you simply decide how to structure the shared documents to facilitate the desired mode of sharing.
No comments:
Post a Comment