Title: Introduction to XML and Web Service
1Introduction to XML and Web Service
2HTML vs XML
- HTML is a language specifically designed for
displaying information in browser. It doesnt
carry information about the structure of the
content held within its page. - XML (Extensible MarkUp Language) is a language
used to represent data in a form that does not
rely on any particular proprietary technology.
It uses user-defined tags to give meaningful
names to data elements. With XML, we separate the
data content from the data presentation.
3HTML
ltbodygt lth1gtMy Favorite Booklt/h1gt lth1gtISBN -
1-34567-04-01lt/h1gt ltH1gtAuthorslt/H1gt lth3gtJohn
Smithlt/h1gt lth3gtPeter Chenlt/h1gt lth1gtPrice
45.00lt/h1gt lth1gtDescription This is a grerat
booklt/h1gt lt/bodygt
4XML
lt?xml version"1.0" ?gt ltBooksgt ltBookgt ltISBNgt1-3456
7-04-01lt/ISBNgt ltAuthorsgt ltAuthorNamegtJohn
Smithlt/AuthorNamegt ltAuthorNamegtPeter
Chenlt/AuthorNamegt ltAuthorNamegtDavid
Chaolt/AuthorNamegt lt/Authorsgt ltPricegt
45.00lt/Pricegt ltDescriptiongtThis is a grerat
booklt/Descriptiongt lt/Bookgt ltBookgt ltISBNgt1-34567-04
-02lt/ISBNgt ltAuthorsgt ltAuthorNamegtAdam
Smithlt/AuthorNamegt lt/Authorsgt ltPricegt
25.00lt/Pricegt ltDescriptiongtThis is a second
great booklt/Descriptiongt lt/Bookgt lt/Booksgt
5XML Document
- Well-formed documents
- Documents comply with the rules of XML syntax.
- Valid documents
- Documents that are well-formed and comply with a
XML schema or Document Type Definition (DTD is a
file containing the rules used to define the
document).
6Well-Formed Documents
- There is only one root node.
- All elements must have a start tag and an end tag
(except for an empty element, see example below)
Elements must be nested correctly. - If an element has an attribute, the attribute
value must be quoted. - An empty element with an attribute
- ltprice US49 /gt
- Note XML is case sensitive.
7XML Documents
- The XML declaration
- lt?xml version1.0 ?gt
- Note xml should be in lower case.
- Namespaces
- Define a namespace xmlnsuri where the Uniform
Resource Identifier is a unique identifier and is
often a URL. - Use a namespace to make a tag unique
- ltnamespace TagNamegt
- Elements
- Each start-tag/end-tag pair, with the data that
lies between them, is an element. - Ex. ltAuthorNamegtJohn Smithlt/AuthorNamegt
- The start and end tag must be in the same case.
8- Attributes Elements can have attributes. These
are values that are passed to the application,
but not constitute part of the content of the
element. Attributes are included as part of the
elements start tag, and values must be enclosed
in quote marks. - ltFood healthyyesgtSpinachlt/Foodgt
- ltFood healthyyes tastynogtCarrotlt/Foodgt
9- Comments
- lt!--This is a comment --gt
- Processing instructions These allow documents to
contain instructions for applications using XML
data. - lt?NameOfTargetApplication Instructions for
application?gt
10Tree View of XML
Books
Book
Book
ISBN
Authors
Price
Description
ISBN
Authors
Price
Description
Author
Author
Author
11Valid Documents
- Well-formed documents that conform to an XML
schema. - XML parsers are programs that are able to
validate an XML document against schema.
12XML SchemaDefinition of an XML Document
- Namespaces Allow element names to be qualified
to avoid name collisions. - Complex and simple types
- Elements that contains other elements are complex
type. - Cardinality
- minOccurs 0 for optional element.
- maxOccurs specified number or unbounded
- Compositor
- Sequence defines an ordered sequence of
subelements. - Choice defines a choice between several possible
elements. - Constraints
- Uniqueness contraint
13VS.Net Tools for XML Document and Schema
- XML Schema
- Project/Add New Item/XML Schema
- Drag tables from Server Explorer
- One table
- Two tables with relation
- View Code
- XML File
- Project/Add New Item/XML File
- Add tags
14Creating XML File
lt?xml version"1.0" encoding"utf-8"?gt ltbooksgt
ltbookgt ltauthorgtChao lt/authorgt
ltisbngt12345lt/isbngt ltpricegt45lt/pricegt
lt/bookgt ltbookgt ltauthorgtSmithlt/authorgt
ltisbngt3456lt/isbngt ltpricegt50lt/pricegt
lt/bookgt ltbookgt ltauthorgtChenlt/authorgt
ltisbngt3445lt/isbngt ltpricegt56lt/pricegt
lt/bookgt lt/booksgt
15Read XML File
- DataSet objects ReadXML method.
- Add a new dataset object
- Project/Add New Item/DataSet
- Use the ReadXML method to read XML file into the
dataset.
Dim MyDs As New DataSet2 MyDs.ReadXml("C\VBExampl
esVS05\TestXML\TestXML\XMLFile1.xml",
XmlReadMode.InferSchema) Dim objDataView As New
DataView(MyDs.Tables("Book")) DataGridView1.DataSo
urce objDataView
16Write XML Schema
- Dim MyDs As New DataSet2
- MyDs.ReadXml("C\VBExamplesVS05\TestXML\TestXML\XM
LFile1.xml", XmlReadMode.InferSchema) - MyDs.WriteXmlSchema("c\MyDsSchema.txt")
- MyDs.WriteXml("c\MyDsXML.txt")
17Style Sheets
- XSL Extensible Stylesheet Language
- Tell the browser how to display the XML document.
- With a style sheet, all of the style rules are
kept in one file and the source document simply
links to this file. - File extension .CSS
18- Browser screen structure
- Page
- Area
- Block Flow Object Taking up the whole line.
- In-Line Flow Object Several in-line objects may
be on the same line.
19lt?xml version"1.0" ?gt lt?xmlstylesheet
href"books.css" type"text/css"
?gt ltBooksgt ltBookgt ltbtitlegtMy Favorite
Booklt/btitlegt ltISBNgt1-34567-04-01lt/ISBNgt ltAuthors
gt ltAuthorNamegtJohn Smithlt/AuthorNamegt ltAuthorN
amegtPeter Chenlt/AuthorNamegt lt/Authorsgt ltPricegt
45.00lt/Pricegt ltDescriptiongtThis is a grerat
booklt/Descriptiongt lt/Bookgt ltBookgt ltbtitlegtMy
Second Favorite Booklt/btitlegt ltISBNgt1-34567-04-02lt
/ISBNgt ltAuthorsgtAdam Smithlt/Authorsgt ltPricegt
25.00lt/Pricegt ltDescriptiongtThis is a second
great booklt/Descriptiongt lt/Bookgt lt/Booksgt
20btitle displayblock font-family Aerial,
Helvetica font-weight bold font-size
20pt color 9370db text-align
center ISBN displayblock font-family
Aerial, Helvetica font-weight
bold font-size 12pt color
c71585 text-align left Authors display
inline font-family Aerial, Helvetica font-sty
le italic font-size 10pt color
9370db text-align left
21Price displayblock font-family Aerial,
Helvetica font-size 12pt color
ff1010 text-align left Description
displayblock font-family Aerial,
Helvetica font-size 12pt color
ff1010 text-align left
22Demo
23Web Service
- XML Web Service
- Web services are classes that are stored on the
web which can instantiate and use in both Windows
and Web applications.
24To Add a New Web Service
- Website/Add New Item/Web Service
- Web Service has an extension ASMX
- The CodeBehind File is stored in the App_Code
folder. - Web Services are defined as Web Method
- ltWebMethod()gt _
25A Web Service Example
Public Class MyWebService Inherits
System.Web.Services.WebService ltWebMethod()gt
Public Function GetCname(ByVal CID As String) As
String Dim strConn As String
"ProviderMicrosoft.Jet.OLEDB.4.0Data Source
c\salesDB.mdb" Dim objConn As New
OleDbConnection(strConn) Dim strSQL As
String "select from customer where CID '"
CID "'" Dim objComm As New
OleDbCommand(strSQL, objConn)
objConn.Open() Dim objDataReader As
OleDbDataReader objDataReader
objComm.ExecuteReader() If
objDataReader.Read() Then Return
objDataReader("Cname") Else
Return ("Not exist") End If End
Function End Class
26Web Service Description Language (WSDL)
- A WSDL file is an XML document containing a
complete description of the web service. It
shows a web services name, methods, and
parameter types. - Help page After entering web services URL, a
help page is displayed. You can click the
Service Description link to see the WSDL file.
27Returning a Complex Data Type
- Examples
- ArrayList
- DataSet
- User-defined object
- Customer Class
28Returning an ArrayList
ltWebMethod()gt Public Function GetCnameRating(ByVa
l CID As String) As ArrayList Dim strConn
As String "ProviderMicrosoft.Jet.OLEDB.4.0Data
Source c\salesDB.mdb" Dim objConn As
New OleDbConnection(strConn) Dim strSQL
As String "select from customer where CID
'" CID "'" Dim objComm As New
OleDbCommand(strSQL, objConn)
objConn.Open() Dim objDataReader As
OleDbDataReader objDataReader
objComm.ExecuteReader() Dim temp As New
ArrayList If objDataReader.Read() Then
temp.Add(objDataReader("Cname"))
temp.Add(objDataReader("Rating"))
Else temp.Add("Not exist")
End If Return temp End Function
29Returning a DataSet
ltWebMethod()gt Public Function GetCustomerDataSet()
As DataSet Dim strConn As String
"ProviderMicrosoft.Jet.OLEDB.4.0Data Source
c\salesDB.mdb" Dim objConn As New
OleDbConnection(strConn) Dim strSQLSelect
As String "select from customer" Dim
objDataSet As New DataSet() Dim
objAdapter As New OleDbDataAdapter(strSQLSelect,
objConn) objAdapter.Fill(objDataSet,
"Customer") Return objDataSet End
Function
30Consuming Web Services from a Windows Application
- Add a web reference to the web service
- Project/Add Web Reference
- Local computer
- Imports the web service
- Declare a web service class variable.
- Dim UseWs As New DBWebService
- Note Web Service CodeBehind file location.
31Code Example (Windows Project)
Imports TestXML.MyWService Public Class Form3
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles Button1.Click Dim MyWs As New
MyWebService Try
MessageBox.Show(MyWs.GetCname(InputBox("enter
cid "))) Catch except As
SystemException MessageBox.Show(except
.Message) End Try End Sub End Class
32Using a DataSet Returning by Web Service(Web
Project)
Imports DBWS Imports System.Data Partial Class
_Default Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Me.Load
Dim UseWs As New DBWebService Dim MyDs
As New dataset MyDs UseWs.GetCustomerDat
aSet() GridView1.DataSource
MyDs.Tables("customer")
GridView1.DataBind() End Sub End Class
33Reference a Web Service on Internet
- Mortgage calculator
- http//www.webservicex.net/mortgage.asmx
34Universal Description, Discovery, and Integration
(UDDI)
- A directory service for web services.
- http//uddi.org
- UDDI is an open industry initiative enabling
businesses to publish service listings and
discover each other and define how the services
or software applications interact over the
Internet. A UDDI business registration consists
of three components - White Pages address, contact, and known
identifiers - Yellow Pages industrial categorizations based
on standard taxonomies and - Green Pages technical information about
services exposed by the business.
35Loosely Coupled Software
- Refers to software routines (modules, programs)
that can be called by an application and executed
as needed. For example, Web services are loosely
coupled software modules that are invoked on
demand when required. - An approach to designing interfaces across
modules to reduce the interdependencies across
modules or components in particular, reducing
the risk that changes within one module will
create unanticipated changes within other modules.
36Benefits of Loosely Coupled Software
- This approach specifically seeks to increase
flexibility in adding modules, replacing modules
and changing operations within individual
modules. - It assumes a modular approach to design.
- It values flexibility.
- It seeks to increase flexibility by focusing on
design of interfaces.
37Service Oriented Architecture
- SOA expresses a perspective of software
architecture that defines the use of loosely
coupled software services to support the
requirements of the business processes and
software users. In an SOA environment, resources
on a network are made available as independent
services that can be accessed without knowledge
of their underlying platform implementation. - A service-oriented architecture is not tied to a
specific technology. It may be implemented using
a wide range of technologies.