1 / 29

Introduction to XML and Web Service

Introduction to XML and Web Service. ISYS 464. HTML vs XML. HTML is a language specifically designed for displaying information in browser. It doesn’t carry information about the structure of the content held within its page.

anson
Télécharger la présentation

Introduction to XML and Web Service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to XML and Web Service ISYS 464

  2. HTML vs XML • HTML is a language specifically designed for displaying information in browser. It doesn’t 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.

  3. HTML <body> <h1>My Favorite Book</h1> <h1>ISBN - 1-34567-04-01</h1> <H1>Authors:</H1> <h3>John Smith</h1> <h3>Peter Chen</h1> <h1>Price: $45.00</h1> <h1>Description: This is a grerat book</h1> </body>

  4. XML <?xml version="1.0" ?> <Books> <Book> <ISBN>1-34567-04-01</ISBN> <Authors> <AuthorName>John Smith</AuthorName> <AuthorName>Peter Chen</AuthorName> <AuthorName>David Chao</AuthorName> </Authors> <Price> $45.00</Price> <Description>This is a grerat book</Description> </Book> <Book> <ISBN>1-34567-04-02</ISBN> <Authors> <AuthorName>Adam Smith</AuthorName> </Authors> <Price> $25.00</Price> <Description>This is a second great book</Description> </Book> </Books>

  5. XML 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).

  6. Well-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: • <price US=“$49” /> • Note: XML is case sensitive.

  7. XML Documents • The XML declaration: • <?xml version=“1.0” ?> • Note: xml should be in lower case. • Namespaces • Define a namespace: xmlns:”uri” where the Uniform Resource Identifier is a unique identifier and is often a URL. • Use a namespace to make a tag unique: • <namespace: TagName> • Elements: • Each start-tag/end-tag pair, with the data that lies between them, is an element. • Ex. <AuthorName>John Smith</AuthorName> • 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 element’s start tag, and values must be enclosed in quote marks. • <Food healthy=“yes”>Spinach</Food> • <Food healthy=“yes” tasty=“no”>Carrot</Food>

  9. Tree View of XML Books Book Book ISBN Authors Price Description ISBN Authors Price Description Author Author Author

  10. Valid Documents • Well-formed documents that conform to an XML schema. • XML parsers are programs that are able to validate an XML document against schema.

  11. XML 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

  12. Access Support for XML • File: • Export • Get External Data

  13. Style 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

  14. 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.

  15. <?xml version="1.0" ?> <?xml:stylesheet href="books.css" type="text/css" ?> <Books> <Book> <btitle>My Favorite Book</btitle> <ISBN>1-34567-04-01</ISBN> <Authors> <AuthorName>John Smith</AuthorName> <AuthorName>Peter Chen</AuthorName> </Authors> <Price> $45.00</Price> <Description>This is a grerat book</Description> </Book> <Book> <btitle>My Second Favorite Book</btitle> <ISBN>1-34567-04-02</ISBN> <Authors>Adam Smith</Authors> <Price> $25.00</Price> <Description>This is a second great book</Description> </Book> </Books>

  16. btitle { display:block; font-family: Aerial, Helvetica; font-weight: bold; font-size: 20pt; color: #9370db; text-align: center; } ISBN { display:block; font-family: Aerial, Helvetica; font-weight: bold; font-size: 12pt; color: #c71585; text-align: left; } Authors { display:inline; font-family: Aerial, Helvetica; font-style: italic; font-size: 10pt; color: #9370db; text-align: left; }

  17. Price { display:block; font-family: Aerial, Helvetica; font-size: 12pt; color: #ff1010; text-align: left; } Description { display:block; font-family: Aerial, Helvetica; font-size: 12pt; color: #ff1010; text-align: left; }

  18. Demo • ASPNet/FavoriteBook.htm

  19. Web 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.

  20. To 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: • <WebMethod()> _

  21. A Web Service Example Public Class MyWebService Inherits System.Web.Services.WebService <WebMethod()> Public Function GetCname(ByVal CID As String) As String Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data 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

  22. Web Service Description Language (WSDL) • A WSDL file is an XML document containing a complete description of the web service. It shows a web service’s name, methods, and parameter types. • Help page: After entering web service’s URL, a help page is displayed. You can click the Service Description link to see the WSDL file.

  23. Returning an ArrayList <WebMethod()> Public Function GetCnameRating(ByVal CID As String) As ArrayList Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data 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

  24. Consuming 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.

  25. Code 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

  26. Reference a Web Service on Internet • Mortgage calculator • http://www.webservicex.net/mortgage.asmx

  27. Universal Description, Discovery, and Integration (UDDI) • A directory service for web services. • http://uddi.org • UDDI is an open industry initiativeenabling 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.

  28. Loosely 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.

  29. Service 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.

More Related