9 Advanced Client/Server Development, by Bruce Armstrong
and Millard F. Brown, III, Eds., ISBN 0672325004
to the web site
PC and PowerBuilder 9
PowerBuilder, sometimes abbreviated as PB, has been
a popular development environment for enterprise
applications over the last decade. Its user-friendly
Integrated Development Environment (IDE), easy-to-read
PowerScript and the powerful built-in database connectivity
has facilitated rapid development and ease of maintenance
of business applications.
The recent shift of focus to web development, the
richness of Java and lately .NET and the slow adoption
of PowerBuilder on the Internet have not made PowerBuilder
attractive to management, which is dumbfounded by
the strong and continuous advertising for the new
trend. On top of these disadvantages, Sybase's private
interest in promoting its EAServer has prevented
PowerBuilder from supporting other popular servers
such as WebLogic, JBOSS and WebSphere. No wonder
PowerBuilder is gradually losing its market share.
It is now a common belief that new development should
be done in either Java or .NET. Many companies also
plan to phase out the existing PowerBuilder applications.
Whether it is a trend that can be reversed by the
release of PowerBuilder 9 remains to be seen. However,
the large installed base of PowerBuilder applications
should still attract a large number of readers to
This book is for intermediate to advanced developers
who are familiar with previous versions of PowerBuilder.
New developers should read books about older versions
as listed in the Introduction to the book. I largely
agree with the authors' recommendations. They are
smart enough to focus on PowerBuilder's strength,
i.e., its advantages in Client/Server development.
The book is divided into four sections: IDE, DataWindow,
Database Connectivity, and a few miscellaneous topics such
as PFC, custom controls, OLE, PB native interface and third-party
tools. It's not clear why this book avoids the discussion
of the networking features in PowerBuilder because the
omission will only promote misunderstanding about PowerBuilder's
Web capability. At a minimum, it should discuss the scope
and limit of the Web features in PowerBuilder 9.
The IDE section is divided into five chapters, including
PB IDE, Source Control interfaces, InfoMaker and some coding
conventions. The discussion of development environment
is appropriate and up-to-date. The description of IDE changes
from version to version is an accurate account of what
PowerBuilder developers have experienced. Even though PB
9 does not add new concept to the IDE, the first chapter
is a very systematic list of IDE features and it warrants
a quick glance even by experienced developers. The discussion
in Chapter Five on advanced coding techniques should also
be useful to PB programmers.
The topic of source code control gains new importance
because of the recent trend of doing extreme programming
as companies gradually realize the risks and liabilities
surrounding software control. Chapter 2 details the options
in the PowerBuilder IDE for source control connection,
especially for the PBNative. Its discussion of other popular
source control systems, such as Visual SourceSafe and CVS,
The OrcaScript for deployment is new to PowerBuilder and
is the topic for Chapter 3. It describes and summarizes
the most frequently asked questions about deployment of
PowerBuilder applications and the drivers required for
them. The end of the chapter describes an interesting concept
for storing, detecting and deploying new versions in the
database as binary large object (BLOB). Although the book
says that the source code is on the accompanying CD, the
book does not come with a CD.
It's surprising that Chapter 4 discusses InfoMaker - a
companion product that comes with PowerBuilder. Although
InfoMaker can help business users do limited programming,
it is hard to convince business users to learn it rather
than one of the many attractive competing products. However,
the discussion is very interesting and is worth reading.
The Datawindow section is divided into three chapters.
The first one is a general discussion of datawindows. The
second one (Chapter 7) focuses on graphical presentation
in Datawindow. This chapter is named after the commercial
product Extreme Datawindow from Buck Wooley (the chapter
author). It's an interesting discussion of extending the
datawindow capability. Several examples can be downloaded
from the author's web site. The URL in the book is incorrect.
I've included the correct web page here http://www.dw-extreme.com/download8.0.htm.
The Datawindow section is concluded with a chapter from
Roy Kiesler on XML DataWindows. This new topic in PB 9
is very well presented.
The section on database connectivity is divided into seven
chapters, each one focusing on one database server or connection
protocol, including Sybase Adaptive Server Enterprise,
Sybase Adaptive Server Anywhere, Oracle, ODBC, JDBC, DB2
and Informix. Each chapter has been contributed by one
or more experienced authors. This section provides a similar
discussion pattern for each database server, including
data types, datawindow, stored procedures, embedded SQL
and special considerations. PowerBuilder developers will
find this section very handy.
The last section of this book consists of a few advanced
topics. PFC discussion is very concise and to the point.
The chapter on third-party tools is actually an analysis
and tips for choosing a tool - a better approach than simply
listing a large number of available tools. The chapter
on custom controls describes the general guidelines of
exposing Win32 API for visual or nonvisual components.
As the author Regan Sizer pointed out, the key to using
Win32 API is to find the documentation. Another chapter
on PowerBuilder Native Interface (PBNI) is totally new
in PB 9. This is an exciting new direction for PowerBuilder
and will probably become the main force keeping PowerBuilder
alive for some time.
The book touches various important areas of PowerBuilder.
Experienced PB developers should find this book informative
and handy as a reference. Its limitation is the emphasis
on client/server and the omission of other topics such
as the web target and distributed computing in PB. Another
minor criticism is that this book is actually composed
of contributions from various authors, but it is not obvious
from the book cover or the table of contents. I suggest
that the authors' names should be printed in the table
of contents. Recommended.
Letters to the Editor are welcome and occasionally abused in public. Send e-mail to: firstname.lastname@example.org