Tango 2000 is a singularly powerful and easy-to-use tool for creating dynamic, intelligent Web sites that are integrated with popular database systems. Unlike other application servers that take a simplistic "mail-merge" or page-centric approach to page generation, Tango 2000 uses a visual programming metaphor that enables users to create powerful Web applications in record time without having to be programming gurus.
A particularly powerful feature of Tango 2000 is its support of XML. In basic terms, XML is supported as a first-class application data type, enabling the developer to create XML (or, more precisely, DOM) variables that represent complex hierarchical data structures and access, manipulate and stream them with ease. An important point is that any XML structure may be used; the developer isn't limited to a single DTD (such as WDDX).
A good question at this point would be: "Why should I want to create and manipulate XML structures in a Web application?" One reason is to enable a developer to separate business logic from presentation. If you consider a reasonably complex Web application like a shopping basket or portfolio tracker, the logic involved in accessing and processing data (the business logic) can be quite intricate. This typically involves grabbing data from one or more data sources and applying various business rules. The presentation logic on the other hand is focused solely on putting the data in front of the user in a visually compelling way. In large applications these tasks are often done by different people.
It's pretty much axiomatic that most programmers don't know much about user interface design. Therefore, it's a safe bet that the person developing the business logic isn't going to be a hot HTML whiz. Likewise, the presentation-capable person won't necessarily know SQL from Java. Enter XML, which provides a lingua franca between these two camps. As long as both agree on an XML structure as an intermediate representation of the data (i.e., an XML DTD), the business logic programmer can use arbitrarily complex logic to create the data without affecting how the visual designer decides to present that data to the user. The flexibility of XML to describe complex hierarchical data simply makes it an ideal choice.
Even if the business logic and presentation are created by the same person, taking the critical step of separating logic from presentation makes for a much more maintainable application. This is particularly difficult to do in page-centric Web application environments.
A second and more compelling reason to expose XML functionality in Tango 2000 is to empower developers to capitalize on the emerging use of XML as a form of "Web EDI." Because of its plain-text, self-describing nature, XML is rapidly becoming the de facto standard for transferring data between remote and heterogeneous systems. From Microsoft's BizTalk initiative to ERP vendors such as SAP's Business-to-Business Procurement solution, XML is playing a central role in linking systems together. Tango 2000's focus on open and unlimited XML structures provides an opportunity for developers to create "integration solutions" solutions that combine heterogeneous business systems with ease and flexibility.
Consider Tango's role in a hypothetical portfolio tracking application. A user could view his or her portfolio via a Web browser connected to a central Tango application. To make a trade, the user would simply place the order through the Tango application, which would then forward the trade details to a secure server at the brokerage via XML and HTTP. Upon confirmation of the trade (which the Tango application could automatically poll using another XML request), the client's portfolio would be updated. Skeptical? Well, if you do online banking, this is happening already. The next time you connect to your bank using Quicken and download your transactions, save them to a file and have a look. That's XML at work.
Through an intuitive interface, Tango 2000 simplifies the reading, manipulation and streaming of XML data. Moreover, unlike some competing application servers that impose a fixed DTD on your XML, Tango allows the developer to choose precisely what data is sent over the wire. This means that existing back-end servers that already speak XML don't need to be rewritten to allow a Tango application to access them. That flexibility, coupled with Tango 2000's programming model, makes it a good choice for creating XML-centric Web applications easily.
Tom Otvos is director of research for Pervasive Software. He can be reached at [email protected]