I have been into Web application development for some time now and have created Web applications using different technologies such as ASP.NET, Java, PHP, and so on. However, nowadays, applications have become more distributed and it is often required to integrate one application with another. In such cases, I found it difficult to link applications since, each of these technologies use different syntax and the method of data handling differed. I was looking for a solution that could help me integrate different types of distributed applications.
While XML has been found to be a common communication standard, simply using XML was not helping me solve the issue since to transfer data, the applications needed to access the data easily as well. For this purpose, I found Web Services very helpful. The reason is that:
• A Web Service allows your application to publish its function or message to the rest of the world
• Web Services use XML to code and to decode data, and SOAP to transport it (using open protocols).
To cite an example, using Web Services, your production department’s Windows server’s inventory system can connect/communicate with your IT supplier’s UNIX server.
Broadly speaking, Web Services offer two types of benefits:
Reusability of components of an application
Web Services can offer application-components such as currency conversion, weather reports, or even language translation as services which can be re-used across several applications.
Connecting existing software
Web Services can help in solving the interoperability issue by providing applications a way of linking their data and exchange data between different applications and platforms.
The other benefits offered by Web Services include standardized protocol and low cost of communications. All the layers such as Service Transport, XML Messaging, Service Description and Service Discovery layers use well-defined protocols in the Web Services protocol stack.
Further, Web Services use SOAP over HTTP protocol for the communication. Hence, you can use your existing low costIinternet for implementing Web Services. This solution is less costly compared to proprietary solutions such as Electronic Data Interchange (EDI)/Business-toBusiness (B2B) solutions. Additionally, Web Services can also be implemented on other reliable transport mechanisms such as FTP, and so on.
Following figure shows an overview of the Web Service functionality:
After learning so much about Web Services, I finally decided to implement them. I am now working on a Mobile Billing app in which my app will send and receive data from a Java servlet created in a Web application. The servlet, in turn, will communicate with a .NET/Java Web Service to send and receive data from the database using the Web Service methods. The data processing will be done within the Web Service methods. Also, a .NET Web application will access the same Web Service to offer similar functionality as the app on a Web page.
Web Services have proved very helpful to me. So, whenever you wish to create dynamic, distributed, and efficient Web applications, think about using Web Services.