View
214
Download
0
Tags:
Embed Size (px)
Citation preview
About Ness, USA
Full services solution providerMicrosoft GOLD Solution Provider, Microsoft Mobile Solutions PartnerOperation centers in NY Tri-state and Mid-Atlantic DC Developer relationships with Nokia, Palm, Research in Motion, Symbol Technologies, BEA Star PartnerVoiceXML Forum, Bluetooth SIG membership
Part of Ness Technologies, a global IT services firm with 2,200 technical staff
About The Speakers
Microsoft TechEd, Microsoft Developer DaysSun JavaOneBorland Developer ConferenceKM World, DCI Explorer, PC Expo
Microsoft Internet Developer magazine, Delphi Informant, Paradox Informant
Best Application Development – Microsoft 1998, Microsoft 2000Databased Advisor Readers Choice award
Agenda
Mobile landscapeMobile development candidatesWireless issues, device issues
Mobile connection scenariosMobile techniques for each.NET and mobile development
Demos
Overview of the your mobile development options
Mobile Interest
Internet content/services anytime and anywhereDevelopments in Europe/AsiaSmarter devicesCheaper accessBetter networks
Types Of Applications
News and alerts
Vertical and business applications
Instrumentation
Travel guides
Entertainment
Proximity-based services
Location-based services
Candidates For Mobility
Field force automation
Sales team, CRM
Better customer service
New revenue opportunitiesPoint of sale locations ripe for new revenue
—Up sell/cross-sell; advertising; impulse buying/frictionless payment
Instrumentation, meteringReduce field visits; increase efficiencies; better response time
Common Attributes
Mobile data retrievalConnect to enterprise data QueriesField information, references
Mobile data collectionUpdates to dataReduce error/redundant data entry
Alerts
Device Issues
Form factor
Displays
Input
Network latency, bandwidth
Limited CPU, memory
Battery life
It is What You Have in Your Pocket
That Counts
Halting Traveler
Mobility Requirements
Low “On the Run”
ContentAccess
ContentCreation
Power
Voice-plus
Data-plus
PC Companions
Notebook PCs
Fixed FunctionMulti Function
Plus-voice
Ease of Use
Portable with wireless modem
Smart phones and Communicators
Communications-enabled PDAs
Wireless Issues
Coverage – spotty, Metropolitan centers
Bandwidth and protocol mishmashCDMA, TDMA (9.6-14.4kps)iMode (9.6kps)CDPD (19.2kps)2.5G - 3G coming (144 burst, CDMA2000; GPRS/EDGE)
SecurityNeeds CPU and power
General power consumption
Mobile Connection Scenarios
ConnectedConnection requiredBrowser
DisconnectedNo connection in the fieldRich client/non-browserData store & sync
Occasionally connectedElements of both connected & disconnectedWorks in connected mode when connectedWorks in offline when not connected (queues)
Connected Scenario
Connection typesWireless (CDMA, TDMA, GSM; 3G; CDPD; WiFi 802.11)Wired network (dial-up, office network)ActiveSync pass-through
Typically browser-based (HTML, WML, cHTML, palm PQA web clipping, etc)
Mobile IE – HTML 3.2, JScript 3.0 (no reg exp or VB), cookies, SSL 2.0/3.0 security, preloaded ActiveX controlsRich clients add capabilities like SQL CE with RDA for pass thru SQL
How To Stay Connected
Digital phone card and connectorWireless modem “sled” (Omnisky, etc.)Wired modem (socket CF adapter, etc)WiFi 802.11 network card (PC card, CF form factor)Ethernet network card (PC card)Built-in wireless (e.g. Pocket PC phone edition, HP 928)ActiveSync pass-through
Mobile workforceWired dock in the truck
Connected Scenario – Tools Roadmap
Mobile internet toolkit (mobile forms)Full .NET framework services on serverMobile controls
.NET Compact Framework
Embedded Visual Tools 3.0 (eVB/C++)
Mobile information serverExchange 2000 to WAP phonesMIS 2002 adds PPC syncingMIS-EE for enterprise, MIS-CE for carrier
Microsoft Mobile Internet Toolkit
Mobile version of ASP.NET
Browser: HTML 3.2, cHTML (DoCoMo iMode), WML 1.1Adaptive page renderingBroadest range of wireless devices, including Smartphone 2002
Tested on over 75 devices and emulators, incl RIM, Palm, Openwave
Supports cookieless sessions
Microsoft Mobile Internet Toolkit
Full server-side .NET Framework and features.
Rich server-side mobile forms controls.
Customizable markup.Device profiles (definable templates and styles).Customize controls for different devices.
—Future-proofs today's apps for tomorrows devices.
Mobile featuresAuto-pagination, multiple forms on a page, etc.
Application Environment
ASP.NET model
Code behind style of VB
Mobile form controls
Events raised on client execute code on serverWire up event handlers a la .NET web forms styleModular “code-behind” model separates UI from logic
Mobile Forms
Displaying contentMobile web forms (adaptive rendering)Label, Textbox, TextViewImageDevice filters for property overrides and templates (arbitrary content)
NavigationLinkCommand – more flexible version of link; server-side eventsLists
Softkey support
Mobile Forms
User inputTextboxList – bullets, numbered, plain (internal paging)SelectionList – checkboxes, radio buttonsObjectList – table/grid (multifields)
Validation controls – compare, range, regexp, required; validationsummary
Data-binding - ADO.NET
Device-specific featuresCall – phone callsMobileCapabilityClass.HasCapability
Getting Started
Mobile Information Toolkit (MMIT)
Visual Studio.NET (optional)
Get some device emulatorsMicrosoft mobile explorer (smartphones)WAP emulators (Nokia, Openwave, Ericsson, etc.)Palm PQA, RIM
Demo - Connected
.NET Mobile Internet ToolkitVisual Studio.NET
MyCalendarAdaptive rendering, controlsEmulators (PPC, Mobile Explorer, WAP phone)
MyWeatherReal-time access to dataDatabinding
.Net Compact Framework
Rich client for Pocket PC and smart clients, useful for disconnected and occasionally connected scenarios
Subset of the .NET Framework
Smart Device Extensions (SDE) – add-on for Visual Studio.NET
VB.NET, C#, managed code, XML web services
Will run on Smartphone 2002 and Pocket PC (2000), set top boxes
.Net Compact Framework
CaveatsTechnology preview missing forms designerNo COM support, therefore no HTML control supportBugsDoes not work with RTM
Pro’s/Cons For Connected Architecture
ProsTimely up to the second dataEasier to build (at first)
Based on HTML or variants (WAP)Instant roll out of new features
Cross platform support fairly easy
Logistics tough but conceptually simple.
— Different Devices — Browser versions— xfer Speed— Capabilities
ConsNo signal, no appHardware & service $Battery lifeNetwork dependant performance
Pro’s/Cons For Disconnected Arch
Pros
App is usable any time
Not dependant on wireless communications for use of app or synchronization
Cons
Data not real time
Architecture is more complex = $$
Difficult to impossible to build cross platform apps
Much harder to support
Harder to secure
Ideal Apps?
ConnectedStock TradingReal-time InventorySimple transactionsApps in a controlled environment
DisconnectedSFAReferenceEmailData collection
What’s In A Disconnected App?
Data
Web Server
(Device Manager)
Browser
Data
(Web Server)
Synch Server
Synch Client
Your App
Local data
Connected Disconnected
Connection
Runtime
DB Engine
Networking
Bus Rules
ActiveSync Pass-through
Network connection while cradledLive internet / live connection to a databaseConnected Access Synchronization
SQL CE Synchronization
SQL Server CE Can act as a standalone databaseFaster than CEDB ISAM
SQL Server ReplicationBi-Directional synch to a host SQL Server when cradled via ActiveSync pass-throughUses HTTP and connects to SQL Server via IIS (so it works through firewalls)Compression/encryption/some fault tolerance (xfer retries if fail)
Two types of Sync connectionsRemote Data Access (RDA)
— Bi-Directional but client controls sync (it pulls data from server and pushes updates)— SQL 6.5 and up— Works with MSDE (SQL 7) that comes with VisStudio.Net— SQL can either be forwarded to connected SQL Server on desktop/server
Merge Replication — autonomous data updates— Requires SQL 2000 Developer and up
AppsApps
MSMQ Synchronization
True Opportunistic synchronizationAsynchronous and synchronous Various types of Queues (Public/Private)Transactions (guaranteed delivery) Security (authenticate, encrypt, digital signatures) Network protocol independentMessage routing and load balancingEven when sending and receiving apps run at different timesCan even be used for interprocess communication on same device.
AppsAppsReceiverReceiverSenderSender
Other types of Synchronization
Custom/App driven – perhaps via custom XML componentsMAPI – mail APIFile synchronizationPeer to Peer!Third-party (Synchroligic,Aethersystems)Offline Webpages (AvantGo, HiddenMinds)
Cached Webpage Approach
Content is generated by web server (HTML, ASP, ASPX, JSP…)Data validation via JavaScriptSynch server such as AvantGo gathers content and replicates to device.Device has browser and database storing cached pagesHas many of the advantages of connected and disconnected approaches. However not a good fit for all types of apps.
References
Books:Pocket PC Development in the Enterprise (Andreas Sjostrom, et al).NET Compact Framework (P Stanski) ASP.NET Mobile Controls: Tutorial Guide: Adaptive Web Content for Mobile Devices with the MMIT (C Hadjisotiriou)
Online ReferenceMicrosoft Newsgroups (news.microsoft.com)Devbuzz.com
Email us!
Thank You!
For more information, contact us at
Ness, USA - (201) 488-7222
Joseph C. Fung: [email protected]
Bill Wolf: [email protected]