Welcome!

PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder

PowerBuilder: Article

The Next Paradigm Shift...

The Next Paradigm Shift...

.NET also provides a deployment feature called No-Touch Deployment, which allows applications to be run on a URL. When the user clicks on the URL, the runtime automatically downloads the application, and all related assemblies, to a special download cache. This mechanism also checks for version updates so that the user never has to worry about whether they are running the latest version of the application or not.

More information on no-touch deployment is available on the Microsoft Web site.

According to Matthew Murphy in his DevX article "The Smart Choice for Smart Clients: J2EE or .NET?" Java has its own version of no-touch deployment called Java Web Start:

A technology called Java Web Start (JWS) enables no-touch deployment in a J2EE architecture. Developing an application for deployment with JWS is almost identical to developing a standalone Java application. The key differences are that your application and its resources must be delivered via one or more jar files. These jar files must be signed to grant the application full system access, and you will need to provide a JNLP file to detail deployment information.

More information on Java Web Start is available on Sun's Java Web site.

Sybase currently doesn't have the same technology. It does have some push-based software deployment tools, however, no-touch deployment is a bit different. One important difference is that no-touch is pull rather than push based. That is, the server doesn't attempt to contact the client when an update is available. Instead, the application checks to see if an update is available each time it's run and initiates the update when one is found.

Another important difference is that no-touch deployment (at least in the case of the .NET implementation) is incremental. The developer can structure the application so that it only downloads the assemblies that it initially needs, and then downloads additional assemblies on an as-needed basis. If one particular assembly in the application is updated, the client application only downloads that one updated assembly the next time it's run.

That's not to say that some Sybase technologies can't take advantage of no-touch deployment. Since DataWindow.NET is a .NET component, it's already capable of being used in .NET-based smart client applications. Work is also underway for a .NET compiler for PowerBuilder, allowing PowerBuilder to compile to the CLR. Once we can generate .NET assemblies from PowerBuilder code, the door is open to PowerBuilder components being involved in no-touch deployment through the .NET Framework.

Note the security issues associated with such no-touch deployment. Unlike a Java applet, a Java application deployed through Java Web Start must be granted "full system access." Actually, you would expect that considering the application is going to need to run on the local machine just as if it was permanently installed there. Joel Semeniuk notes in his Windows Server System Magazine article, "Extend App Useability with Smart Clients," that .NET applications deployed through no-touch deployment have similar security requirements:

Although developing an auto-deploy smart client is simple, be aware of some gotchas regarding security. For your smart application to work, you need to change some of the client's security settings - essentially, to inform the client runtime to trust your application's assemblies.... You need to make these changes to all desktop users who use your application.

The jury may still be out on how well these no-touch deployment implementations work out. Currently, I'm a bit concerned with the potential for abuse and with the requirement for the end user (or an administrator in an intranet deployment) to modify security settings to allow the application to run properly. We'll have to see how this all plays out in the long run.

References

  • "Benefits of Smart Clients": www.dataface.com/WhitePapers/SMART%20CLIENT%20ARCHITECTURES.pdf
  • "Smart Clients: Windows Forms Flexibility with Web Application Ease": www.developer.com/net/asp/article.php/3369601
  • "Smart Clients - A Practitioner's Point of View": www.developer.com/ws/other/article.php/3306741
  • David Hill's WebLog - Smart Clients for Smart Users: http://weblogs.asp.net/dphill/articles/66300.aspx
  • Smart Client Definition: http://msdn.microsoft.com/smartclient/understanding/definition/default.aspx
  • "The richer, the better": http://.nwfusion.com/ee/2004/111504citrixside.html
  • File, Print FedEx Kinko's: www.fedex.com/us/officeprint/onlineprint/fpfk/download.html?link=4
  • No-Touch Deployment: http://msdn.microsoft.com/library/shared/ deeptree/bot/bot.asp?dtcnfg=/library/deeptreeconfig.xml
  • "The Smart Choice for Smart Clients: J2EE or .NET?": www.devx.com/Java/Article/21602
  • Java Web Start: http://java.sun.com/products/javawebstart/developers.html
  • "Extend App Useability with Smart Clients": www.ftponline.com/wss/2002_07/magazine/features/jsemeniuk/default.aspx
  • More Stories By Bruce Armstrong

    Bruce Armstrong is a development lead with Integrated Data Services (www.get-integrated.com). A charter member of TeamSybase, he has been using PowerBuilder since version 1.0.B. He was a contributing author to SYS-CON's PowerBuilder 4.0 Secrets of the Masters and the editor of SAMs' PowerBuilder 9: Advanced Client/Server Development.

    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.