Pocket PowerBuilder Features Don Clayton – Intertech Consulting, Inc. [email protected].

46
Pocket PowerBuilder Features Pocket PowerBuilder Features Don Clayton – Intertech Consulting, Inc. [email protected]

Transcript of Pocket PowerBuilder Features Don Clayton – Intertech Consulting, Inc. [email protected].

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 Architecture

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

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

Pocket PowerBuilder Overview