Thursday, March 20, 2008

[Arch] Developing in a SOA world- Developer Perspective

Gregor Hohpe, author of Enterprise Integration Patterns talks (May 2007) about developing in service oriented world, while focusing on developers perspective, and what does it mean for developers work on SOA. The first part of the talk gives an introduction to Service Oriented Architecture, where does it come from, including there main drivers, such as:
  • Distributed component architecture
  • Transparency to developer (marshall, unmarshall, and all the low level things)
  • Loose Coupling of components
He also points that SOA is not a technology. SOA is an architectural style with some main characteristics, like:
  • Simplicity of interaction
  • No notion of object oriented issues
  • No lifecycle control
  • Self contained documents (XML)
  • Asynchronous interaction
As a consequence of these characteristics developers will be forced to rethink in software design, because the programming model in SOA is somethink like:
  • Event Based and Asynchronous Programming
  • Declarative Programming
  • Object/Document Mapping (like O/R mapping)
  • Process Modeling (long running instances, complex transaction models, correlations between running processes)
To summarize the talk I would say, that he see some aspects in SOA critical from developer perspective and points to the complexity that comes with the new architecture style. But the presentation gives a very compact overview about SOA and what does it mean for developers to work on SOA projects.

No comments: