spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column62


WMLScript Primer

Developer News
Mandrake Linux Founder Back, Virtually
Amazon: We're a Technology Company
Sun Expands MySQL With Closed Source

The Bytecode View

To fit the narrow bandwidth in wireless communication, both WML and WMLScript code are compiled into a bytecode on the server and then sent to the user agent. The bytecode is a binary representation of the text-based WML and WMLScript code. It is structured very similarly to binary executable files. It consists of instruction sets, opcodes, addresses, etc. The advantage of bytecode files over binary executable files is that it is machine independent. You compile it once and run on any machine capable of running WMLScript interpreter. From now on, when you hear the term compiled once - run everywhere, you'll know where it is coming from. Let's examine the bytecode of the mortgage example from the previous page. As you recall, the size of mortgage.wml is 1071 bytes. Its bytecode's length is 446 bytes (more than 2x reduction in size). Here is the bytecode:

00000000  01 04 6A 20 70 72 69 6E-63 69 70 61 6C 00 69 6E  ..j principal.in
00000010  74 65 72 65 73 74 00 6E-75 6D 5F 70 61 79 6D 65  terest.num_payme
00000020  6E 74 73 00 7F E7 55 03-63 61 72 64 31 00 36 03  nts..?U.card1.6.
00000030  4D 6F 72 74 67 61 67 65-20 43 61 6C 63 00 23 01  Mortgage Calc.#.
00000040  60 03 20 50 72 69 6E 63-69 70 61 6C 3A 20 00 AF  `. Principal: .¯
00000050  12 03 2A 4E 00 21 83 00-36 03 50 72 69 6E 63 69  ..*N.!..6.Princi
00000060  70 61 6C 3A 00 4D 03 31-35 30 30 30 30 00 01 26  pal:.M.150000..&
00000070  03 20 49 6E 74 65 72 65-73 74 3A 20 00 AF 12 03  . Interest: .¯..
00000080  2A 4E 00 21 83 0A 36 03-49 6E 74 65 72 65 73 74  *N.!..6.Interest
00000090  3A 00 4D 03 38 2E 30 30-00 01 26 03 20 4E 75 6D  :.M.8.00..&. Num
000000A0  20 70 61 79 6D 65 6E 74-73 3A 00 AF 12 03 2A 4E   payments:.¯..*N
000000B0  00 21 83 13 36 03 4E 75-6D 2E 20 70 61 79 6D 65  .!..6.Num. payme
000000C0  6E 74 73 3A 00 4D 03 33-36 30 00 01 26 03 20 50  nts:.M.360..&. P
000000D0  61 79 6D 65 6E 74 20 3D-20 00 7D 42 70 61 79 6D  ayment = .}Bpaym
000000E0  65 6E 74 00 01 E8 38 18-03 43 61 6C 63 75 6C 61  ent..?8..Calcula
000000F0  74 65 00 01 AB 4A 03 6D-6F 72 74 67 61 67 65 2E  te..«J.mortgage.
00000100  77 6D 6C 73 23 70 61 79-6D 65 6E 74 28 27 70 61  wmls#payment('pa
00000110  79 6D 65 6E 74 27 2C 27-00 80 00 03 27 2C 27 00  yment','....','.
00000120  80 0A 03 27 2C 27 00 80-13 03 27 29 00 01 01 E8  ...','....')...?
00000130  3A 18 03 48 65 6C 70 00-01 AB 4A 03 23 00 8D 01  :..Help..«J.#...
00000140  01 01 01 E7 55 8D 36 03-48 65 6C 70 00 01 60 7D  ...?U.6.Help..`}
00000150  03 50 72 69 6E 63 69 70-61 6C 00 01 03 20 2D 20  .Principal... -
00000160  00 03 24 00 03 20 61 6D-6F 75 6E 74 00 26 7D 03  ..$.. amount.&}.
00000170  49 6E 74 65 72 65 73 74-00 01 03 20 2D 20 65 2E  Interest... - e.
00000180  67 2E 20 37 2E 35 00 26-7D 03 50 61 79 6D 65 6E  g. 7.5.&}.Paymen
00000190  74 73 00 01 03 20 2D 20-65 2E 67 2E 20 33 36 30  ts... - e.g. 360
000001A0  20 66 6F 72 20 33 30 20-79 65 61 72 73 00 26 E8   for 30 years.&?
000001B0  46 18 03 42 61 63 6B 00-01 32 01 01 01 01        F..Back..2....

This display can be generated only by an application that can interpret WMLScript. We used the Nokia WAP Toolkit for this. It supports two views: WML and bytecode. The above output is mortgage.wml's bytecode representation. Each byte is represented by two hexadecimal characters and is surrounded by white space. The left column shows the byte number (from the beginning of the file) of next row's first byte (in hexadecimal notation). For example, the top entry on the most-left column is 10, which is 16 in decimal notation. Each line includes 16 bytes, with a separation hypen between the first and last eight. If we start counting from zero, byte number 16 is the first one on the second row. The most-right column tries to interpret each byte as an ASCII character. Some of the interpretations are garbage, of course, but some of them reconstruct the original WML code.

Next: How to identify differences between WMLScript and JavaScript

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Whitepapers and eBooks

Intel Whitepaper: Comparing Two- and Four-Socket Platforms for Server Virtualization
IBM Solutions Brief: Go Green With IBM System xTM And Intel
HP eBook: Simplifying SQL Server Management
IBM Contest: Are You the Next Superstar? Join the "Search for the XML Superstar" Contest to Find Out
Microsoft PDF: Top 10 Reasons to Move to Server Virtualization with Hyper-V
Microsoft PDF: Six Reasons Why Microsoft's Hyper-V Will Overtake Vmware
Microsoft Step-by-Step Guide: Hyper-V and Failover Clustering
Intel PDF: Quad-Core Impacts More Than the Data Center
Intel PDF: Virtualization Delivers Data Center Efficiency
Go Parallel Article: PDC 2008 in Review
Microsoft PDF: Top 11 Reasons to Upgrade to Windows Server 2008
Avaya Article: Communication-Enabled Mashups: Empowering Both Business Owners and IT
Intel Whitepaper: Building a Real-World Model to Assess Virtualization Platforms
  PDF: Intel Centrino Duo Processor Technology with Intel Core2 Duo Processor
Microsoft Article: Build and Run Virtual Machines with Hyper-V Server 2008
Go Parallel Article: Q&A with a TBB Junkie
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
IBM eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
HP eBook: Guide to Storage Networking
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
webref The latest from WebReference.com Browse >
Popular JavaScript Framework Libraries: An Overview - Part 3 · Accessing Your MySQL Database from the Web with PHP · Working with the DOM Stylesheets Collection
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Crucial Triples Up With New Three-Channel DDR3 Kits · Meet the Finalists: Excellence in Technology Awards · Tealeaf Offers Insight to Mobile Customer Behavior


Created: May 22, 2000
Revised: June 18, 2000

URL: http://www.webreference.com/js/column62/6.html