Welcome!

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

Related Topics: PowerBuilder

PowerBuilder: Article

JavaServer Faces DataWindow

So far we've looked at the deployment to ASP.NET feature coming in PowerBuilder 11

A few months ago I promised to look at four new or updated technologies coming from Sybase and discuss my concerns with each of them. So far we've looked at the deployment to ASP.NET feature coming in PowerBuilder 11 and the Application Server Plug-in for PowerBuilder that is being introduced simultaneously with (but as a separate product from) EAServer 6.0. This month I'll be looking at the JSF DataWindow and next month I'll be covering DataWindow.NET.

The JSF DataWindow will be introduced with the next version of Sybase Workspace. Sybase Workspace is a set of integrated plug-ins for Eclipse that provides enterprise modeling (based on PowerDesigner), database management (based on PowerBuilder's DataBase painter), mobilization (based on Unwired Accelerator and Unwired Orchestrator), and services creation. JavaServer Faces (JSF) is a popular component, a user interface framework for Java Web applications. It separates components from rendering from behavior so it's much easier to support a variety of interfaces with less code.

What the JSF DataWindow provides is a 4GL method for laying out the Web page design and associating it with the server-based components that handle actions resulting from user interaction. Like the DataStore.NET in DataWindow.NET, the JSF DataWindow includes a Java DataStore that can be used by the developer for non-GUI operations. One difference in the JSF implementation is that the JSF DataWindow talks to the database through the Java DataStore, rather than the DataStore being an entirely separate class. The Java DataStore is also written completely in Java.

Also similar to the Sybase.DataWindow. Transaction class in DataWindow.NET, which can be bound to an ADO.NET connection, there is a JSF DataWindow Transaction class with the JSF DataWindow that can be associated with a JNDI datasource (e.g., JDBC connection) so that the JSF DataWindow can share the connection and transaction with other non-DataWindow components.

Rather than being a Java implementation of the DataWindow (as was attempted with PowerJ), the JSF DataWindow is based on a JNI wrapper around the standard DataWindow engine. As a result, enhancements and fixes made to the main DataWindow engine will be automatically available for the JSF DataWindow as well.

As PowerBuilder developers, we're used to doing 4GL RAD development, and the use of the JSF DataWindow painter is largely intuitive. However, I have concerns about how well such technology will be adopted by folks who have been doing Java development for some time.

  • Java developers (or at least the ones I know) are bit twiddlers. That is, they are comfortable with and prefer to develop in a 3GL environment. Many of them distrust 4GL tools because they believe the code that is generated will be hard to maintain, overly complex, and too reliant on proprietary packages. If these developers were to use a 4GL, they would largely use it for initial code creation and then prefer to work with the generated code directly for enhancement and maintenance, rather than continuing to use the 4GL tool. To that end, they look at 4GL tools as something that creates templates rather than as something they would use on a regular basis to maintain the code. Remember PowerJ? That was Sybase's last attempt to give Java developers a 4GL tool, and it didn't go over well.
  • Few Java developers would be comfortable with a GUI development tool that directly accesses the database. Instead, most Java developers would use tools such as Hibernate to create Java objects as wrappers for the database objects, and then develop additional classes that perform the business logic using those wrapper classes. When it comes time to render the GUI, these Java developers would expect the GUI layer to interact with the business logic classes, not bypass the business logic and object-relational mapping layers.
  • I think it's past time (both for the JSF DataWindow and DataWindow.NET) that we got rid of the PBL, as least for DataWindow objects. In both environments, it's counter-intuitive to put a collection of source code from different objects into a single non-human readable file. It also causes problems with source control systems, in which you'll want to be able to check out a particular DataWindow Object, not the entire PBL. Given that the source controls systems in these two IDEs are file based, it's time that the DataWindow control and the DataStore can be assigned with a file that represents the DataWindow object source. Further, it would be an additional advantage if the DataWindow object syntax in that file could be saved in XML format.
One of the significant new features introduced with DataWindow.NET 2.0 is the ability to work directly with .NET DataSets and DataTables. That makes working with DataWindow.NET more intuitive for seasoned .NET developers. What JSF DataWindow will need to really capture the attention of seasoned Java developers is some of the same thinking. There needs to be some way to use Java classes as the data source rather than expecting the JSF DataWindow to be allowed to directly access the database.

Don't get me wrong. I think a Java 4GL would be a good thing, primarily because of how much time it takes to get anything done using a 3GL. But there's some mindset hurdles to overcome, and it will take more than just a great product to overcome them. It will also take marketing and marketplace presence, something that Sybase hasn't been doing well for individual products for some time.

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 (1) View Comments

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.


Most Recent Comments
SYS-CON Australia News Desk 01/13/06 02:46:36 PM EST

A few months ago I promised to look at four new or updated technologies coming from Sybase and discuss my concerns with each of them. So far we've looked at the deployment to ASP.NET feature coming in PowerBuilder 11 and the Application Server Plug-in for PowerBuilder that is being introduced simultaneously with (but as a separate product from) EAServer 6.0. This month I'll be looking at the JSF DataWindow and next month I'll be covering DataWindow.NET.