Welcome!

Web 2.0 Authors: Elizabeth White, Adine Deford, Jim Kaskade, Roger Strukhoff, Liz McMillan

Related Topics: .NET, PowerBuilder

.NET: Article

PowerBuilder Takes You To .NET

Preparing PowerBuilder applications for .NET Windows Forms deployment

Remember Win16? Whatever happened to it? Where did it go? It hung around for a while in the Win95/Win98 days alongside Win32 but then it went away. Well, wherever Win16 went, Win32 is going there too. Eventually, .NET will be the "native" Windows desktop technology and WinForm or its descendant will be the primary de facto API.

PowerBuilder is arguably the most productive (read fastest and easiest) .NET development tool on the market today. It doesn't require .NET experience on the part of the developer and the conditional compilation feature allows PowerBuilder applications to be maintained as a single code line for Win32 as well as for .NET deployments.

WinForm Benefits
Well, let's say that your company or your client's hasn't established a requirement, a standard, to move to deploying .NET applications quite yet. "Why should I explore deploying to .NET WinForm? I'm not required to deploy to .NET yet and I'll just end up with another client/server application...right?" The main benefits of deploying PowerBuilder applications as .NET WinForm are twofold: .NET interoperability and .NET Smart Client publishing.

.NET Interoperability
There are some fairly nice things in the .NET Framework. Think about the PowerBuilder projects in the past from which you've made external function calls, to which you added ActiveX/OCX, in which you implemented OLE. Think of the .NET Framework as a big fat external resource of which you'd like to take advantage. You may have a partner, a vendor, a .NET development group in your own company who's developed .NET resources with which you'd like to integrate your PowerBuilder applications. Once you deploy your PowerBuilder applications to WinForm (or WebForm), you can.

www.sybase.com/products/development/powerbuilder/videos

Smart Client Publishing
A major headache in supporting applications in production has historically been deployment. Browser-based applications became popular because of the prospect of the immediate and automatic update of application business logic and user interface for every single user. But even with the rising popularity of Rich Internet Applications (RIAs), anything in the browser has some intractable compromise lurking somewhere. Oh, and by the way, classic Web application projects still tend to be more expensive than their 4GL-developed counterparts.

What if you could take advantage of the best of both worlds? What if you could deploy your application and its updates using the ubiquity of the Web, but have the users end up with an uncompromised, rich-interfaced, fully functional application on their desktops with no browser-based compromises?

Applications operating on the workstation exploit client-side resources, reduce server load, don't consume as much bandwidth, and overall have better performance.

Once you deploy/compile your PowerBuilder application as .NET WinForm, your application and its updates can be "published" to the users' workstations just by filling in some property sheets, in a code-free manner by clicking a button...for one or 1,000 users.

www.sybase.com/products/development/powerbuilder/videos

http://video.sybase.com/webcasts/PB11SC3-020108.wmv

Game Plan
The approach to prepare your PowerBuilder application for WinForm deployment is twofold:

  1. Migrate forward to PowerBuilder 11.
  2. Modify your application to work around PowerBuilder features that may not be supported for .NET WinForm deployment.
While these two points are the salient ones, I'll also go into a couple of notable ancillary subtopics as well.

Before you start any part of this process, please...back up your PBLs! I can't tell you how often some poor soul posts a request on the PowerBuilder newsgroup saying he's lost his source or that his libraries have become corrupted somehow and is there a way to decompile his executables into source code. Please, folks, only perform the operations I'll discuss now with libraries that are backed up or are a working copy of your PBLs. And, remember, a backup is only as good as its restore. Verify that you can successfully restore your valuable collateral.

The Recipe
So here's a more detailed recipe for preparing and deploying a PowerBuilder application for WinForm:

  • Backup, backup, BACKUP!
  • Check in all classes from source control.
  • Backup, backup, BACKUP! (Sense a pattern?)
  • Install the required external resources.
    - http://infocenter.sybase.com/help/topic/com.sybase.dc37771_1100/pdf/pbeinst.pdf
  • Install PowerBuilder 11.x
  • Use the Migration Assistant tool (more later)
  • Formulate your Migration Plan
  • Address migration issues that are discovered
  • Backup, backup, BACKUP!
  • Migrate your application
  • Perform a Win32 compilation
  • Perform Quality Assurance
  • Backup, backup, BACKUP!
  • Create a WinForm deployment Target and Project
    - www.sybase.com/products/development/powerbuilder/videos
  • Perform an initial WinForm deployment
  • Save the Unsupported Features output log
  • Use the .NET Features Analyzer IDE Add-in tool (more later)
  • Formulate your Refactoring Plan
  • Refactor/modify your application to work around features unsupported for WinForm
  • Perform a "final" WinForm deployment
  • Back it up, folks
  • Perform Quality Assurance
  • Take advantage of .NET interoperability
  • Take Advantage of .NET smart client deployment/publishing

More Stories By John Strano

John Strano is a Sybase Technology Evangelist and is a charter member of TeamSybase. He has been using PowerBuilder since 1991 and has authored articles for multiple industry periodicals. John has been a Sybase Certified Instructor and has presented Sybase tools on an international basis since 1997. Over the last 17 years John has developed a variety of PowerBuilder applications from single-user scaling up to enterprise-class, web-based projects.

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.