Service Oriented Programming

Service Oriented Programming brings the SOA approach to individual applications. It naturally enables SOA in the organisation but it can be started with a much smaller scope. Even if your organisation has not adopted SOA you can still do SOP in your own project or within your section.

The beauty about SOP is that it transcends technologies or particular environments. You can write a JAVA/JavaScript web app on top of JSON services, a .Net SmartClient consuming WCF services, a Silverlight app that uses .Net Remoting to get data back from the server or a GWT app with RPC calls.

The idea is always the same. The application consists of a series of services that expose some functionality in an independent manner. You build the UI by consuming those services to get the required data and create the UI components. The UI is always built on the client; there is no UI related code in the back-end. As a result you can write different front-ends for your application without changing the services.

It is interesting to see how the same development paradigm is appearing in all these different environments. If this is the way forward we are leaving behind server-side UI frameworks like ASP .Net or JSF. Try as they may to add AJAX support these frameworks are based on a fundamentally different approach to building (in this case) web applications. Only the general fear traditional developers have of Javascript might save them.