Title: An Introduction to Emerging Web Technologies
1An Introduction to Emerging Web Technologies
Dr. Ronald J. Vetter Professor and
Chair Department of Computer Science University
of North Carolina at Wilmington
2Overview
- Historical Perspective of the Web
- Current Specifications and Practices
- Evolution to the Object Web
- Web Services
- Concluding Remarks
3The 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?
4Challenges 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
5Challenges 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
6XML - Extensible Mark-up Language
- Ratified in 1998 - very important standard
mark-up language - a simplified SGML. - Developed to represent textual information in a
structured manner that could be read and
interpreted by a computer. - A foundation for web services and grid services.
7Some key aspects of XML
- Tags always used in pairs delineate information
to make it easy to process. (There is an
exception, when the body between the tags holds
nothing.) - Tags can be nested. They can have attributes.
- The names of tags can be defined broadly at
will. (In HTML, tags are predefined.)
8XML - 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.
9What does XML look like?
- Traditional HTML
- ltulgt
- ltligt Vetter, R., Ward, D., and Lugo, G.
ltemgtH/PCs Ignore the Hypelt/emgt, - RDG Publishing Inc., 2003. lt/ligt
- lt/ulgt
10What does XML look like?
- XML
- ltBookgt
- ltAuthorgtVetter, R.lt/Authorgt
- ltAuthorgtWard, D.lt/Authorgt
- ltAuthorgtLugo, G.lt/Authorgt
- ltTitlegtH/PCs Ignore the Hypelt/Titlegt
- ltPublishergtRDG Publishing Inc.lt/Publishergt
- ltYeargt2003lt/Yeargt
- lt/Bookgt
- Note HTML is layout-oriented, while XML is
- structure-oriented.
11Example A Bibliography Entry
- lt?xml version1.0 encodingUTF-8?gt
- lt!DOCTYPE Document SYSTEM bibliography.dtdgt
- lt!- This is an example bibliography. -gt
- ltBIBgt
- ltBOOK nicknameMade-up bookgt
- ltAUTHOR idvettergtVetter, R.lt/AUTHORgt
- ltAUTHOR idwardgtWard, D.lt/AUTHORgt
- ltAUTHOR idlugogtLugo, G.lt/AUTHORgt
- ltTITLEgtH/PCs Ignore the Hypelt/TITLEgt
- ltPUBLISHERgtRDG Publishing, Inc.lt/PUBLISHERgt
- ltYEARgt2003lt/YEARgt
- lt/BOOKgt
- ltBOOK nicknameMy Second Bookgt
- ltAUTHOR idrefvetter/gtltTITLEgt lt/TITLEgt
- lt/BOOKgt
-
- lt/BIBgt
12A DTD for the Bibliography Example
- lt!DOCTYPE bib
- lt!ELEMENT BIB (BOOK)gt
- lt!ELEMENT BOOK (AUTHOR, TITLE, PUBLISHER?,
YEAR?)gt - lt!ATTLIST BOOK
- isbn CDATA IMPLIED
- nickname CDATA IMPLIEDgt
- lt!ELEMENT AUTHOR (PCDATA)gt
- lt!ATTLIST AUTHOR
- id ID IMPLIED
- idref IDREF IMPLIEDgt
- lt!ELEMENT TITLE (PCDATA)gt
- lt!ELEMENT PUBLISHER (PCDATA)gt
- lt!ELEMENT YEAR (PCDATA)gt
- gt
- Note A DTD defines a grammar
for documents.
13XML Schema for the Bibliography Example
- ltxsdschema xmlnsxsdhttp//www.w3c.org/1999/XMLS
chemagt - ltxsdelement nameBOOK typeBOOK_TYPE/gt
- ltxsdcomplexType nameBOOK_TYPEgt
- ltxsdelement nameAUTHOR typexsdstring
- minOccurs1 maxOccursunbounded/gt
- ltxsdelement nameTITLE typexsdstring/gt
- ltxsdelement namePUBLISHER
typexsdstring - minOccurs0 maxOccurs1/gt
- ltxsdelement nameYEAR typexsddecimal
- minOccurs0 maxOccurs1/gt
- ltxsdattribute nameisbn typexsdstring/gt
- ltxsdattribute namenickname
typexsdstring/gt - lt/xsdcomplexTypegt
- lt/xsdschemagt
- Note A XML Schema defines a grammar for
documents.
14XML.ORG Registry
- An open repository of hundreds of industry schema
definitions (e.g., financial services,
healthcare, construction, retail, insurance, real
estate, etc.) - See http//www.xml.org/xml/registry.jsp
15Evolution 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 Dominos scripting
language).
16Evolution 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 - Microsofts .Net XML SOAP WSDL UDDI C
.NET
17The 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
18(No Transcript)
19(No Transcript)
20(No Transcript)
21Web Services Computing Model
- Web services enables interoperability via a set
of open standards, which distinguishes it from
previous network services such as Javas Remote
Method Invocation (RMI) or Corbas Internet
Inter-ORB Protocol (IIOP). - Web services are platform independent.
22Web Services Computing Model
- HTTP transport
- SOAP (Simple Object Access Protocol) message
carrying XML documents - WSDL (Web Services Description Language) used to
describe message syntax for invoking a service
and its response. - UDDI (Universal Description, Discovery and
Integration) used as web service discovery
mechanism.
23Simple Object Access Protocol (SOAP)
- A communication protocol for passing XML
documents. Provides mechanisms for - Defining communication unit - a SOAP message
- Error handling
- Extensions
- Data representation
- Remote Procedure Calls
- Document-centric approach for business
transactions - Binding to HTTP
24Web Service Description Language (WSDL)
- A W3C standard XML document that describes three
fundamental properties of a service - What it is - operations (methods) it provides.
- How it is accessed - data format, protocols.
- Where it is located - protocol specific network
address.
25Universal Description, Discovery, and Integration
(UDDI)
- UDDI is the name of a group of web-based
registries that expose information about a
business or other entity and its technical
interfaces (or APIs). - These registries are run by multiple Operator
Sites, and can be used by anyone who wants to
make information available about one or more
businesses or entities, as well as anyone that
wants to find that information.
26Web Services Computing Model
- Client needs to
- Identify the location of the required service.
- Know how to communicate with the service to get
it to provide the actions required. - Uses service registry - a third party.
27Service-Oriented Architecture
- Steps
- Services published in a Service registry.
- Service requestor asks Service Registry to locate
service. - Service requestor binds with service provider
to invoke service.
28Service-Oriented Architecture
Service registry
1. Publish
2. Find
3. Bind
Service requester
Service provider
29Web Services Computing Model
1
2
3
4
5
6
From http//www.globus.org
30Hosting Environments for Web Services
- Microsoft .NET
- IBM Websphere
- Apache Axis - http//xml.apache.org/axis
31Concluding 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.
32References
- 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/acm2004.ppt