Your SlideShare is downloading. ×
0
Mobile Web Services Week II
Overview <ul><li>Introduction </li></ul><ul><li>Mobile Limitations </li></ul><ul><li>Mobile Communication Types </li></ul>...
Introduction <ul><li>Web services on mobile devices hold many opportunities and challenges </li></ul>http://cmer.cis.uogue...
Introduction (Cont.) <ul><li>The sale of mobile devices has grown rapidly over recent years: </li></ul><ul><ul><li>Laptops...
Introduction (Cont.) <ul><li>Combining mobile devices and web services to offer wireless access to web services </li></ul>...
Mobile Device Limitations <ul><li>Mobile devices have different properties than PC’s, Laptops that need to be taken into a...
Processing Power <ul><li>XML Parsing requires respectable processing power </li></ul><ul><li>Device Specifications: </li><...
Memory <ul><li>Parsing large amounts of XML can be memory intensive </li></ul><ul><li>Device Specifications: </li></ul><ul...
Screen Size <ul><li>Device Specifications: </li></ul><ul><ul><li>Desktops/Laptops    ~ 19” </li></ul></ul><ul><ul><li>PDA...
Bandwidth <ul><li>Internet-based applications require large amounts of bandwidth </li></ul><ul><li>XML traffic can be heav...
Connectivity <ul><li>Mobile devices typically rely on wireless mediums for connectivity </li></ul><ul><ul><li>Cellular Net...
Security <ul><li>Web service security is difficult to implement although specifications are in motion </li></ul><ul><ul><l...
Mobile Communication Types <ul><li>Voice </li></ul><ul><li>Text Messaging </li></ul><ul><ul><li>SMS </li></ul></ul><ul><ul...
Voice <ul><li>Digital cellular networks use various modulation schemes to encode voice data on to a carrier frequency </li...
Text Messaging <ul><li>There are multiple forms of text messaging: </li></ul><ul><ul><li>SMS (Short Messaging Service) </l...
Data <ul><li>There are various language protocols that can be used to send/receive information to/from mobile devices: </l...
WML <ul><li>Wireless Markup Language </li></ul><ul><li>A markup language intended for devices that implement the WAP speci...
HTML <ul><li>Hyper Text Markup Language </li></ul><ul><li>Gives structure to information </li></ul><ul><li>The predominant...
SOAP <ul><li>XML-based messaging protocol </li></ul><ul><li>Used by Web services </li></ul><ul><li>Commonly operates over ...
Device Platforms <ul><li>Many familiar application platforms have mobile variations that support Web services. </li></ul><...
Symbian <ul><li>A proprietary OS </li></ul><ul><li>Owned by Nokia, Ericsson, Sony Ericsson, Panasonic, Siemens AG, and Sam...
Java ME <ul><li>Widely adopted and embedded into mobile devices </li></ul><ul><li>Development and tools are (for the most ...
Java ME WS Architecture http://cmer.cis.uoguelph.ca
Java ME WSA <ul><li>Web Services APIs </li></ul><ul><li>Optional package that extends the Java Web services platform to in...
Java ME WTK <ul><li>Wireless Toolkit </li></ul><ul><li>Renamed to Sun Java Wireless Toolkit </li></ul><ul><li>Supports WSA...
BlackBerry <ul><li>Built on Java ME framework </li></ul><ul><li>Provides additional BlackBerry specific tools and API’s </...
Linux <ul><li>An open source kernel </li></ul><ul><li>Many successful distributions in the PC market </li></ul><ul><ul><li...
Palm OS <ul><li>Provides SDK and simulation tools for Palm OS applications </li></ul><ul><li>Not a large market share </li...
.NET Compact Framework <ul><li>Robust environment for mobile applications </li></ul><ul><ul><li>Visual Studio </li></ul></...
Flash Lite <ul><li>Is becoming broadly accepted by mobile device manufacturers </li></ul><ul><li>Extremely bandwidth effic...
iPhone OS <ul><li>A proprietary OS </li></ul><ul><li>Designed by Apple for iPhone and iPod Touch </li></ul><ul><li>Derived...
Design Considerations <ul><li>Proxies & Gateways </li></ul><ul><li>Device-Based vs. Web-Based </li></ul><ul><li>Mobile Web...
Proxies <ul><li>Cache server information </li></ul><ul><li>Can speed up requests by accessing cache instead of re-invoking...
Gateways <ul><li>WAP Gateway </li></ul><ul><li>Mediates between the cell phone and a Web service. </li></ul><ul><li>Reform...
Gateways http://cmer.cis.uoguelph.ca
Device-Based vs. Web-Based <ul><li>Device Application </li></ul><ul><ul><li>Put as little as possible of the client on the...
Mobile Web Service Support <ul><li>Older mobile devices likely will not have support for Web services </li></ul><ul><li>Ol...
Deep Nested XML <ul><li>Avoid deeply nested XML elements that may prolong: </li></ul><ul><ul><li>Parsing </li></ul></ul><u...
Service Granularity <ul><li>Granularity    Level of detail at which information is viewed or described  </li></ul><ul><li...
Fine-Grained <ul><li>Fine-grained Web services will break operations down to their most basic components </li></ul><ul><li...
Course-Grained <ul><li>Course-grained Web services will combine the atomicity of the operations to reduce network latency ...
Conclusion <ul><li>Mobile access to data is becoming more widespread as an essential service </li></ul><ul><li>Web service...
References <ul><li>http:// java.sun.com/products/wsa / </li></ul><ul><li>http:// java.sun.com/products/sjwtoolkit / </li><...
Upcoming SlideShare
Loading in...5
×

Mobile Web Services Week II

691

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
691
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Mobile Web Services Week II"

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

    Clipping is a handy way to collect important slides you want to go back to later.

×