Some interesting discussions are starting to happen on the similarities between the Aspect-Oriented Programming approach and SOAP’s processing model. SOAP’s use of XML namespaces to separate concerns within the header of a message enables the introduction of aspects (e.g. reliability, security) without, theorectically, any implied interdependencies. This is in contrast to more traditional protocols that wrap application data in layers of dependent headers.
The latest posting on Nick Gall’s blog drills down into this topic. It also references ‘Identical Principles, Higher Layers: Modeling Web Services as Protocol Stack’, an interesting paper published at XML Europe 2004.
In the dynamic ecosystem of Web Services, it makes it very interesting to consider the potential for reusable aspects that could be applied across initiatives, including those functions outside of the current set of WS-xx specifications. It also make a point of discussion as to the capabilities of service clients, intermediaries, and service providers to introduce and act upon aspects. Lots of food for thought.