Related Topics: Enterprise Architecture, Enterprise Application Performance, Education 2.0 Journal

Product Review

Online Training for PowerBuilder 11.5

Essential PowerBuilder Series

PBDJ Feature Story

The need for training and skills development has never been higher than it is right now and technical staff at all levels realizes that if they want to earn more, then the best way to do so is to learn more. eLear-nIT Training's latest web-based training courses for Sybase professionals everywhere offers a wealth of resources that are fine tuned for the exact needs of contemporary working environments.

Live Classroom Quality Experience
Yakov Werde, the author of this course and president of eLearnIT, has a proven track record in teaching PowerBuilder to professional audiences. Continuing along in that tradition, Mr. Werde is directing an organization whose goal it is to produce high quality study materials in a self-paced format that offers an always available, live classroom quality experience for a fraction of the price of on-site training.

Coupling the quality of the content with an ISUG-hosted learner support forum, every student will receive a Web 2.0 learning experience. This classroom quality experience is enhanced even further by the fact that Mr. Werde provides audio narration and descriptions to convey the lectures with clarity and coherence.

Course Content
Each module is presented in an appealing format that draws the student inward. As a company, eLearnIT has clearly examined not only the inner workings of PowerBuilder as an Integrated Development Environment (IDE), but also the mechanics of teaching and the way in which people download and absorb information. This training course is (as its makers claim) sets out with a "soup to nuts" approach that will be appealing to college-level student developers and to more experi-enced professionals alike.

Consisting of seven core modules, eLearnIT's latest PowerBuilder training course also includes an introductory session to allow the student to get a broad brush overview of the subject areas that they are about to cover. The seven core modules are as follows:

  1. IDE Skills and Concepts
  2. PowerScript Fundamentals
  3. GUI Basics
  4. Object-Oriented Programming
  5. DB Connectivity and Embedded SQL
  6. DataWindow Technology
  7. Deploying an Application

Along with each lectured section of this course, there is a Mini Quiz as well as a Mini Lab. This course also incorporates Post Unit Lab Exercises to provide a "Hands on Coding Experience." By performing these Post Unit Labs, a student cumulatively builds a complete workgroup scale application from project initialization on through to deploying the completed application. With all these features, the "user interaction" element of eLearnIT Training's product is brought to the forefront and a better overall learning experience is guaranteed.

Additionally, the course's authors always take the time to explain how long each section will take before you start.

Rather than describe every slide in every section of every module, we will now give you a general overview of the content in each of the seven core modules.

IDE Skills and Concepts
This section sets out to instruct on the use of the PowerBuilder IDE and its graphical tools to search, examine and navigate an existing application's code base with an eye toward understanding how the application is put together. Students will learn how to perform development environment initialization and configuration activities to start coding in an existing or new application (see Figure 1).

This unit is broken out into two topics: IDE Skills and Development Methodology Foundations. The first topic addresses the crucially important IDE coding aids and navigation skills that all users must master in order to use PowerBuilder. Each item is demonstrated and explained in a set of videos that are embedded in the graphical interaction of the course.

The second topic provides extremely detailed information on Workspaces, Targets, Libraries, Library List, and Application Objects so that developers are equipped with all the IDE constructs that are necessary to work on a new or existing project.

PowerScript Fundamentals
This section of the course approaches the fundamentals of using the PowerScript language. It is broken out into six sub sections each of which contain a Mini Lab coding exercise and Mini Quiz (see Figure 2).

In roughly 90 minutes of content, this section shows you firsthand how the knowledge you have already acquired in the classroom is applied in real-world coding scenarios. This unit's learning objectives are to teach the user to code business and utility local logic as global user functions in the PowerScript language, using the integrated PowerScript editor and according to the directives in a design specification document. The six topics covered in this unit module are:

  1. Language Characteristics
  2. Navigating the PowerScript Editor
  3. Identifiers, Data Types and Scope
  4. Operators and Expressions
  5. Statements
  6. Global Functions

It's worth noting here that PowerScript is a 4GL language that is highly productive. Wikipedia states the following in reference to the language and its relationship with PowerBuilder. "The PowerScript language supports Object-Oriented features of Inheritance, Polymorphism, and Encapsulation, but does not support importing from DataWindow, which is the main window that applications use. PowerScript does not require the use of these features, however, this gives developers the power of OO with the flexibility to develop using one's own strategy. Some developers use a framework, such as PowerBuilder Foundation Classes (PFC), and from it, inherit all objects such as windows."

GUI Basics
This module is logically focused on windows and menus in order to teach the student the skills needed to configure, navigate and use the Window Painter facilities to layout and configure window forms containing visual controls for use in data entry and display.

Also, at this point in the training course, the author wants the student to gain an understanding of the layers of the functionality provided by both Microsoft and Sybase.

From extremely basic concepts upward, this section describes how there are multiple code layers beneath a PowerBuilder window and a window control (see Figure 3). PowerBuilder controls are high productivity veneers that wrap and extend MS native SDK controls. Their presence makes PowerBuilder a highly productive Windows coding environment.

After initial concepts and overview and a look at "The Window" (as we know it today) and its properties, the course moves on to talk about controls and their properties before focusing on design techniques and finally wrapping this section up by looking at configuring user navigation.

There is also a quite detailed description of PowerBuilder PBUs. The size of PowerBuilder units (PBUs) is quite simply defined in terms of logical inches instead of as a fraction of the size of the system font. The size of a logical inch is defined by the operating system in question as an exact number of pixels. PowerBuilder PBUs are in fact the units used for the design of windows, visual user objects and when needed, DataWindows themselves.

Other topics covered here include Sequential Keyboard Navigation and Random Keyboard Navigation, the latter coming into relevance when developers want to construct a properly designed GUI that provides a keyboard equivalent for every pointer navigation action.

Object-Oriented Programming
As readers will know, object-oriented programming is simply defined as a programming language model organized around "objects" rather than "actions." Object-oriented programming is also organized around data rather than logic.

This section is devoted to teaching students the fundamentals needed to use the PowerBuilder IDE and its graphical tools to implement dynamic behaviors and application logic in any given GUI in an object-oriented manner. This unit also examines the logic behind Dynamic Programming (the heart of the object-oriented programming paradigm), which consists of coding program logic in discrete self-contained elements. Rather than approach program logic in a static code environment, dynamic programming will always instruct the runtime to load an element into memory at just the appropriate time.

In addition, this section covers referencing and how to use the PowerScript editor to declare instance variables on a class (see Figure 4). Also covered here are a few basics such as events, methods, event broadcasting and encapsulation.

DB Connectivity and Embedded SQL
In order to given students the best possible overview of database connectivity and Embedded SQL issues (see Figure 5), this section shows the user how the PowerBuilder IDE and its graphical tools can be used to establish a development time connection to the DBMS, how to write robust PowerScript code to connect an application client to a DBMS and, finally, how to code embedded SQL statements in an event handler and display the results in the GUI.

There are some core fundamentals to take on board here such as a description of the fact that PowerBuilder was designed from its inception to be an open platform. In this way, an organization could choose its DBMS independent of its choice of client application tools. There are also some areas of essential advice on establishing a database connection; students are told at this stage that connections need to be both global as well as persistent. Learning this truth now is the best way to go forward.

DataWindow Technology
Given that the DataWindow technology is the key ingredient that makes PowerBuilder the champion of data-centric application development, this section is especially important as it drills down into the core of the technology. This section defines, illustrates and details the individual role and collective interaction of each element in Sybase's patented DataWindow technology (see Figure 6). Furthermore, with much detail, this unit explores transaction processing and the interaction between the DataWindow and the database in a highly concurrent environment.

Deploying an Application
This section sets out to arm the developer with more PowerBuilder essentials. Given a coded client application and a target client desktop system, after completion of this module, the developer should be able to select deployment configuration options for the target environment. The developer should also be able to use the Project Painter to input deployment configuration choices and build an installable deployment unit."

Summary
Working closely with ISUG, eLearnIT has produced a compelling and clearly presented product that is attuned to PowerBuilder in situ. That is to say, this course will teach you how to use PowerBuilder in the context of the way it is applied in modern development and data shops. It addresses the type of development issues that PowerBuilder users will typically come across and you can almost feel like the course's author has tried to reach out and win the hearts and minds of his audience.

Each module is presented in a compelling and intuitive format that is sure to hold anyone's attention span for the duration. Building logically from one step to the next, the complete offering presented here is impressively laid out with a professionally slick look and feel. The content is presented with candor and openness so that the student will know which sections will be more challenging than others.

Upon completion of the core course, a developer will be capable of building their own PowerBuilder workgroup scale application from scratch or performing maintenance tasks on an enterprise scale application.

We can say no more without you physically taking the course and feeling its benefits - and once you're done here, you can go on and take the advanced course.

• • •

This article was reprinted with permission from the ISUG Journal.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.