SOA - Deploy Once Deliver Anywhere
Just got back from NY. It is always good to be back in the big city. The food was great...If you are ever in the city for a few days you should try Beppe.
Now back to business... I was in NY with a few other folks visiting some of our customers in the financial industry. We did the typical road map discussions and validation of requirements for future releases. Talking to different people on the road helps you calibrate your view of things. It seems to me that the whole SOA thing is becoming more popular. Not just as the latest hot thing, but as a potential answer to IT's problems.
The core of the idea is pretty straightforward - take all your software and make them available as services on the network. Making this happen is the challenge. Enterprise software is not usually that flexible and it was not built to be used as a services. Recently companies are trying to add services layers on top of old apps so they can be used/integrated into other apps. This is a temporary solution that seems to work ok for now. I believe there will be a wave of new technologies that will help expedite the move of old software into a service architecture.
There are several benefits when thinking about software as services. One of the benefits I like the most with SOA is the ability to install the software once and deliver it anywhere. For example, I could install/deploy my RSS service at a data center in Arizona, and then deliver the application to my staff in London or Tokyo. I should also be able to integrate my service with other services to create even more powerful applications. From a portal perspective, Web Services for Remote Portlets (WSRP) is helping achieve this vision. Even Microsoft decided to support WSRP now. However, Microsoft is not resting on WSRP alone... If you have a minute or two you may want to read more about the Indigo Service Model.
On another note, I got some really good comments on my last posting about Dynamically Coupled Services. There are technologies that enable that today, but I have not seen yet an application framework or simple browser based tool that allows a business user to piece things together. Do you know of anyone out there? Let me know.