Reusability and loose coupling are the keys to designing applications in an object-oriented world; this holds true in a service orientation one too, and they are the corner stones for building SOA. IT has progressed over the years from creating languages for specific domains to generic purpose languages. This had led to applications being developed using different languages in different platforms. With the advent of Java virtual machine (JVM), the constraints to recode the applications to various operating systems were removed, which provided platform independency, but still the question of applications communicating with each other, written in different languages, existed before service orientation.
Designing the application in a service orientation way helps the application functionalities to be exposed to other applications and allow applications to be accessed from the external applications or the integration components...