YOUR FEEDBACK
johnpetersen wrote: Great post. You hit some good points, and hopefully me sending this post. It wil...

SYS-CON.TV
TOP MICROSOFT .NET LINKS


Smart Client Application Development Using PowerBuilder 11.0
PBDJ Feature — Smart Client Application Development Using PowerBuilder 11.0

In the past decade, the software industry has evolved significantly, especially in the enterprise application development area. And the biggest evolution has been the transition from client/server applications to Web based applications.

Ten years ago, PCs were just starting to connect with networks, operating systems were starting to provide better graphical user interfaces, and the business database was beginning to dominate the enterprise application market. Back then, the business application developer created client/server applications. That type of application usually stored data in a central database server, with graphical user interface applications running on the client PC. The client application collected inputs from the end user and accessed the data from a central server. Since it made use of the rich user interface of the operating system and ran on the client machine, it came to be called a "rich client" application.

"Rich client" applications have several advantages. For example, they can leverage both the graphics user interface support from the operating system and the easy sharing of information provided by the network. Usability improved a lot compared to the previous applications that ran on standalone machines.

As time went on, the shortcomings of rich client applications were gradually identified. The most important drawback was the difficulty of application deployment, especially when you have to install or update the application in a large enterprise. The iterative installation/update process is a painful experience and it is definitely time-consuming. (Table 1)

The Internet boom changed the world and changed the enterprise application model. Internet applications are also called Web-based applications. Web application logic is different that rich client applications because in a Web application the the business logic runs on the server and only a simplified user interface shows on the client browser. Since there's no rich user interface and no relatively complex UI programming work, the client portion of the application is "thin" compared to the "rich client" application, so we call them "Thin Client" applications.

Web-based applications resolve the deployment problems of rich client applications. Once a change is published to the Web server, all the users get the change immediately. This saves spending a lot of money and effort on the enterprise application maintenance lifecycle.

Web applications started to dominate the market as the Internet wave grew. But it wasn't a perfect solution. While we solved the deployment headache with Web applications, the tradeoff was that we lost some special power of the rich client application. For example, the responsive user interface like "drag & drop" was lost and resources on the local client computer couldn't be fully utilized. Furthermore, if the network connection was down temporarily we couldn't do anything with the application. End users started to find thin client applications were often less productive than rich client applications.

There is a very interesting article from Jupiter Research (http://download.microsoft.com/download/9/5/e/ 95eafbc3-4d5d-4648-8aa6-589391068fb5/JupiterSmartClient.pdf) that indicates that "over a third of enterprises that already have Web-based applications installed want to switch their applications back to traditional rich client applications".

Is there a solution that can combine the power of rich client applications and the deployment ease of thin client applications? Yes, the answer is "Smart Client" application.

Introduction to Smart Client Applications
Smart client applications are designed to combine the traditional benefits of a rich client application with the deployment benefits of a thin client application.

Smart client applications have the following key characteristics:

  • Allows for intelligent installation and update
  • Supports occasionally connected operation
  • Can make use of local resources
  • Has a rich user interface
  • Makes use of network resources
From this definition, we know that smart client applications are actually an extension of traditional rich client applications. So a smart client application offers almost all the advantage of a rich client application (e.g., the highly responsive user interface). And to address the pain of application deployment, smart client applications utilize functionality similar to Web applications. Furthermore, To reduce the network dependency of both rich and thin clients, an off-line application processing model was introduced for smart client applications.

In this article, I'll focus on the following three key aspects of creating a smart client application using PowerBuilder:

  • Creating a PowerBuilder .NET Windows Form application
  • Resolve the rich client deployment problem using Intelligent Updater
  • Creating an "occasionally connected" applications with Mobilink Synchronization Objects
Overview of PowerBuilder Smart Client Application Development
Figure 1 shows the overall layered architecture of a PowerBuilder smart client application. It also shows the dependency relationship between each component. We can see that a typical PowerBuilder .NET smart client application consists of three major components: the PB.NET WinForm Application, Intelligent updater and Mobilink synchronization support. The PowerBuilder .NET smart client application is actually a WinForm application with easy deployment (using Intelligent Updater) and off-line support (using Mobilink).

The Intelligent Updater component is available only in a PB .NET WinForm application. But you can use Mobilink support in either a WinForm application or a traditional PowerBuilder Win32 application. So if you want to have all the powerful features of a smart client application, you have to build a WinForm application first.

In the discussion below, I'll go through the process of creating a real-world smart client application.

Building Windows Form Application in PowerBuilder 11.0
The architectural goal of PowerBuilder 11.0 is to support deployment to the .NET platform, which means making PowerScript applications run as a Windows Form or an ASP.NET Web Form application. Although it sounds ambitious, the implementation is actually fairly straightforward.

The .NET Windows Form application will be the next generation of PowerBuilder client/server-based applications. Over 95% of existing PowerBuilder native features are supported in the Windows Forms world. More importantly, with PowerBuilder .NET WinForm support you can leverage.NET features through PowerBuilder's .NET language interop. For example, you'll be able to use the features directly in .NET such as controls with a modern user interface, threading classes, algorithm libraries, and so on. Combine these .NET features with PowerBuilder special features like DataWindow, EditMask...And if it's easy for you to imagine how powerful it would be, a new door has just opened for you into the .NET world!


About Harry Zhang
Harry Zhang is a staff software development engineer for the Sybase PowerBuilder product. He has years of programming experience on C++, .NET, and Java, as well as object-oriented design and implementation and is now focusing on PowerBuilder .NET related features. Harry holds several certifications including MCAD and SCJP.

YOUR FEEDBACK
Jakcy wrote: I'm in the middle to testing the PB 11 Web and Winform features. But i did faced a lot of limitation during the way, I was disable to test the smart client application that mentioned in the article althought i had installed all the neccessary .Net framework setup. The PB always prompt me with the error message "Error when generating application manifest file. Check that the .Net Framework 2.0 SDK is in the system path.". Is there anyone could advise on this? Thanks.
MICROSOFT .NET LATEST STORIES
In a move that looks tailor-made for an antitrust suit, Microsoft says it’s going to give away a consumer security kit that it’s building code named Morro. It should be available in the second half of next year – probably more like mid-year. The freebie widgetry is supposed to de...
OpenSpan and TIBCO have announced a technology and business partnership designed to extend TIBCO solutions to desktop environments. The partnership will enable TIBCO Service-Oriented Architecture, Business Process Management and Business Optimization solutions to more rapidly integrate...
Tidal Software has announced Intersperse 8.0, a product that monitors J2EE and .NET applications and their transaction component performance to produce meaningful metrics for managing applications and high-level business processes. The product leverages a combination of lightweight Ja...
DataGuise has announced their first masking in place solution for multi-database environments such as Oracle, Microsoft SQL Server, and others. The dgSolution Suite provides secure masking of database content and is designed for the highest level of flexibility and functionality across...
The BlackBerryR Technical Webcast Series is designed to help BlackBerry administrators better manage and leverage the capabilities of their BlackBerry solution. Each webcast is packed with detailed technical information, covering topics that are relevant to you. Our on-demand webcasts ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

ADS BY GOOGLE
BREAKING NEWS FROM THE WIRES
Collexis Holdings, Inc. (OTC Bulletin Board: CLXS), a leading developer of semantic search and knowl...