Pocket PowerBuilder Features
Pocket PowerBuilder FeaturesDon Clayton – Intertech Consulting, [email protected]
Agenda
Mobile Computing Landscape
Pocket PowerBuilder Key Features
Developing Applications with Pocket PowerBuilder
Related Technologies
Summary
Additional Resources
m-Business Applications
Consumer BusinessStock trading - Sales force automationRemote banking - Insurance adjustorMobile portfolio management - Dispatch, track & traceDirectory & location services - Inspection, complianceSelf-service kiosk systems - Warehouse, pick and packInfotainment - Retail, POS
- Hospitality - Healthcare
- Defense
Mobile Application Architectures
Smart Client Some business logic resides
within the client
Logic updates require client redistribution
Offline processing
Synchronization required for data integration
Thin Client • All business logic is invoked from
a server
• Logic updates can occur without client redistribution
• Online processing only
• Synchronization is not required to ensure fresh data
Smart Client vs. Thin Client
Agenda
Mobile Computing Landscape Pocket PowerBuilder Key Features Developing Applications with Pocket PowerBuilder Related Technologies Summary Additional Resources
Pocket PB Overview
First conceived and proposed to Sybase as an ISUG Enhancement Request
Early prototypes targeted Palm platform Lack of GUI context moved development to Pocket PC
Provides RAD 4GL in an environment PB developers are already familiar with
Leverages existing knowledge, business rules, and development
Pocket PowerBuilder Key Features
Productive 4GL IDE Supports complete development cycle Rich component set Visual development with minimal coding
DataWindow control Single component providing sophisticated data representation Built in SQL for selects, updates, inserts and deletes
Tight integration with SQL Anywhere Studio Easily develop mobile ‘smart client’ applications with ASA Integration with MobiLink for data synchronization
Pocket PowerBuilder Key Features
Preview Window
Component Palette
Debug Information
PropertyInspector
Productive 4GL Environment
Complements PowerBuilder for Windows CE deployments Based on core PowerBuilder 9 IDE
Similar look and feel, but separate IDE Ability to export PB projects and import them into PocketBuilder
Rich Set of components Command Button Picture Button CheckBox Radio Button Static Text List View Tree View List Box DropDown List Box
Pocket PowerBuilder Key Features
Productive 4GL Environment
Pocket PowerBuilder Key Features
Edit MaskSingle Line EditMultiLine EditProgress BarScroll BarsLineOvalRectangleTabsand many, many more!
Differences from PB
Unsupported Features MDI Applications EAServer Connections Web and JSP Targets Automation Server
Unsupported Functions OLE DDE CORBA Printing Rich Text Among others
No PFC!
New File Extensions
PKW – Workspace PKT – Target PKL – Library PKD – Runtime Library PKR – Resource File
New Wizards
Import desktop to CE Migrates PowerBuilder libraries to Pocket PowerBuilder format New libraries copied to same directory as old libraries with .PKL extension
Export CE to desktop Migrates Pocket PowerBuilder libraries to PowerBuilder 9.0 format New libraries copied to same directory as old libraries with .PBL extension
MobiLink Synchronization for ASA Generates objects for launching MobiLink synchronization from remote client Optional window to change dbmlsync runtime arguments
Sync User and Subscription Maintenance Available in PPB 1.01 Generates objects to maintain synchronization user and subscriptions
in a remote ASA database
Pocket PowerBuilder IDE
Main/Response Windows
Main Windows Show Soft Input Panel (SIP) Checkbox Close (OK) Smart Minimize (X)
Response Windows No Menu Bar No Smart Minimize
DataWindow Control
Advanced control for displaying and manipulating data
Available in many formats Freeform Graph Grid Group Tabular
Reuse existing DataWindows with minimal effort
SQL Anywhere Integration
Adaptive Server Anywhere mobile database Uses full data storage capabilities of Adaptive Server Anywhere on Windows
CE client
Database access via ODBC
MobiLink data synchronization MobiLink 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
WinCE Fun With External Function Calls…
Popup Calendar and INK
New Window Types
Window Class:"SysMonthCal32"
Window Class:"InkX"
WinCE Fun With External Function Calls…
Custom Window Types In 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 Function
Refer to PPB “Samples\misc\reeds_tests.pkt”
New Window Types
Agenda
Mobile Computing Landscape
Pocket PowerBuilder Key Features
Developing Applications with Pocket PowerBuilder
Related Technologies
Summary
Additional Resources
Developing an Application
1. Application Design
2. Application Development
3. Application Testing
4. Application Deployment
4 Main Steps
Application Design
Good UI is very important More important than on the desktop?
Handheld <> desktop No keyboard Small screen
Platform differences
How do you squeeze lots of information onto a small screen? Tab controls, menus, etc.
Iterative development Keep application logic separate from GUI!
This helps when porting to other platforms
Application Development
Familiar IDE for PowerBuilder Developers PowerBuilder Objects can be imported into Pocket PowerBuilder Pocket PowerBuilder objects can be imported into PowerBuilder
Most development is visual Drag and drop components and database access
Development Platforms Windows 2000 Windows XP
Application Testing
Testing can occur in three ways:
1. On the DesktopDoes not use the same VM, therefore not accurate representation of deviceGood for quick testing early on
2. On a device EmulatorUses Windows CE VM, but not for the same chipset as physical devicePocket PC 2002 Emulator is decent
3. On the device itselfBest way to determine if application will work correctly at deploymentCan also test network connectivity at this point
Developing an Application
Test EVERY part of your application:
Device
Application
Network(s)
Synchronization
Integration with back-end
…
Project Painter
Deployment Options * CE Device (ARM only) PPC 2000 Emulator PPC 2002 Emulator Desktop
Build CAB File Version Information – Desktop only
•Recommend using device with Remote observer application
Application Deployment
Pocket PC applications are often distributed as CAB files
Pocket PC SDK comes with ‘cabwiz’ which is a utility to package applications into self installing CAB files
Deployment techniques are being researched by Pocket PowerBuilder team
Deployment to multiple devices in remote locations can be facilitated by application deployment and management software
Packaging and Deployment
Generate a CAB file Single package Single Platform: “my_app.ARM.CAB” Installed and Uninstalled Basic level of User Deployment
Generate a “setup” program The “my_setup.exe” which does everything. Multiple CAB Files Multiple Platforms May Contain PK*.DLL redistributable files too Easiest level for final customer
Pocket PB Helps You – Project Painter
Overview
Package For Deploy (CAB)
Project Painter – CheckBox: “Build CAB File for Distribution”
Generates “inf” file and runs “CabWiz” from Microsoft. INF file is an ASCII text file We leave the INF file and the BAT file around for your modification
Compatible with PPC-2003 standards Uses Installation Directories Uses Version Information fields
Company Name “Provider Name” Product Name “Application Name” Description comment in header Copyright comment in header Version comment in header
CAB file
Developing an Application
PocketBuilder applications can be run on the mobile device in two ways:1) Using the ‘stub’ application that is installed into the Pocket PC start menu as
Pocket PowerBuilder 1.0
2) By clicking directly on the application .exe (which is put into the ..\windows directory by default)
Deployment Platforms ARM based Pocket PC devices
This covers all devices coming out with Pocket PC 2002 operating systems
MIPS, SH3 chipsets are not supported as device manufacturers have all but stopped making these devices
Application Architecture
ConsolidatedDatabase
(Sybase/Oracle/Microsoft/IBM)
MobiLink
Device
ASA
ML
Enterprise
TCP/IPHTTP
HTTPSActiveSync
(wired or wireless)
SampleApplication)
Pocket PowerBuilder
Virtual Machine
Agenda
Mobile Computing Landscape
Pocket PowerBuilder Key Features
Developing Applications with Pocket PowerBuilder
Related Technologies
Summary
Additional Resources
Adaptive Server Anywhere (ASA)
Enterprise Features for mobile devices Standard SQL interface Stored procedures and triggers Transaction processing Row-level locking for referential integrity Scheduling and event handling
Multiple Platform Support Wintel platforms – Win95/98/ME, NT, 2000, CE Novell Netware Unix – Solaris, Linux, HP-UX, AIX, Solaris x86
Database (DSN) Connections
DSN File on Pocket PC Copied to root directory of Pocket PC
Open Main Window, then connect to DB (use post event) Only Sybase SQL Anywhere supported currently
MobiLink
A two-way synchronization technology for large scale mobile database deployment
Remote database (mobile, embedded, or workgroup database server)
Consolidated database (enterprise, workgroup, or desktop database)
A server that processes synchronization requests from remote databases
Synchronization Streams Pocket PC: TCP/IP, HTTP, ActiveSync
128-bit strong encryption of synchronization stream supported using Certicom TLS
MobiLink Design Goals
Heterogeneous consolidated database
Scalable and robust (tens of thousands)
Manageable in large deployments
Support handheld and wireless devices
Flexible
Pocket PowerBuilder Synchronization Wizard
Develop a client/server application to start…
…Then add Synchronization using the Synchronization Wizard!
MobiLink Synchronization in a Flash!
Pocket PowerBuilder Synchronization Wizard
The MobiLink Synchronization Wizard handles ALL aspects of enterprise database synchronization
Remote database connection Publications for synchronization Synchronization server connection information Synchronization client options User interface generation
Everything that the Wizard generates if fully modifiable later on by the application developer!
Manage Anywhere Studio
Automated central software distribution Including file distribution and collection Complete device-level hardware and software inventory
Support mission-critical mobile environment Self-healing configurations Remote control – reach out and help somebody
Security management Keep virus protection, OS up to date Guard against unauthorized software, configuration
Optimized for mobile, remote, embedded Simple for administrator and end-user Offline operation, suspend & resume, minimal bandwidth use Manage desktops, laptops, PDAs
Pocket PC Emulators
Pocket PC 2000 Emulator Easy to set up and use Does not give accurate representation of device Many ‘bugs’
Pocket PC 2002 Emulator Setup is more complex More accurate in terms of device emulation
Both emulators can be downloaded from Microsoft Website Recommend using PPC 2002 emulator
Pocket PC Power Toys
Set of applications to increase productivity of Pocket PC development
http://www.microsoft.com/mobile/pocketpc/downloads/powertoys.asp
Most useful of these tools is the Remote Display Control
This utility allows you to view your physical device on your PC screen
Provides data entry for on-device testing
Agenda
Mobile Computing Landscape
Pocket PowerBuilder Key Features
Developing Applications with Pocket PowerBuilder
Related Technologies
Summary
Additional Resources
Summary
Pocket PowerBuilder provides the features that are required to develop enterprise smart client applications
PowerBuilder users can use their existing skills and application code to develop Windows CE applications
Windows CE applications are similar, but yet quite different than desktop applications, so design your applications accordingly
There are many related technologies available for developers to increase the sophistication of their applications, and their productivity at the same time
Summary Tips
Always think ahead
Don't forget about your current development practices
Use the devices and the networks to learn them
Don't forget about security
Figure out what part(s) of your application make sense for the device
A good UI is very, very important
Use a local data store
Additional Resources
Pocket PowerBuilder www.sybase.com/pocketpb
SQL Anywhere Studio www.ianywhere.com/sqlanywhere
Manage Anywhere Studio www.ianywhere.com/manageanywherestudio
Mobile and Wireless Design Essentials www.amazon.com/mallick
Microsoft Pocket PC Info www.microsoft.com/pocketpc
Top Related