The evolution of the Internet and its exponential growth in recent years has resulted in a gradual shift from desktop to distributed applications. This shift has led to the development of complex enterprise applications that are managed across different platforms and geographical boundaries. | Collaborate Chapter 5 Knowledge Byte In this section you will learn about Web services Securing HTTP endpoints Web Services The evolution of the Internet and its exponential growth in recent years has resulted in a gradual shift from desktop to distributed applications. This shift has led to the development of complex enterprise applications that are managed across different platforms and geographical boundaries. These applications may consist of components that are developed by using different programming languages and hosted in heterogeneous environments. Therefore the development of distributed applications involves ensuring that such components are interoperable. For this Microsoft has introduced Web services. Defining a Web Service A Web service exposes a number of methods to provide functionality that can be used by one or more applications regardless of the programming languages operating systems and hardware platforms used to develop them. For example you can create a Web service by using the .NET platform which extracts the logon information from the server and returns the result to the client application. This Web service can be used on any operating system and any hardware platform. The methods that provide such functionality are called Web methods. The functionality exposed by a Web service can be accessed by applications by using Internet standards such as Simple Object Access Protocol SOAP . SOAP is a protocol that uses Extensible Markup Language XML to describe data and HyperText Transfer Protocol HTTP for transmitting application data. An application that uses a Web service is called a Web service client. A Web service is similar to a component that provides a specific functionality. However components use object model-specific protocols such as Internet Inter-ORB Protocol IIOP and Remote Method Invocation RMI for communicating with client applications. This communication approach is constrained by dependencies on vendor implementations hardware .