Udi Dahan [1] has been commenting on an "SOA Anti-Pattern" he describes as "Services as the interface to a business process". Interesting stuff. In his latest post he outs Nick Malik's comment on his Declared, Visile and Open Coupling post for advocating a solution based on Udi's anti-pattern.
So, a few questions/comments:
So, how well does Udi's proposed solution scale? Sure, if you have 10 partners, I see no problems. What happens when it's not partners but, say, customers and you've got a few millions of those?
Seems to me like the whole "service subscribes from change notifications from other service in order to know everything about all those things out there" in a case like this is just another way to build a data replication model (with the advantages and disadvantages that implies). Or am I just misunderstanding the whole point?
It seems to me, though. that the solution proposed by Udi still builds an interface to a business process, just that instead of building a new service for it he forced the Co-Op Partner Service to become the interface for the process (and calling it Workflow instead of Business process doesn't really hide that fact).
So, care to enlighten me?
P.S: One thing I did notice from Nick's proposed solution is that its the kind of thing where BizTalk works rather well as an implementation technology in many scenarios. This kind of solution, though, is certainly all about layering...
[1] Man, how many popups does your weblog have to have? Jeez.
Technorati: Architecture, SOA