Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pocket PowerBuilder.

Similar presentations


Presentation on theme: "Pocket PowerBuilder."— Presentation transcript:

1 Pocket PowerBuilder

2 Ian Thain Pocket PowerBuilder Evangelist PTOG Evangelist Team, Sybase Inc. ian.thain@sybase.com

3 Agenda Introduction Unwired Enterprise Why PPB ?
Enterprise Mobile Applications PPB Overview PPB vs. PB MobiLink Developing An Application Migrating Demonstrations

4 Introduction Over the last 11 years we have seen PowerBuilder grow and develop into the tool it is today. Originally for Client Server, then incorporating Component Development & RAD Thin Client Development. Also over the last 11 years we have seen increasing developments in DataWindow technology that has seen it appear (or not) as a non-visual DataStore, Java DataWindow and HTML DataWindow DataWindows EVERYWHERE? Well nearly! Reference material within PBDJ article

5 Introduction "Don't think big…Think Small!!"
Pocket PowerBuilder is now coming to aid corporate development of Pocket PC applications, brining all the benefits RAD 4 GL and even the DataWindow technology. So we really can now say, DataWindows EVERYWHERE!!!! Reference material within PBDJ article

6 Unwired Enterprise Liquidity + Mobility = Unwired Enterprise
Liquidity - Free flowing information with economic value Mobility - Freedom to work anytime, anywhere Reference material within PBDJ article

7 Why PPB ? Pocket PCs are becoming more popular and are produced by many manufactures such as HPTM, DellTM, ToshibaTM Pocket PC market leader HP - iPAQ Many companies are starting to realize the competitive advantage that occasionally connected Pocket PCs can provide in today’s business climate.

8 Why PPB ? Pocket PCs are not as powerful or as feature rich as notebook computers or Tablet PCs but are a fully enabled computer operating within a mobile context But their small size is proving popular with road warriors looking to reduce the equipment they take with them while traveling Pocket PCs are also allowing organizations to provide automation in areas where computers wouldn’t fit Thus saving money by reducing data entry requirements and eliminating data entry errors.

9 Why PPB ? While there are some development tools available for creating Pocket PC applications, no tool seems to combine the features of ease-of-use with power and flexibility quite like Pocket PowerBuilder. With Pocket PowerBuilder and Adaptive Server Anywhere for CETM, developers will be able to quickly and easily create powerful Pocket PC applications for a variety of uses. Ideal for Mobile Smart Client development

10 Why PPB ? Mobile Smart Client
Application where client side business logic is executed on device Persistent data storage on the device Application can be executed at any time, even without a wireless connection Integration to the enterprise is typically provided via synchronization Client application communicates data to the back end via a synchronization server

11 Enterprise Mobile Applications
Identifying a candidate for a mobile application For existing systems… Not replace but extend What advantage or +ve impact? User needs Current inefficiencies Not just a Port or conversion !

12 Enterprise Mobile Applications
Identifying common functionality Existing System Mobile Sysytem Common functionality Greatest common denominators of functionality Some functionality may not be practical for mobile users

13 Enterprise Mobile Applications
Key areas for a mobile application Usability (including intuitiveness, efficiency, ease of use & reliability) Innovation (including New Functionality) – maybe from using mobile technologies BPI (including extending existing systems) – it should fit well into existing business processes ROI – As always a return on investment is a major factor

14 Enterprise Mobile Applications
Potential Systems for Mobile Applications Data Collection Inventory Management Customer Relationship Management Event Tracking Sales Force Automation Healthcare Field Force Automation Mobile Healthcare

15 Pocket PowerBuilder Overview
Productive 4GL IDE Supports complete development cycle Rich component set Visual development with minimal coding Currently based on the PB8 code line DataWindow control Single component providing sophisticated data representation Built in SQL for selects, updates, inserts and deletes Reference material within PBDJ article Current GA v 1.5

16 Pocket PowerBuilder Overview
BTW SalesDB Tutorial

17 Pocket PowerBuilder Overview
DataWindow Control Advanced control for displaying and manipulating data Available in many formats Freeform Graph Grid Group Tabular Reuse existing DataWindows with little effort

18 Pocket PowerBuilder Overview
PowerScript Powerful OO language Inheritance Polymorphism Overloading & Overriding Event driven Based on Basic/Pascal User Events User Functions User Objects Visual Non Visual Reference material within PBDJ article

19 Pocket PowerBuilder Overview
Tight Integration with SQL Anywhere Studio Easily develop mobile “smart client” applications with ASA Forte’ is the occasionally connected database application (necessary for wireless use) Integration with MobiLink for data synchronization Other Database Drivers After 1.5 GA

20 Pocket PowerBuilder Overview
Rich Set of components Command Button, Picture Button, CheckBox, Radio Button, Static Text, List View, Tree View, List Box, DropDown List Box, Edit Mask, Single Line Edit, MultiLine Edit, Progress Bar, Scroll Bars, Line, Oval, Rectangle, Tabs, and many, many more! Plus the ability to create new components!

21 PPB vs. PB Unsupported Functions within OLE, DDE, CORBA, Profiling,
Printing, Rich Text and a few more. Unsupported Events contain help(), closequery(), anything to do with remote (example remoteexec()), hotlinkalarm() and toolbarmoved(). Reference material within PBDJ article

22 PPB vs. PB Unsupported Features MDI applications,
EAServer CORBA connections, Web and JSP targets, and Automation server. NO PFC ! Reference material within PBDJ article

23 PPB vs. PB Unsupported DataWindow types Composite Crosstab Label N-Up
OLE2.0 RichText Reference material within PBDJ article

24 PPB vs. PB Environment variables
In both products, the enumerated types for the Environment object returned by a GetEnvironment call include the OSType and CPUType. Pocket PowerBuilder has additional values for the GetEnvironment OSType and CPUType. For a Pocket PC platform, the value returned for the GetEnvironment OSType is "WindowsCE!" and the value returned for the CPUType is "ARM!". ORCA Script Both PB & Pocket PowerBuilder ship with ORCA Script as of v1.5 Reference material within PBDJ article

25 PPB vs. PB System functions for SIP
Pocket PowerBuilder has system functions to control the display of the Soft Input Panel (SIP) on a Windows CE device or emulator Function Description SetSIPPreferredState Displays or hides the SIP used on the Pocket PC or emulator SetSIPType Specifies the SIP panel type (keyboard or character recognizer) used by the application on a Pocket PC or emulator Reference material within PBDJ article

26 New Controls With PDA Things like Rich Ink control…

27 New Controls With PDA Things like DatePicker control…

28 New Controls With PDA Things like Notification Bubble…

29 New Controls Other Native controls
HP 5400 & 5500 Series Biometric Fingerprint Scanner Symbol Barcode Scanner

30 Different Functionality
Upper-Right Corner Window Controls Changed for PDA Standards. ok Close the window, or the entire application X Smart-Minimize, to minimize the window or entire application.

31 Window or Application Close

32 Window Title

33 Menu At Bottom

34 SIP Keyboard

35 Different Functionality
Window Concepts are Different NO MDI “main!” and “response!” Windows Only No Mouse Seldom Use “drag and drop” Seldom Use “mouse move” Left & Right Click events mapped to “tap” & “tap-hold” gestures Not Supported DataWindow Types: Composite, Crosstab, Label, Nested, N-Up, OlE, and RichText Not Supported Object Types: ADOResultSet Inet Pipeline Connection InternetResult Profiling ContextInformation JaguarORB SSLCallback ContextKeyword MailSession SSLServiceProvider CORBAUnion OLEObject Timing DynamicDescriptionArea OLEStorage TraceFile DynamicStagingArea OLEStream TraceTree ErrorLogging OLETxnObject TransactionServer Post GA we may add back: Trace**, OleObject, DynamicDescription & Staging Area, a few others

36 Different Functionality
Menu Concepts are Different Space Limitations Width is 6 items MAX Some Event Differences Top level items don’t get a “menu event” Sub-Menus DO… Toolbar is a separate object In PB toolbar is a MDI Menu property In PPB Toolbar has a separate object ‘painter’ Can be at top or bottom Not Supported DataWindow Types: Composite, Crosstab, Label, Nested, N-Up, OlE, and RichText Not Supported Object Types: ADOResultSet Inet Pipeline Connection InternetResult Profiling ContextInformation JaguarORB SSLCallback ContextKeyword MailSession SSLServiceProvider CORBAUnion OLEObject Timing DynamicDescriptionArea OLEStorage TraceFile DynamicStagingArea OLEStream TraceTree ErrorLogging OLETxnObject TransactionServer Post GA we may add back: Trace**, OleObject, DynamicDescription & Staging Area, a few others

37 Different Functionality
Synchronization Pocket PowerBuilder also surpasses PowerBuilder with the introduction of a MobiLink wizard Generates PowerScript code (NVO’s) & Windows for within your application, to interact with a MobiLink Server. PPB VM pkvm15u.dll has a footprint of 3.8MB ! Reference material within PBDJ article

38 Different Functionality
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 & maintenance of synchronization

39 Different Functionality
Integration with POOM Pocket Outlook Object Model POOM is the key to the Pocket Outlook object managers repository This repository is the object store for the Pocket PC contact manager, appointment manager & task manager. So with the POOM object & Pocket PowerBuilder we can now enquire, access, create, update & delete contacts, appointments and tasks programmatically from within Pocket PowerBuilder applications in a very 4GL way.

40 Different Functionality
Today Item In PPB, the custom Today item and its parameters are part of the Application object, and you can use the Application painter to set Today item properties. The Today Item means several things from being a way of displaying data from a Pocket PowerBuilder Application onto the Display screen, to being a glorified shortcut to a Pocket PowerBuilder application, as well and even a combination of the two.

41 Different Functionality
Today Item Two types of applications are needed for Today Items, they are the Display Application & the Run Application. If you have both a Display Application and a Run Application that each will have its own instance of the Pocket PowerBuilder VM loaded as the Today Screen has its own memory space and no communication can take place.

42 Developing an Application
Design & Develop with the Pocket PowerBuilder IDE on a PC. Test on the PC with the Pocket PowerBuilder IDE, Pocket PC emulator (especially if you’re not the lucky developer with a Pocket PC device) Pocket PC device itself. Deploy to the Pocket PC device via ActiveSync for final testing, user acceptance etc. Distributed finally as CAB files Reference material within PBDJ article

43 Application Deployment
Pocket PowerBuilder 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 & Windows Mobile 2003 operating systems MIPS, SH3 chipsets are not supported as device manufacturers have all but stopped making these devices

44 Application Deployment
With Pocket PC Development… Distribution! Achieved by the Pocket PowerBuilder interface to Microsoft's CABWIZ, in the project painter. This enables the automatic creation of your .EXE & .PKD's into distributable .CAB files. The CAB generation process also generates an .INI file for creating a setup.exe. This uses the OpenSource EZSetup The distributable Pocket PowerBuilder files (VM etc) are installed with the IDE and can be distributed separately from your application.

45 PPB Application Architecture
SOAP (Web Services) Device Enterprise App Server Pocket PowerBuilder Virtual Machine Sample Application) TCP/IP HTTP HTTPS ActiveSync (wired or wireless) Consolidated Database (Sybase/Oracle/ Microsoft/IBM) ASA ML MobiLink

46 Demonstrations Basic Pocket PowerBuilder App
Use the wizard to generate an application Build a DataWindow Object Place objects on the window Code PowerScript Deploy Run

47 Migrating PowerBuilder Applications
Basics PPB provides a wizard to import an existing PB application into the PPB environment. Objects developed in PPB can be exported for import into PB. Migration from PB to PB is very easy Make sure your PB code conforms to PPB before opening it in the PPB IDE, as it may not open! Don't worry too much as those nice guys in engineering have given up a facility to change & compile source code in PPB

48 Migrating PowerBuilder Applications

49 Migrating PowerBuilder Applications
File Extensions that differ File type PB extension PPB extension Workspace PBW PKW Target PBT PKT Library PBL PKL Dynamic library PBD PKD Resource file PBR PKR The file name for the Pocket PowerBuilder initialization file is PKU.INI The U stands for Unicode. PowerBuilder supports ANSI character sets. Pocket PowerBuilder primarily supports Unicode, although it does allow you to import and export files with ANSI character sets Reference material within PBDJ article

50 Migrating PowerBuilder Applications
From PPB to PB PPB provides a wizard to export an existing PPB application into the PB environment. Reference material within PBDJ article

51 Migrating PowerBuilder Applications
With Pocket PC Development… size matters ! Pocket PC devices has % less viewable area than a 1024 x 768 average screen. PPC screen size is 320 x 240 pixels

52 Migrating PowerBuilder Applications
With Pocket PC Development… watch out for the differences ! Some events/actions that we take for granted on PC are not part of the Pocket PC platform, such as right click. There is no MDI support, so developers tend to code one window with TAB controls as a way of getting around this problem. Menu's are also on the bottom of the screen, but act as menus in Windows. Window persistence will be an initial design challenge to the Pocket PowerBuilder developer, as when Pocket PC apps are closed, via the window like X in the top right hand corner of the application, they are actually minimized and stay resident in the device memory

53 Migrating PowerBuilder Applications
With Pocket PC Development… watch out for Performance! Intel XScale processor is the fastest CPU being used by PPC Next generation of StrongARM processor ARM v5 instruction set compatible with StrongARM 200 – 400 MHz, better than MIPS, SH3 & ARM Limiting factors for Pocket PC development No Math Co-Processor – Stay away from heavy computations ! Pocket PC OS not optimized for Xscale Windows Mobile 2003 lean & mean !

54 Migrating PowerBuilder Applications
RAM, which is MB (dependant on the device & model purchased) is not only used for storage of the data on your device but also for the memory whilst running applications. Trade off on storing a lot of information & applications with how many you can run. Pocket PC devices can extend their storage capability by using Compact Flash or Secure Digital Memory cards. Information and applications can be stored on the Memory card, freeing up the RAM for running programs on the device. With Pocket PC Development… watch out for Performance!

55 Demonstrations TechWave Application View all sessions
Demonstrations View all sessions Filter by Instructor, Product Focus, Track & Day View conference maps Add sessions to your own agenda Originally had facility for session evaluation Does not use Synchronization First mass deployed PPB application

56 Demonstrations Pocket myPortfolio
Demonstrations Create Portfolios, Details, Alerts & Shares View current Portfolio Values View current Share Prices & History Alert notification Update Share prices via PocketSOAP & XMethods webservice Uses Synchronization & has PB client

57 Demonstrations Pocket Waiter
Demonstrations Allocate table to customer, take order & order payment View Menu, Specials & Reservations Uses Synchronization & has PB client

58 Demonstrations Biometric App
Demonstrations Train 10 fingers to represent 10 presidents Information stored in ASA Random fingers matched to President Uses HP’s Biometric API & Scanner

59 Conclusions Pocket PowerBuilder is the smallest, err… I mean biggest thing to happen in the realm of PowerBuilder & Pocket Device Application development in a long while. Never has such a highly productive 4GL, with the additional strength of the DataWindow, been made available for developers of hand held mobile applications.

60 Pocket PowerBuilder Code Examples
Pocket PowerBuilder code examples can be found on the CodeXchange,

61 Answers Questions and Ian Thain Pocket PowerBuilder Evangelist
PTOG Evangelist Team, Sybase Inc. Check out PBDJ for Pocket PowerBuilder articles


Download ppt "Pocket PowerBuilder."

Similar presentations


Ads by Google