| 
                    
                                    
                   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 
                    
                    
                       | 
 
                    
                                              
                      
                       
 
 |