Presents your XML E-NEWSLETTER for July 24, 2002 <-------------------------------------------> A QUARTET OF APACHE XML TOOLS The Apache Software Foundation is among my favorite open source communities. I've been using its software since the early days of the HTTP Server. Apache has grown into a large R&D effort that focuses on cutting-edge Internet technologies. Apache's XML efforts have grown by leaps and bounds in the last couple of years. Most recently, there are four new projects on Apache's XML roster, which I examine below. APACHE AXKIT One of the most exciting new projects is AxKit. Designed to be an XML application server, AxKit is essentially a bolt-on to the Apache HTTP Server that provides a segmented architecture for application development. In other words, using AxKit, you can separate the presentation and data layers of your Web-based application. AxKit uses a built-in Perl engine to provide fast and robust XSLT transformations for presenting content to multiple types of media. AxKit's architecture is component-based and uses a published API, allowing developers to create their own plug-in modules. AxKit provides database access using the Perl DBI SQL taglib within eXtensible Server Pages (XSP). For more information about AxKit, visit the AxKit Web site. http://axkit.org/ FORREST The Forrest project aims to provide an infrastructure for the development of open source software. Essentially, Forrest will help manage the many software projects that fall under the Apache Software Foundation umbrella. The main components of Forrest include project documentation, source code repository, mailing list, and project roster. Using a combination of components such as Cocoon, Ant, and XML, Forrest provides Web access to information about the projects it manages. One of the main goals of Forrest is to help the Apache Web site be more competitive with other open source sites such as SourceForge. For more information about Forrest, visit the Forrest Web site. http://xml.apache.org/forrest/index.html XANG In a nutshell, Xang is a Web-based front end for accessing data. Xang essentially provides an abstraction layer for disparate data sources using URLs. Each URL references a set or multiple sets of data from various sources. Data is aggregated and referenced as XML content and delivered to end users. In addition to just providing XML access to data sources, Xang supports JavaScript to programmatically control access, aggregation, and transformation of data. Xang is implemented as a Java servlet and therefore needs to run in a servlet container such as Apache's Tomcat server. For more information about Xang, visit the Apache Web site. http://xml.apache.org/xang/index.html XINDICE Pronounced zeen-dee-chay (not zin-dis or zin-dice), Xindice is an XML database. It provides direct storage and retrieval of XML documents without having to map them to relational database tables and fields. Documents are stored in Xindice using XUpdate. Documents are retrieved using XPath. Xindice isn't designed to be an all-purpose warehouse for XML documents or for generic DOM persistence; it's designed to be a functional and efficient method for storing XML data. It's also designed to manage 200 small XML documents (like 10 KB) rather than 20 large documents (10 MB). Built on Java, Xindice allows you to index documents on both XML elements and attributes--increasing the performance of your XPath queries. The XML:DB API is also implemented to provide standard access to XML data. Applications can access the database either using XML:DB directly from Java or using Xindice's CORBA API. For more information about Xindice, visit the Apache Web site. http://xml.apache.org/xindice/ Brian Schaffner is a senior consultant for Fujitsu Consulting. He provides architecture, design, and development support for Fujitsu's Telcom360 group. ----------------------------------------