[Pkg-shadow-devel] Bug#75181: dicey agonize
Castillo
bdegt at sheridanc.on.ca
Mon Jun 11 15:49:07 UTC 2007
News Is Out! CAON Launches R&D Program to Further Production!
Chan-On International Inc.
Symbol: CAON
Friday Close: $0.72 UP 4.35%
Read the news. This company is pulling no punches. They has engaged one
of the countries top R&D facilities to expand their technology. Get on
CAON today!
Once again, finding the correct compromise between specificity and
extensibility is the secret. I have seen an interesting variation of
this pattern quite frequently in real life. Is it valid to subscribe to
an event that is never published? Web services technologies make
implementing this architectural style convenient but are by no means the
only technology choice.
Distinguishing what kind of state is kept where and whether this state
is relevant is an important first step to having a debate related to
this topic. These systems consist of a collection of individual
processing elements that respond to incoming events. Shared Blackboard A
more generic version of a message queue is a shared blackboard or
scratchpad. Recoverable State One reason state might be irrelevant is
because it is below the agreed upon level of abstraction.
David Orchard has given us a nice definition of the ultimate loosely
coupled solution by stating: "How do you make two systems loosely
coupled?
I love BPEL as an execution language but too often I see some vendor
making a pitch that business analysts will use a BPEL-centric tool to
model business processes.
When creating these integration tests we need to be aware that with the
introduction of composability we also introduced a new programming model
into the application.
For example, is it valid to have loops?
I see these as pretty different use cases. It will be interesting to see
where the Web service evolution balances out or whether we'll hit
another curb.
For example, distributed component architectures are too tightly coupled
and brittle.
Once the foreground task is completed, the foreground task checks
whether the background task is done or not.
This state information is quite relevant and typically has to be shared
between the participants.
It will be interesting to see where the Web service evolution balances
out or whether we'll hit another curb.
Will code changes be required? Also, it might keep internal state data
to be carried over to the processing of the reply message.
Ability to Publish Business Events A less intrusive way to extend an
application is to allow other applications to receive relevant business
events from your application. In a multi-party conversation each
individual participant may only have a partial view of the conversation.
Likewise, we discovered that the object-oriented interaction model of
instantiation and method invocation is too complex and chatty for
network-based communication. I also learned about the new
WS-MetadataExchange spec. Is it valid to subscribe to an event that is
never published?
More coupling gives us efficiency and simplicity but can also introduce
rigidity and brittleness.
Almost every modern machine has a call stack that remembers which
methods you executed last.
After "loosely coupled", "stateless" must be a close runner-up as the
ultimate nirvana in buzzword-compliant architectures. What if I don't
have all required information available to assemble a single document?
If the component shuts down and restarts this extra state has no impact.
The sole role of this coordinator is to track the conversation across
the multiple parties.
Descriptive messages constrained by an extensible schema delivered
through the interfaces. I'll try to check it out in a little more detail
as it seems to relate closely to the whole Orchestration vs. The
advantage is that the state of the conversation can be more easily
obtained by inspecting the blackboard.
For example, if a component sent a request message it typically knows
that it is waiting for a reply message.
The downside is that a shared blackboard can become a bottleneck in a
large distributed system.
These systems consist of a collection of individual processing elements
that respond to incoming events.
Not paying enough attention to these requirements can turn today's new
application into tomorrow's silo.
For example, one can build fine SOAs using CORBA, even though the
nagging question might be "why would you? Hao He has defined the
following architectural constraints for SOAs: A small set of simple and
ubiquitous interfaces to all participating software agents. Recoverable
State One reason state might be irrelevant is because it is below the
agreed upon level of abstraction. Not paying enough attention to these
requirements can turn today's new application into tomorrow's silo. No,
or only minimal, system behavior is prescribed by messages.
If you disagree you are welcome to argue with me, but you are buying!
In an asynchronous conversation, each conversation partner has to
"remember" what to do next once a message comes in.
More information about the Pkg-shadow-devel
mailing list