Sei sulla pagina 1di 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr.

Wei Dai)
Abstract This document aims at providing a comprehensive insight on mobile computing and integrating the INDEX environment to the wireless devices using WML, XML, J2ME technologies. Proposed Architecture for mobile computing architecture is clearly discussed with flowcharts and program modules. As the Java component is yet to be integrated with the WML user interface module, it will be discussed in the next report. However, this document can be considered as an effective template or as a solid foundation template for the entire project. Introduction What is Mobile Computing? A Brief Overview Mobile Computing refers to the use of Mobile Devices to access information through wired or wireless connection anywhere. A brief introduction on current Mobile Devices, their advanced features and some application solutions using Mobile Computing technology are given below: The family of Mobile Devices includes: Palm-size PC (P/PC) - A pen-based mobile device, running Windows CE and Palm OS Handheld PC (H/PC) and Handheld PC Pro (H/PC Pro) - A keyboard-base device, running Windows CE and Windows CE Professional - Mobile Phone Including simple mobile phone and smart phone After considerable research into the current technologies available for developing wireless applications for remote access, it was found that WML WAP based wireless technologies is a very mature and feasible technology. Bluetooth based applications are just evolving and require extensive research. And Bluetooth is limited by its range (distance of operation), whereas WAP can be accessed by any mobile devices without any compromise on range. In this report we discuss how Index environment can be integrated effectively using WAP technology. WAP

WAP is defined as an open, global specification that allows mobile users with any type of wireless device to access and interact with information and services regardless of geographical location. WAP enables the fast delivery to relevant information to mobile users. This information can comprise web content as well as other data formats as defined by the provider. Handheld digital wireless devices such as mobile phones, pagers, two-way radios, smart phones, palm devices and other communication devices can benefit from utilizing WAP.( (wapforum.org) WAP How it works? A user of a WAP compliant phone uses the in-built micro browser to make a request in WML. The request is passed to a WAP Gateway that then retrieves the information from an Internet server either in standard HTML format, or from a source that provides content preformatted in WML. If the content is standard HTML, then a gateway may try to translate the content into WML. Otherwise, the WML is sent back to the WAP compliant device. Nokia and Ericsson have written their own micro browsers (wapforum.org)

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 1 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)
WML WML stands for Wireless Markup Language, and is the language utilized by wireless devices. It is based on XML, but in reality WML is an XML application. If you're going from HTML chances are you'll find WML somewhat restrictive in comparison to HTML. WML is read and interpreted by a browser built into the WAP device in much the same was as a desktop browser renders standard HTML pages. The browser or user agent is commonly called a micro browser. The capabilities of the micro browser are severely limited due to the relatively small screen size and processing power of WAP devices. All WML is compressed and/or tokenized before it is sent to a WAP device. Some of the current limitations of WAP devices will probably disappear as more tools and more processing power are made available. WMLScript WMLScript is a client side script language based on ECMAScript. It is similar to JavaScript, and provides the same type of client side scripting that standard browsers allow. WMLScript has been modified to fit the limitations of the WAP environment. WML "pages" or WML documents are referred to as decks. Each deck consists of one or more cards. Each deck begins and ends with the <wml> tag, and each card begins and ends with the <card> tag. When the WML micro browser accesses a WML document (or deck), it reads the whole deck, and navigation between the cards in this deck is done without the need to load any more data. This is important to know, because once you've loaded a deck, all cards within it stays (statically) in the WML micro browser memory until the browser is instructed to reload the whole deck. If you are familiar with the <a name> tag of HTML, <card> tags of WML is very similar. <wml> <card id="main_menu"> ...some code... </card> <card id="orders"> ...some more code... </card> </wml> Decks and cards are accessed this way: [deckname][#cardname]. If the deckname is omitted, the browser will look for a card named cardname within the deck currently in memory. If the #cardname is omitted, the browser will load the deck called deckname and jump to the first card in the deck. If you include both deckname and #cardname, the browser will load the deck called deckname and jump to the card called #cardname . This is very similar to standard HTML <A NAME> tags. (wapforum.org)

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 2 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

XML XML is a W3C recommendation for representing data that can't be easily represented by HTML. XML is a subset of Standard Generalized Markup Language (SMGL for short). The goal of XML is to enable data to be transmitted to/from the Web in a format that is as easy as HTML web pages are today. An XML document instance must be created and stored as a set of properly nested data storage entities, each of which is made up of a number of logical elements which contain data or define processes to be performed. The outermost storage entity is referred to as the document entity: it contains both the start and the end of the root or document element of the document instance. Elements can be nested to create hierarchies (information trees), and may contain references to embedded entities. Elements can be assigned attributes (properties) which indicate how the contents of the element should be interpreted. Each XML element starts with a named start-tag and ends with an end-tag with a matching name. Outward pointing angle brackets are used to delimit these markup tags (e.g. <customer>). An end-tag is distinguished from a start-tag by having a slash immediately preceding the name (e.g. </customer>). Elements that have no contents are distinguished by having a slash immediately after the name in the start-tag to indicate that the end-tag has been omitted (e.g. <image/>). Because each element of an XML document has clearly marked limits, it is easy to determine when its contents have been received over a network. Attributes of XML elements are defined as part of its start-tag . Each XML attribute must be fully defined, with the attribute name followed by a value indicator (=) and a quote delimited string containing the attribute value. Attributes can be assigned a default value if an attribute list declaration is associated with the formal declaration for the element in the document type declaration. Where there is no formal declaration for an element, attribute or notation in the document type definition, an XML document processor (XML parser) will apply a set of default rules for determining how to process the markup. To indicate that documents are to be processed according to these default rules, using predefined entity sets, an XML document instance, and any associated document type declaration, must be preceded by a processing instruction indicating which version of XML the document conforms to, and what character encoding was used to create the storage entity. By default this XML declaration will take the form <?xml version="1.0" encoding="UTF-8"?>.

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 3 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

Proposed Mobile Computing Architecture for INDEX

With the rapid emergence of Mobile Technologies it is necessitated that the content on a Server should be available to any type of Device that connects to the Server. The device could be a Browser, PDA, WAP enabled phone etc. At the moment it is quite common to write client specific content. However this is not the solution. The correct solution is to Author Content on the Index server in such a way that any type of client is able to access it. To achieve this we propose the following architecture: Write once use Anywhere XML Based Content Authoring. Software System as proposed below that dynamically catches the device and outputs device specific content automatically. Our current project plan is to create the INDEX UI (user interface) using WML. These WML pages will be stored in a WAP server which will be the wireless server accessed by all mobile users. In the server, when a request comes from a client, a JAVA based solution is proposed to interface the wireless apps to the current INDEX application, process the request and serve (output) the results on to the mobile device. The architecture, issues etc. for them are shown below: To achieve this we have used the following design architecture. Step 1: Determine the logged in Device type by via the HTTP Header

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 4 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

Step 2: Display Content on Demand: After determining the type of client the client specific content is shown. However the trick is to Write Content Once and use software converters to dynamically generate the appropriate client specific content. The Architecture defined below shows in detail an implementation philosophy. Key Technology Ingredients The technology ingredients for this Index environment are: XM, XSLT to provide for transformation of content from any HTML site to any XML site XPointers To provide links between XML documents to select document fragments XPatch To select specific parts of XML documents for use with XSL XHTML To define document format that are strongly typed and more specific than XML RDF Resource Description Framework to describe the content of documents or providing data about a device or resource WAP Agent To output specific WAP content from XSL HTML Generation To output HTML on demand UA User Agent String

The following flowchart explains the process of this architecture

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 5 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

The

following

is

the

structure

of

this

architecture:

1. RDF Based Device Profiles2. XML Based Document Profile 3. XML Based Content 4. XSL Style Sheets that create the intermediate output 5. The final Software Agents WAP/HTML that provide the output from Intermediates Client request Lifecycle

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 6 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

Architecture Revisited 1. RDF: Resource Description Format files are standardized way to store Device Information. Using this the device profiles for various available Mobile Clients can be conveniently setup. A typical RDF consists of the following: The <rdf:Description> elements contain information about various features of the device, such as the hardware and software platforms and the vendor and model details. <pdf:Modifications> elements that show user-specific information about this client, such as the fact that sound and image display are both turned off.

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 7 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)
The device <rdf:Description> element shows the category that this device fits into <xhtml:accept format>, and a list of the XHTML modules for which this device has support. 2. XML Document Profile: A document A document profile that describes how the page should appear for each of device categories. The following basic structure is for the XML Document Profile. <?xml version=1.0?> <page-format> <page-title>type 1</page-title> <page-url-name>software specs</page-url-name> <page-author>Nitin Sawal</page-author> <last-updated>2000-06-22</last-updated> <device-category device-type=HTML-32> ... </device-category>

</device-category device-type=Palmtop> ... </device-category>

</device-category device-type=Cellphone> ... </device-category> </page-format>

3. Document Profile Definition: This specifies an XML format the Mobile client specific profiles. A sample is shown below: ... <device-category device-type=Cellphone> <description> List for use with text-only small-screen phones and similar devices </description> <layout-style> <page-body> <layout-block> <card-deck> <main-card id=maintitle=Profile1> <text content=Select a choice from the list of Options: /> <dolist repeat-for-xpath=/booklist/book

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 8 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)
sort-by-xpath=./short-note label-xpath=./short-notehref-xpath=./abcd /> </main-card> <card-list repeat-for-xpath=/shortnote id xpath=./abcd title=Specifications of WAP> <element-value element-xpath=./short-title /> <element-value element-xpath=./description /> <do-item herf=http://www.indeassociates.com/wml/specs.wml label=More information /> <do-item href=#main label=Return to specs/> </card-list> </card-deck> </layout-block> </page-body> </layout-style> </device-category> ...

4. Profile Processor XSL Files To generate the intermediate content XSL is used as a mechanism. 5. Software Agents: Specific software agents to provide Client Specific Output are provided. These include the Agents for: -WAP Generation -HTML Generation -Palm Output The Agent performs the following functions: Uses the device info from RDF Uses the XML Intermediate Content Outputs clients specific content based on this.

So far, we have seen how user interface screens can be designed using XML, XSL. Now in the coming sections we will see how this can be invoked by using Java components.

Vijay K Ragavan, Ashok Athappan, Navaneeth Krishnan

Page 9 of 11

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)
Integrating Java Components Additional research work and coding activities are in progress to integrate the WML screens, XML components with the Java component to achieve the full functionality of the project,

Phoenix Mobile Computing Research Report (Project Coordinator: Dr. Wei Dai)

References
Wapforum.org, http://www.wapforum.org/what/WAPWhite_Paper1.pdf, Date Accessed: November 20th 2003

Potrebbero piacerti anche