Title: Application Building with XML: Standards, Tools, and Demos
1Application Building with XML Standards, Tools,
and Demos
- Richard Marciano, Bertram Ludaescher
- MARCIANO,LUDAESCH_at_SDSC.EDU
- Data Intensive Computing Environments (DICE)
- San Diego Supercomputer Center, UCSD
2Goals of the Tutorial
- MORNING
- overview of the big XML picture and some gory
details - what is XML and how can it be used in
architectures and applications - what are standard tools and how to find new ones
- querying XML
- transforming XML
- some demos of actual use of XML
- AFTERNOON
- data modeling with XML
- vector graphics with XML and online mapping
applications - wireless applications of XML
3Part I (M5A) Module Outline-- morning --
- XML core (README.FIRST)
- overview, the XML 1.0 Specification syntax,
namespaces, DTDs, ... - Querying and transforming XML
- XPath, Quilt, XSLT,
- Demonstration session
- XML in action
4Part II (M5B) Module Outline-- afternoon --
- 130pm-3pm
- Data modeling with XML
- XML jumpstart
- XML schema extensions (XML Schema, RELAX, ...)
- from Data to Knowledge Representations UML, RDF,
Topic Map, ... - 315pm-4pm
- XML Graphics GIS applications
- VML, SVG, GIS
- AxioMap Demos
- 415pm-5pm
- Wireless XML applications (WAP)
- WAP architecture
- WML, WMLScript
- Dynamic WAP
- Demos
5Wireless Applications XML
- Bertram Ludaescher, Richard Marciano
- LUDAESCH,MARCIANO_at_SDSC.EDU
- Data Intensive Computing Environments (DICE)
- San Diego Supercomputer Center, UCSD
6Overview
- WAP Overview
- WAP Architecture
- WML
- WMLScript
- Dynamic Generation of WAP
- Converting Existing Web Sites to WAP
- WAP Demos
- References
7Wireless Access Protocol (WAP) Overview
- WAP 1997 --gt WAP Forum (Phone.com, Ericsson,
Motorola, Nokia) communications protocol
application environment for transmitting data
(simple text and monochrome pictures) to a mobile
device - Wireless Networks
- GSM (lt 9.6 kbps) Global System for Mobile
communications - location-based services --gt need for new WAP
protocol - bearer services SMS (short message service), CSD
(circuit switched data) - GPRS (lt115 kbps) General Packet Radio Service
- 3G mobile internet UMTS (lt 2 mbps) -- Universal
Mobile Telephone System - i-mode in Japan with NTT DoCoMo (packet-based
network) - Bluetooth Technology
8WAP Architecture
Next 3 slides are from www.wapforum.org
WAP Gateway translates between HTTP WAP
9Comparison between Internet WAP
Internet
10WAP Compiled Byte Streams
Big pipe vs. small pipe
11Wireless Markup Language (WML)
- WML history ver. 1.0 (Apr 98), 1.1 (Jun 99),
1.2 (Nov 99), 1.3 (Jul 00) - XML syntax with elements of HTML4 HDML2
- WML document deck
- deck transportation container for one or more
cards - card unit of navigation and user interface
- a WAP site sends a deck to a WAP browser (browser
decides how to display!) - supports
- text (bold, italics, underlined, line breaks,
tables) - black white images (WBMP wireless bitmap)
- user input
- variables
- navigation history stack
- scripting (WMLScript) separate to decks, sent
to client on use
12WML Hello World!
13WML Hello World! Multi-card
14WML Elements
- STATE MODEL
- WML includes support for managing user agent
state - variables
- history
- implementation-dependent state
- Browser context
- state is stored in a single scope a browser
context - WML content can be parameterized using variables
setvar - Navigation
- Events Timers
- Form Data
- Advanced Display
- Text Styles
15WML Navigation
- Tasks specify processing that is performed in
response to an event such as timer expiring,
entering a card, or activating an anchor element - setvar element specifies the variable to set in
the current browser context as a side effect of
executing a task - do element when a user activates a do element,
the associated task is executed. Type attribute
is a hint and can be accept, prev, help, reset,
options, delete - Tasks can contain anchor element links
- go navigation to a URI
- -gt HTTP GET to /foo?x1
- -gt HTTP POST to /bar with w12ytest
- prev navigate to previous URI on the history
stack - noop specifies that nothing should be done,
i.e., no operation. - refresh update of the user agent context as
specified by the setvar elements
ltgo href/foogt ltpostfield namex
value1/gt lt/gogt
ltgo href/bargt ltpostfield namew
value12/gt ltpostfield namey
valuetest/gt lt/gogt
16WML Events
- Intrinsic events are generated when a card is
made visible, by - navigating through to it (onenterforward event)
using do or entering a URL directly - returning to it (onenterbackwards event)
- when a set amount of time has expired (ontimer
event) - when a selection is made (onpick event)
- The WML elements capable of generating events
when the user interacts with them are card and
template (for the first 3) and option for the 4th
--gt Event Handlers - Examples
- ltcard onenterforward/urlgt ltpgtHellolt/pgt lt/cardgt
- ltcardgt
- ltonevent typeonenterforwardgtltgo
href/url/gt lt/oneventgt - ltpgtHellolt/pgt
- lt/cardgt
- ltcard ontimernowgt lttimer value100/gt
lt/cardgt - ltcard idnowgt ltpgtlt/pgt lt/cardgt
17WML Form Data
- ltinputgt
- ltselectgt
- ltoptiongt
- ltoptgroupgt
- ltfieldsetgt grouping of related fields text
18WML Advanced Display
ltcard titleWelcomegt ltp aligncentergt ltimg
srceye.wbmp alteye/gt lt/pgt lt/cardgt
19WML Text Styles
- Bold ltbgtlt/bgt
- Italic ltigtlt/igt
- Underline ltugtlt/ugt
- Emphasis ltemgtlt/emgt
- Strong ltstronggtlt/stronggt
- Big ltbiggtlt/biggt
- Small ltsmallgtlt/smallgt
- In WML all text must be between ltpgtlt/pgt
- Line Wrapping
- ltp alignleft right centergt
- ltp modewrap nowrapgt
20WMLScript
- Low-fat version of JavaScript, but client-side
ONLY - Stored in a separate file, accessible through URL
- Functions, Statements, Libraries
- WMLScript Standard Library
- Bytecode-based virtual machine
21Dynamic WAP
- Microsoft ASP WAP
- Java and Servlets or JSPs for generating WAP
decks - XSLT
22Converting Existing Web Sites to WAP(from
Professional WAP)
- Fully automated converters
- Phone.com
- Argo Actigate
- Configurable converters
- Oracles Portal-to-Go http//www.oracle.com/html
/portaltogo.html - Spyglass Prism
- Orchids Webshaper
- Conversion by Source Modification
- TRANSWAP http//amaro.g-art.nl/info.html
- OmniMark http//omnimark.com
23WAP Demos
24References
- Professional WAP, Wrox Publishing 2000
- WAP Forum http//www.wapforum.org
- Wireless Developer Network http//www.wirelessdev
net.com - Web Reference http//www.webreference.com/authori
ng/languages/xml/wml.htm - http//www.wapdevelopers.org
- WBMP Clip Art http//www.hicon.nl/cgi-bin/librar
y/clipart/clipart.pl - WAP browsers
- Nokia http//www.nokia.com
- Ericsson http//www.ericsson.se/WAP
- UP.Browser from Phone.com http//updev.phone.com
- WinWAP http//www.slobtrot.com
- Motorola http//www.motorola.com
- Gelon.net http//www.gelon.net
- WAPman from Palm http//palmsoftware.tucows.com
- Transcoding
- http//www-4.ibm.com/software/webservers/transcodi
ng/ - Smart Transcoder http//www.zvon.org/index.php?n
av_id40 - http//www.anywhereyougo.com
- http//www.thewapgroup.com