mobile web services
DESCRIPTION
Mobile Web Services. Week II. Overview. Introduction Mobile Limitations Mobile Communication Types Device Platforms Design Considerations. http://cmer.cis.uoguelph.ca. 2. Introduction. Web services on mobile devices hold many opportunities and challenges. http://cmer.cis.uoguelph.ca. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/1.jpg)
Mobile Web Services
Week II
![Page 2: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/2.jpg)
Overview
• Introduction• Mobile Limitations• Mobile Communication Types• Device Platforms• Design Considerations
http://cmer.cis.uoguelph.ca 2
![Page 3: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/3.jpg)
Introduction
• Web services on mobile devices hold many opportunities and challenges
http://cmer.cis.uoguelph.ca 3
![Page 4: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/4.jpg)
Introduction (Cont.)
• The sale of mobile devices has grown rapidly over recent years:– Laptops, notebooks, tablets, PDAs, Smart Phones,
Cell Phones
• Over 3.3 billion mobile subscribers as of November, 2007
• People are becoming mobile offices
http://cmer.cis.uoguelph.ca 4
![Page 5: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/5.jpg)
Introduction (Cont.)
• Combining mobile devices and web services to offer wireless access to web services
• Provides new services to consumers and enables employees to access Web service-based enterprise applications and data wherever and whenever
http://cmer.cis.uoguelph.ca 5
![Page 6: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/6.jpg)
Mobile Device Limitations
• Mobile devices have different properties than PC’s, Laptops that need to be taken into account when implementing Web services:
– Processing power
– Memory
– Screen size
– Bandwidth
– Connectivity
– Security
http://cmer.cis.uoguelph.ca 6
![Page 7: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/7.jpg)
Processing Power
• XML Parsing requires respectable processing power
• Device Specifications:
– PC’s/Laptops ~ 2.0GHz
– PDA’s ~ 400MHz
– Cell Phones ~ 200MHz
http://cmer.cis.uoguelph.ca 7
![Page 8: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/8.jpg)
Memory
• Parsing large amounts of XML can be memory intensive
• Device Specifications:
– Desktops/Laptops ~ 2GB
– PDA’s ~ 128MB
– Cell Phones ~ 32MB
http://cmer.cis.uoguelph.ca 8
![Page 9: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/9.jpg)
Screen Size
• Device Specifications:
– Desktops/Laptops ~ 19”
– PDA’s ~ 2”
• WAP made it possible to view the Web from a mobile device
– Mostly strictly text
• New methods for device interaction are making possible for full-on mobile Web browsing
– Touch screens, advanced keypads
http://cmer.cis.uoguelph.ca 9
![Page 10: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/10.jpg)
Bandwidth
• Internet-based applications require large amounts of bandwidth
• XML traffic can be heavy and inefficient
• Bandwidth Specifications:– DSL ~ 256 Kbps to 24,000 Kbps – WiFi ~ 54 Mbps– GPRS ~ 170 Kbps– EDGE ~ 384 Kbps – EVDO ~ 2.4 Mbps – Bluetooth ~ 2.1Mbps
http://cmer.cis.uoguelph.ca 10
![Page 11: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/11.jpg)
Connectivity
• Mobile devices typically rely on wireless mediums for connectivity
– Cellular Network
– WiFi
– Bluetooth
• Mobile devices move in and out of coverage areas
– Synchronous connections are difficult
– Moving towards a reliable “Always-on” network
http://cmer.cis.uoguelph.ca 11
![Page 12: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/12.jpg)
Security
• Web service security is difficult to implement although specifications are in motion
– WS-Security
– WS-Encryption
• Wireless connections are vulnerable to attacks
http://cmer.cis.uoguelph.ca 12
![Page 13: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/13.jpg)
Mobile Communication Types
1. Voice2. Text Messaging
– SMS– EMS– MMS
3. Data– WAP– XHTML– SOAP
http://cmer.cis.uoguelph.ca 13
![Page 14: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/14.jpg)
Voice
• Digital cellular networks use various modulation schemes to encode voice data on to a carrier frequency
– TDMA
– FDMA
– CDMA
http://cmer.cis.uoguelph.ca 14
![Page 15: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/15.jpg)
Text Messaging
• There are multiple forms of text messaging:
– SMS (Short Messaging Service)• “texting”• 160 characters (140 bytes of 7 bit set)
– EMS (Enhanced Messaging Service)• Standard text combined with:• Text, pictures, sounds
– MMS (Multimedia Messaging Service)• a standard which is associated with 3G• text, pictures, sounds, video
http://cmer.cis.uoguelph.ca 15
![Page 16: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/16.jpg)
Data
• There are various language protocols that can be used to send/receive information to/from mobile devices:
– WML
– HTML
– SOAP
http://cmer.cis.uoguelph.ca 16
![Page 17: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/17.jpg)
WML
• Wireless Markup Language
• A markup language intended for devices that implement the WAP specification
• Necessary for devices with little processing power (Micro Browsers)
• WAP Forum created the WML 1.1 standard in 1998
http://cmer.cis.uoguelph.ca 17
![Page 18: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/18.jpg)
HTML
• Hyper Text Markup Language
• Gives structure to information
• The predominant markup language of the Web
• Standard HTML/XHTML pages can be accessed via PDA’s and Smart Phones
• Not viably viewable from most cell phones due to screen size and processing power
http://cmer.cis.uoguelph.ca 18
![Page 19: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/19.jpg)
SOAP
• XML-based messaging protocol
• Used by Web services
• Commonly operates over HTTP
• Separates the presentation from the content
• Like HTML, can be cumbersome on mobile devices
http://cmer.cis.uoguelph.ca 19
![Page 20: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/20.jpg)
Device Platforms
• Many familiar application platforms have mobile variations that support Web services.
– Symbian
– Java ME
– .NET Compact Framework
– Flash Lite
– BlackBerry
– Linux
– Palm OS
– iPhone OS (no WS support)
http://cmer.cis.uoguelph.ca 20
![Page 21: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/21.jpg)
Symbian
• A proprietary OS
• Owned by Nokia, Ericsson, Sony Ericsson, Panasonic, Siemens AG, and Samsung
• Only runs on ARM processors
• Can build Symbian C++ applications through favourite C++ IDE
• Decent support of Web services
– Various tools and SDKs
http://cmer.cis.uoguelph.ca 21
![Page 22: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/22.jpg)
Java ME
• Widely adopted and embedded into mobile devices
• Development and tools are (for the most part) straight-forward and easy to use
• Much Web service support from development community and third party
http://cmer.cis.uoguelph.ca 22
![Page 23: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/23.jpg)
Java ME WS Architecture
http://cmer.cis.uoguelph.ca 23
![Page 24: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/24.jpg)
Java ME WSA
• Web Services APIs
• Optional package that extends the Java Web services platform to include Java ME
• Enable Java ME devices to be Web services clients
• Provides a programming model that is consistent with the standard Web services platform
http://cmer.cis.uoguelph.ca 24
![Page 25: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/25.jpg)
Java ME WTK
• Wireless Toolkit• Renamed to Sun Java Wireless Toolkit• Supports WSA 1.0• Allows application developers to easily emulate client
Web services for MIDP, CDC, and CDLC devices• Includes emulation environments, performance
optimization and tuning features, documentation, and examples
http://cmer.cis.uoguelph.ca 25
![Page 26: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/26.jpg)
BlackBerry
• Built on Java ME framework• Provides additional BlackBerry specific tools and API’s• Many available IDE’s
– MDS Studio, JDE, Visual Studio• Web service support for both standard and enterprise
environments– BlackBerry proprietary protocol for bandwidth
efficiency on enterprise Web services
http://cmer.cis.uoguelph.ca 26
![Page 27: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/27.jpg)
Linux
• An open source kernel
• Many successful distributions in the PC market
– Fedora, SUSE, Ubuntu
• Making headway in mobile OS market
– Android by Open Handset Alliance
• Huge developer community
• Third party APIs
http://cmer.cis.uoguelph.ca 27
![Page 28: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/28.jpg)
Palm OS
• Provides SDK and simulation tools for Palm OS applications
• Not a large market share
• Third party tools for Web services
– WebServices Toolkit for Palm OS (CodeWarrior Platform) 1.51
http://cmer.cis.uoguelph.ca 28
![Page 29: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/29.jpg)
.NET Compact Framework
• Robust environment for mobile applications– Visual Studio
• Has no major share of the mobile phone market but…• Widely supported on many smart phones and PDAs
– Windows Mobile• Support for Web services
http://cmer.cis.uoguelph.ca 29
![Page 30: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/30.jpg)
Flash Lite
• Is becoming broadly accepted by mobile device manufacturers
• Extremely bandwidth efficient
– Suitable for cellular networks
• Highly interactive
• Support for Web services
http://cmer.cis.uoguelph.ca 30
![Page 31: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/31.jpg)
iPhone OS
• A proprietary OS
• Designed by Apple for iPhone and iPod Touch
• Derived from Mac OS X
• No support for Web services as of yet
http://cmer.cis.uoguelph.ca 31
![Page 32: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/32.jpg)
Design Considerations
• Proxies & Gateways
• Device-Based vs. Web-Based
• Mobile Web service support
• Deep nested XML
• Service Granularity
http://cmer.cis.uoguelph.ca 32
![Page 33: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/33.jpg)
Proxies
• Cache server information
• Can speed up requests by accessing cache instead of re-invoking Web service
• If a device is out of service area the cache can complete request/response when service returns.
http://cmer.cis.uoguelph.ca 33
![Page 34: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/34.jpg)
Gateways
• WAP Gateway
• Mediates between the cell phone and a Web service.
• Reformats Web service information to WML so that it is more mobile friendly (compact)
• Does the reverse from cell phone to Web service
http://cmer.cis.uoguelph.ca 34
![Page 35: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/35.jpg)
Gateways
http://cmer.cis.uoguelph.ca 35
![Page 36: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/36.jpg)
Device-Based vs. Web-Based
• Device Application
– Put as little as possible of the client on the mobile unit to serve as a user interface and have all the functionality reside on a server
– Improves performance
– Java ME, .NET Compact, Flash Lite
• Web Application
– More accessible but may be bandwidth intensive
– HTML, WML, SOAP
http://cmer.cis.uoguelph.ca 36
![Page 37: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/37.jpg)
Mobile Web Service Support
• Older mobile devices likely will not have support for Web services
• Older phones may not be Web enabled
• Many phones may not have access to 3G services
http://cmer.cis.uoguelph.ca 37
![Page 38: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/38.jpg)
Deep Nested XML
• Avoid deeply nested XML elements that may prolong:
– Parsing
– Marshalling
– Unmarshalling
• A universal design consideration for Web services; more so for mobile Web services because of performance limitations
http://cmer.cis.uoguelph.ca 38
![Page 39: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/39.jpg)
Service Granularity
• Granularity Level of detail at which information is viewed or described
• Coarse-grained vs. fine-grained
– Course-grained
– Fine-grained
http://cmer.cis.uoguelph.ca 39
![Page 40: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/40.jpg)
Fine-Grained
• Fine-grained Web services will break operations down to their most basic components
• Not effective in this case because of the overhead of XML on invocations
http://cmer.cis.uoguelph.ca 40
![Page 41: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/41.jpg)
Course-Grained
• Course-grained Web services will combine the atomicity of the operations to reduce network latency
• Could save up to 30% processing time
http://cmer.cis.uoguelph.ca 41
![Page 42: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/42.jpg)
Conclusion
• Mobile access to data is becoming more widespread as an essential service
• Web services seem like a natural solution to Web integration
• Web services have no guaranteed support from Web technologies
http://cmer.cis.uoguelph.ca 42
![Page 43: Mobile Web Services](https://reader035.vdocument.in/reader035/viewer/2022062322/568146ff550346895db43bdf/html5/thumbnails/43.jpg)
References
• http://java.sun.com/products/wsa/• http://java.sun.com/products/sjwtoolkit/• http://webservices.xml.com/pub/a/ws/2003/0
8/19/mobile.html• http://www.ibm.com/developerworks/wirele
ss/library/wi-websvc/
http://cmer.cis.uoguelph.ca 43