http://www.w3schools.com/

Introduction to Web Services


Web Services can make your applications Web applications.

Web Services are published, found and used through the Web.


What You Should Already Know

Before you continue you should have a basic understanding of the following:

  • HTML
  • XML

If you want to study these subjects first, find the tutorials on our Home page.


What are Web Services?

  • Web services are application components
  • Web services communicate using open protocols
  • Web services are self-contained and self-describing
  • Web services can be discovered using UDDI
  • Web services can be used by other applications
  • XML is the basis for Web services

How Does it Work?

The basic Web services platform is XML + HTTP.

The HTTP protocol is the most used Internet protocol.

XML provides a language which can be used between different platforms and programming languages and still express complex messages and functions.

Web services platform elements

  • SOAP (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)
  • WSDL (Web Services Description Language)

We will explain these topics later in the tutorial


The Future of Web services

Don’t expect too much, too soon.

The Web Services platform is a simple, interoperable, messaging framework. It still misses many important features like security and routing. But, these pieces will come once SOAP becomes more advanced.

Hopefully, Web services can make it much easier for applications to communicate. 

Why Web Services?


A few years ago Web services were not fast enough to be interesting.

Thanks to the major IT development the last few years, most people and companies have broadband connection and use the web more and more.


Interoperability has highest priority.

When all major platforms could access the Web using Web browsers, different platforms could interact. For these platforms to work together, Web applications were developed.

Web applications are simple applications run on the web. These are built around the Web browser standards and can mostly be used by any browser on any platform.


Web services take Web applications to the next level.

Using Web services your application can publish its function or message to the rest of the world.

Web services uses XML to code and decode your data and SOAP to transport it using open protocols.

With Web services your accounting departments Win 2k servers billing system can connect with your IT suppliers UNIX server.


Web services have two types of uses.

Reusable application components

There are things different applications need very often. So why make these over and over again?

Web services can offer application components like currency conversion, weather reports or even language translation as services.

Ideally, there will only be one type of each application component, and anyone can use it in their application.

Connect existing software

Web services help solve the interoperability problem by giving different applications a way to link their data.

Using Web services you can exchange data between different applications and different platforms.

Web Services Platform Elements


Web Services have three basic platform elements.

These are called SOAP, WSDL and UDDI.


What is SOAP?

The basic Web services platform is XML plus HTTP.

  • SOAP stands for Simple Object Access Protocol
  • SOAP is a communication protocol
  • SOAP is for communication between applications
  • SOAP is a format for sending messages
  • SOAP is designed to communicate via Internet
  • SOAP is platform independent
  • SOAP is language independent
  • SOAP is based on XML
  • SOAP is simple and extensible
  • SOAP allows you to get around firewalls
  • SOAP will be developed as a W3C standard

Read more about SOAP on our Home page.


What is WSDL?

WSDL is an XML-based language for describing Web services and how to access them.

  • WSDL stands for Web Services Description Language
  • WSDL is written in XML
  • WSDL is an XML document
  • WSDL is used to describe Web services
  • WSDL is also used to locate Web services
  • WSDL is not yet a W3C standard

Read more about WSDL on our Home page.


What is UDDI?

UDDI is a directory service where businesses can register and search for Web services.

  • UDDI stands for Universal Description, Discovery and Integration
  • UDDI is a directory for storing information about web services
  • UDDI is a directory of web service interfaces described by WSDL
  • UDDI communicates via SOAP
  • UDDI is built into the Microsoft .NET platform

Read more about UDDI on our Home page.

Web Service Example


Any application can have a Web Service component.

Web Services can be created regardless of programming language.


An example ASP.NET Web Service

In this example we use ASP.NET to create a simple Web Service.

<%@ WebService Language="VBScript" Class="TempConvert" %>
Imports System
Imports System.Web.Services
Public Class TempConvert :Inherits WebService
<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,",","."))
if fahr="" or IsNumeric(fahr)=false then return "Error"
return ((((fahr) - 32) / 9) * 5) 
end function
<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,",","."))
if cel="" or IsNumeric(cel)=false then return "Error"
return ((((cel) * 9) / 5) + 32)
end function
end class

This document is a .asmx file. This is the ASP.NET file extension for XML Web Services.


To run this example you will need a .NET server.

The first line in this document that it is a Web Service, written in VBScript and the class name is "TempConvert":

<%@ WebService Language="VBScript" Class="TempConvert" %>

The next lines imports the namespace "System.Web.Services" from the .NET framework.

Imports System
Imports System.Web.Services

The next line defines that the "TempConvert" class is a WebService class type:

Public Class TempConvert :Inherits WebService

The next step is basic VB programming. This application has two functions. One to convert from Fahrenheit to Celsius, and one to convert from Celsius to Fahrenheit.

The only difference from a normal application is that this function is defined as a "WebMethod".

Use "WebMethod" to mark the functions in your application that you would like to make into web services.

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5) 
end function
<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

The last thing to do is to end the class:

end class

If you save this as an .asmx file and publish it on a server with .NET support, you should have your first working Web Service. Like our example Web Service


ASP.NET automates the process

With ASP.NET you do not have to write your own WSDL and SOAP documents.

If you look closer on our example Web Service. You will see that the ASP.NET has automatically created a WSDL and SOAP request.

Web Service Use


Using your example ASP.NET Web Service

In the previous example we created an example Web Service.

The Fahrenheit to Celsius function can be tested here: FahrenheitToCelsius.

The Celsius to Fahrenheit function can be tested here: CelsiusToFahrenheit.


These functions will send you a XML reply.

These tests use HTTP POST and will send a XML response like this:

<?xml version="1.0" encoding="utf-8" ?> 
<string xmlns="http://tempuri.org/">38</string>

Use a form to access a Web Service.

Using a form and HTTP POST, you can put the web service on your site, like this:

Fahrenheit to Celsius:

Celsius to Fahrenheit:


Use a form to access the Web Service.

Here is the code to add the Web Service to a web page:

<form target="_blank" action='http://www.example.com
/webservices/tempconvert.asmx/FahrenheitToCelsius' 
method="POST"> 
<table>
  <tr>
    <td>Fahrenheit to Celsius:</td>
    <td><input class="frmInput" type="text" 
    size="30" name="Fahrenheit"></td>
  </tr>
  <tr>
    <td></td>
    <td align="right"> <input type="submit" 
    value="Submit" class="button"></td>
  </tr>
</table>
</form>

<form target="_blank" action='http://www.example.com
/webservices/tempconvert.asmx/CelsiusToFahrenheit' 
method="POST"> 
<table>
  <tr>
    <td>Celsius to Fahrenheit:</td>
    <td><input class="frmInput" type="text" 
    size="30" name="Celsius"></td>
  </tr>
  <tr>
    <td></td>
    <td align="right"> <input type="submit" 
    value="Submit" class="button"></td>
  </tr>
</table>
</form>

Substitute the http://www.example.com in the code above with the name of your web site.

You Have Learned Web Services, Now What?


Web Services Summary

This tutorial has taught you how to convert your applications into web-applications.

You have learned how to use XML to send messages between applications.

You have also learned how to export a function (create a web service) from your application.


Now You Know Web Services, What’s Next?

The next step is to learn about WSDL and SOAP.

WSDL

WSDL is an XML-based language for describing Web services and how to access them.

WSDL describes a web service, along with the message format and protocol details for the web service.

If you want to learn more about WSDL, please visit our WSDL tutorial.

SOAP

SOAP is a simple XML-based protocol that allows applications to exchange information over HTTP.

Or more simply: SOAP is a protocol for accessing a web service.

If you want to learn more about SOAP, please visit our SOAP tutorial.

Advertisements