I spent last weekend with a bunch of my Norwegian colleagues at Objectware listening to their experiences implementing SOA and looking over the material that they have produced. It’s great to hear some really pragmatic and developer-oriented ideas about how we can implement SOA. In contrast to many of the theories and ideas that I have been reading up on in my current project, Objectware’s patterns and theories support the developers as well as the architect/analyst. A lot of the theories on SOA are at such a high level that they really aren’t much help when you’re looking at actually implementing something.
For me the main points of interest were:
- A new categorisation of services: Human to Application, Application to Application, Aggregated Core Services and Core Services.
- Enterprise Domain Repository Pattern (EDR): basically a hybrid entity service and Master Data Management (MDM) which makes it easier to create services with multiple backends.
- Evolving Service Endpoint Pattern (ESE): A service endpoint WS-*, REST or whatever you want that supports different dialects over time without using client-breaking versioning if previous client calls can still be supported by the business.
I will be looking into the patterns more closely over the next few weeks and may try my hand at implementing some of these ideas with BizTalk.