You are on page 1of 20

Mobile Commerce and WAP

Marcus O’Connell

• I-Hometown and Jeestore

• Jeestore Architecture
• Generation of Dynamic WML
• Java Internationalisation
• Generating multi-lingual content
• Support for user sessions
• WAP 1.2
Overview of Jeestore

e-commerce software

• Online shop building application

• No software required
• No programming or html skills
7 steps to building a store

• Store owner registration

• Logo upload/generation
• Welcome message
• Store details
• Product groups
• Adding products
• Publish store
Jeestore Architecture


Linux / Unix / NT
Presentation Layer

• ‘Web-MVC Architecture’

• Java Servlet based controller

• Dynamic content produced through Java

Server Pages (JSP)
Presentation Layer
HTTP Request HTTP Response

Instantiates JSP

Business Logic
Jeestore on WAP

• Supports Wireless Application Protocol

• Generates dynamic Wireless Markup

Language (WML) pages

• Shops built for PC and mobile device


• Consumers can purchase goods with a

mobile phone
Using JSPs to Generate WML
<?xml version=1.0?>

<card id=“home” title=“Jeestore Home”>
// Display a list of store departments
Enumeration products =

while (productObjects.hasMoreElements()) {
Product obj = products.nextElement();
out.println("<a href=\"" + Dept?id=" + obj.getId() + "\">");
out.println(obj.getName() + "</a><br/>");
Jeestore has the ability to send content in
the appropriate format and language
depending on the browser locale

Provide the right

• Language
• Character set
• ‘Look & Feel’

Single server
Internationalisation of server code
Session Support

• Session support between HTTP requests

– Allow users how have logged in to access
certain areas
– Maintenance of shopping cart
– Reporting and tracking of users’ activities

• Two main ways to maintain sessions

– Cookies
– URL-rewriting
– Hidden fields in POST methods
Transformation Gateway

• Determines the appropriate format of

the content
– markup language
– content language
– session support

• Queries HTTP request headers to

determine browser type and
supported languages
• Uses a lookup table to determine
markup language and session support.
Transformation Gateway

• Based on this, determines which JSP to

– Based on the HTTP request, the servlet does not
determine the actual jsp to instantiate, but the jsp
type. The transformation gateway determines the
actual jsp filename.

• Sets the appropriate content-type,

language and character set of the HTTP
Transformation Gateway
HTTP Response
HTTP Request

Instantiates JSP

Jsp filename
Jsp type
Trans. Gateway
Browser parameters

Business Logic
Transformation Gateway

• Need a standard naming convention for

jsp’s to handle multiple editions.
– Parameters such as markup, session support,
and language need to be encoded in filename.

• Issues
– Multiple sets of jsp’s need maintenance
– Use of resource bundles
WAP 1.2
• Wireless Identity Module

– Tamper resistent device

– Perform cryptographic operations for
– Store sensitive information
– Can also be utilised in non-WAP
WAP 1.2
• Crypto API

– Library interface for WMLScript

– provides cryptographic functionality to
– proof of transaction authorization
• digital signature functionality
– complements transport layer security
WAP 1.2
• User Agent Profile Specification
– heterogeneity of display capabilities

– different user preferences

– interoperates with W3C standard
• Composite Capabilities/Preferences profile
• Capability and Preference Information (CPI)

– Origin servers, gateways and proxies use

WAP 1.2
• Push Framework

– transmit information to device without a

previous user action

– Push Initiator

– Push Proxy Gateway (PPG)

Thank you

You might also like