Web services are software applications used for machine-to-machine interaction over a network. Each web service has an uniform resource identifier (URI), through which they can be clearly identified, as well as has an interface description in machine readable format (as XML artifact, usually WSDL ) that defines how to interact with the web service. The communication may usually runs on protocols running on the Internet-such as used for HTTP and XML.
Architecture of Web Services
Client programs generally send request to the web services, and this is responded with the requested information. Web Services are components of some software systems that automatically exchange data or call functions on remote computers. Operation of Web services are based on the service-oriented architecture (SOA) and therefore they combine object-oriented programming standards and focus on business management solutions on the internet.
There can be instances of the user services, identification service providers and directory services. The provider is published in a directory, along with the description of its services. The user searches the directory and select the desired service. After other protocol details were exchanged on the dynamic connection, further handling of the consumers to the seller takes place. The user now uses the methods of this web service provider. The basis for this form have three classes, each are based on XML. UDDI is a directory service for registering Web services. It allows the dynamic discovery of web services by the user. However, UDDI is used only in rather small company networks and has never been enforced globally. WSDL to describe the supported methods and its parameters (eg date) for the programmer. SOAP (or XML-RPC ) is used for communication. Here is the actual call which starts Web services represent the three most important parts of the collaboration between client and server: the coming together, binding, and data exchange. Web services are accessible through a unique URI. The platform-independent standards used are capable of remote calls any platforms to decode and forward them to an application. In this way, a distributed architecture is build. Communicating with web services via messages that can be transported over different protocols.
Implementation options of Web Services
Web services may be implemented in various ways. The most widely used are:
- Remote Procedure Call (RPC) over remote procedure calls: WSDL-based, a loose coupling, not necessarily guaranteed
- SOAP based WSDL with a sort of intelligence
- REST is attempted on the interface with a lot of custom standard operations (similar to HTTP: GET, PUT, POST, DELETE) to restrict. The focus is on the interaction of stateless resources.
Advantages of Web Services
The open standards used to avoid some license costs. As because these standards include the ubiquitous Internet-based technologies, it can also be used in many places. Again, there is a cost advantage. Web services can actually build on each transmission protocol. If the number of different users on the Internet is usually HTTP for data transfer use, because only rarely have problems with firewalls. This is an advantage over comparable technologies such as CORBA, DCOM or Java RMI . Web services are described as not bound to HTTP and can be with other protocols such as SMTP – for example for asynchronous transmission or FTP – for example, for very large messages and thus are open to different application scenarios. Through the use of already existing and widely used internet standards (HTTP, XML, etc.) creates an open and flexible architecture that is independent of the platforms, programming languages ??and protocols used.
Disadvantages of Web Services
The main difficulty in the implementation of web services should relate to safety aspects. It must be noted for the transport of important Web services are encrypted or authentication can take place.