Backbase, Bindows, JackBe, and Tibco General Interface bring fat features to enterprise Web clients
Many developers begin dabbling with AJAX by downloading some of the well-known open source toolkits (see "Surveying open-source AJAX toolkits"). Collections such as Dojo and Rico are good introductions that let you insert a widget in a Web page without too much work. It’s even pretty easy to link up these widgets to the server with some asynchronous code that syncs the browser page with information from a distant server. The open source kits are fertile, but they still feel somewhat experimental, and much rawer than the top-end, commercial products discussed here. You wouldn’t use Backbase, Bindows, JackBe, or Tibco General Interface to just put a fancy table here or an animated button there, although you could. These are full frameworks that function best when you buy into them and give your entire application over to their structure.
All of these systems are built around full collections of widgets that are joined with a central backbone of events and server calls that link the widgets in a cohesive set of panes. All of the standard parts of a Web form, including selection boxes, text boxes, and buttons are available for your use, but that’s not all. The developers have also automated many parts of a Web page that are normally fairly static. You can make tables reconfigure themselves, adding or subtracting data in response to clicks or distant changes in a database. Events flow across a central bus to all parts of the system -- much like many of the standard object-oriented application frameworks. It’s a programming experience that’s closer to creating a new desktop application than building a Web page, and the results show it. Your packages will look and behave like a desktop application with features such as pull-down menus and panels that aren’t a normal part of a Web designer’s repertoire. I’ve been examining these packages for several years now, yet I’m still floored by how easy it is to add OS-level features such as drag-and-drop icons to your homepage. This is not the 1990s Web.
The real differences appear in the integration with the server. Some of the packages expect the server to package the data in Web services. Others have extensive server frameworks that integrate the client application with the company’s databases and machines. All of them integrate with the major server technologies such as JSPs and PHP at some level, but some offer more extensive support for packages such as Java Server Faces and others.
The packages are also maturing rapidly. Although I tested fresh versions of Bindows (2.5), Backbase (3.2) and JackBe (4.6.1), new versions (3.0, 4.0, and 5.0, respectively) are right around the corner. A number of new features are working their way into the core of the projects; the real excitement lies on the edges where the companies are exploring the best way to integrate their core browser development environments with the servers. The vendors aren’t making as many changes to the core architectures of the products these days.
Backbase has been concentrating on beefing up its support on the server. Its packages now include drop-in development tools for Java Struts and Java Server Faces. Microsoft .Net is supported, but only with the generic AJAX Client edition that connects with any server. If you’re heavily invested in these frameworks, then it makes sense to experiment with Backbase. It already speaks the same language, and it makes it relatively simple to drop these into place.
That may be prettier, but I’ve found it’s more likely to generate grief when you’re trying to do something in a manner that differs from what the XML language designer imagined. This is, however, largely a matter of taste, and I know competent people who take a completely opposite view.
Bindows is proud of the way its framework makes it easier to comply with the Section 508 regulations that require federal government Web sites to be accessible to the disabled. The Click for larger view. framework comes with additional hooks that pass the events to speech synthesizers for the blind. You can add functionality for the blind by editing a few extra definition files, and the results will be integrated with your site.
The major thrust for development at Bindows seems to be adding more action to more sophisticated graphics. An alpha version of its animation framework lets you morph any of the parameters of the basic object. A linking package lets you link draggable icons with arrows and lines, providing a nice tool for illustrating flowcharts and other processes.
JackBe NQ Suite 4.6.1
The last time I took a look at JackBe NQ Suite, the product was an IDE that let you build complete applications in a browser. It was like a newer, more streamlined version of Tibco’s General Interface without some of the sophisticated graphics. That core product has gotten better, and the scope of the product line has grown dramatically.
NQ Suite now offers a clean, crisp IDE called the JackBuilder. It’s a more mature approach that’s a bit easier to use. Although the user interface of the JackBuilder tool seems to have fewer buttons than Tibco’s tool, this simplicity may be an advantage. I often found myself getting lost in Tibco’s menus.
The most interesting part of the JackBe toolkit is on the horizon. The company is putting the finishing touches on Presto, a server-based back end for the tool that will knit together a wide range of Web services and translate the data into a simpler form that can be sent to the client. This adds another layer to the software stack in the hopes of reducing Web traffic and simplifying security.
JackBe points out, for instance, that it is substantially easier to consume Web services behind your firewall than it is to release their XML packets directly to the client. Legacy Web services floating around an IT shop may not have all of the security necessary for opening them to the public. It’s easier to let Presto make decisions about each client and then send the request off in its name than to get some uncooperative division to retool their Web service.
This change also allows JackBe to enhance the connection. Clients that use Web services must initialize the XMLHttpRequest operation, something that’s generally acceptable unless you want the server to tell something to the browser. For example, a browser-based e-mail system, such as Google’s Gmail, won’t notice a new letter until it initiates a check or you push the refresh button.
JackBe’s Presto architecture can offer “pure push” by keeping the connection up as long as it’s needed. This allows you to build more interactive tools when you need to constantly keep data moving to the user. If you want to build a news ticker or chat into your application, this feature is a big architectural advantage.
Tibco General Interface 3.2
The source code for 3.2 is being rolled out in phases and protected by a BSD license. The earlier 3.1 had a more limited license that charged for closed sites, but 3.2 removes this limitation. Tibco will pay for more development with support contracts that include a warranty. Eventually, the company hopes to integrate community contributions into the mix, something that will give them the opportunity to add in code from other major (or minor) open source contributors.
This is an interesting play and one that signals how Tibco (and Bindows) differ from Backbase and JackBe. Tibco already emphasizes how its product’s independence from server code makes it easier to integrate with other widgets and non-Tibco offerings. Making the whole product open source allows Tibco to blend in the contributions of the others without legal headaches or the need to define things such as a plug-in architecture. If they see a neat widget with the right license, they can add it.
The other changes in the 3.2 product support this move. The older 3.1 system would only produce code that worked on Internet Explorer, largely because only the Microsoft browser supported its extensive collection of graphics, charts, and gauges. Porting that to Firefox wasn’t trivial; it required redeveloping those goodies in the very different world of SVGs (Scalable Vector Graphics). That’s done now and you can write applications that run successfully on both browsers and sometimes even Safari or Opera.
Version 3.2 also includes numerous little enhancements. Tibco cites their new Matrix class, a general grid tool that can now take put any kind of widget in any cell. These small enhancements are repeated throughout the code. The results are smaller, quicker, and more generalized.
Four Pillars of AJAX
How do you choose the right package for your project? The differences are almost more about style and structure, not capabilities. All four are solid packages that represent big leaps forward from the open source toolkits. And all of them provide a good way to turn the DOM tree in a user’s browser into an extension of your server. The creators, however, come from different worlds, and their packages will appeal to developers who think as they do.
Even though much of the look of an AJAXified Web set can be redesigned by replacing a CSS file, the style of the development toolkit bubbles up to the user’s level. Backbase products look and feel like they came from Europe. Bindows, on the other hand, is clearly a product with an installed base in the U.S. government; the attention it pays to Section 508 regulations reflects this focus.
The biggest difference will probably rest in the server. If you’re adding AJAX gadgets to an existing or forthcoming Struts, JSF, or .Net project, then Backbase would be a good choice. But if you’re knitting together a number of disparate databases and Web services living in a corporate datacenter, then JackBe’s Presto could be a better fit. You could accomplish both projects with any of the four products, but these choices could make your life easier.
I will be interested in watching how a classic, IT company such as Tibco will handle a completely open source tool. The decision to embrace an open source model may seem to be a political and economic choice, but these decisions also have practical side-effects that can be quite dramatic. The openness will encourage developers inside and out to add more hooks and figure out more ways to open up their products to other code. The style of development changes throughout the source tree. A number of corporate developers tell me that they privately look with admiration at the fertile ecology of some well-run open source projects. The open source developers, for their part, marvel at the power and efficiency of focusing well-paid, full-time programmers on a problem. Perhaps Tibco’s blended approach will prove to be ideal.
The rise of tools such as these has larger implications. For years, everyone has predicted the death or commodification of the operating system layer. These tools drive another nail in the cranky, virus-ridden coffin of the OS. I’ve found it much easier to work with DOM-based user interface design tools than the classic object-oriented frameworks, and I expect that the tools examined in this article will Click for larger view. make more converts. The applications you can generate with these tools are as good as the frameworks that rest directly upon the OS, and they come with many advantages. Viruses, disk crashes, and operating system complexity continue to make it a headache for users to juggle OS-based software.
There are indications that the AJAX world is working on eliminating the last advantages of the OS. The open source group Dojo distributes a package that leverages the ability to store data locally on a PC. The system is fragile and relies on users’ installing a Flash plug-in, but it suggests that the AJAX world will soon conquer the ability to run offline. If this is combined with some good encryption, the AJAX application will be able to offer the user local control of files with offline access and seamless, private backup when a machine is able to reach the Internet. All of the developers of the frameworks in this article are well-aware of this grail, and you can bet that they’ll put a real polish on this capability soon.
This article has been revised to correct the browser support information and pricing for Bindows.
Ease of development (30.0%)
Overall Score (100%)
|JackBe NQ Suite 4.6.1||8.0||9.0||8.0||9.0||8.0|
|Tibco General Interface 3.2||9.0||9.0||8.0||8.0||8.0|
Windows 7 is suddenly telling users it isn't genuine -- and it has nothing to do with Windows being...
Windows users are reporting significant problems with four more October Black Tuesday patches
The larger design is very welcome, but there's much more to the iPhone 6 than a bigger screen
Sponsored by Rackspace
Sponsored by Nuage Networks
Sponsored by Fibre Channel Industry Association
InfoWorld picks the best hardware, software, development tools, and cloud services of the year
Microsoft CEO Satya Nadella is showing the same kind of leadership that Steve Jobs used to rescue Apple...
If you’re doing one or more of these things, it might be time to step away from the IDE and take a...
Black Duck presents its Open Source Rookies of the Year -- the 10 most exciting, active new projects...