Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Harry,

This is a fantastic article. I came to read about the smart client (or intelligent updater) and was at first puzzled that you brought Mobilelink into the picture. Then I realized distributed apps and the database synchronization can go hand in hand. Which is cool because I have been wrestling with an architecture for a new application for a client and realized this will work perfectly! I can let the database do the work instead of having to create web services.

Thanks much!

Paul Murray
Interrasys.com

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.


Your Feedback
Paul Murray wrote: Harry, This is a fantastic article. I came to read about the smart client (or intelligent updater) and was at first puzzled that you brought Mobilelink into the picture. Then I realized distributed apps and the database synchronization can go hand in hand. Which is cool because I have been wrestling with an architecture for a new application for a client and realized this will work perfectly! I can let the database do the work instead of having to create web services. Thanks much! Paul Murray Interrasys.com
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.
Enterprise Open Source Magazine Latest Stories . . .
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP). The...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
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