XML Tunneling Technology
(XTT) Version 3.0 by InsiTech Group, Inc.
At WinWin Solutions we build custom business applications for insurance, health care, and financial vertical markets. Our client demands for B2B integration over the Internet led us to look for a platform that extends our complex transaction-oriented solutions to the Internet without the penalty of a heavy client interface or having to implement complicated work flows in HTML. We needed simple, effective tools that could extend our apps without damaging them.
The InsiTech Group met our needs with its XML Tunneling Technology (XTT) version 3.0 - a tool and framework for developing ultra-thin, rich- GUI, distributed Java applications.
Currently, there are many technologies that can be used to build thin-client Internet-based B2B applications including Struts, Droplets, Canoo, etc. While some of these tools facilitate the delivery of a rich GUI interface in a thin-client distributed environment, we believe they fall short of the benefits offered by XTT's fully extensible architecture. XTT delivers a pure Java Swing thin-client application that uses XML to marshal data back and forth from the app server to the client.
Unlike Droplets and Thinlets, which utilize a Java server-side programming model, XTT allows you to distribute your business logic on the client or app server. XTT even allows you to run the application while not connected to the Internet.
When we found XTT we were excited because out of the box it provided the components necessary to handle most business problems. In fact, XTT features include pessimistic record locking, strong event processing, data streaming, built-in verifiers and formatters, as well as an intuitive VB-like RAD environment.
What Is XTT?
The XTT Framework is a thin-client GUI application development tool for building enterprise class applications in heavy transaction-oriented market sectors such as health care, financial, insurance, and manufacturing. XTT provides wizards and templates, enabling you to quickly build thin-client Java forms.
We found that the XTT framework enabled us to stay focused on adding business value rather than infrastructure coding. In fact, the point-and-click RAD environment allowed us to rapidly prototype concepts in the iterative early phases of a project and deliver real working forms for the client to test and approve.
XTT wizards let you create database-enabled forms simply through a point-and-click interface. Code generated by these wizards can be further modified or customized in Sun ONE Studio, NetBeans, or JBuilder IDEs.
XTT provides strong support for event control. XTT routes the data-access events, like preread and postread, to a single method. From this method you can easily tune client- or server-side responses to deliver what you need. The event model is simple and effective. The whole team knows where to put or find the business logic.
XTT really does provide a rich user interface in a very thin client framework. In fact, the distributed component of the framework that manages communication on the client is only 216KB. This JAR is downloaded once when the application is accessed for the first time.
Creating a Form in XTT
To create a form, simply open the Form Wizard, point to the appropriate data source, select the base tables, create relationships, and generate the form. Once the form is generated, use the IDE to compile and execute it. You can then use the drag-and-drop capabilities of the IDE to refine, add business logic, or further customize a form if needed.
The process of developing a form follows these three steps:
Here we have built an Authors Entry form that accesses three different tables and presents information to the user in the form of text fields, grids, and pop-ups. We didn't write any code by hand, rather we leveraged XTT and the IDE to generate it for us. This ability to rapidly prototype real working solutions was very important to us.
- TableView Wizard enables you to view the database metadata remotely without having to use the LAN console for the database (see Figure 1).
- Form Wizard enables you to select tables, create relationships between the data, and specify the manner in which the data will be rendered (e.g., Text field, grid, pop-up, checkbox, etc.) (see Figure 2).
- Generate and execute the form in the IDE (see Figure 3).
As with any software product there are some trade-offs. Most notably, XTT only works with IDEs that support visual rendering of JavaBeans such as Sun ONE Studio, NetBeans, and JBuilder - no support for Eclipse as of yet. Also, XTT does not support the use of UML modeling tools.
In addition, the wizards are Microsoft VB-like in that they're one way and don't support the saving and reopening of half-completed forms. However, to overcome this you can simply rerun the wizard and create a temporary form and then copy/paste the fields to the existing form in the IDE.
Another minor issue we encountered was that the XML/Java templates must be edited by hand since there are no wizards as yet to facilitate these edits.
In our business, we frequently outgrow “quick success” tools - often the fun of the demo turns to real frustration as you realize that simplifications that enabled quick success constrain a full solution. However, XTT is a small, focused, well-engineered set of Java objects/tools that enables Java developers to focus on solving business problems rather than complicated infrastructure coding. XTT is reliable and feature rich - but most of all it offers a transparent solution that does not limit your ability to integrate with other Java APIs (i.e., Web services).
XTT turns your Java IDE into a RAD powerhouse so you can deliver what clients want, when they want it - in the manner you know best. If you need to develop transaction-oriented rich client interfaces, especially for distributed applications, you definitely need to take a look at XTT.
InsiTech Group, Inc.
1157 Highland Ave., Suite 209
Cheshire, CT 06410
Phone: (203) 699-0029
Fax: (203) 699-0270
Platforms: Any platform with JDK 1.4.x, Sun ONE Studio 5, NetBeans 3.5, JBuilder 8
Pricing: Community Edition - free.
Developer version - $499 per client connection
Client: Toshiba Satellite Pro 700MHz, 300MB RAM, 10GB, Win2k
Server: Apache Tomcat on Win2k
IDE: NetBeans 3.5, JDK 1.4.1
Snapshot Easy to use, feature-rich product
Wizards and template-based development
Strong event processing support
Easy integration with existing Java APIs
Good quality product
Target Audience: Java, Visual Basic, and PowerBuilder developers
Level: Beginner to advanced
Cons: No support for Eclipse
Wizards are one way
XML/Java templates must be hand edited
Robert Carten is a senior developer at WinWin Solutions, Inc., in Westwood, NJ. WinWin specializes in delivering custom applications using software from Revelation Technologies Inc. Bob has over 20 years' experience in the software world. A software consultant, he has worked with many of the major database products on Windows, Unix, and IBM platforms.