I ran across a blog entry that attempts to link Atlas/Ajax to SOA. What absolute nonsense!
The technology, for those not familiar, is the use of XMLHTTP to link fine-grained data services on a web server to the browser in order to improve the user experience. This is very much NOT a part of Service Oriented Architecture, since the browser is not a consumer of enterprise services.
So what’s wrong with having a browser consume enterprise web services? The point of providing SOA services is to be able to combine them and use them in a manner that is consistent and abstracted from the source application(s). SOA operates at the integration level… between apps. To assume that services should be tied together at the browser assumes that well formed architecturally significant web services are so fine-grained that they would be useful for driving a user interface. That is nonsense.
For an Atlas/Ajax user interface to use the data made available by a good SOA, the U/I will need to have a series of fine-grained services that access cached or stored data that may be generated from, or will be fed to, an SOA. This is perfectly appropriate and expected. However, you cannot pretend that this layer doesn’t exist… it is the application itself!
In a nutshell, the distinction is in the kinds of services provided. An SOA provides coarse-grained services that are self-describing and fully encapsulated. In this environment, the WS-* standards are absolutely essential. On the other hand, the kinds of data services that a web application would need in an Atlas/Ajax environment would be optimized to provide displayable information for specific user interactions. These uses are totally different.
If I were to describe the architecture of an application that uses both Atlas/Ajax and SOA, I would name each enterprise web service. All of the browser services would be named as a single component that provides user interface data services. The are at different levels of granularity.
Atlas/Ajax, for better or worse, is an interesting experiment in current U/I circles. Perhaps XMLHTTP’s time has finally come. However, A/A it will have NO effect on whether SOA succeeds or fails. Suggesting otherwise demonstrates an amazing lack of understanding of both.