Back To Index # 1 | Back To Index # 2








What we have in this Module?

  1. URIs, URLs and URNs

  2. HTML

  3. DHTML

  4. XHTML

  5. CSS

  6. SGML

  7. XML

  8. XML Namespaces

  9. XML Schema / XSD Schemas

  10. DTD

  1. - Strict

  2. - Transitional

  3. - Frameset

  1. XSL-FO (XSL)

  2. XSL

  3. XSLT transformations

  4. XPath

  5. XQuery

  6. XLink and XPointer

  7. XForms

  8. DOM Level 1 and DOM Level 2

  9. SOAP

  10. UDDI

  1. - UDDI Benefits

  2. - Who is Supporting UDDI?

  1. WDSL




URIs, URLs and URNs


Uniform Resource Identifiers (URIs) are a compact string of characters used to identify or name a resource. The main purpose of this identification is to enable interaction with representations of the resource over a network, typically the World Wide Web, using specific protocols. URIs are defined in schemes defining a specific syntax and associated protocols.

A URI can be classified as a locator or a name or both. A Uniform Resource Locator (URL) is a URI that, in addition to identifying a resource, provides means of acting upon or obtaining a representation of the resource by describing its primary access mechanism or network "location". For example, the URL is a URI that identifies a resource (W3's home page) and implies that a representation of that resource (such as the home page's current HTML code, as encoded characters) is obtainable via HTTP from a network host named A Uniform Resource Name (URN) is a URI that identifies a resource by name in a particular namespace. A URN can be used to talk about a resource without implying its location or how to dereference it. For example, the URN urn:isbn:0-395-36341-1 is a URI that, like an International Standard Book Number (ISBN), allows one to talk about a book, but doesn't suggest where and how to obtain an actual copy of it. The contemporary point of view among the working group that oversees URIs is that the terms URL and URN are context-dependent aspects of URIs, and rarely need to be distinguished. The term URI is more general than URL or URN and may include them as special cases.




HyperText Markup Language (HTML) is the formatting language for a hypertext or hypermedia document, viewable with a web browser such as Firefox and Internet Explorer. HTML documents are plain ASCII text and can be created with a text editor, but they contain formatting codes and links to other documents and media (including images and sounds) which can be followed using the web browser. To publish information for global distribution, one needs a universally understood language, a kind of publishing mother tongue that all computers may potentially understand.





This paragraph may contain a lot of lines in the source code, but the browser ignores it.

This paragraph may contain a lot of spaces in the source code, but the browser ignores it.

The number of lines in a paragraph depends on the size of your browser window. If you resize the browser window, the number of lines in this paragraph will change.







DHTML stands for Dynamic HTML. It is not a standard defined by the World Wide Web Consortium (W3C). DHTML is used by Netscape and Microsoft to describe the new technologies the 4.x generation browsers would support. Basically DHTML is a combination of technologies used to create dynamic Web sites. To most people DHTML means a combination of HTML 4.0, Style Sheets and JavaScript. W3C once said: "Dynamic HTML is a term used by some vendors to describe the combination of HTML, style sheets and scripts that allows documents to be animated."  With DHTML a Web developer can control how to display and position HTML elements in a browser window.

With HTML 4.0 all formatting can be moved out of the HTML document and into a separate style sheet. Because HTML 4.0 separates the presentation of the document from its structure, we have total control of presentation layout without messing up the document content. With CSS we have a style and layout model for HTML documents. CSS was a breakthrough in Web design because it allowed developers to control the style and layout of multiple Web pages all at once. As a Web developer you can define a style for each HTML element and apply it to as many Web pages as you want. To make a global change, simply change the style, and all elements in the Web are updated automatically. DOM stands for the Document Object Model. The HTML DOM is the DOM for HTML. It defines a standard set of objects for HTML, and a standard way to access and manipulate HTML objects. From W3C, "The W3C DOM is a platform and language neutral interface that allows programs and scripts to dynamically access and updates the content, structure, and style of a document". JavaScript allows you to write code to control all HTML elements. See DHTML examples at W3Schools and Microsoft implementation.




XHTML (eXtensible HyperText Markup Language) is the W3C's new version of HTML. It is the reformulation of HTML 4.0 as an application of XML, containing a family of current and future document types and modules that reproduce and extend the capabilities of HTML. XHTML provides the framework for future extensions of HTML, with the aim of replacing HTML in the future. In general you can get away with more short-cuts, and possibly even less work by using HTML rather then XHTML however it is recommended to use XHTML code in your Website because of all the long term benefits. Both HTML 4 and XHTML 1.0 use precisely the same elements, attributes, and values. The difference between HTML and XHTML is in their respective syntax and the main differences are:


  1. XHTML requires that all Webpage contain the <html>, <head>, and <body> elements, as well as the DOCTYPE declaration, where as in HTML they are not required.

  2. XHTML insists on having closing tags for every element, even empty ones, where as HTML often lets you omit them.

  3. HTML requires that all attributes be enclosed by quotation marks, where as HTML lets you omit quotation marks, but only around attribute values which consist of only letters, numbers and these characters: - (dash), . (period), _ (underscore) and : (colon).

  4. XHTML is case sensitive, where as HTML is not case sensitive. Furthermore XHTML requires that all enumerated attribute values be lower case.


XHTML's more strict syntax rules have many benefits. By adhering to a more consistent, well structured format, your web pages can be easily parsed and processed by software applications. It also makes your website easier to maintain, edit, convert and format in the long run. XHTML adopts official XML standard syntax, and is a newer technology with many benefits. Alternate ways of accessing the Internet are constantly being updated. The XHTML family is designed with general user agent interoperability in mind, such as mobile devices, new Web browser software, etc.

Since XHTML is an official standard of the World Wide Web Consortium (W3C), your website will more likely render correctly in more browsers then should you choose to use non-standard HTML tag sets, which reduces site maintenance work, and improves the overall usability of your site. Finally, document developers and user agent designers are constantly discovering new ways to express their ideas through new markup. In XML, it is relatively easy to introduce new elements or additional element attributes. The XHTML family is designed to accommodate these extensions through XHTML modules and techniques for developing new XHTML-conforming modules. These modules will permit the combination of existing and new feature sets when developing content and when designing new user agents. As previously mentioned, all XHTML pages begin with a DOCTYPE declaration to specify what version of XHTML you are using. The DOCTYPE (document type) tells browsers what type of information to expect in the page, which in turn, tells it how to deliver the page. The DOCTYPE information is also used by XHTML validators to configure the process by which it verifies the syntax of your Web pages. An XHTML example file using the transitional flavor is shown here:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
<html xmlns="">
XHTML page contents goes here...

The following example used the strict DTD, meaning that every single tag must be closed properly, all attributes assigned values, etc:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


<html xmlns="" xml:lang="en" lang="en">


<title> Strict DTD XHTML Example </title>




Please Choose a Day:

<br /><br />

<select name="day">

<option selected="selected">Monday</option>







The following example uses the transitional DTD, which provides support for older browsers that don’t recognize style sheets. You can see it uses several attributes within the <body> tag, which aren’t allowed when using the strict DTD:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


<html xmlns="" xml:lang="en" lang="en">


<title> Transitional DTD XHTML Example </title>



<body bgcolor="#FFFFFF" link="#000000" text="red">

<p>This is a transitional XHTML example</p>



The following example uses the frameset DTD, which allows us to split one XHTML page into multiple frames, with each frame containing an XHTML page within it:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"


<html xmlns="" xml:lang="en" lang="en">


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title> Frameset DTD XHTML Example </title>



<frameset cols="100,*">

<frame src="toc.html" />

<frame src="intro.html" name="content" />





CSS stands for Cascading Style Sheets. The styles define how to display HTML elements and are normally stored in Style Sheets (.css). External Style Sheets are stored in CSS files and can save you a lot of work. Multiple style definitions will cascade into one. HTML tags were originally designed to define the content of a document. They were supposed to say "This is a header", "This is a paragraph", "This is a table", by using tags like <h1>, <p>, <table>, and so on. The layout of the document was supposed to be taken care of by the browser, without using any formatting tags. As the two major browsers - Netscape and Internet Explorer - continued to add new HTML tags and attributes (like the <font> tag and the color attribute) to the original HTML specification, it became more and more difficult to create Web sites where the content of HTML documents was clearly separated from the document's presentation layout. To solve this problem, the World Wide Web Consortium (W3C) - the non profit, standard setting consortium, responsible for standardizing HTML created STYLES in addition to HTML 4.0.  All major browsers support Cascading Style Sheets. Styles sheets define how HTML elements are to be displayed, just like the font tag and the color attribute in HTML 3.2. Styles are normally saved in external .css files. External style sheets enable you to change the appearance and layout of all the pages in your Web, just by editing one single CSS document.

CSS is a breakthrough in Web design because it allows developers to control the style and layout of multiple Web pages all at once. As a Web developer you can define a style for each HTML element and apply it to as many Web pages as you want. To make a global change, simply change the style, and all elements in the Web are updated automatically. Style sheets allow style information to be specified in many ways. Styles can be specified inside a single HTML element, inside the <head> element of an HTML page, or in an external CSS file. Even multiple external style sheets can be referenced inside a single HTML document.  What style will be used when there is more than one style specified for an HTML element? Generally speaking we can say that all the styles will "cascade" into a new "virtual" style sheet by the following rules, where number four has the highest priority:


  1. Browser default.

  2. External style sheet.

  3. Internal style sheet (inside the <head> tag).

  4. Inline style (inside an HTML element).


So, an inline style (inside an HTML element) has the highest priority, which means that it will override a style declared inside the <head> tag, in an external style sheet, or in a browser (a default value). Go to the CSS code examples and W3schools for CSS examples and the respective generated web page templates.




SGML (Standard Generalized Markup Language) is a language for defining markup languages such as HTML and for specifying the rules for tagging elements in a document. SGML itself is not a markup language; rather, it is a language to create markup languages. SGML supports the definition of markup languages that are hardware-and software-independent. SGML was developed and standardized by the International Organization for Standardization (ISO), which published it in 1986. Because of SGML's complexity, HTML and XML were developed as simplified subsets of SGML for use on the Internet.

Both SGML and XML are "meta" languages because they are used for defining markup languages. The Standard Generalized Markup Language (SGML, ISO 8879:1986) gave birth to a profile called the EXtensible Markup Language (XML), published as a W3C Recommendation in 1998. The differences between SGML and XML are insignificant or huge. SGML is more customizable (thus flexible and more "powerful") at the expense of being (much) more expensive to implement. In an SGML language you could say for example <COVER PAGES>, whereas in XML this construct could not be valid DTD. A typical piece of SGML would be as follows.




      a knowledge of plant function and performance in relation to the





      an understanding of the relationship between plant growth and





      various molecular, biochemical and physiological attributes;





      skills in field sampling and using electronic data gathering and

      processing systems.</P>






The Extensible Markup Language (XML) is a subset of SGML, an enabling technology used in applications such as HTML. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML. XML is not a replacement for HTML. XML and HTML were designed with different goals:

  1. XML was designed to describe data and to focus on what data is.

  2. HTML was designed to display data and to focus on how data looks.


HTML is about displaying information, while XML is about describing information. XML tags are not predefined. You must "invent" your own tags. The tags used to mark up HTML documents and the structure of HTML documents is predefined. The author of HTML documents can only use tags that are defined in the HTML standard (like <p>, <h1>, etc.). However, XML allows the author to define his own tags and his own document structure. The tags for example <to> and <from> are not defined in any XML standard. These tags are "invented" by the author of the XML document. It is important to understand that XML is not a replacement for HTML. In current and future Web development it is most likely that XML will be used to describe the data, while HTML will be used to format and display the same data. XML is a cross-platform, software and hardware independent tool for transmitting information. See the XML examples at Cookwood and w3schools.


XML Namespaces


XML namespaces provide a simple method for qualifying element and attribute names used in Extensible Markup Language documents by associating them with namespaces identified by URI references. XML Namespaces provide a method to avoid element name conflicts. Since element names in XML are not predefined, a name conflict will occur when two different documents use the same element names.


XML Schema / XSD Schemas


XML Schema is an XML-based alternative to DTDs. An XML Schema describes the structure of an XML document. The XML Schema language is also referred to as XML Schema Definition (XSD). XML Schema is an XML-based alternative to DTDs. It describes the structure of an XML document. XML Schema language is also referred to as XML Schema Definition (XSD) and it is more powerful than DTDs. See the XML Schema examples at Cookwood and w3schools.





A Document Type Definition (DTD) defines the legal building blocks of an XML document. It defines the document structure with a list of legal elements and attributes. A DTD can be declared inline inside an XML document, or as an external reference. The purpose of a DTD is to define the legal building blocks of an XML document. It defines the document structure with a list of legal elements and attributes. XHTML documents have three parts: the DOCTYPE (which contains the DTD declaration), the head and the body. To create web pages that properly conform to the XHTML 1.0 standard, each page must include a DTD declaration; either strict, transitional, or frameset. Each of the three DTD’s is described (with an example) below or go to Cookwood for more examples:




You should use the strict DTD when your XHTML pages will be marked up cleanly, free of presentational clutter. You use the strict DTD together with cascading style sheets, because it doesn’t allow attributes like "bgcolor" to be set for the <body> tag, etc. The strict DTD looks like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"




The transitional DTD should be used when you need to take advantage of the presentational features that are available through HTML. You should also use the transitional DTD when you want to support older browsers that don’t have built-in support for cascading style sheets. The transitional DTD looks like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"




You should use the frameset DTD when your XHTML page will contain frames. The frameset DTD looks like this:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"


It should be fairly obvious which DTD declaration to include in your XHTML file simply by just reading the features of each one.




XSL-FO stands for EXtensible Stylesheet Language Formatting Objects and is a language for formatting XML data XSL-FO is about formatting XML data for output. You should have a basic understanding of XML and XML Namespaces before learning XSL-FO. It is a W3C recommendation and is now formally named XSL. Basically XSL-FO is an XML-based markup language describing the formatting of XML data for output to screen, paper or other media. Styling is both about transforming and formatting information. When the World Wide Web Consortium (W3C) made their first XSL Working Draft, it contained the language syntax for both transforming and formatting XML documents. Later, the XSL Working Group at W3C split the original draft into separate Recommendations:

  1. XSLT, a language for transforming XML documents.

  2. XSL or XSL-FO, a language for formatting XML documents.

  3. XPath, a language for navigating through elements and attributes in XML documents.


XSL-FO became a W3C Recommendation 15. October 2001 and officially named XSL. See XLS examples at w3schools.




XSL stands for EXtensible Stylesheet Language. It started with XSL and ended up with XSLT, XPath, and XSL-FO that will be briefly explained later. The World Wide Web Consortium (W3C) started to develop XSL because there was a need for an XML-based Stylesheet Language. HTML uses predefined tags and the meaning of the tags is well understood. CSS is HTML Style Sheets, for example the <table> element in HTML defines a table and a browser knows how to display it. XSL is XML Style Sheets and XML does not use predefined tags (we can use any tag-names we like), and the meaning of these tags are not well understood. For example a <table> element could mean an HTML table, a piece of furniture, or something else and a browser does not know how to display it. XSL describes how the XML document should be displayed. XSL is more than a Style Sheet Language and consists of three parts:

  1. XSLT - a language for transforming XML documents

  2. XPath - a language for navigating in XML documents

  3. XSL-FO - a language for formatting XML documents


See XSL examples at Cookwood and w3schools.


XSLT transformations


XSL stands for EXtensible Stylesheet Language whereas XSLT stands for XSL Transformations. The World Wide Web Consortium (W3C) started to develop XSL because there was a need for an XML-based style sheet language. XSLT is a language used to transform XML documents into other formats, like XHTML. It is designed for use as part of XSL, which is a stylesheet language for XML. In addition to XSLT, XSL includes an XML vocabulary for specifying formatting. XSL specifies the styling of an XML document by using XSLT to describe how the document is transformed into another XML document that uses the formatting vocabulary. XSLT is also designed to be used independently of XSL. However, XSLT is not intended as a completely general-purpose XML transformation language. Rather it is designed primarily for the kinds of transformations that are needed when XSLT is used as part of XSL. See XSLT examples at Cookwood and w3schools.




XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. XPath is a language for finding information in an XML document. It is used to navigate through elements and attributes in an XML document. XPath is a major element in the W3C's XSLT standard and XQuery and XPointer are both built on XPath expressions. So an understanding of XPath is fundamental to a lot of advanced XML usage. It is the result of an effort to provide a common syntax and semantics for functionality shared between XSL Transformations (XSLT) and XPointer (XPointer). The primary purpose of XPath is to address parts of an XML (XML) document. In support of this primary purpose, it also provides basic facilities for manipulation of strings, numbers and booleans. XPath uses a compact, non-XML syntax to facilitate use of XPath within URIs and XML attribute values. XPath operates on the abstract, logical structure of an XML document, rather than its surface syntax. XPath gets its name from its use of a path notation as in URLs for navigating through the hierarchical structure of an XML document. In addition to its use for addressing, XPath is also designed so that it has a natural subset that can be used for matching (testing whether or not a node matches a pattern); this use of XPath is described in XSLT. See XPath examples at Cookwood and w3schools.




XQuery is to XML what SQL is to database tables. XQuery is designed to query XML data - not just XML files, but anything that can appear as XML, including databases. XQuery is built on XPath expressions which supported by all the major database engines (IBM, Oracle, Microsoft, etc.) XQuery is a language for finding and extracting elements and attributes from XML documents. Here is an example of a question that XQuery could solve:

"Select all CD records with a price less than $10 from the CD collection stored in the XML document called cd_catalog.xml"

XQuery 1.0 and XPath 2.0 share the same data model and support the same functions and operators. XQuery can be used to:

  1. Extract information to use in a Web Service.

  2. Generate summary reports.

  3. Transform XML data to XHTML

  4. Search Web documents for relevant information.


XQuery is compatible with several W3C standards, such as XML, Namespaces, XSLT, XPath, and XML Schema and XQuery 1.0 became a W3C Recommendation January 23, 2007. See XQuery examples at w3schools.


XLink and XPointer


XLink defines a standard way of creating hyperlinks in XML documents whereas XPointer allows the hyperlinks to point to more specific parts (fragments) in the XML document. XLink is short for the XML Linking Language. It is a language for creating hyperlinks in XML documents. XLink is similar to HTML links - but it is a lot more powerful where any element in an XML document can behave as an XLink. XLink supports simple links (like HTML) and extended links (for linking multiple resources together). With XLink, the links can be defined outside of the linked files. XPointer is short for the XML Pointer Language that allows the hyperlinks to point to specific parts of the XML document. XPointer uses XPath expressions to navigate in the XML document. The XML Linking Language (XLink) became a W3C Recommendation 27. June 2001 and The XML Pointer Language (XPointer) became a W3C Recommendation 25. March 2003. Currently the browser support for XLink and XPointer is minimal. There is some XLink support in Mozilla 0.98+, Netscape 6.02+, and Internet Explorer 6.0. Earlier versions of all of these browsers have no XLinks support at all. See XLink and XPointer examples at w3schools.




XForms is the next generation of HTML forms which is richer and more flexible than HTML forms. It will be the forms standard in XHTML 2.0 and is platform and device independent. Other than reducing or eliminates the need for scripting XForms may contain features like calculations and validations of forms. In XForms data and logic is separated from presentation. XForms uses XML to define form data. Forms are an important part of many web applications today. An HTML form makes it possible for web applications to accept input from a user.  Today, after HTML forms became a part of the HTML standard, web users do complex transactions that are starting to exceed the limitations of standard HTML forms. XForms provides a richer, more secure, and device independent way of handling web input. We should expect future web solutions to demand the use of XForms-enabled browsers (All future browsers should support XForms). XForms 1.0 became a W3C Recommendation in October 2003. See XForms examples at w3schools.


DOM Level 1 and DOM Level 2


The XML Document Object Model (XML DOM) defines a standard way for accessing and manipulating XML documents. The DOM presents an XML document as a tree-structure (a node tree), with the elements, attributes, and text defined as nodes. The goal of the DOM specification is to define a programmatic interface for XML and HTML. The DOM Level 1 specification is separated into two parts: Core and HTML. The Core DOM Level 1 section provides a low-level set of fundamental interfaces that can represent any structured document, as well as defining extended interfaces for representing an XML document. These extended XML interfaces need not be implemented by a DOM implementation that only provides access to HTML documents; all of the fundamental interfaces in the Core section must be implemented. A compliant DOM implementation that implements the extended XML interfaces is required to also implement the fundamental Core interfaces, but not the HTML interfaces. The HTML Level 1 section provides additional, higher-level interfaces that are used with the fundamental interfaces defined in the Core Level 1 section to provide a more convenient view of an HTML document. A compliant implementation of the HTML DOM implements all of the fundamental Core interfaces as well as the HTML interfaces.

The DOM is an application programming interface (API) for HTML and XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated. In the DOM specification, the term "document" is used in the broad sense - increasingly, XML is being used as a way of representing many different kinds of information that may be stored in diverse systems, and much of this would traditionally be seen as data rather than as documents. Nevertheless, XML presents this data as documents, and the DOM may be used to manage this data. With the DOM, programmers can build documents, navigate their structure, and add, modify, or delete elements and content. Anything found in an HTML or XML document can be accessed, changed, deleted, or added using the DOM, with a few exceptions - in particular, the DOM interfaces for the XML internal and external subsets have not yet been specified.

As a W3C specification, one important objective for the Document Object Model is to provide a standard programming interface that can be used in a wide variety of environments and applications. The DOM is designed to be used with any programming language. In order to provide a precise, language-independent specification of the DOM interfaces, the specifications is defined in OMG IDL, as defined in the CORBA 2.2 specification. In addition to the OMG IDL specification, it provides language bindings for Java and ECMAScript (an industry-standard scripting language based on JavaScript and JScript). Take note that OMG IDL is used only as a language-independent and implementation-neutral way to specify interfaces. Various other IDLs could have been used. In general, IDLs are designed for specific computing environments. The DOM can be implemented in any computing environment, and does not require the object binding runtimes generally associated with such IDLs. See XML DOM examples at w3schools.




SOAP stands for Simple Object Access Protocol. It is a simple XML based communication protocol to let applications exchange information over HTTP. SOAP is a protocol for accessing a Web Service, a format for sending messages. It is platform and language independent, XML based. It is simple, extensible and also allows you to get around firewalls. It is important for application development to allow Internet communication between programs. Today's applications communicate using Remote Procedure Calls (RPC) between objects like DCOM and CORBA, but HTTP was not designed for this. As we all know, RPC generates many compatibility and security problem; firewalls and proxy servers will normally block this kind of traffic. A better way to communicate between applications is over HTTP, because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this task.

SOAP provides a way to communicate between applications running on different operating systems, with different technologies and programming languages. It is a key element of Microsoft's .NET architecture for future Internet application development. UserLand, Ariba, Commerce One, Compaq, Developmentor, HP, IBM, IONA, Lotus, Microsoft, and SAP proposed to W3C, in May 2000, the SOAP Internet protocol that they hope will revolutionize application development by connecting graphic user interface desktop applications to powerful Internet servers using the standards of the Internet: HTTP and XML. The first public Working Draft on SOAP was published from W3C in December 2001.




UDDI is a platform-independent framework for describing services, discovering businesses, and integrating business services by using the Internet. UDDI are:


  1. Universal Description, Discovery and Integration.

  2. A directory for storing information about web services.

  3. A directory of web service interfaces described by WSDL.

  4. Communicates via SOAP.

  5. Built into the Microsoft .NET platform.


UDDI uses World Wide Web Consortium (W3C) and Internet Engineering Task Force (IETF) Internet standards such as XML, HTTP, and DNS protocols. It uses Web Services Description Language (WSDL) to describe interfaces to web services. Additionally, cross platform programming features are addressed by adopting SOAP, known as XML Protocol messaging specifications found at the W3C Web site.


UDDI Benefits


Any industry or businesses of all sizes can benefit from UDDI. Before UDDI, there was no Internet standard for businesses to reach their customers and partners with information about their products and services. Nor was there a method of how to integrate into each other's systems and processes. Problems the UDDI specification can help to solve:


  1. Making it possible to discover the right business from the millions currently online.

  2. Defining how to enable commerce once the preferred business is discovered.

  3. Reaching new customers and increasing access to current customers.

  4. Expanding offerings and extending market reach.

  5. Solving customer-driven need to remove barriers to allow for rapid participation in the global Internet economy.

  6. Describing services and business processes programmatically in a single, open, and secure environment.


If the industry published an UDDI standard for flight rate checking and reservation, airlines could register their services into an UDDI directory. Travel agencies could then search the UDDI directory to find the airline's reservation interface. When the interface is found, the travel agency can communicate with the service immediately because it uses a well-defined reservation interface.


Who is Supporting UDDI?


UDDI is a cross-industry effort driven by all major platform and software providers like Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and Sun, as well as a large community of marketplace operators, and e-business leaders. Over 220 companies are members of the UDDI community. The UDDI specifications define:


  1. SOAP APIs that applications use to query and to publish information to a UDDI registry.

  2. XML Schema schemata of the registry data model and the SOAP message formats.

  3. WSDL definitions of the SOAP APIs.

  4. UDDI registry definitions (technical models - tModels) of various identifier and category systems that may be used to identify and categorize UDDI registrations.


The OASIS UDDI Spec TC also develops technical notes and best practice documents that aid users in deploying and using UDDI registries effectively.




WSDL stands for Web Services Description Language. WSDL is an XML-based language for describing Web services and how to access them. It is a document written in XML. The document describes a Web service. It specifies the location of the service and the operations (or methods) the service exposes. WSDL 1.1 was submitted as a W3C Note by Ariba, IBM and Microsoft for describing services for the W3C XML Activity on XML Protocols in March 2001. (W3C Note is made available by the W3C for discussion only. Publication of a Note by W3C indicates no endorsement by W3C or the W3C Team, or any W3C Members). The first Working Draft of WSDL 1.2 was released by W3C in July 2002. Currently the latest version is WDSL 2.0. As communications protocols and message formats are standardized in the web community, it becomes increasingly possible and important to be able to describe the communications in some structured way. WSDL addresses this need by defining an XML grammar for describing network services as collections of communication endpoints capable of exchanging messages. WSDL service definitions provide documentation for distributed systems and serve as a recipe for automating the details involved in applications communication. A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitute a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:



It is important to observe that WSDL does not introduce a new type definition language. WSDL recognizes the need for rich type systems for describing message formats, and supports the XML Schemas specification (XSD) (WSDL) as its canonical type system. However, since it is unreasonable to expect a single type system grammar to be used to describe all message formats present and future, WSDL allows using other type definition languages via extensibility. In addition, WSDL defines a common binding mechanism. This is used to attach a specific protocol or data format or structure to an abstract message, operation, or endpoint. It allows the reuse of abstract definitions. In addition to the core service definition framework, this specification introduces specific binding extensions for the following protocols and message formats:




Back To Index # 1 | Back To Index # 2