What are Web Services?
A simpler definition: “a Web service is a software application, accessible on the Web (or an enterprise’s intranet) through a URL, that is accessed by clients using XML-based protocols, such as Simple Object Access Protocol (SOAP) sent over accepted Internet protocols, such as HTTP. Clients access a Web service application through its interfaces and bindings, which are defined using XML artifacts, such as a Web Services Definition Language (WSDL) file.”
The World Wide Web Consortium (W3C) organization, which establishes the standards for Web services, defines them as follows: “A Web service is a software system identified by a URI whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML-based messages conveyed by Internet protocols.”
Web services are a result of the natural evolution of the Web. Initially, the Web consisted of sites that were plain HTML pages. Later, Web applications dynamically generated these same HTML pages. For example, a map Web site initially provided only static links to maps of various cities and locales. Later, this same map Web site became a map Web application that provided driving directions, customized maps, and so forth. Despite their expanded capabilities, Web applications are still limited to the restricted GUI capabilities of their HTML pages—a Web application is usable only through the limited GUI bound to the HTML pages. Web services go beyond this limitation, since they separate the Web site or application (the service) from its HTML GUI. Instead, the service is represented in XML and available via the Web as XML. As a result, the same map Web site can extend its functionality to provide a Web service that other enterprises can use to provide directions to their own office locations, integrate with global position systems, and so forth.
Web services, or simply services, build on knowledge gained from more mature distributed computing environments (such as CORBA and Java Remote Method Invocation) to enable application-to-application communication and interoperability. Web services provide a standardized way for applications to expose their functionality over the Web or communicate with other applications over a network, regardless of the application’s implementation, programming language, or computer platform.
Why Web Services
❐The main force for their widespread adoption—is that Web services promote interoperability across different platforms, systems, and languages. Exposing existing applications or services as Web services increases their reach to different client types. This occurs regardless of the platform on which the client is based: it doesn’t matter if the client is based on the Java or Microsoft platforms or even if it is based on a wireless platform. In short, a Web service can help you extend your applications and services to a rich set of client types.
❐ It reduces overall operational costs by enabling organizations to extend and reuse their existing system functionality.
❐Web services are XML based throughout. Pretty much everything in the domain of Web services is defined in XML. For example, the format of the data being exchanged between service user and service provider is defined in XML or the description of web service is defined in XML.
❐ Productivity is enhanced when application development teams have a standard means to access the services required by multitier applications and standard ways to support a variety of clients. Web services, by creating a common programming standard, help to enhance programming productivity. Prior to the advent of Web services, developers programming in the distributed computing environment have relied on a diverse set of not-always-compatible technologies. Developers have attempted to tie together various diverse back-end systems, such as both custom and standard database management systems and transaction processors, with traditional Web technologies, but have had to deal with a multitude of programming models. Because Web services introduce a common standard across the Web, vendors, in the interest of staying competitive, are more likely to develop better tools and technologies. These tools and technologies will attract developers because they emphasize increased programming productivity. As a result, the entire industry benefits.
❐Most enterprises have an enormous amount of data stored in existing enterprise information systems, and the cost to replace these systems is such that discarding these legacy systems may not Chapter1Introduction be an option. Web services let enterprise application developers reuse and even commoditize these existing information assets. Web services provide developers with standard ways to access middle-tier and back-end services, such as database management systems and transaction monitors, and integrate them with other applications. In addition, because these services are provided consistently, developers do not need to learn new programming models or styles as integration needs expand.
❐An significant benefit of a service-oriented architecture is that it enables development of loosely-coupled applications that can be distributed and are accessible across a network.
Services Oriented Architecture
In a service-oriented architecture, you have the following:
•A service that implements the business logic and exposes this business logic through well-defined interfaces.
•A registry where the service publishes its interfaces to enable clients to discover the service.
•Clients (including clients that may be services themselves) who discover the service using the registries and access the service directly through the exposed interfaces.
To enable this architecture, you need the following:
Service Oriented Architecture
•A mechanism that enables clients to access a service and registry.
•A mechanism to enable different services to register their existence with a registry and a way for clients to look up the registry of available services. Web services are based on an architecture in which the service can be located over the network and its location is transparent, which means that clients may dynamically discover a particular service they wish to use.
•A mechanism for services to expose well-defined interfaces and a way for clients to access those interface
Web Services Standards
One of the key attributes of Internet standards is that they focus on protocols and not on implementations. The Internet is composed of heterogeneous technologies that successfully interoperate through shared protocols. This prevents individual vendors from imposing a standard on the Internet. Open Source software development plays a crucial role in preserving the interoperability of vendor implementations of standards.
The following standards play key roles in Web services: Universal Description, Discovery and Integration (UDDI), Web Services Description Language (WSDL), Web Services Inspection Language (WSIL), SOAP, and Web Services Interoperability (WS-I). The relationship between these standards is described in Figure.
The UDDI specification defines open, platform-independent standards that enable businesses to share information in a global business registry, discover services on the registry, and define how they interact over the Internet. For more information on UDDI, refer to www.uddi.org
WSIL is an XML-based open specification that defines a distributed service discovery method that supplies references to service descriptions at the service provider’s point-of-offering, by specifying how to inspect a Web site for available Web services. A WSIL document defines the locations on a Web site where you can look for Web service descriptions. Since WSIL focuses on distributed service discovery, the WSIL specification complements UDDI by facilitating the discovery of services that are available on Web sites that may not be listed yet in a UDDI registry. A separate topic in this documentation discusses the Relationship between UDDI and WSIL. For more information on WSIL, refer to www.ibm.com/developerworks/webservices/library/ws-wsilspec.html
WSDL is an XML-based open specification that describes the interfaces to and instances of Web services on the network. It is extensible, so endpoints can be described regardless of the message formats or network protocols that are used to communicate. Businesses can make the WSDL documents for their Web services available though UDDI, WSIL, or by broadcasting the URLs to their WSDL via email or Web sites. WSDL is described as a separate topic in this documentation. For more information on WSDL, refer to www.w3.org/TR/wsdl
SOAP is an XML-based standard for messaging over HTTP and other Internet protocols. It is a lightweight protocol for the exchange of information in a decentralized, distributed environment. It is based on XML and consists of three parts:
- An envelope that defines a framework for describing what is in a message and how to process it.
- A set of encoding rules for expressing instances of application-defined data types.
- A convention for representing remote procedure calls and responses.
SOAP enables the binding and usage of discovered Web services by defining a message path for routing messages. SOAP may be used to query UDDI for Web services. For more information on SOAP 1.1 (SOAP 1.2 is not supported by the Web services tools), refer to www.w3.org/TR/SOAP
A service provider hosts a Web service and makes it accessible using protocols such as SOAP/HTTP or SOAP/JMS. The Web service is described by a WSDL document that is stored on the provider’s server or in a special repository. The WSDL document may be referenced by the UDDI business registry and WSIL documents. These contain pointers to the Web service’s WSDL files.
The WS-I Simple SOAP Binding Profile and WS-I Attachments Profile are outlines of requirements to which WSDL and Web service protocol (SOAP/HTTP) traffic must comply in order to claim WS-I conformance. The Web services WS-I validation tools currently support WS-I Simple SOAP Binding Profile 1.0 and the Attachment Profile 1.0. To view the specifications, refer to the WS-I Web site, and under Resources select Documentation: http://www.ws-i.org
Several new Web services standards are also supported by Rational® Developer products. These include:
JAX-RPC
JAX-RPC stands for Java™ API for XML-based RPC, also known as JSR 101. It is a specification that describes Java Application Programming Interfaces (APIs) and conventions for building Web services and Web service clients that use remote procedure calls (RPC) and XML. It standardizes the Java to WSDL and WSDL to Java mappings, and provides the core APIs for developing and deploying Web services and Web service clients on the Java platform. For more information refer to the official specifications.
JSR-109 and JSR-921
JSR-109 and JSR-921 (Implementing Enterprise Web Services) define the programming model and run-time architecture to deploy and look up Web services in the J2EE environment; more specifically, in the Web, EJB, and Client Application containers. One of its main goals is to ensure vendors’ implementations interoperate. For more information, refer to the official specifications:
WS-S
These tools support the OASIS Web Services Security 1.0 standard. For more information on the various components of this standard, refer to:
- Web Services Security: SOAP Message Security V1.0
- Web Services Security: Username Token Profile V1.0
- Web Services Security: X.509 Token Profile V1.0
Relationship between Web Services standards
Resources:
http://java.sun.com/developer/technicalArticles/WebServices/soa/
http://www.javapassion.com/webservices/#Web_Services_Overview
Posted in
Tags: 
Great site. See also pozycjonowanie stron katowice
I’m seeking great Local SEO-targeted blogs – everyone know of any?
Appreciate it for this is what ideal site; this is the type of item that keeps me though out the day.I’ve been recently looking close to to your web page immediately after I noticed about them from a good friend and was pleased when I was able to come across it following searching for a while. Being a enthusiastic blogger, I’m delighted to see others taking effort and contributing to your neighborhood. I just wished to comment to display my gratitude for one’s publish as it is rather reassuring, and many copy writers tend not to get the credit they should have. I am certain I’ll be back and will send out a number of my acquaintances.
I found this information usefull.
OP: I might be daff (lord knows I have been told lol) but that made totally no sense
Yeah sounds good to use