1 / 32

An Introduction to Emerging Web Technologies

An Introduction to Emerging Web Technologies. Dr. Ronald J. Vetter Professor and Chair Department of Computer Science University of North Carolina at Wilmington. Overview. Historical Perspective of the Web Current Specifications and Practices Evolution to the Object Web Concluding Remarks.

gannon
Download Presentation

An Introduction to Emerging Web Technologies

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. An Introduction to Emerging Web Technologies Dr. Ronald J. Vetter Professor and Chair Department of Computer Science University of North Carolina at Wilmington

  2. Overview • Historical Perspective of the Web • Current Specifications and Practices • Evolution to the Object Web • Concluding Remarks

  3. The Web – a radical technology! • A “radical” technology is one that will cause a fundamental change in the way organizations do business. • How is the Web evolving and what changes can we expect to occur in the next 5 years?

  4. Challenges Facing the Web • Prevalence of poor markup practices • Weak implementations of style sheet support • New kinds of browsers: digital TVs, handheld PCs, phones, and cars • Pressure to subset HTML for simple clients • Pressure to extend HTML for richer clients

  5. Challenges Facing the Web, cont. • Improvements to HTML Forms: • new kinds of input (microphones, cameras, scanners, pen-based, etc) • regional variations for currency, phone numbers, dates, and postal addresses • Rapid growth • Standardization

  6. Historical Perspective of the Web • SGML - became an ISO standard in 1986 • HTML - 1989 to 1992 • HTML+ - 1993 • HTML 2.0 - 1994 • HTML 3.2 - 1996 • HTML 4.0 - 1997 • XHTML 1.0 – 1999 • XML 1.0 - 2000

  7. HTML 4.1 • HTML 4.1 is W3C's recommendation for the latest version of HTML. It includes: • support for style sheets • internationalization features • accessibility features • tables and forms • scripting and multimedia

  8. CSS - Cascading Style Sheets • Style sheets describe how documents are presented on screens, in print, or perhaps how they are pronounced. • By attaching style sheets to structured documents on the Web (e.g., HTML), authors can influence the presentation of documents without sacrificing device-independence or adding new HTML tags.

  9. What does CSS look like? To change all <H3> headers to blue, centered, with a sans-serif font: H3 { font-family : sans-serif; color : blue; text-align : center; }

  10. XML 1.0 - The Extensible Markup Language • XML is a method for putting structured data in a text file (enables data sharing over the Web). • XML looks a bit like HTML but isn't HTML. • XML is text, but isn't meant to be read. • XML is a family of technologies. • XML is verbose, but that is not a problem. • XML is new, but not that new. • XML is license-free, platform-independent and well-supported.

  11. What does XML look like? Traditional HTML: <ul> <li> Vetter, R., Ward, D., and Lugo, G.: <em>H/PCs: Ignore the Hype</em>, RDG Publishing Inc., 2003. </li> </ul>

  12. What does XML look like? XML: <Book> <Author>Vetter, R.</Author> <Author>Ward, D.</Author> <Author>Lugo, G.</Author> <Title>H/PCs : Ignore the Hype</Title> <Publisher>RDG Publishing Inc.</Publisher> <Year>2003</Year> </Book> Note: HTML is layout-oriented, while XML is structure-oriented.

  13. Example: A Bibliography Entry <?xml version=“1.0” encoding=“UTF-8”?> <!DOCTYPE Document SYSTEM “bibliography.dtd”> <!- This is an example bibliography. -> <BIB> <BOOK nickname=“Made-up book”> <AUTHOR id=“vetter”>Vetter, R.</AUTHOR> <AUTHOR id=“ward”>Ward, D.</AUTHOR> <AUTHOR id=“lugo”>Lugo, G.</AUTHOR> <TITLE>H/PCs: Ignore the Hype</TITLE> <PUBLISHER>RDG Publishing, Inc.</PUBLISHER> <YEAR>2003</YEAR> </BOOK> <BOOK nickname=“My Second Book”> <AUTHOR idref=“vetter”/><TITLE> … </TITLE> </BOOK> … </BIB>

  14. A DTD for the Bibliography Example <!DOCTYPE bib [ <!ELEMENT BIB (BOOK+)> <!ELEMENT BOOK (AUTHOR+, TITLE, PUBLISHER?, YEAR?)> <!ATTLIST BOOK isbn CDATA #IMPLIED nickname CDATA #IMPLIED> <!ELEMENT AUTHOR (#PCDATA)> <!ATTLIST AUTHOR id ID #IMPLIED idref IDREF #IMPLIED> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT PUBLISHER (#PCDATA)> <!ELEMENT YEAR (#PCDATA)> ]> Note: A DTD defines a grammar for documents.

  15. XML Schema for the Bibliography Example <xsd:schema xmlns:xsd=http://www.w3c.org/1999/XMLSchema> <xsd:element name=“BOOK” type=“BOOK_TYPE”/> <xsd:complexType name=“BOOK_TYPE”> <xsd:element name=“AUTHOR” type=“xsd:string” minOccurs=“1” maxOccurs=“unbounded”/> <xsd:element name=“TITLE” type=“xsd:string”/> <xsd:element name=“PUBLISHER” type=“xsd:string” minOccurs=“0” maxOccurs=“1”/> <xsd:element name=“YEAR” type=“xsd:decimal” minOccurs=“0” maxOccurs=“1”/> <xsd:attribute name=“isbn” type=“xsd:string”/> <xsd:attribute name=“nickname” type=“xsd:string”/> </xsd:complexType> </xsd:schema> Note: A XML Schema defines a grammar for documents.

  16. XSL - Extensible Stylesheet Language • XSL is a language for expressing stylesheets. It consists of two parts: • a language for transforming XML documents, and • an XML vocabulary for specifying formatting semantics.

  17. XSL - Extensible Stylesheet Language, cont. • XSL is a much larger language than CSS, and it defines a formatting vocabulary within the larger framework of a transformation language. • For example, an XSL sheet can automatically generate a table of contents by extracting all chapter titles from a document.

  18. What does XSL look like? <?xml version="1.0"? standalone=“yes”> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <HTML><BODY><TABLE BORDER="2"> <TR><TD>Symbol</TD> <TD>Name</TD> <TD>Price</TD></TR> <xsl:for-each select="portfolio/stock"> <TR><TD><xsl:value-of select="symbol"/></TD> <TD><xsl:value-of select="name"/></TD> <TD><xsl:value-of select="price"/></TD></TR> </xsl:for-each> </TABLE></BODY></HTML> </xsl:template> </xsl:stylesheet>

  19. DOM - Document Object Model • W3C’s DOM is a standard internal representation of the document structure and aims to make it easy for programmers to access components and delete, add or edit their content, attributes and style. • DOM offers programmers a platform- and language-neutral program interface which will make programming reliably across platforms .

  20. Where the DOM came from? The DOM originated as a specification to allow Javascript scripts and Java programs to be portable among web browsers (1997).

  21. About DOM As an object model, the DOM defines: • the interfaces and objects used to represent and manipulate a document • the semantics of these interfaces and objects - including both behavior and attributes • the relationships and collaborations among these interfaces and objects

  22. IDL Definition for the DOM interface Document : Node { readonly attribute DocumentType doctype; readonly attribute DOMImplementation implementation; readonly attribute Element documentElement; Element createElement(in wstring tagName) raises(DOMException); DocumentFragment createDocumentFragment(); Text createTextNode(in wstring data); Comment createComment(in wstring data); CDATASection createCDATASection(in wstring data) raises(DOMException); ProcessingInstruction createProcessingInstruction(in wstring target, in wstring data) raises(DOMException); Attribute createAttribute(in wstring name) raises(DOMException); EntityReference createEntityReference(in wstring name) raises(DOMException); NodeList getElementsByTagName(in wstring tagname); };

  23. Summary of the Document Object Model • DOM provides ways for scripts to manipulate HTML using a set of methods and data types defined independently of any particular programming languages or computer platforms. • It forms the basis for dynamic effects in Web pages.

  24. The Evolution to the Object Web Client-Side versus Server-Side Programming: • On the Client • Javascript, ActiveX Controls, Java Applets • On the Server • Perl, C, Unix Shell, Java Servlets, Active Server Pages (ASP), Coldfusion, Java Server Pages (JSP), XML Server Pages (XSP), and other proprietary languages (e.g., Lotus Domino’s scripting language).

  25. The Evolution to the Object Web • Static Web Pages = HTML • Web Pages with CGI scripts = HTML + Programming Language X (e.g., Perl or C) • Dynamic HTML = XML + CSS + Programming Language X (e.g., Javascript) + DOM • Database-Driven Web Pages = HTML + Programming Language X + ODBC/JDBC • Web Services • Java-Based Initiatives: XML + SOAP + WSDL + UDDI + Java + J2EE • Microsoft’s .Net = XML + SOAP + WSDL + UDDI + C# + .NET

  26. The Object Web The following three figures were taken from the article “CORBA, Java, and the Object Web”, by R. Orfali, D. Harkey, and J. Edwards, Byte Magazine, October 1997. Reference: www.byte.com/art/9710/sec6/art3.htm

  27. Web Services Computing Model • Web services enables interoperability via a set of open standards, which distinguishes it from previous network services such as Corba’s Internet Inter-ORB Protocol (IIOP). • Standards include: • Extensible Markup Language (XML) • Simple Object Access Protocol (SOAP) • Web Services Description Language (WSDL) • Universal Description, Discovery, and Integration (UDDI) Protocol

  28. Concluding Remarks • The Web is moving from providing simple file services to interactive client-server applications. • XML, SOAP, WSDL, UDDI, Java, C#, EJB, and .NET are the emerging technologies of the Web. • The complete Object Web involves an incredible mix of products and protocols.

  29. References: • http://www.w3c.org • http://www.microsoft.com/net/ • http://www.webdeveloper.com • http://www.w3.org/TR/wsdl • http://www-3.ibm.com/services/uddi/ • http://www.w3.org/TR/SOAP/ This PowerPoint presentation is located at: http://people.uncw.edu/vetterr/acm2003.ppt

More Related