Some of us, including your’s truly, always felt like cringing when overzealous IT architects would sing SOA’s praises — long before anything got delivered to anybody that actually worked. Some risk factors were obvious:
- How can you hope to glue together system A and system B in any way unless you have a very clearly articulated and jointly managed cross-system information model?
- Same about event models, security models, etc.
- Far too little attention was paid to release management of services supposedly usable by other people. As a result, many composite applications were almost never up, because interfaces kept changing. This is not an easy one for corporate IT that does not usually have the funding or expertise for that kind of thing. (Side note: we now have the same problem, internet-scale, with OpenID, OAuth, and the like. Nobody has solved that one either, which is why often, "OpenID does not work" for some user who uses an unusual IdP/RP combination)
- Caching. Any production implementation has to consider that servant systems are not always going to be available, that they might not be able to bear the load at all times, that they may not always be fast enough, and that whatever information is obtained from them has to be related (and thus cached, and kept consistent!), to information in the client app. Otherwise there is no point to do it in the first place. Not an easy problem to solve.
domingo, abril 29, 2012
Objeciones a SOA
Johannes Ernst dedica una nota breve a SOA, explicando algunas razones por las que podría decirse que SOA está muerto ("SOA Is Dead; Long Live Services"):