Mobile Web Services - Colorado Software Summit
Transcription
Mobile Web Services - Colorado Software Summit
Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Mobile Web Services: Challenges, Issues and Case Study Peter Haggar Senior Software Engineer Emerging Technology IBM Corporation Research Triangle Park, NC [email protected] Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 1 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation About Me Practicing Software Engineer for 17+ years Work with Web Services on mobile devices Recently deployed Proof of Concept mobile project for an IBM customer Also focus on high performance Web Services IBM Representative to W3C XML Binary Characterization Working Group Please email me with any questions about this presentation Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 2 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Agenda Challenges and Issues ¾Functionality ¾Development Tools/Environment ¾Devices ¾Wireless Security ¾Security and Devices ¾Wireless Networks ¾Integration Hospital Case Study References Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 3 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Functionality What 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 limitations Web Services and mobile devices does not have to mean invoking web services from the device Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 4 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Functionality Extending an existing solution to mobile ¾What function(s) do you provide? • Subset of existing function • All existing function ¾Device functionality must be easy to use ¾Map to existing solution • “Keep the same deficiencies” Be careful if you provide function on device that is easier to do on laptop/desktop Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 5 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Functionality Device functionality is best left to “read-only” ¾Data entry is tedious for most users • You and I are not most users Understand your user base ¾Can get frustrated very easily ¾Your device can become a paperweight very quickly Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 6 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Development Tools/Environment Java? ¾J2SE ¾J2ME • Profiles? C, C++, C#, VB? Development tools ¾Free or $$ Following are some I’ve used: Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 7 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Development Tools/Environment RIM Blackberry ¾Java ¾Supports J2ME plus RIM extensions ¾Free JDE • http://www.blackberry.net/developers/na/java/start/index.shtml Sharp SL-6000 ¾Java ¾Supports J2SE • Download .class files you build on desktop to run on device Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 8 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Development Tools/Environment Palm ¾C • Metrowerks CodeWarrior http://www.metrowerks.com/MW/Develop/Desktop/PalmOS/Professional/Default.htm ¾Java • IBM WebSphere Studio Device Developer http://www-306.ibm.com/software/wireless/wsdd/ Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 9 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Development Tools/Environment PocketPC ¾Java • IBM WebSphere Studio Device Developer 9 http://www-306.ibm.com/software/wireless/wsdd/ ¾C#, C++, Visual Basic • Microsoft tools 9 http://www.microsoft.com/windowsmobile/developers/default.mspx Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 10 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Non-connected Bluetooth 802.11b Cellular For any serious application ¾802.11b ¾Cellular Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 11 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices 802.11b ¾Palm Tungsten C (integrated) ¾Sharp SL-6000 (integrated) ¾PocketPC (various) (integrated or card) Cellular ¾RIM Blackberry (integrated) ¾Sharp SL-6000 (requires cellular card) ¾PocketPC (various) – requires cellular card ¾Palm Tungsten W (integrated) Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 12 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Don’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 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 13 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Dual 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 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 14 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices – Pros/Cons Palm Powered Devices ¾OS is still single-threaded ¾Lots of aftermarket apps and accessories ¾Large user base PocketPC ¾Multithreaded OS ¾Lots of aftermarket apps and accessories ¾Large user base ¾Familiar look and feel to Windows Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 15 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Sharp SL-6000 ¾Runs embedded Linux – Multithreaded ¾Full VGA screen ¾Currently not a lot of aftermarket apps and accessories ¾Currently small user base RIM Blackberry ¾Java only device ¾Niche market with good penetration ¾Screens are weakness (not even ½ VGA) Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 16 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Wireless Security Depending on the application, different aspects need to be considered For 802.11b ¾For an enterprise, WEP doesn’t cut it ¾LEAP is solid enough for most applications ¾There are other wireless security protocols • 802.11i 9 Recently approved and provides solid security • Many are not yet provided for handhelds Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 17 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Wireless Security For Cellular ¾Some devices provide no security by default • Palm Tungsten W 9 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 Cellular ¾IBM’s WebSphere Everyplace Connection Manager (WECM) • http://www-1.ibm.com/industries/wireless/doc/content/solution/278603104.html Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 18 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Wireless Security WECM ¾Provides excellent security ¾Provides seamless roaming between LAN and WAN networks • Roam between 802.11b to Cellular ¾Picks up lost connections… where you left off Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 19 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Security and Devices Palm Tungsten C ¾WEP – out of the box ¾LEAP – 3rd party add-on • http://www.mtghouse.com ¾WECM – IBM add-on Sharp SL-6000 ¾WEP – out of the box ¾LEAP – 3rd party add-on • http://www.mtghouse.com ¾WECM – IBM add-on Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 20 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Security and Devices PocketPC devices with Windows Mobile 2003 ¾WEP – out of the box ¾LEAP – out of the box ¾WECM – IBM add-on RIM Blackberry ¾Triple DES encryption from device to BES server – out of the box Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 21 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Security and Devices – Sharp SL-6000 Does not support alphanumeric power-on passwords Opera Browser ¾Good HTML and JavaScript support ¾Very configurable ¾Can control browser cache ¾Supports separate browser password Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 22 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Security and Devices – PocketPC Supports alphanumeric power-on passwords PocketIE Browser ¾Good HTML and Javascript support ¾Browser has almost no configuration options • Very weak • No options to clear cache • No separate browser password Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 23 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Security and Devices – Palm Supports alphanumeric power-on passwords Browser issues ¾Not as robust as Opera or as versatile as PocketIE Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 24 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Wireless Networks Cellular ¾GSM, CDMA, TDMA, iDEN, etc. ¾Pros: Wide coverage area ¾Cons: Slow and expensive 802.11 ¾802.11, 802.11a, 802.11b, 802.11g ¾b very pervasive… g getting there ¾Pros: Fast and cheap ¾Cons: Narrow coverage area Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 25 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Wireless Networks Broadband cellular networks are emerging Verizon ¾300 - 500kbps • Currently – Washington DC and San Diego areas only Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 26 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Integration Often 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?” Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 27 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Integration Two approaches ¾Invoke web services from handheld ¾Leave the web services on the server Web Services from handheld ¾IBM’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 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 28 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Integration Performance is acceptable on 802.11 LANs ¾Can be sluggish on cellular WANs ¾However, 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 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 29 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Case Study Hospital with an existing clinical information system ¾J2EE web application ¾WepSphere on IBM 390 backed up by DB2 Browser based application used by physicians to ¾view/update patient information ¾Write prescriptions, track problems, etc. ¾99% originally written by IBM ¾In use for 2.5 years Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 30 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Case Study Allows physicians to query and update various information: ¾Demographics ¾General Problems ¾Labs ¾Medications ¾Insurance ¾Schedules • Physician and Clinic Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 31 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 32 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 33 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 34 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 35 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 36 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Existing Architecture Locked Down Station Wired Wireless Desktop Laptop IBM 390 802.11b via Cisco LEAP WebSphere Stored Procedure Manager DB2 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 37 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation History Hospital wants a mobile solution for physicians Have tried: ¾Wireless Toshiba Tablets ¾Were considering Thinkpads on a cart Perfect opportunity to prove Web Services utilization and handhelds Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 38 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation History November 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 2003 ¾ Proposed Architecture to meet requirements ¾ Received the go-ahead to build solution Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 39 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation History January 2004 ¾ Proof of Concept (POC) requirements review meeting February 2004 ¾ Begin POC implementation June 2004 ¾ POC Launch (6/11) ¾ POC to run for period of 2-3 weeks for each participant Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 40 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Device Functionality Requirements for POC Log in and authentication Query patient data ¾ Demographics ¾ General Problems ¾ Medications General queries ¾ ¾ ¾ ¾ Personal patient list Physician Schedule (current day) Clinic Schedule (current day) Hospital Census Prescribe medications and Print prescriptions Asynchronous Lab Result notification Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 41 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation General Requirements No client code ¾Unrealistic based on one requirement Use any device ¾Unrealistic No horizontal scroll bars Read-only device interface ¾Data input is very tedious Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 42 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Challenges Solution must be easy to use ¾ Follow existing web application usage model but presentable on handheld HIPAA Wireless security ¾ Was no LEAP client for Sharp Zaurus device Device security ¾ Passwords and browser cache Device battery life Manage expectations Hospital Cisco network configuration Printing Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 43 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Cisco Network Configuration Cisco APs are set by default to only allow Cisco hardware to authenticate We used non-Cisco LEAP clients Had to change authentication type on all APs to ¾Accept Open Authentication Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 44 Colorado Software Summit: October 24 – 29, 2004 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study © Copyright 2004, IBM Corporation Page 45 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Deployed Architecture Blended Architecture ¾Use a thin client on device only for functional requirements that can’t be met with the browser ¾Use 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 Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 46 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Deployed Architecture Code on device to support asynchronous Lab Result notification only No code on the device for everything else ¾Browser based access for all other functionality ¾All other UI provided by server JSPs and Portlets Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 47 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Deployed Architecture Utilize Web Services Web 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 Portal Existing hospital architecture and components do not change Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 48 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Deployed Architecture with Portal and Web Services Front End Locked Down Station Wireless Desktop Laptop IBM 390 Wired 802.11b via Cisco LEAP WEA/WebSphere Portal Mobile Portlets Mobile Portlets Mobile Portlets WebSphere Stored Procedure Manager Web Services Front End Mobile Devices – Browser and custom client code getDemographics getGeneralProblems getMedications getCensus printPrescription DB2 etc. Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 49 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Web Services Front End Allows you to expose services in a nonproprietary manner Can expose clinical information system or other system functionality Allows integration with business partners, present and future Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 50 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Architecture Advantages Best of both worlds ¾Minimal client code ¾Maximum functionality Utilizes Web Services ¾Device does not invoke web services ¾Portlets invoke web services in WSFE ¾Code on device is invoked with web services Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 51 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Architecture Advantages POC can be accomplished with no disruption to the existing system ¾Installation ¾Development ¾Testing ¾Pilot Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 52 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Architecture Advantages Solution is an add-on, not a replacement All POC components are on a separate machine ¾WebSphere Everyplace Access (WEA) • Which contains Portal Server ¾WSFE This machine queries the production database Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 53 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Used New Sharp Zaurus SL-6000 ¾ Embedix OS (Linux) ¾ Intel 400 Mhz XScale processor ¾ 64 meg or RAM ¾ Integrated 802.11b wireless radio ¾ Full VGA screen (Portrait and Landscape) ¾ Voice recorder ¾ CFII, IrDA, SD, USB ¾ Opera browser ¾ Jeode JVM ¾ QWERTY keyboard Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 54 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Devices Used HP IPAQ h4355 PocketPC ¾Intel 400 MHz XScale processor ¾64 meg RAM ¾Integrated 802.11b, Bluetooth, IrDA ¾SD Slot ¾Voice Recorder ¾½ VGA screen ¾QWERTY keyboard Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 55 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Architecture Advantages Solution tested with Sharp SL-6000, PocketPC H4355, and Palm Tungsten C ¾Palm eliminated due to browser issues Device portability because: ¾Mostly browser based ¾Java for piece that is not Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 56 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Proof of Concept Began 6/11/04 4 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 component ¾Our custom notification client ¾LEAP client from MeetingHouse for Sharp device Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 57 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Demo Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 58 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Products/Technologies Used WebSphere Everyplace Access 4.3 (WEA) ¾Integrated Portal Server Web Services Toolkit for Mobile Devices Device notification technology ¾Client and Server components Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 59 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Future Possibilities Use WSFE to expose interfaces to other systems Deploy other devices ¾Palm Tungsten C ¾Others… Use Portlets for full solution ¾Not just mobile piece Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 60 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Follow-On Architecture Locked Down Station Wired WEA/WebSphere Portal IBM 390 Mobile Portlets Portlets Wireless Desktop Laptop 802.11b via Cisco LEAP Mobile Portlets Portlets Mobile Portlets Portlets WebSphere Web Services Front End getDemographics Pharmacy Mobile Devices – Browser and custom client code Other Health Care Facilities Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study getGeneralProblems getMedications getCensus printPrescription etc Stored Procedure Manager ? DB2 Page 61 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation Issues and Concerns Device Battery life Device Browser anomalies Hospital network issues We don’t control any Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 62 Colorado Software Summit: October 24 – 29, 2004 © Copyright 2004, IBM Corporation References http://www.blackberry.net/developers/na/java/start/index.shtml – Blackberry JDE http://www.metrowerks.com/MW/Develop/Desktop/PalmOS/Professional/Default.htm – Metrowerks CodeWarrior http://www-306.ibm.com/software/wireless/wsdd/ – WebSphere Studio Device Developer http://www.microsoft.com/windowsmobile/developers/default.mspx – Microsoft page for mobile developers http://www-1.ibm.com/industries/wireless/doc/content/solution/278603104.html – IBM’s WebSphere Everyplace Connection Manager http://www.mtghouse.com – LEAP clients from Meeting House http://www.alphaworks.ibm.com/tech/wstkmd – IBM’s Web Services Toolkit for Mobile Devices Peter Haggar — Mobile Web Services: Challenges, Issues and a Case Study Page 63