5 Mobile Application Architectures Smart Client vs. Thin ClientSmart ClientSome business logic resides within the clientLogic updates require client redistributionOffline processingSynchronization required for data integrationThin ClientAll business logic is invoked from a serverLogic updates can occur without client redistributionOnline processing onlySynchronization is not required to ensure fresh data
6 Agenda Mobile Computing Landscape Pocket PowerBuilder Key Features Developing Applications with Pocket PowerBuilderRelated TechnologiesSummaryAdditional Resources
7 Pocket PB OverviewFirst conceived and proposed to Sybase as an ISUG Enhancement RequestEarly prototypes targeted Palm platformLack of GUI context moved development to Pocket PCProvides RAD 4GL in an environment PB developers are already familiar withLeverages existing knowledge, business rules, and development
8 Pocket PowerBuilder Key Features Productive 4GL IDESupports complete development cycleRich component setVisual development with minimal codingDataWindow controlSingle component providing sophisticated data representationBuilt in SQL for selects, updates, inserts and deletesTight integration with SQL Anywhere StudioEasily develop mobile ‘smart client’ applications with ASAIntegration with MobiLink for data synchronization
9 Pocket PowerBuilder Key Features Productive 4GL EnvironmentComponent PalettePreview WindowPropertyInspectorDebug Information
10 Pocket PowerBuilder Key Features Productive 4GL EnvironmentComplements PowerBuilder for Windows CE deploymentsBased on core PowerBuilder 9 IDESimilar look and feel, but separate IDEAbility to export PB projects and import them into PocketBuilderRich Set of componentsCommand ButtonPicture ButtonCheckBoxRadio ButtonStatic TextList ViewTree ViewList BoxDropDown List BoxEdit MaskSingle Line EditMultiLine EditProgress BarScroll BarsLineOvalRectangleTabsand many, many more!
11 Differences from PB No PFC! Unsupported Features Unsupported Functions MDI ApplicationsEAServer ConnectionsWeb and JSP TargetsAutomation ServerUnsupported FunctionsOLEDDECORBAPrintingRich TextAmong others
13 New Wizards Import desktop to CE Export CE to desktop Pocket PowerBuilder IDEImport desktop to CEMigrates PowerBuilder libraries to Pocket PowerBuilder formatNew libraries copied to same directory as old libraries with .PKL extensionExport CE to desktopMigrates Pocket PowerBuilder libraries to PowerBuilder 9.0 formatNew libraries copied to same directory as old libraries with .PBL extensionMobiLink Synchronization for ASAGenerates objects for launching MobiLink synchronization from remote clientOptional window to change dbmlsync runtime argumentsSync User and Subscription MaintenanceAvailable in PPB 1.01Generates objects to maintain synchronization user and subscriptions in a remote ASA database
14 Main/Response Windows Main WindowsShow Soft Input Panel (SIP) CheckboxClose (OK)Smart Minimize (X)Response WindowsNo Menu BarNo Smart Minimize
16 DataWindow ControlAdvanced control for displaying and manipulating dataAvailable in many formatsFreeformGraphGridGroupTabularReuse existing DataWindows with minimal effort
17 SQL Anywhere Integration Adaptive Server Anywhere mobile databaseUses full data storage capabilities of Adaptive Server Anywhere on Windows CE clientDatabase access via ODBCMobiLink data synchronizationMobiLink bi-directional data synchronization used to integrate with other enterprise databases (Sybase ASE and ASA, Oracle, MS SQL Server, IBM DB2)New component to manage synchronization properties
18 WinCE Fun With External Function Calls… New Window TypesPopup Calendar and INKWindow Class: "SysMonthCal32"Window Class: "InkX"
19 WinCE Fun With External Function Calls… New Window TypesCustom Window TypesIn PocketBuilder use… hwnd = uf_createwindow("SysMonthCal32", Handle(this))The local function…public function unsignedlong uf_createwindow(string classname, unsignedlong hwndparent)// Create a window of the specified classname // as a child of the specified window. return = CreateWindowEx_CE( 0, ClassName, "", &WS_BORDER + WS_CHILD + WS_VISIBLE, &0,0,0,0, &hwndParent, 0, 0, 0 )End FunctionRefer to PPB “Samples\misc\reeds_tests.pkt”
20 Agenda Mobile Computing Landscape Pocket PowerBuilder Key Features Developing Applications with Pocket PowerBuilderRelated TechnologiesSummaryAdditional Resources
21 Developing an Application 4 Main StepsApplication DesignApplication DevelopmentApplication TestingApplication Deployment
22 Application Design This helps when porting to other platforms Good UI is very importantMore important than on the desktop?Handheld <> desktopNo keyboardSmall screenPlatform differencesHow do you squeeze lots of information onto a small screen?Tab controls, menus, etc.Iterative developmentKeep application logic separate from GUI!This helps when porting to other platforms
23 Application Development Familiar IDE for PowerBuilder DevelopersPowerBuilder Objects can be imported into Pocket PowerBuilderPocket PowerBuilder objects can be imported into PowerBuilderMost development is visualDrag and drop components and database accessDevelopment PlatformsWindows 2000Windows XP
24 Application Testing On the Desktop On a device Emulator Testing can occur in three ways:On the DesktopDoes not use the same VM, therefore not accurate representation of deviceGood for quick testing early onOn a device EmulatorUses Windows CE VM, but not for the same chipset as physical devicePocket PC 2002 Emulator is decentOn the device itselfBest way to determine if application will work correctly at deploymentCan also test network connectivity at this point
25 Developing an Application Test EVERY part of your application:DeviceApplicationNetwork(s)SynchronizationIntegration with back-end…
26 Recommend using device with Remote observer application Project PainterDeployment Options *CE Device (ARM only)PPC 2000 EmulatorPPC 2002 EmulatorDesktopBuild CAB FileVersion Information – Desktop onlyRecommend using device with Remote observer application
27 Application Deployment Pocket PC applications are often distributed as CAB filesPocket PC SDK comes with ‘cabwiz’ which is a utility to package applications into self installing CAB filesDeployment techniques are being researched by Pocket PowerBuilder teamDeployment to multiple devices in remote locations can be facilitated by application deployment and management software
28 Packaging and Deployment OverviewGenerate a CAB fileSingle packageSingle Platform: “my_app.ARM.CAB”Installed and UninstalledBasic level of User DeploymentGenerate a “setup” programThe “my_setup.exe” which does everything.Multiple CAB FilesMultiple PlatformsMay Contain PK*.DLL redistributable files tooEasiest level for final customerPocket PB Helps You – Project Painter
29 Package For Deploy (CAB) CAB fileProject Painter –CheckBox: “Build CAB File for Distribution”Generates “inf” file and runs “CabWiz” from Microsoft.INF file is an ASCII text fileWe leave the INF file and the BAT file around for your modificationCompatible with PPC-2003 standardsUses Installation DirectoriesUses Version Information fieldsCompany Name “Provider Name”Product Name “Application Name”Description comment in headerCopyright comment in headerVersion comment in header
30 Developing an Application PocketBuilder applications can be run on the mobile device in two ways:Using the ‘stub’ application that is installed into the Pocket PC start menu as Pocket PowerBuilder 1.02) By clicking directly on the application .exe (which is put into the ..\windows directory by default)Deployment PlatformsARM based Pocket PC devicesThis covers all devices coming out with Pocket PC 2002 operating systemsMIPS, SH3 chipsets are not supported as device manufacturers have all but stopped making these devices
31 Application Architecture DeviceEnterpriseConsolidatedDatabase(Sybase/Oracle/Microsoft/IBM)PocketPowerBuilderVirtualMachineSampleApplication)MobiLinkASAMLTCP/IPHTTPHTTPSActiveSync(wired or wireless)
32 Agenda Mobile Computing Landscape Pocket PowerBuilder Key Features Developing Applications with Pocket PowerBuilderRelated TechnologiesSummaryAdditional Resources
33 Adaptive Server Anywhere (ASA) Enterprise Features for mobile devicesStandard SQL interfaceStored procedures and triggersTransaction processingRow-level locking for referential integrityScheduling and event handlingMultiple Platform SupportWintel platforms – Win95/98/ME, NT, 2000, CENovell NetwareUnix – Solaris, Linux, HP-UX, AIX, Solaris x86
34 Database (DSN) Connections DSN File on Pocket PCCopied to root directory of Pocket PCOpen Main Window, then connect to DB (use post event)Only Sybase SQL Anywhere supported currently
35 MobiLinkA two-way synchronization technology for large scale mobile database deploymentRemote database (mobile, embedded, or workgroup database server)Consolidated database (enterprise, workgroup, or desktop database)A server that processes synchronization requests from remote databasesSynchronization StreamsPocket PC: TCP/IP, HTTP, ActiveSync128-bit strong encryption of synchronization stream supported using Certicom TLS
36 MobiLink Design Goals Heterogeneous consolidated database Scalable and robust (tens of thousands)Manageable in large deploymentsSupport handheld and wireless devicesFlexible
37 Pocket PowerBuilder Synchronization Wizard MobiLink Synchronization in a Flash!Develop a client/server application to start……Then add Synchronization using the Synchronization Wizard!
38 Pocket PowerBuilder Synchronization Wizard The MobiLink Synchronization Wizard handles ALL aspects of enterprise database synchronizationRemote database connectionPublications for synchronizationSynchronization server connection informationSynchronization client optionsUser interface generationEverything that the Wizard generates if fully modifiable later on by the application developer!
39 Manage Anywhere Studio Automated central software distributionIncluding file distribution and collectionComplete device-level hardware and software inventorySupport mission-critical mobile environmentSelf-healing configurationsRemote control – reach out and help somebodySecurity managementKeep virus protection, OS up to dateGuard against unauthorized software, configurationOptimized for mobile, remote, embeddedSimple for administrator and end-userOffline operation, suspend & resume, minimal bandwidth useManage desktops, laptops, PDAs
40 Pocket PC Emulators Pocket PC 2000 Emulator Pocket PC 2002 Emulator Easy to set up and useDoes not give accurate representation of deviceMany ‘bugs’Pocket PC 2002 EmulatorSetup is more complexMore accurate in terms of device emulationBoth emulators can be downloaded from Microsoft WebsiteRecommend using PPC 2002 emulator
41 Pocket PC Power ToysSet of applications to increase productivity of Pocket PC developmentMost useful of these tools is the Remote Display ControlThis utility allows you to view your physical device on your PC screenProvides data entry for on-device testing
42 Agenda Mobile Computing Landscape Pocket PowerBuilder Key Features Developing Applications with Pocket PowerBuilderRelated TechnologiesSummaryAdditional Resources
43 SummaryPocket PowerBuilder provides the features that are required to develop enterprise smart client applicationsPowerBuilder users can use their existing skills and application code to develop Windows CE applicationsWindows CE applications are similar, but yet quite different than desktop applications, so design your applications accordinglyThere are many related technologies available for developers to increase the sophistication of their applications, and their productivity at the same time
44 Summary Tips Always think ahead Don't forget about your current development practicesUse the devices and the networks to learn themDon't forget about securityFigure out what part(s) of your application make sense for the deviceA good UI is very, very importantUse a local data storeThink ahead – data size (devices less upgradable than a laptop), platforms (when developing, keep porting in mind), …Dev practices – treat mobile like desktopUse devices, networks – wireless LAN hardware is cheap – < $200 for AP and cardSecurity – minimize risk, not eliminate itGood UI – small device, can’t afford to waste space
45 Additional Resources Pocket PowerBuilder www.sybase.com/pocketpb SQL Anywhere StudioManage Anywhere StudioMobile and Wireless Design EssentialsMicrosoft Pocket PC Info
Your consent to our cookies if you continue to use this website.