If exchange of Information between such diverse applications is interoperability, how do we achieve it? What is Web Service? How XML serves like a backbone to Web service technology? Technically, what happens behind the screen in a simple web service interaction? This blog answers all your questions.
I am sure anybody would have done online shopping. Very recently I happened to know the fact that online shopping application is built in one language, and PayPal application that makes the money transaction is built using a totally different language. Have you ever wondered how they speak with each other? It is definitely not easy for two humans speaking different languages to converse. Then how does it happen like a cake walk between two completely different systems? This is called, system Interoperability.
Interoperability for Web Applications
Let’s go for one more example that would explain even more on what is interoperability. You have a travel company and there is a separate website for your business. Your web page displays any current offers and it also allows user to book tickets for tour spots online.
Now, you wish to earn more. You think it is possible by enhancing your services. A person going on a tour will definitely need an accommodation over there. You have an idea of merging a hotel website with your business portal. Now your website not only lets the user book tickets but also provides an additional option of utilizing the accommodation facilities. There by your website will be very attractive for the user and he would prefer your service for future ticket bookings.
This is definitely a business strategy but, here comes the real twist. Say, the online travel application is developed using java and the hotel’s online application is built using ASP .net. When the end user books the ticket to a particular city and he wants to reserve a room in hotel then you should be able to connect to the hotel’s website. How do you merge data from two of the websites which speak different languages! Rebuilding one website again from the scratch to follow the language of another website is practically a bad idea and sometimes it may not be possible at all.
Instead of messing up everything, developing the application once again right from the scratch can we think of a way by which we can make them interact without altering or destroying the way they are built? What if I expose part of one application’s functionality or data over internet to the other? This is called interoperability.
Interoperability is exchange of Information between different systems. Interoperability has become the backbone of today’s business. Now the question is how we achieve interoperability. We have to establish a proper integration technique. We have to develop an environment that supports interoperability. Here we go to the definition of web service!
The Magic of Web Services
It is a piece of business logic located somewhere in the internet and is accessible via internet protocols like HTTP.
Let me be clearer. Going back to the example, websites for travel and hotel could be converted to web services using certain frameworks. Once the frameworks transform web applications to web services, we can access them using XML.
What is XML? It is language neutral and platform neutral way of representing data. Irrespective of the language used, we can make two web applications communicate with each other. Many technologies have tried to achieve interoperability in the past but only the web service paradigm has grown so quick and has started to rule distributed computing today. This is because it has used XML as its standard. The power of XML leveraging web services is simply staggering!
Simple Web Service Interaction
An application needs to find another application or a piece of business logic located somewhere on the network. There is something called UDDI registry where all potential web services get registered for advertisement. A potential client as the travel company in our example refers UDDI registry searching for another service over the internet. UDDI will in turn respond with the location of an XML based document that gives information on how to contact the web service (hotel). It also has information on what kind of input, the web service will accept. It contains the functionalities the web service will support. Now the client can create a message with reference to the XML schema found in the XML based document and send HTTP request to the host. Thus web service promises Interoperability. And XML helps keep its promise!
By now you have a better understanding of what is XML and how web services work. The good news is that anyone regardless of their coding or technology background can be a web designer. Learning XML is fairly easy and fun. Also, there are lots of online support communities for web designers and developers. The only thing is that there are many job titles and career options available to web programmers; therefore, it is advisable to consult with an IT career counselor to understand what career options best fits your skills. Once you know what career path you wish to pursue, you can make a plan on what, when, and how to learn. There are lots of online resources for learning coding and technology in general. For teenagers and high school students, High School Technology Services offers variety of hands-on training. For adults and professionals, Coding Bootcamps and DC Web Makers Companies offer basic to advance project-based programming and technology classes.