Why use Web services

Before the arrival of Web services, other technologies and architectures existed that met the functionality of today´s web service. Microsoft's version of these technologies, are called Component Object Model (COM), and subsequently Distributed COM (DCOM). WinDNA is a comprehensive term for implementing the above two distributed software development technologies. These technologies typically use the TCP/IP protocol.

CORBA - Common Object Request Broker is a competitor of COM, developed by a consortium of vendors called the Object Management Group. Although these technologies were a breakthrough in distributed computing and served such ends well for at least five years, there were many limitations. Concerning

Coming back to DCOM, its two main disadvantages were:

DCOM works properly only with binaries written with Microsoft languages and running on Microsoft platforms. DCOM was designed to use the TCP/IP protocol over a LAN or WAN. Firewalls presented a serious problem, because these technologies passed their data as binary messages on non-standard ports. This meant many firewalls blocked such traffic, further impeding the use of DCOM and CORBA beyond the enterprise. This resulted in poor performance.

DCOM implements a remote connection model, which is tightly coupled and is proprietary. This meant that, for a client to use a method on a remote computer, both the client and the server should have had the appropriate DCOM or CORBA libraries installed on their computers.

In WinDNA, components are strongly tied to their native applications, making remote access between systems difficult. The Microsoft .NET platform is an advancement over WinDNA. Microsoft .NET addresses the above problems by providing service-based model for developing distributed applications.

This forms the first reason why we use Web Services. To restate the reason, - Web Services operate on a service-based model architecture. This the most compelling reason why we use Web Services.

service based model architecture

The above diagram is the representation of a service based model. In this model, the web service resides on the web server. A client computer can request and consume this web service and terminate the service as and when desired. The name "service" originates from this model of functioning of the program. The client program needs to be provided with only the url of the web service.

You will notice that the client applications can be running on different platforms, or developed using different tools. A major application of web service is to integrate such different applications which may be working on heterogeneous platforms. The existence of heterogenous platforms in an organization or among organizations is a common phenomenon nowadays in an organization.

Any organization today works with multiple vendors, suppliers , contractors and other entities. Each of these entities would have developed their own software systems based on Microsoft technologies or on Sun microsystems or on IBM technologies. Each of these software systems would have been developed over period of time with hundreds of thousands of dollars investments. It will be almost impossible for any of them to change their systems for compatibility. This is where web services comes into picture. Communicating amongst all these entities without affecting their existence is made possible by web services.

The second reason for using is that Web Services allow us to communicate among all different entities without affecting their existence.

Writing a web service requires both domain knowledge and middleware experience. A unique feature of a web service is that it is written separately from the application logic.

This forms the third reason for using a web service is that it is written separately from the application logic.

The system analysts who develop and maintain the applications must be aware of all APIs that have been used to program the application. They should ensure the changes which are implemted in the APIs are identified and suitable changes to be made in the client applications.

Web services improve the way information flows between applications by making its information and its business logic available to other applications through an application programming interface (API). An API is a programming mechanism that allows an application to expose its functionalities and to any other software application. So, API greatly supports application-to-application communication.

The fourth reason why we use Web Service is that they improve the information flow between applications.

Each system supports a specific set of programming languages, operating systems and network protocols. Traditional middleware systems use a binary data format to communicate between application across the network. Each middleware system uses a different type of binary data format. So, applications should use same type of middleware to communicate each other.

Web services communicate using the Extensible markup language (XML is a universal data format), a text based protocol that all applications can understand.

The fifth reason why we use Web Service is that, web services use text based protocol that all applications can understand.

Note: Firewalls do not block Text information.

So, the popular way to represent data on the Internet is XML.

To implement middleware, we need to install and deploy middleware libraries on all the systems. This results in increaded licensing cost.

The sixth reason why we use Web Service is that, web services reduce licensing costs.

The seventh reason for using Web services is that they do not rely on special protocols. Web services communicate using WWW(World wide web). They rely on standard Internet protocols HTTP and SOAP which are present in every system.

Web services transport their messages using HTTP, which means these messages are transmitted over port 80, an open port for web server firewalls. Web service messages are transmitted as SOAP-formatted messages. SOAP messages are in XML format, meaning they are simply text, and not binary data. All the systems (every computer in the company) provide native support for web. And all computers have inherent support for XML. Any application written in any language running on any platform can process XML data. To summarize, there are many compelling reasons for us to use Web Services.

cover image of azure cloud book

Develop Azure Applications

Azure Cloud is gaining popularity and is competing with Amazon Elastic Cloud and Google Cloud for a spot in the billion dollar Cloud computing space.

With this book learn how to use - Table (an Azure Table is different from a SQL Server Table), Queue, Blob storage services, use your local machine to create an Application and a Service, how Azure splits a Table to achieve Load Balancing, Scalability based on the Partition Key, AppFabric Service Bus, Access Control Service, role of Fabric Controller, features of Azure SQL Database and Content Delivery Network.

Many have mastered Cloud Programming and are enjoying the benefits. Why not you?

View Highlights » View Contents »
cover image of foundation database programming book

Create your Own Accounting Software

A foundation book to Master Accounting Software Development, VB.Net, C# and OOPs programming. Detailed explanation of the Accounting domain for programmers is included. SQL and ADO.Net is also covered in detail.

This book gives you a strong foundation in Application Development.

A thorough understanding of the contents will enable you to grasp the topics covered in the accompanying books quite easily. This is because, the accounting domain is dealt with great detail in this book.

The ideal book to get started with application development in the .Net world.

View Highlights » View Contents »

cover image of asp.net book

Create your Own WEB ERP Software using ASP.Net

This book opens you to the Web. Using ASP.Net, C# and SQL Server as the tools, you will learn to build a Multi Tier Web Application as recommended by Microsoft. You will learn implementing inline GridView control, Transaction Management for a layered Web Application, build Data Access component and a Business Layer component.

Opens you to a world of opportunities. You will be able to develop a Web ERP application including all the five modules and learn how to use the TreeView control and GridView control to implement transactions such as Purchase Invoice, Sales Order and Sales Invoice.

View Highlights » View Contents »
cover image of entity framework book

ASP.Net MVC 5 Application Development Using Entity Framework 6 and VS 2015

Entity frameworks is the latest buzz in .Net programming and is the data access technology for Microsoft OS based hand held devices and web applications. Learn to integrate EF into an ASP.Net Application and MVC application. Create, explore and query the Entity Data Model. Learn how to use ObjectDataSource control and GridView control in an ASP.Net Application.

Also, learn to build Three-Tier ASP.Net application, create a business-class, implement methods in the class to perform CRUD operations and bind a GridView to the ObjectDataSource control. Learn how to handle concurrency and managing Transactions.

View Contents »