mobile web services - software summitsoftwaresummit.com/2004/speakers/haggarmobilews.pdfwireless...
TRANSCRIPT
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 1
Mobile Web Services:Challenges, Issues and Case Study
Peter HaggarSenior Software EngineerEmerging TechnologyIBM CorporationResearch Triangle Park, [email protected]
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 2
About MePracticing Software Engineer for 17+ yearsWork with Web Services on mobile devicesRecently deployed Proof of Concept mobile project for an IBM customerAlso focus on high performance Web ServicesIBM Representative to W3C XML Binary Characterization Working GroupPlease email me with any questions about this presentation
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 3
AgendaChallenges and Issues
FunctionalityDevelopment Tools/EnvironmentDevicesWireless SecuritySecurity and DevicesWireless NetworksIntegration
Hospital Case StudyReferences
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 4
FunctionalityWhat functionality do you present on a mobile device?
Depends on requirements AND on device capabilities
Quickest road to failure is to not be honest about inherent device limitationsWeb Services and mobile devices does not have to mean invoking web services from the device
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 5
FunctionalityExtending an existing solution to mobile
What function(s) do you provide?• Subset of existing function• All existing function
Device functionality must be easy to useMap to existing solution• “Keep the same deficiencies”
Be careful if you provide function on device that is easier to do on laptop/desktop
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 6
FunctionalityDevice functionality is best left to “read-only”
Data entry is tedious for most users• You and I are not most users
Understand your user baseCan get frustrated very easilyYour device can become a paperweight very quickly
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 7
Development Tools/EnvironmentJava?
J2SEJ2ME• Profiles?
C, C++, C#, VB?Development tools
Free or $$
Following are some I’ve used:
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 8
Development Tools/EnvironmentRIM Blackberry
JavaSupports J2ME plus RIM extensionsFree JDE
• http://www.blackberry.net/developers/na/java/start/index.shtml
Sharp SL-6000JavaSupports J2SE• Download .class files you build on desktop to run on
device
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 9
Development Tools/EnvironmentPalm
C• Metrowerks CodeWarriorhttp://www.metrowerks.com/MW/Develop/Desktop/PalmOS/Professional/Default.htm
Java• IBM WebSphere Studio Device Developerhttp://www-306.ibm.com/software/wireless/wsdd/
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 10
Development Tools/EnvironmentPocketPC
Java• IBM WebSphere Studio Device Developer
http://www-306.ibm.com/software/wireless/wsdd/
C#, C++, Visual Basic• Microsoft tools
http://www.microsoft.com/windowsmobile/developers/default.mspx
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 11
DevicesNon-connectedBluetooth802.11bCellularFor any serious application
802.11bCellular
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 12
Devices802.11b
Palm Tungsten C (integrated)Sharp SL-6000 (integrated)PocketPC (various) (integrated or card)
CellularRIM Blackberry (integrated)Sharp SL-6000 (requires cellular card)PocketPC (various) – requires cellular cardPalm Tungsten W (integrated)
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 13
DevicesDon’t just choose a device due to its characteristics
Take into account:• Development environment• Development language• Usability and capability• Available accessories• Available expansion hardware and software• Wireless Security model supported
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 14
DevicesDual mode devices are starting to emerge
802.11 and Cellular
You can do this today with an 802.11b integrated device and add a cellular CF card
Need WECM for seamless roaming
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 15
Devices – Pros/ConsPalm Powered Devices
OS is still single-threadedLots of aftermarket apps and accessoriesLarge user base
PocketPCMultithreaded OSLots of aftermarket apps and accessoriesLarge user baseFamiliar look and feel to Windows
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 16
DevicesSharp SL-6000
Runs embedded Linux – MultithreadedFull VGA screenCurrently not a lot of aftermarket apps and accessoriesCurrently small user base
RIM BlackberryJava only deviceNiche market with good penetrationScreens are weakness (not even ½ VGA)
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 17
Wireless SecurityDepending on the application, different aspects need to be consideredFor 802.11b
For an enterprise, WEP doesn’t cut itLEAP is solid enough for most applicationsThere are other wireless security protocols• 802.11i
Recently approved and provides solid security
• Many are not yet provided for handhelds
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 18
Wireless SecurityFor Cellular
Some devices provide no security by default• Palm Tungsten W
However, can use VPN software
RIM Blackberry has good security story• Everything is Triple DES encrypted from device to BES
server
For 802.11b and CellularIBM’s WebSphere Everyplace Connection Manager (WECM)
• http://www-1.ibm.com/industries/wireless/doc/content/solution/278603104.html
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 19
Wireless SecurityWECM
Provides excellent securityProvides seamless roaming between LAN and WAN networks• Roam between 802.11b to Cellular
Picks up lost connections… where you left off
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 20
Security and DevicesPalm Tungsten C
WEP – out of the boxLEAP – 3rd party add-on• http://www.mtghouse.com
WECM – IBM add-onSharp SL-6000
WEP – out of the boxLEAP – 3rd party add-on• http://www.mtghouse.com
WECM – IBM add-on
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 21
Security and DevicesPocketPC devices with Windows Mobile 2003
WEP – out of the boxLEAP – out of the boxWECM – IBM add-on
RIM BlackberryTriple DES encryption from device to BES server – out of the box
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 22
Security and Devices –Sharp SL-6000
Does not support alphanumeric power-on passwordsOpera Browser
Good HTML and JavaScript supportVery configurableCan control browser cacheSupports separate browser password
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 23
Security and Devices –PocketPC
Supports alphanumeric power-on passwordsPocketIE Browser
Good HTML and Javascript supportBrowser has almost no configuration options• Very weak• No options to clear cache• No separate browser password
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 24
Security and Devices –Palm
Supports alphanumeric power-on passwordsBrowser issues
Not as robust as Opera or as versatile as PocketIE
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 25
Wireless NetworksCellular
GSM, CDMA, TDMA, iDEN, etc.Pros: Wide coverage areaCons: Slow and expensive
802.11802.11, 802.11a, 802.11b, 802.11gb very pervasive… g getting therePros: Fast and cheapCons: Narrow coverage area
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 26
Wireless NetworksBroadband cellular networks are emergingVerizon
300 - 500kbps• Currently – Washington DC and San Diego areas only
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 27
IntegrationOften you want to integrate with existing enterprise solution
Accomplished easiest with standards-based approach• Web Services
“Yes, but I thought web services were fat and slow... how can I do that on a handheld?”
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 28
IntegrationTwo approaches
Invoke web services from handheldLeave the web services on the server
Web Services from handheldIBM’s Web Services Toolkit for Mobile devices• Free: http://www.alphaworks.ibm.com/tech/wstkmd
Provides ability to invoke web services from variety of handhelds
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 29
IntegrationPerformance is acceptable on 802.11 LANs
Can be sluggish on cellular WANsHowever, this is due to the network, not the Web Services
Also consider how much code you want on the device
Put Web Services on server and provide a browser based solution• No device coding• More portable• Limited to browser UI, however
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 30
Case StudyHospital with an existing clinical information system
J2EE web applicationWepSphere on IBM 390 backed up by DB2
Browser based application used by physicians to
view/update patient informationWrite prescriptions, track problems, etc.99% originally written by IBMIn use for 2.5 years
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 31
Case StudyAllows physicians to query and update various information:
DemographicsGeneral ProblemsLabsMedicationsInsuranceSchedules• Physician and Clinic
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 32
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 33
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 34
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 35
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 36
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 37
Existing Architecture
Locked DownStation
Stored ProcedureManager
IBM 390
WebSphere
DB2
Wired
Wireless
Laptop
Desktop
802.11bvia
Cisco LEAP
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 38
HistoryHospital wants a mobile solution for physiciansHave tried:
Wireless Toshiba TabletsWere considering Thinkpads on a cart
Perfect opportunity to prove Web Services utilization and handhelds
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 39
HistoryNovember 2003
First meeting with key hospital decision makers• Director of Medical Infomatics, CIO, IT Director, and staff
Showed demo of what was possible using various devices
Collected initial requirements
December 2003Proposed Architecture to meet requirementsReceived the go-ahead to build solution
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 40
HistoryJanuary 2004
Proof of Concept (POC) requirements review meetingFebruary 2004
Begin POC implementationJune 2004
POC Launch (6/11)POC to run for period of 2-3 weeks for each participant
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 41
Device Functionality Requirements for POC
Log in and authenticationQuery patient data
DemographicsGeneral ProblemsMedications
General queriesPersonal patient listPhysician Schedule (current day)Clinic Schedule (current day)Hospital Census
Prescribe medications and Print prescriptionsAsynchronous Lab Result notification
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 42
General RequirementsNo client code
Unrealistic based on one requirement
Use any deviceUnrealistic
No horizontal scroll barsRead-only device interface
Data input is very tedious
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 43
ChallengesSolution must be easy to use
Follow existing web application usage model but presentable on handheld
HIPAAWireless security
Was no LEAP client for Sharp Zaurus deviceDevice security
Passwords and browser cacheDevice battery lifeManage expectationsHospital Cisco network configurationPrinting
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 44
Cisco Network ConfigurationCisco APs are set by default to only allow Cisco hardware to authenticateWe used non-Cisco LEAP clientsHad to change authentication type on all APsto
Accept Open Authentication
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 45
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 46
Deployed ArchitectureBlended Architecture
Use a thin client on device only for functional requirements that can’t be met with the browserUse the browser for all other functional requirements
This puts the most code on the server and the least code on the device
Meets all functional requirements
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 47
Deployed ArchitectureCode on device to support asynchronous Lab Result notification onlyNo code on the device for everything else
Browser based access for all other functionalityAll other UI provided by server JSPs and Portlets
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 48
Deployed ArchitectureUtilize Web ServicesWeb Services Front End (WSFE)
Future integration point for any other entities• Key point
Can be expanded to be the front end to clinical information system or other systems they want to expose services from
Utilize WebSphere Everyplace Access (WEA) on server only
WebSphere PortalExisting hospital architecture and components do not change
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 49
Deployed Architecture with Portal and Web Services Front End
Locked DownStation
Stored ProcedureManager
IBM 390
WebSphere
DB2
Wired
Wireless
Laptop
Desktop
Mobile Devices –Browser and custom client code
Web ServicesFront End
WEA/WebSpherePortal
Mobile PortletsMobile PortletsMobile Portlets
802.11bvia
Cisco LEAP
getGeneralProblemsgetDemographics
getMedications
printPrescriptiongetCensus
etc.
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 50
Web Services Front EndAllows you to expose services in a non-proprietary mannerCan expose clinical information system or other system functionalityAllows integration with business partners, present and future
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 51
Architecture AdvantagesBest of both worlds
Minimal client codeMaximum functionality
Utilizes Web ServicesDevice does not invoke web servicesPortlets invoke web services in WSFECode on device is invoked with web services
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 52
Architecture AdvantagesPOC can be accomplished with no disruption to the existing system
InstallationDevelopmentTestingPilot
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 53
Architecture AdvantagesSolution is an add-on, not a replacementAll POC components are on a separate machine
WebSphere Everyplace Access (WEA)• Which contains Portal Server
WSFE
This machine queries the production database
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 54
Devices UsedNew Sharp Zaurus SL-6000
Embedix OS (Linux)Intel 400 Mhz XScale processor64 meg or RAMIntegrated 802.11b wireless radioFull VGA screen (Portrait and Landscape)Voice recorderCFII, IrDA, SD, USBOpera browserJeode JVMQWERTY keyboard
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 55
Devices UsedHP IPAQ h4355 PocketPC
Intel 400 MHz XScale processor64 meg RAMIntegrated 802.11b, Bluetooth, IrDASD SlotVoice Recorder½ VGA screenQWERTY keyboard
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 56
Architecture AdvantagesSolution tested with Sharp SL-6000, PocketPC H4355, and Palm Tungsten C
Palm eliminated due to browser issues
Device portability because:Mostly browser basedJava for piece that is not
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 57
Proof of ConceptBegan 6/11/044 Physicians took part
Each loaned a Sharp device (two also got the PocketPC)We met with each one for training
Device is “out of the box” except:Web Services Toolkit for Mobile Devices componentOur custom notification clientLEAP client from MeetingHouse for Sharp device
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 58
Demo
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 59
Products/Technologies UsedWebSphere Everyplace Access 4.3 (WEA)
Integrated Portal Server
Web Services Toolkit for Mobile DevicesDevice notification technology
Client and Server components
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 60
Future PossibilitiesUse WSFE to expose interfaces to other systemsDeploy other devices
Palm Tungsten COthers…
Use Portlets for full solutionNot just mobile piece
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 61
Follow-On Architecture
Web ServicesFront End
Locked DownStation
Stored ProcedureManager
IBM 390
WebSphere
DB2
Wired
Wireless
Laptop
Desktop
WEA/WebSpherePortal
Mobile PortletsMobile PortletsMobile Portlets
PortletsPortletsPortlets
Pharmacy
Other HealthCare Facilities
?getGeneralProblemsgetDemographics
getMedications
printPrescriptiongetCensus
etc
802.11bvia
Cisco LEAP
Mobile Devices –Browser and custom client code
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 62
Issues and ConcernsDevice Battery lifeDevice Browser anomaliesHospital network issues
We don’t control any
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation
Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 63
Referenceshttp://www.blackberry.net/developers/na/java/start/index.shtml –Blackberry JDEhttp://www.metrowerks.com/MW/Develop/Desktop/PalmOS/Professional/Default.htm –Metrowerks CodeWarriorhttp://www-306.ibm.com/software/wireless/wsdd/ – WebSphere Studio Device Developerhttp://www.microsoft.com/windowsmobile/developers/default.mspx –Microsoft page for mobile developershttp://www-1.ibm.com/industries/wireless/doc/content/solution/278603104.html –IBM’s WebSphere Everyplace Connection Managerhttp://www.mtghouse.com – LEAP clients from Meeting Househttp://www.alphaworks.ibm.com/tech/wstkmd – IBM’s Web Services Toolkit for Mobile Devices