Jerry Neppl

Subscribe to Jerry Neppl: eMailAlertsEmail Alerts
Get Jerry Neppl: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal, Apache Web Server Journal

J2EE Journal: Article

Nine Reasons to Upgrade to PowerBuilder 9.0

Nine Reasons to Upgrade to PowerBuilder 9.0

It has been some time since PowerBuilder was on top of the world, with human resource managers constantly on the prowl for developers with PB skills.

With a new and exciting PowerBuilder 9 integrated development environment, could this be the time for a PowerBuilder renaissance? Sybase threw the doors open with PowerBuilder 9, and all indications are that they are charging ahead to make PowerBuilder the first "4GL+" and again the primary tool of choice for developers everywhere.

Sybase has taken the first step; now all that is left for us to do is leverage the new features of PowerBuilder 9 and show just how rich and productive PowerBuilder developers can be. Are you ready? Here are my top nine reasons for moving to PowerBuilder 9.

#1 - PowerBuilder Native Interface
PowerBuilder Native Interface (PBNI) allows you to write extension libraries and access them inside PowerBuilder just like other visual or nonvisual user objects created within PB. This feature has unlimited potential; anything that can be wrapped in C or C++ can talk to and act like standard PowerBuilder. PBNI also makes it possible for the PowerBuilder Virtual Machine (VM) to be embedded in C++ or Java applications, or any other application that can call C++ to invoke business logic written in PowerScript. Say it with me now, "Already written and runs anywhere"!!!

This new feature is also the foundation of many of the following features that were written using PBNI. Stay tuned for even greater PBNI-based functionality in PB9.5, PB10, and beyond.

#2 - XML DataWindow, XML, and CSV Import and Save
One major reason PowerBuilder was so quickly adopted in the nineties was that it abstracted the Structured Query Language (SQL) that's required to work with databases to the popular format of the DataWindow, which made it easy for developers to manipulate the database with very little, if any, knowledge of SQL. Now the same type of abstraction for DataWindows and DataStores is available for XML, and developers can work with the data within an XML document without having any knowledge of XML. Like the earlier versions of PowerBuilder, if you have advanced knowledge of SQL, you can use more powerful aspects of the language; the XML DataWindow is just as flexible. It allows you to define templates for more complex schemas. This is one of the strongest selling points for PowerBuilder 9: the ability to quickly pass data in and out in a universal format - minimal coding for maximum flexibility.

#3 - PowerBuilder Document Object Model
If you want to go into the details of XML, use the PBDOM. PowerBuilder's Document Object Model (PBDOM) is a complete API for creating, reading, writing, and manipulating XML documents using standard PowerScript. Existing XML documents can be read and modified by manipulating or transforming the PBDOM tree of objects instead of editing XML strings directly.

PBDOM, just like JDOM, is based on the World Wide Web Consortium (W3C) DOM API and is not a direct implementation. You have all the methods you need to traverse the node tree, access the nodes and attribute values (if any), insert and delete nodes, and convert the node tree to an XML document so it can be used by other systems.

#4 - JSP and Web Targets
Currently, I prefer to work with JavaServer Pages when designing for Web clients. JSP pages built with PowerBuilder support version 1.2 of the JSP specification, version 2.3 of the Java servlet specification, and JDK 1.3 and later. PowerBuilder also supports custom tag libraries that use the JSP 1.2 format. You can choose to deploy a JSP target as a Web application to EAServer, Apache Tomcat, or any JSP 1.2 server for which you can configure command-line deployment capabilities.

Directly working on any of your various Web pages is fast and easy WYSIWYG development for any files you place in a Web target. There's no need to open multiple tools for quick development of standard HTML pages or complex Web pages that can include client- and server-side scripting, Web DataWindows, EAServer components (including Enterprise JavaBeans), and ActiveX components.

Can't remember the exact function use on a particular Web page? Just drill right to the page or include file, then copy and paste or drag and drop any of the thousands of possible properties, events, or methods available from any of these different architectures, including ActiveX, plug-ins, Java applets, JavaBeans, EAServer components, or your own custom tag libraries.

#5 - DataWindow Enhancements, Saving as PDF and XSL-FO
Document portability is an important feature for many applications, so the ability to create documents in the Portable Document Format or PDF is a long-awaited godsend. PowerBuilder 9 has a couple of different options for including this functionality within your applications. The first is GNU GPL, "ghostscripting," using a distiller process, and the other, utilizing Java and XSL-FO, allows the use of Java printing and is the only option for Unix systems. Additional deployment files are required for client/server applications, but there are no additional costs for either option, which is great because, historically, creating PDFs involved a number of steps and use of a third-party product. These new features allow for great scalability and a lower overall cost.

I have covered many major changes to the DataWindow already; however, there are a couple new items that deserve a mention. New DataWindow properties include:

  • DataWindow.Print.ClipText: Keeps your reports neat and tidy by allowing you to control how text in fields without borders is clipped.
  • DataWindow.Print.PrinterName: Allows you to programmatically specify the printer where a report will be sent.
  • DataWindow.Print.OverridePrintJob: You can force the document to print using the formats defined in the DataWindow, instead of using the options a user attempts to enter in the print dialog popup.
  • DDDW.AutoRetrieve: Retrieval of child DataWindows, a new property for the DDDW edit, has been added to enable programmatically switching the behavior of child DataWindows. Note: The "welcome to" references an "edit.autoretrieve," which, if you attempt to use it, will result in an incorrect reference.

    #6 - Web Services
    PowerBuilder applications now consume Web services accessed through the Internet. Using Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL), a collection of functions published remotely as a single entity can become part of any PowerBuilder application. The Web services client proxy performs all the tasks involved in using SOAP and WSDL, which eliminates the need to have extensive knowledge of the SOAP specification and schema, the XML Schema specification, or the WSDL specification and schema. Proxies are generated using a project that you can create with a wizard. Clients use a set of classes implemented in a DLL file, pbsoapclient90.dll. To use this DLL, place it in the application's path and add the pbsoapclient90.pbd file to the client application's library search path. The PBD acts as a wrapper for the DLL, enabling the PowerBuilder client to use the classes in the DLL as though they were PowerBuilder custom class user objects. This is made possible by the PBNI, which I listed as the #1 reason to move to PowerBuilder 9.

    #7 - EJB Clients for Third-Party Application Servers
    PowerBuilder applications can use EJBs from any J2EE-compliant server; you can quickly use the code already deployed. This utilizes the previously mentioned PBNI. Be sure to add a DLL to your application path, but other than that the deployment requires little information besides resource locations and it allows developers to quickly deploy applications that use existing objects and code. There is no Java to write, not a single line! A wizard will help you create a proxy project that will want to know the location of the Java object, and that project will create a proxy for you that can be used within PowerScript, just like custom class user objects.

    #8 - Sybase Developer Network CodeXchange
    One reason Java has been well received is the sense of community from the various online collaborative efforts that people get involved with. SDN CodeXchange is your chance to participate in the PowerBuilder community, and to benefit from all the years of experience of other developers. Go to www.codexchange.sybase.com and see for yourself. There are all kinds of examples, samples, and even free PBNI extensions that you can start using right now. If you have an important business application need, there is probably something there that can get you started, or possibly do it for you entirely. Plus, if you feel an important feature or option is not readily available, you can do something about it by starting a new project that will address your need immediately without waiting for a future version.

    #9 - IDE Built for Speed!!!
    There are many wizards and tons of drag-and-drop syntax you can use to code a wide variety of different types of objects and components. If you consider PowerBuilder 9, you will find that each task takes less time and you have more freedom to set up a work environment that will rapidly get your applications to testing or to the end users.

    How many other tools will allow developers to combine the use of Web services, XML, and EJBs without spending months learning how to work in new environments and languages? None! PowerBuilder 9 makes instant Web developers out of anyone who knows how to sling a DataWindow, kind of like instant grits without having to wait for water to boil. Seriously, with the samples and help from the SDN CodeXchange and the Sybase forums for posting questions, you should be able to crank out applications and start turning heads. Perhaps people will soon be asking you how you completed that application or code so fast, and you'll be saying "I did it in PowerBuilder, of course."

    PowerBuilder 9 is a strong Web development tool. Anyone in the market for a 4GL+ tool should consider PowerBuilder as a potential market leader. By not looking at PowerBuilder 9 and future versions of the tool, you would be turning away from an extremely effective and flexible option. Some people in corporate America might compare it to walking away from a stack of cash, considering the productivity gains the improved IDE alone gives a developer. In addition, the integration with business systems of all types and the flexibility to quickly move a corporation into either a .NET or a Java environment or both is not available anywhere except PowerBuilder 9.

  • More Stories By Jerry Neppl

    Jerry Neppl, previously CEO of a small liquidation company, has been working for PowerTeam, Inc., in Minneapolis, for the past year and a half, having fun and getting
    paid to play everyday.

    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.