The field of IT technology is an ever-changing one. Just when you think that you are on the cusp of grasping the next big thing, you find that its no longer the next big thing. It’s the next big thing , that could have been!
Let’s just talk about a few terms that you might have heard about or read about – the so-called game-changers, the panacea to all IT’s problems.
The most commonly heard terms bandied around are : SOA (Service Oriented Architecture), cloud computing and BPM (Business Process Modeling).
If you are aware of these terms and believe that you can drop them around in casual conversation around the water cooler, you are part of the ‘in-crowd’ i.e. you kind of know it all.
But how do all these technologies fit in? Are they something quite separate? Or are they all inter-linked? What are the linkages that bind them together?
From a technological stand-point , Web Services Definition Language (WSDL), SOAP (Simple Object Access Protocol) and Universal Description, Discovery and Integration or Universal Dynamic Discovery and Invocation (UDDI) are what forms the basic building blocks for web-services. WSDL is. of course, based on XML, so I do not add XML to this mix.
At the least, these are also the building blocks to building an SOA infrastructure, though SOA is more than just web-services.
There are 2 ways to build a web-service:
1> From the top-down i.e. you enable your existing application’s functionality to be used as a web-service. This is the easiest route and enables reuse of existing functionality.
2> From the bottom-up i.e. you write web-services for wanted/required functionality and then invoke these either directly through clients or from other applications and/or services. You could even expose these services to 3rd party applications.
What is so different about web-services?
Web-services besides allowing for reuse across applications, also accounts for interoperability.
What is interoperability? Interoperability is the ability for applications written for different platforms and in different languages to communicate without loss of semantics and functionality.
The genesis of web-services originated from B2B applications i.e the need for business applications across business entities to communicate with each other. Anyone remember WebMethods?
Prior to web-services, B2B communication did exist but was largely proprietary and non-extensible. EDI was once such methodology. It still exists and works, but is not fashionable anymore.