Humble Architecture
by William (@vambenepe on Twitter)In many respects, the principles of Service-Oriented Architecture (SOA) can be summarized as “be humble”. “Service” comes from “servus”, Latin for “slave”. It doesn’t get any more humble.
More practically, this means that the key things to keep in mind when creating a service, is that you are not at the center of the universe, that you don’t know who is going to consume your service, that you don’t know what they are going to do with it, that you are not necessarily the one who can make the best use of the information you have access to and that you should be willing to share it with others openly (instead of the all-too familiar syndrome where everyone wants to consume other people’s services but no-one see the need to expose themselves as services because they think they “own” the connection to the human or they “own” the business process). You also shouldn’t assume that some human needs to come to you and ask for permission to use your service but instead you should provide machine-readable descriptions of it as well as quality documentation. And don’t assume that everyone speaks the same language you speak. In case of doubt in designing a service-oriented system, ask yourself “what would a slave do?”.
Focused, standard-based services are humble. Portlets are humble. RSS feeds are humble. Giant software suites and all-encompassing frameworks are not humble.
Successful open source projects are humble almost by definition. Large software companies rarely have humility genes in their DNA, unless it’s been beaten into them by customers.
December 10th, 2009 at 2:16 am
[...] a vibe behind REST design. You can copy the technology and still miss it. I described it in 2005 as Humble Architecture, and applied to SOA at the time. But it describes REST just as [...]
January 11th, 2010 at 11:34 am
[...] right. It’s been discussed, manifesto’ed, buried and lampooned many times before (this was my humble take on it). Whether it’s because of WS-* or, more likely, java2wsdl we have [...]