It's a short time after the first flowering of Java application servers. We are covering a speech by the redoubtable James Gosling, father of Java. He mildly laments the fact that so much Java discussion revolves around "servers" - saying he would have preferred the term services.
Fast forward to today. The distinction between servers and services is well established. Light-weight application frameworks may be used with the same frequency that full-fledged servers are used. Meanwhile, service-oriented-architecture (SOA) services have become the major working model for making sense of software.
But this is not to say that the application and middleware servers that often underlie today's SOA deployments do not have a valid purpose: They bundle up repeatable functionality and they have become the
As the history of SOA itself has shown, you have to have a good understanding of the underlying architectural patterns represented by these ''Lego blocks,'' if you are to achieve repeatability and scalability, and avoid lock-in.
One of the big questions of the moment is "what is cloud computing?" It is not critically important just now that you do have plans to move to the cloud or don't. But, to be a credit to your organization, you need to have a ready analysis of the cloud alternative. Further, as expert commentaries suggest, you do well to analyze cloud services and infrastructure in terms of your own organization's use of services and SOA infrastructure.
This was first published in January 2011