Chapter 11

fishnibblersspongySoftware and s/w Development

Dec 14, 2013 (3 years and 3 months ago)

76 views

XML Web Services

ASP.NET

Overview of Web Services

(Page 1)


Web Service


Part or all of a Web application that is publicly
exposed so that other applications can interact with it.


The code itself is not exposed, the interface is


Accessible through standard Web protocols


Platform independent


R
emote
P
rocedure
C
all (RPC)


Used to call another application on the Web server

Overview of Web Services

(Page 2)


Browser


Is a client of the Web application.


Does not know the Web server communicates with a
Web service


Web Server = Web Service Client


Delivers content to a browser


Does not know that Web Service is communicating
with any back
-
end applications or data sources

Overview of Web Services

Using Visual Studio .NET to
Create and Consume Web Services


Web Services


The core of the Microsoft .NET vision


Microsoft and IBM worked together to create the
XML Web Services standards


Web Services can be created using a variety of
developer tools and programming languages


A
sample

"Business
-
to
-
Business" Web Service


Tara Store


Creates a Web Service which provides product data


MaryKate’s Housewares


Integrates product data into its own Web site

Building and Consuming
a Web Service

Building a Web Service


Web Service file extentions


.asmx and .asmx.vb for the code behind the page


Import
System.Web.Services

namespace


Three major components

1.
Web Service on the server

2.
Web Service client application that calls the Web
Service via a Web reference

3.
A WSDL Web Service description document that
describes the functionality of the Web Service

Web Services Standards and
Protocols


HTTP protocol


can be used to deliver documents
through proxy servers and firewalls


Pass parameters with a QueryString using
HTTPGet


HTTPPost

passes parameters as a URL
-
encoded
string, which contains form field names and values
attached to the body of the message


SOAP (
S
imple
O
bject
A
ccess
P
rotocol) is default
method by which ASP.NET internally calls a Web
Service

Creating a Web Service


(Page 1)


To create the WebService document:

1.
Select
P
roject

from the menu bar

2.
Select
WebSer
v
ice…

from the
P
roject menu

3.
Verify that "WebService" is the selected Template,
give it a name (i.e. "ServiceTSCategories") and click
the <
Open
> button


Keyword
WebService

comes before class header


Statement is part of the
class header


Must be qualified if the
System.Web.Services

namespace is not imported

Creating a Web Service


(Page 2)


Properties for the keyword
WebService
:


Namespace

property


Unique URL which distinguishes your Web Service
from others (default domain is "tempuri.org")


Replace with your organization’s domain name


Description

property


Used to provide information about your Web Service


Can include HTML commands


Name

property


Name displayed in the Web Service home page.

Creating a Web Service


(Page 3)


Example:

<System.Web.Services.WebService _

(Namespace:="http://tarastore.com/", _

Description:="<H2>Displaying Data from
the Tara Store Database</H2>", _

Name:="Chapter 11 Web Service")> _

Public
Class

ServerVariables


...

End Class

Creating a Web Service


(Page 4)


In Visual Studio .NET compiling the Web Service
generates the WSDL document, DISCO document
and test Web page

The Web Method



(Page 1)


Create new function in "Code Behind the Page"


Exposes the method to applications in which the
WebService is instantiated


Keyword
WebMethod

comes before class header


Statement is part of the
function header


Must be qualified if the
System.Web.Services

namespace is not imported (like WebService)

The Web Method



(Page 2)


Properties in statement prior to method header:


BufferResponse

property


Store the response on the server until the
entire

function is processed


If set to
True
, improves server performance by
minimizing communication


CacheDuration

property


Number of seconds to cache Web service results


Automatically cache the results for each unique
parameter

The Web Method



(Page 3)


Properties before method header (con):


MessageName

property


Name for the method displayed in the Web page


Uses the name of the function or method if this
property is not included


Description

property


Can format the description with HTML

The Web Method



(Page 4)


Example:

<WebMethod(CacheDuration:=10, _

Description:="HelloWorld() says hello.")> _

Public
Function

HelloWorld() As String


Return "Hello World"

End Function

The Web Method

Previewing the Web Service
Home Page




(Page 1)


View the Web Service home page in a browser


http://localhost/Ch11WebService/Ch11WS_ProductsDS.asmx



Click the hyperlink GetCatMethod() takes you to URL:


http://localhost/Chapter11WebService/Ch11WS_ProductsDS.
asmx?op=GetCat
()
+Method



Click the <
Invoke
> button to test GetCatMethod
()


XML document returned (XML data within a DataSet
element)


Top section describes data; bottom section contains data

Previewing the Web Service
Home Page




(Page 2)


Go <
Back
>, enter hyperlink for Service Description


View the service contract


Service Description URL


"?WSDL" is appended to
Web Service URL


http://localhost/Ch11WebService/Service1.asmx?WSDL


Creating a Web Service

Creating a Web Service

Creating a Web Service

Creating a Web Service

Create a New Web Method

Using a Web Service


(Page 1)


Call Web Services via protocol:


HTTP Get or HTTP Post


Limit to primitive data types (integers, strings, arrays
of primitive data types)


SOAP (
S
imple
O
bject
A
ccess
P
rotocol)


Send any structure, class or enumerator, i.e. a DataSet

Using a Web Service


(Page 2)


Send information over Internet, packaged in a format
that can travel over a TCP/IP network


Serialization
-

changing an object into a form that can
be readily transported over the network


Deserialization
-

change the string back into the
original structure


If the document is in XML format


Use LoadXML method of the XML Document
Object Model (DOM) to retrieve the XML data

Consuming a Web Service from an
ASP.NET Page




(Page 1)


In Web Form application, add a Web Reference in
Solution Explorer

1.
Select
P
roject

from the menu bar

2.
Select
Add W
e
b Reference…

from the
P
roject menu
(or right
-
click "Web References" in Solution Explorer)

3.
Find or enter the Web Service URL, i.e.


http://localhost/Chapter11WebService/Ch11WS_ProductsDS.
asmx

4.
Give the reference a
Web reference name:

5.
Click the <
Add
R
eference
> button

Consuming a Web Service from an
ASP.NET Page

Consuming a Web Service from an
ASP.NET Page

Consuming a Web Service from an
ASP.NET Page

Consuming a Web Service from an
ASP.NET Page


Create an
object

from the Web Service reference


Call a
WebMethod

of the Web Service


Example:

Dim dsProducts As New DataSet

Dim objWebService As
localhost.Chapter11WebService = New
localhost.Chapter11WebService

dsProducts = objWebService.WS_GetProducts()

dgProdList.DataSource = dsProducts.Tables(0)

dgProdList.DataBind()

Consuming a Web Service from an
ASP.NET Page




(Page 2)

Consuming a Web Service from an
ASP.NET Page

Consuming a Web Service from an
ASP.NET Page


Create a new WebForm

WebForm2.aspx


Add a DataGrid



ID
--
dgCategories

Consuming a Web Service from an
ASP.NET Page

Locating Web Services


UDDI
-

directory service for registering and
searching for Web Services


Third
-
party Web Services


www.xmethods.net



www.coldrooster.com



www.asp.net



www.gotdotnet.com



Local Web Services


Discovery document points to Web Services