PowerBuilder 9 Advanced Client/Server Development, by Bruce Armstrong and Millard F. Brown, III, Eds., ISBN 0672325004

Reviewed by: Songmuh Jong, send e-mail
Published by: Sams Publishing, go to the web site
Requires: Windows PC and PowerBuilder 9
MSRP: $44.99

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.

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, is sketchy.

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: whine@kickstartnews.com




© Copyright 2000-2006 kickstartnews.com. All rights reserved. legal notice
home | previous reviews | forums | about us | search | store | subscribe


Forums Search Home Previous Reviews About Us Store Subscribe