SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
AJAX for Mobile Devices
Using Apache Projects to get the job done
Roland Tritsch
Director PS FUSE
ACCU 2009 - Apr., 23rd - Oxford (UK)
© 2009 Progress Software Corporation
2
Why is this relevant?
 “The only bright spot in the PC industry is netbooks. Analysts at the Gartner
research company said shipments rose to 4.4 million devices in the third quarter
of 2008, from 500,000 units in the first quarter of last year. Analysts say sales
could double this year despite a deep worldwide recession.” - NYT -
26/01/2009
 “According to new research from CompassIntelligence.com, businesses in the
US will spend roughly $11.6 billion on mobile applications by 2012. ...
<snip> ...The highly mobile Healthcare industry is expected to spend an
estimated $1.1 billion on mobile applications by 2012, although the Government
and Services industries are expected to be the top spenders on mobile
applications.” - Compass Intelligence - 04/09/2008
 “An iPhone record: 500 million App Store downloads” - Apple - 16/01/2009
 Internet usage on mobile devices has dramatically increased since 2007. This
proliferation is the result of a rapid increase in processor power, improvements in
network connectivity and reductions in the costs of mobile computing. Many
mobile devices now include the same or similar Web browsing software as
desktop computers. As a consequence, mobile device users expect access
to the World Wide Web anytime, anywhere and from any device. -
MobileAjax - 2008
“Mobile is the next Desktop!”
© 2009 Progress Software Corporation
3
Why is this relevant?
 “The only bright spot in the PC industry is netbooks. Analysts at the Gartner
research company said shipments rose to 4.4 million devices in the third quarter
of 2008, from 500,000 units in the first quarter of last year. Analysts say sales
could double this year despite a deep worldwide recession.” - NYT -
26/01/2009
 “According to new research from CompassIntelligence.com, businesses in the
US will spend roughly $11.6 billion on mobile applications by 2012. ...
<snip> ...The highly mobile Healthcare industry is expected to spend an
estimated $1.1 billion on mobile applications by 2012, although the Government
and Services industries are expected to be the top spenders on mobile
applications.” - Compass Intelligence - 04/09/2008
 “An iPhone record: 500 million App Store downloads” - Apple - 16/01/2009
 Internet usage on mobile devices has dramatically increased since 2007. This
proliferation is the result of a rapid increase in processor power, improvements in
network connectivity and reductions in the costs of mobile computing. Many
mobile devices now include the same or similar Web browsing software as
desktop computers. As a consequence, mobile device users expect access
to the World Wide Web anytime, anywhere and from any device. -
MobileAjax - 2008
“Mobile is the next Desktop!”
Developing solutions for the
mobile platform will more and
more become part of the
everyday software engineering
challenge!
© 2009 Progress Software Corporation
4
This talk ...
 Build and maintain distributed (mobile)
applications/systems and minimize the cost
doing it
 A key cost factor are people
• Ramping up a skill and/or have them use a skill
 You need to A&D systems that are “easy” to
build and maintain
• AST - Architecture, Standard, Tools
• A&D and Code
... is also about money!
© 2009 Progress Software Corporation
5
What are the options?
 Go Native ...
• iPhone SDK (Objective-C), Windows Mobile
(C++), Symbian (C++), Palm (C++),
Blackberry (C++), Android (C++)
• High cost, very good results
 Use Java ...
• CLDC/MIDP, CDC, AGUI, OSGi, lots of JSRs
• Medium cost, good results
 Use the Browser (and AJAX :)) ...
• Internet Explorer, Safari, Firefox, Opera
• Low cost, maybe “good enough” results
One way to look at it ... (the “if-you-have-to” approach)
© 2009 Progress Software Corporation
6
The Project(s) ...
 Mobile Health Care Solution
• To make patient data available to doctors and
nurses, while they provide home-care services
• Cutting costs in the health care system and
increase traffic on the mobile network
 Mobile Payment Solution
• Use mobile devices to make “cheque” like
payments between businesses and individuals
• Use a widest possible variety of devices
... that were driving some of the research!
© 2009 Progress Software Corporation
7
Agenda
 Why is this relevant?
 Characteristics of a Mobile-SOA Platform
• Comparing the available approaches
 Using AJAX to get the job done
• Introducing AJAX and some relevant Apache
Projects
 Summary, Wrap Up and Q&A
• The “Sensoric” Revolution
© 2009 Progress Software Corporation
8
What makes “Mobile” special?
 Limited Hardware
• Limited Screen “Real Estate”
• Limited CPU, main memory, disk space
 Limited Network Connectivity
• Limited Bandwidth
• Unreliable Network Connectivity
 The Application Design
• Offline vs. Online
• Request/Response vs. Fire-and-Forget
• Short- vs. Long-Running
The client side hardware/the devices!
© 2009 Progress Software Corporation
9
“Mobile” A&D requirements
 Design for maximum battery life
• No constant looping/heavy CPU usage
• No polling
• DOM/XML parsing is expensive
– consider JSON
 Design for minimum data traffic
• Both for performance and cost
• “Chunk” the data/interactions to ensure
“responsive” user experience
 Design for maximum device portability
• Testing is key
© 2009 Progress Software Corporation
10
Consider the application
 “On Device” Mobile Application
• e.g. Game - lots of computing, not a lot of web
access/traffic
 “True” Mobile Web Application - less
computing, but lots of interactions with lots of
services
• EMail, Twitter, ..., Online Banking - large
number TXs, but (hopefully) small size of TX
 Behavior ...
• short interrupt driven, expect fast reaction,
“explore” (desktop) vs. “focused” (mobile)
Categories, behavior, ...
© 2009 Progress Software Corporation
11
What are the options (revisted)?
 Go Native ...
• iPhone SDK (Objective-C), Windows Mobile
(C++), Symbian (C++), Palm (C++),
Blackberry (C++), Android (C++)
• High cost, very good results
 Use Java ...
• CLDC/MIDP, CDC, AGUI, OSGi, lots of JSRs
• Medium cost, good results
 Use the Browser (and AJAX :)) ...
• Internet Explorer, Safari, Firefox, Opera
• Low cost, maybe “good enough” results
One way to look at it ... (the “if-you-have-to” approach)
© 2009 Progress Software Corporation
12
Agenda
 Why is this relevant?
 Characteristics of a Mobile-SOA Platform
• Comparing the available approaches
 Using AJAX to get the job done
• Introducing AJAX and some relevant Apache
Projects
 Summary, Wrap Up and Q&A
• The “Sensoric” Revolution
© 2009 Progress Software Corporation
13
The “1-Slide” AJAX Tutorial :)
 Asynchronous JavaScript and XML (AJAX)
• Coined by James Garret [2005]
 Based on ...
• JavaScript, DOM (HTML/XML) and
XMLHttpRequest
 Allows for interactive, partial, req/resp-style
updates/refreshes of web-pages/content
 Famous use-cases ...
• Google-Suggestions
• DART-Tracker (at least for me :))
Background and Concepts ...
© 2009 Progress Software Corporation
14
The “1-Slide” AJAX Tutorial :)
... a sequence diagram ...
Source: www.modelworks.com
© 2009 Progress Software Corporation
15
The “1-Slide” AJAX Tutorial :)
<a onClick=”onClickSayHi()”>Say Hi!</a>
---
function onClickSayHi() {
var xmlHttpRequest = GetXmlHttpRequestObject();
// setup anonymous callback function to deal with response
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState != 4) return;
// LOTS of unmarshaling code goes here
}
// LOTS of marshaling code goes here
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
... and some source code :).
© 2009 Progress Software Corporation
16
The browser “maze” ...
 Opera Mini - Presto
 (Apple/iPhone) Safari - Webkit
 (Google) Android - Webkit
 Nokia (s60) - Webkit
 Access Netfront - Netfront
 (RIM) Blackberry - Mango
 (Palm) Blazer - Netfront
 (MS-Windows Mobile) Internet Explorer
... and how to navigate it.
© 2009 Progress Software Corporation
17
Mobile AJAX “challenges” ...
 Hidden server interaction creates a risk for
the user experience
• Ensure UI behavior is in sync with network
behavior
 DOM/XML marshaling must be managed
• To manage CPU and battery
 Services wrapping required
• for Technologies - e.g. CORBA to HTTP/XML
• for Semantics - Distributed to Mobile
 Limited access to device features
• No solution - consider JAVA, Native
... and how to overcome them.
© 2009 Progress Software Corporation
Using Apache Projects to get the job done
 Server-side SOA platform
• Apache ServiceMix, ActiveMQ,
CXF
 Server-side service wrapping is
required
 But what to do about the client
side ... ?
18
© 2009 Progress Software Corporation
Using Apache CXF to access the Mobile SOA
 Java-Script generation
capabilities
• wsdl2js, ...?js URL extension
• supports SOAP, XML, JSON
 Very simple API
• onSuccess(), onError(), ...
 “Eliminates” marshaling code
 No “installation” needed
 Source Code/Podcast
• www.tritsch.org - Podcast
19
© 2009 Progress Software Corporation
20
Agenda
 Why is this relevant?
 Characteristics of a Mobile-SOA Platform
• Comparing the available approaches
 Using AJAX to get the job done
• Introducing AJAX and some relevant Apache
Projects
 Summary, Wrap Up and Q&A
• The “Sensoric” Revolution
© 2009 Progress Software Corporation
21
Resources to consider ...
 http://www.apache.org - SMX, AMQ, CXF
 http://www.openajax.org - Mobile AJAX TF
 http://www.youtube.com - Demystify AJAX
 http://www.w3schools.com - AJAX, DOM
... in case you want to learn more.
© 2009 Progress Software Corporation
22
Summary/Conclusions
 Given the right requirements, using AJAX is a
viable approach to build mobile applications/
solutions
 You still need to wrap the services :)
 Apache open source projects can help you to
build a/the Mobile SOA platform
© 2009 Progress Software Corporation
23
Questions
© 2009 Progress Software Corporation
24
Questions
Thank You!
© 2009 Progress Software Corporation
25

Contenu connexe

Tendances

Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing WorkshopGaurav Malik
 
Citizen Self Service - Bridging The Transaction Gap
Citizen Self Service - Bridging The Transaction GapCitizen Self Service - Bridging The Transaction Gap
Citizen Self Service - Bridging The Transaction GapAvoka
 
The High Performance Digital Front Office
The High Performance Digital Front OfficeThe High Performance Digital Front Office
The High Performance Digital Front OfficeAvoka
 
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...Avoka
 
CCW_deck(11) - external
CCW_deck(11) - externalCCW_deck(11) - external
CCW_deck(11) - externalOhad Levy
 
Delivering Big Data - By Rod Smith at the CloudCon 2013
Delivering Big Data - By Rod Smith at the CloudCon 2013Delivering Big Data - By Rod Smith at the CloudCon 2013
Delivering Big Data - By Rod Smith at the CloudCon 2013exponential-inc
 
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM Switzerland
 
How to increase your speed of learning - Mick Liubinskas
How to increase your speed of learning - Mick LiubinskasHow to increase your speed of learning - Mick Liubinskas
How to increase your speed of learning - Mick LiubinskasMick Liubinskas
 
Mobile enterprise overview v6
Mobile enterprise overview v6Mobile enterprise overview v6
Mobile enterprise overview v6Irvin Kovar
 
Internet of Things (ruSMART 2013, St. Petersburg)
Internet of Things (ruSMART 2013, St. Petersburg)Internet of Things (ruSMART 2013, St. Petersburg)
Internet of Things (ruSMART 2013, St. Petersburg)Rob Van Den Dam
 
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...William Toll
 
Mobile trends 2013
Mobile trends 2013Mobile trends 2013
Mobile trends 2013Aman Kohli
 
Enterprise Mobile Apps
Enterprise Mobile AppsEnterprise Mobile Apps
Enterprise Mobile AppsLee Schlenker
 
The Cloud and You - the 'as a service' disruption you can't ignore
The Cloud and You - the 'as a service' disruption you can't ignoreThe Cloud and You - the 'as a service' disruption you can't ignore
The Cloud and You - the 'as a service' disruption you can't ignoreJohn Head
 
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM Events
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software Eduardo Pelegri-Llopart
 
Road Ahead
Road AheadRoad Ahead
Road AheadEsri
 
Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Eduardo Pelegri-Llopart
 
The Third Platform: Paul Maritz is breeding new technology for a new IT era
The Third Platform: Paul Maritz is breeding new technology for a new IT eraThe Third Platform: Paul Maritz is breeding new technology for a new IT era
The Third Platform: Paul Maritz is breeding new technology for a new IT eraVMware Tanzu
 

Tendances (20)

Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing Workshop
 
Citizen Self Service - Bridging The Transaction Gap
Citizen Self Service - Bridging The Transaction GapCitizen Self Service - Bridging The Transaction Gap
Citizen Self Service - Bridging The Transaction Gap
 
The High Performance Digital Front Office
The High Performance Digital Front OfficeThe High Performance Digital Front Office
The High Performance Digital Front Office
 
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
16 Best Practices for Mobile Customer Engagement & Data Collection in the Ent...
 
CCW_deck(11) - external
CCW_deck(11) - externalCCW_deck(11) - external
CCW_deck(11) - external
 
Mobile Apps
Mobile AppsMobile Apps
Mobile Apps
 
Delivering Big Data - By Rod Smith at the CloudCon 2013
Delivering Big Data - By Rod Smith at the CloudCon 2013Delivering Big Data - By Rod Smith at the CloudCon 2013
Delivering Big Data - By Rod Smith at the CloudCon 2013
 
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
IBM MobileFirst and Case Studies_Frank Müller_IBM Symposium 2013
 
How to increase your speed of learning - Mick Liubinskas
How to increase your speed of learning - Mick LiubinskasHow to increase your speed of learning - Mick Liubinskas
How to increase your speed of learning - Mick Liubinskas
 
Mobile enterprise overview v6
Mobile enterprise overview v6Mobile enterprise overview v6
Mobile enterprise overview v6
 
Internet of Things (ruSMART 2013, St. Petersburg)
Internet of Things (ruSMART 2013, St. Petersburg)Internet of Things (ruSMART 2013, St. Petersburg)
Internet of Things (ruSMART 2013, St. Petersburg)
 
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...
CloudExpo Cloud Computing IaaS Growth Details 2015 - Why 2014 Was A Turning P...
 
Mobile trends 2013
Mobile trends 2013Mobile trends 2013
Mobile trends 2013
 
Enterprise Mobile Apps
Enterprise Mobile AppsEnterprise Mobile Apps
Enterprise Mobile Apps
 
The Cloud and You - the 'as a service' disruption you can't ignore
The Cloud and You - the 'as a service' disruption you can't ignoreThe Cloud and You - the 'as a service' disruption you can't ignore
The Cloud and You - the 'as a service' disruption you can't ignore
 
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie WieckIBM InterConnect 2013 Mobile Keynote: Marie Wieck
IBM InterConnect 2013 Mobile Keynote: Marie Wieck
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software
 
Road Ahead
Road AheadRoad Ahead
Road Ahead
 
Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015
 
The Third Platform: Paul Maritz is breeding new technology for a new IT era
The Third Platform: Paul Maritz is breeding new technology for a new IT eraThe Third Platform: Paul Maritz is breeding new technology for a new IT era
The Third Platform: Paul Maritz is breeding new technology for a new IT era
 

En vedette

A SOA for the car - 01/2009
A SOA for the car - 01/2009A SOA for the car - 01/2009
A SOA for the car - 01/2009Roland Tritsch
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Roland Tritsch
 
"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010Roland Tritsch
 
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Roland Tritsch
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009Roland Tritsch
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sRoland Tritsch
 
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughScala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughRoland Tritsch
 

En vedette (8)

A SOA for the car - 01/2009
A SOA for the car - 01/2009A SOA for the car - 01/2009
A SOA for the car - 01/2009
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012
 
"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010"Managed Customization” in the Garment Industry - 10/2010
"Managed Customization” in the Garment Industry - 10/2010
 
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
Immutable Deployment Platforms and Continuos Delivery - Friends or Foes?
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
Reactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8sReactive Programming Meetup - NodeJs on K8s
Reactive Programming Meetup - NodeJs on K8s
 
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthroughScala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
Scala, Android & BLE - Scala Meetup Dublin - Hands on code walkthrough
 
SMACK Stack @ Nitro
SMACK Stack @ NitroSMACK Stack @ Nitro
SMACK Stack @ Nitro
 

Similaire à AJAX for Mobile Devices - 04/2009

Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleSimon Haslam
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3Leigh Williamson
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxAbbadabbajabba1
 
Technology Trends in 2013-2014
Technology Trends in 2013-2014Technology Trends in 2013-2014
Technology Trends in 2013-2014KMS Technology
 
Ibm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcIbm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcSaranga Tripathy
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)Peter Presnell
 
Technology life cycle of java
Technology life cycle of javaTechnology life cycle of java
Technology life cycle of javaSanjeev Gupta
 
GIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 ConferenceGIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 ConferenceJim Tochterman
 
CNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesCNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesMayank Srivastava
 
Identifying Bottlenecks in Mobile Cloud Computing (MCC)
Identifying Bottlenecks in Mobile Cloud Computing (MCC)Identifying Bottlenecks in Mobile Cloud Computing (MCC)
Identifying Bottlenecks in Mobile Cloud Computing (MCC)Dr. Ranbijay Kumar
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud ComputingDr Ganesh Iyer
 
Online productivity tools - SILS20090
Online productivity tools - SILS20090Online productivity tools - SILS20090
Online productivity tools - SILS20090is20090
 
The Impact of IoT on Product Design
The Impact of IoT on Product DesignThe Impact of IoT on Product Design
The Impact of IoT on Product DesignAras
 

Similaire à AJAX for Mobile Devices - 04/2009 (20)

Delivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using OracleDelivering Mobile Apps to the field using Oracle
Delivering Mobile Apps to the field using Oracle
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
 
IS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptxIS Project_Ch5_IT_Infrastructure.pptx
IS Project_Ch5_IT_Infrastructure.pptx
 
Technology Trends in 2013-2014
Technology Trends in 2013-2014Technology Trends in 2013-2014
Technology Trends in 2013-2014
 
Cloud.overview.2010.07.15[1]
Cloud.overview.2010.07.15[1]Cloud.overview.2010.07.15[1]
Cloud.overview.2010.07.15[1]
 
Ibm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mcIbm mobile first platform presentation refresh 05 18-mc
Ibm mobile first platform presentation refresh 05 18-mc
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
IBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z KeynoteIBM Z for the Digital Enterprise 2018 - Z Keynote
IBM Z for the Digital Enterprise 2018 - Z Keynote
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
 
Technology life cycle of java
Technology life cycle of javaTechnology life cycle of java
Technology life cycle of java
 
GIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 ConferenceGIS Technology & Mobile Applications - MTASC 2011 Conference
GIS Technology & Mobile Applications - MTASC 2011 Conference
 
CNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New FeaturesCNUG ASP.NET MVC 4 – New Features
CNUG ASP.NET MVC 4 – New Features
 
Identifying Bottlenecks in Mobile Cloud Computing (MCC)
Identifying Bottlenecks in Mobile Cloud Computing (MCC)Identifying Bottlenecks in Mobile Cloud Computing (MCC)
Identifying Bottlenecks in Mobile Cloud Computing (MCC)
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud Computing
 
Online productivity tools - SILS20090
Online productivity tools - SILS20090Online productivity tools - SILS20090
Online productivity tools - SILS20090
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28
 
Cloud computingjun28
Cloud computingjun28Cloud computingjun28
Cloud computingjun28
 
The Impact of IoT on Product Design
The Impact of IoT on Product DesignThe Impact of IoT on Product Design
The Impact of IoT on Product Design
 

Plus de Roland Tritsch

Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Roland Tritsch
 
Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Roland Tritsch
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Roland Tritsch
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Roland Tritsch
 
iPhone meets SOA - 06/2008
iPhone meets SOA - 06/2008iPhone meets SOA - 06/2008
iPhone meets SOA - 06/2008Roland Tritsch
 
Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Roland Tritsch
 

Plus de Roland Tritsch (6)

Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
Shared-Nothing Microservices Architectures ... and how to get there @ 404.ie ...
 
Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008Mobile Monday - WebServices on the iPhone - 05/2008
Mobile Monday - WebServices on the iPhone - 05/2008
 
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
Sbt Concepts - Tips, Tricks, Sandbox, ... 02/2013
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012
 
iPhone meets SOA - 06/2008
iPhone meets SOA - 06/2008iPhone meets SOA - 06/2008
iPhone meets SOA - 06/2008
 
Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011Innovation, Gilt and Ireland - 11/2011
Innovation, Gilt and Ireland - 11/2011
 

AJAX for Mobile Devices - 04/2009

  • 1. AJAX for Mobile Devices Using Apache Projects to get the job done Roland Tritsch Director PS FUSE ACCU 2009 - Apr., 23rd - Oxford (UK)
  • 2. © 2009 Progress Software Corporation 2 Why is this relevant?  “The only bright spot in the PC industry is netbooks. Analysts at the Gartner research company said shipments rose to 4.4 million devices in the third quarter of 2008, from 500,000 units in the first quarter of last year. Analysts say sales could double this year despite a deep worldwide recession.” - NYT - 26/01/2009  “According to new research from CompassIntelligence.com, businesses in the US will spend roughly $11.6 billion on mobile applications by 2012. ... <snip> ...The highly mobile Healthcare industry is expected to spend an estimated $1.1 billion on mobile applications by 2012, although the Government and Services industries are expected to be the top spenders on mobile applications.” - Compass Intelligence - 04/09/2008  “An iPhone record: 500 million App Store downloads” - Apple - 16/01/2009  Internet usage on mobile devices has dramatically increased since 2007. This proliferation is the result of a rapid increase in processor power, improvements in network connectivity and reductions in the costs of mobile computing. Many mobile devices now include the same or similar Web browsing software as desktop computers. As a consequence, mobile device users expect access to the World Wide Web anytime, anywhere and from any device. - MobileAjax - 2008 “Mobile is the next Desktop!”
  • 3. © 2009 Progress Software Corporation 3 Why is this relevant?  “The only bright spot in the PC industry is netbooks. Analysts at the Gartner research company said shipments rose to 4.4 million devices in the third quarter of 2008, from 500,000 units in the first quarter of last year. Analysts say sales could double this year despite a deep worldwide recession.” - NYT - 26/01/2009  “According to new research from CompassIntelligence.com, businesses in the US will spend roughly $11.6 billion on mobile applications by 2012. ... <snip> ...The highly mobile Healthcare industry is expected to spend an estimated $1.1 billion on mobile applications by 2012, although the Government and Services industries are expected to be the top spenders on mobile applications.” - Compass Intelligence - 04/09/2008  “An iPhone record: 500 million App Store downloads” - Apple - 16/01/2009  Internet usage on mobile devices has dramatically increased since 2007. This proliferation is the result of a rapid increase in processor power, improvements in network connectivity and reductions in the costs of mobile computing. Many mobile devices now include the same or similar Web browsing software as desktop computers. As a consequence, mobile device users expect access to the World Wide Web anytime, anywhere and from any device. - MobileAjax - 2008 “Mobile is the next Desktop!” Developing solutions for the mobile platform will more and more become part of the everyday software engineering challenge!
  • 4. © 2009 Progress Software Corporation 4 This talk ...  Build and maintain distributed (mobile) applications/systems and minimize the cost doing it  A key cost factor are people • Ramping up a skill and/or have them use a skill  You need to A&D systems that are “easy” to build and maintain • AST - Architecture, Standard, Tools • A&D and Code ... is also about money!
  • 5. © 2009 Progress Software Corporation 5 What are the options?  Go Native ... • iPhone SDK (Objective-C), Windows Mobile (C++), Symbian (C++), Palm (C++), Blackberry (C++), Android (C++) • High cost, very good results  Use Java ... • CLDC/MIDP, CDC, AGUI, OSGi, lots of JSRs • Medium cost, good results  Use the Browser (and AJAX :)) ... • Internet Explorer, Safari, Firefox, Opera • Low cost, maybe “good enough” results One way to look at it ... (the “if-you-have-to” approach)
  • 6. © 2009 Progress Software Corporation 6 The Project(s) ...  Mobile Health Care Solution • To make patient data available to doctors and nurses, while they provide home-care services • Cutting costs in the health care system and increase traffic on the mobile network  Mobile Payment Solution • Use mobile devices to make “cheque” like payments between businesses and individuals • Use a widest possible variety of devices ... that were driving some of the research!
  • 7. © 2009 Progress Software Corporation 7 Agenda  Why is this relevant?  Characteristics of a Mobile-SOA Platform • Comparing the available approaches  Using AJAX to get the job done • Introducing AJAX and some relevant Apache Projects  Summary, Wrap Up and Q&A • The “Sensoric” Revolution
  • 8. © 2009 Progress Software Corporation 8 What makes “Mobile” special?  Limited Hardware • Limited Screen “Real Estate” • Limited CPU, main memory, disk space  Limited Network Connectivity • Limited Bandwidth • Unreliable Network Connectivity  The Application Design • Offline vs. Online • Request/Response vs. Fire-and-Forget • Short- vs. Long-Running The client side hardware/the devices!
  • 9. © 2009 Progress Software Corporation 9 “Mobile” A&D requirements  Design for maximum battery life • No constant looping/heavy CPU usage • No polling • DOM/XML parsing is expensive – consider JSON  Design for minimum data traffic • Both for performance and cost • “Chunk” the data/interactions to ensure “responsive” user experience  Design for maximum device portability • Testing is key
  • 10. © 2009 Progress Software Corporation 10 Consider the application  “On Device” Mobile Application • e.g. Game - lots of computing, not a lot of web access/traffic  “True” Mobile Web Application - less computing, but lots of interactions with lots of services • EMail, Twitter, ..., Online Banking - large number TXs, but (hopefully) small size of TX  Behavior ... • short interrupt driven, expect fast reaction, “explore” (desktop) vs. “focused” (mobile) Categories, behavior, ...
  • 11. © 2009 Progress Software Corporation 11 What are the options (revisted)?  Go Native ... • iPhone SDK (Objective-C), Windows Mobile (C++), Symbian (C++), Palm (C++), Blackberry (C++), Android (C++) • High cost, very good results  Use Java ... • CLDC/MIDP, CDC, AGUI, OSGi, lots of JSRs • Medium cost, good results  Use the Browser (and AJAX :)) ... • Internet Explorer, Safari, Firefox, Opera • Low cost, maybe “good enough” results One way to look at it ... (the “if-you-have-to” approach)
  • 12. © 2009 Progress Software Corporation 12 Agenda  Why is this relevant?  Characteristics of a Mobile-SOA Platform • Comparing the available approaches  Using AJAX to get the job done • Introducing AJAX and some relevant Apache Projects  Summary, Wrap Up and Q&A • The “Sensoric” Revolution
  • 13. © 2009 Progress Software Corporation 13 The “1-Slide” AJAX Tutorial :)  Asynchronous JavaScript and XML (AJAX) • Coined by James Garret [2005]  Based on ... • JavaScript, DOM (HTML/XML) and XMLHttpRequest  Allows for interactive, partial, req/resp-style updates/refreshes of web-pages/content  Famous use-cases ... • Google-Suggestions • DART-Tracker (at least for me :)) Background and Concepts ...
  • 14. © 2009 Progress Software Corporation 14 The “1-Slide” AJAX Tutorial :) ... a sequence diagram ... Source: www.modelworks.com
  • 15. © 2009 Progress Software Corporation 15 The “1-Slide” AJAX Tutorial :) <a onClick=”onClickSayHi()”>Say Hi!</a> --- function onClickSayHi() { var xmlHttpRequest = GetXmlHttpRequestObject(); // setup anonymous callback function to deal with response xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState != 4) return; // LOTS of unmarshaling code goes here } // LOTS of marshaling code goes here xmlHttp.open("GET", url, true); xmlHttp.send(null); } ... and some source code :).
  • 16. © 2009 Progress Software Corporation 16 The browser “maze” ...  Opera Mini - Presto  (Apple/iPhone) Safari - Webkit  (Google) Android - Webkit  Nokia (s60) - Webkit  Access Netfront - Netfront  (RIM) Blackberry - Mango  (Palm) Blazer - Netfront  (MS-Windows Mobile) Internet Explorer ... and how to navigate it.
  • 17. © 2009 Progress Software Corporation 17 Mobile AJAX “challenges” ...  Hidden server interaction creates a risk for the user experience • Ensure UI behavior is in sync with network behavior  DOM/XML marshaling must be managed • To manage CPU and battery  Services wrapping required • for Technologies - e.g. CORBA to HTTP/XML • for Semantics - Distributed to Mobile  Limited access to device features • No solution - consider JAVA, Native ... and how to overcome them.
  • 18. © 2009 Progress Software Corporation Using Apache Projects to get the job done  Server-side SOA platform • Apache ServiceMix, ActiveMQ, CXF  Server-side service wrapping is required  But what to do about the client side ... ? 18
  • 19. © 2009 Progress Software Corporation Using Apache CXF to access the Mobile SOA  Java-Script generation capabilities • wsdl2js, ...?js URL extension • supports SOAP, XML, JSON  Very simple API • onSuccess(), onError(), ...  “Eliminates” marshaling code  No “installation” needed  Source Code/Podcast • www.tritsch.org - Podcast 19
  • 20. © 2009 Progress Software Corporation 20 Agenda  Why is this relevant?  Characteristics of a Mobile-SOA Platform • Comparing the available approaches  Using AJAX to get the job done • Introducing AJAX and some relevant Apache Projects  Summary, Wrap Up and Q&A • The “Sensoric” Revolution
  • 21. © 2009 Progress Software Corporation 21 Resources to consider ...  http://www.apache.org - SMX, AMQ, CXF  http://www.openajax.org - Mobile AJAX TF  http://www.youtube.com - Demystify AJAX  http://www.w3schools.com - AJAX, DOM ... in case you want to learn more.
  • 22. © 2009 Progress Software Corporation 22 Summary/Conclusions  Given the right requirements, using AJAX is a viable approach to build mobile applications/ solutions  You still need to wrap the services :)  Apache open source projects can help you to build a/the Mobile SOA platform
  • 23. © 2009 Progress Software Corporation 23 Questions
  • 24. © 2009 Progress Software Corporation 24 Questions Thank You!
  • 25. © 2009 Progress Software Corporation 25