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
Having trouble installing and setting up Win10? You aren’t alone. Here are many of the most common...
Picking an Android phone can be difficult, but we're here to help. These are the top Android phones you...
Confidence in our power over machines also makes us guilty of hoping to bend reality to our code
With new hardware hacking devices, it's absurdly easy to attack organizations through the USB port of...
Android provides a model for Apple to use in iOS, and Apple has an option for CarPlay that should get...
Not only is data integration an afterthought in most cloud migrations, it's usually addressed with...
The budding language with Ruby's syntax and written in Go is aimed at microservices development