Distributed Systems vs. SOA

Some interesting perspectives on SOA from Pat Helland (who seems to be getting lots of links since going back to MS):

So, the move from distributed systems (one transactional scope --> one notion of time) to SOA (independent transactional scopes --> time based on the perspective of the user) is like moving from Newton's Universe to Einstein's Universe


In SOA (again, how I think of it), we are acknowledging the existence of independent machines. This affects the transactional scope (we end up with different chunks of data which cannot be updated by the same transaction) and we end up with independently evolving schema and operations for the different systems. This is a seminally different concept than distributed systems (at least in the way I think of them).

In the presence of imperfect availability of knowledge, a business is forced to choose between closing down service (reducing availability of the service), over-booking, or over-provisioning. Indeed, if multiple systems (or humans) are extending commitments independently, they must choose between over-booking, over-provisioning, or some unknown balance between them. If I have 10,000 widgets to sell and 100 salespeople, I could allocate 100 to each sales-person and know that I have not over-booked if they go out and independently sell the widgets. To do this, though, I am almost certain to need extra inventory for the sales-people that don't sell all 100 of their widgets. Indeed, for most businesses, this is a ridiculously expensive proposition. So, an analysis is done on the statistics, a cost of over-booking is calculated, and allocations are given based on the expectations of selling the 100,000 widgets.

That is my summary in 3 quotes! Read it all to a) check on my understanding, b) to get the full subtlety

Technorati Tags:

Powered by ScribeFire.

No comments: