Turbocharging e-gov with XML
- By Maggie Biggs
- Oct 15, 2001
Extensible markup language, or XML, is a useful tool for exchanging documents and data on the World Wide Web. But think about all the data you have in your agency today. Most of it is stored in unstructured documents or in relational databases. How can you translate your existing data into XML so you can exchange it more easily with others?
You might use some of the tools that are available with relational databases such as Oracle Corp.'s Oracle9i and IBM Corp.'s DB2, which can translate structured and unstructured data to and from XML. However, if you use those tools to translate data in real time, you may actually increase your processing time even though your application integration is much tighter. So how can you take advantage of XML—particularly for interagency transactions — and avoid a processing slowdown?
Enter a new breed of databases: native XML databases. Such databases do not replace unstructured or relational data, but rather act as an intermediate cache between Web applications and back-end data sources to speed up application performance.
How might you use a native XML database? Start by thinking about your back-end data sources. Which sets of data do you use most frequently? If you can identify those sources, you can insert them into a native XML database so that Web applications can quickly access the native XML data.
For example, suppose your agency frequently interacts with other agencies on tax-related transactions. Using the application program interfaces (APIs) provided by native XML databases, you might translate all tax-related data in your relational databases into XML documents and store them in a native XML database.
Your Web APIs for tax-related trans.actions would then point to the native XML database rather than the relational data sources. Because agencies would now be using the same format—XML—less time would be spent translating data between different agency database formats.
As other authorized employees interact with your XML data, they may make changes or additions. You would then want to update your relational databases with the latest information. Using the native XML database's APIs, you would execute a process off-line to update your back-end data sources. But the real-time interaction between your agency and other agencies would speed up because no XML translations would be needed to process the tax-related transactions.
Native XML databases are a relatively new phenomenon—so new, in fact, that it is unlikely that many government agencies are using them. Most early adopters are in the financial and manufacturing sectors and are mainly using the databases to speed up transaction processing.
Two of the most mature native XML databases, relatively speaking, are Software AG's Tamino XML Database and Ipedo Inc.'s Ipedo XML Database.
The Tamino product offers easy accessibility to data in relational databases through its support for ODBC (open database connectivity). XML document type definitions (DTDs) can be stored in Tamino's knowledge base. Also included is an administrative interface that helps manage collections of data. Tamino is available for the Sun Microsystems Inc. Solaris and Microsoft Corp. Windows operating systems and can interoperate with leading Web servers, such as Apache and Sun's iPlanet.
In a recent test, I set up Tamino with Apache and Lutris Technologies Inc.'s Enhydra application server so I could perform transactions using relational data from an Oracle database. Tamino was marvelously easy to set up.
The Ipedo XML Database is equally easy to use. Ipedo supports Solaris and Windows, and also Linux. Like Tamino, the Ipedo database supports storage of XML documents and DTDs. I used the provided Java programming interfaces to link Ipedo with my Web applications. Unlike other native XML databases, Ipedo uses main memory database technology to speed up processing even further.
Native XML databases may seem unnecessarily advanced for many agencies. Although you might not be ready to invest your IT budget in native XML databases, this is a great time to download and evaluate trial versions. Why? Because XML is a key part of newer Web services technologies, such as Simple Object Access Protocol; Universal Description, Discovery and Integration; and Electronic Business XML (ebXML).
If you want to move toward integrating transactions across agencies, you'll want to begin thinking about your XML strategy. Native XML databases will likely play a key role in speeding up interagency integration.
Biggs has more than 15 years of business and IT experience in the financial sector. She has implemented multiple integration projects using Java and XML.