|
...to be inexpensive, flexible, extensible, and yet easy to manage.
Since the clients environment and business needs are constantly changing, the company didn't want to spend excessive time on support and maintenance of internal applications. The solution also needed to leverage the effort EDS put into creating and maintaining XML documentation around these data services.
To create the solution, EDS used two open source technologies--Sleepycat's Berkeley DB XML (bdbxml) (www.sleep ycat.com) and Cocoon (http://cocoon. apache.org). The Apache Cocoon product provides the XML.-based application framework, while the bdbxml product is an application-specific data manager providing XML persistence and retrieval. The combined technology creates a flexible, powerful framework for qnickly building and deploying customized XML-based applications.
The Software
Apache Cocoon, an XML publishing framework, employs a dynamic pipeline-processing concept that generates, manipulates, and ultimately renders the XML content into the presentation format of the user's choosing. Generic templates exist for rendering XML to standard formats such as HTML and PDF. The framework is easily configurable and extensible for custom XML-based applications. A significant portion of this configuration and customization is accomplished through XML documents that detail the pipeline steps necessary for a custom application.
The Cocoon pipeline consists of three types of components--generators, transformers, and serializers. A generator, the starting point for any given pipeline, produces the XML that is processed by the pipeline. Transformers can manipulate the XML as needed or perform operations based upon the XML content. Multiple transformers can be employed as needed. Finally, a serializer renders the final XML content (the result of the last transform) into a presentation format. The XML is passed through the pipeline as SAX events.
From a content application perspective, EDS used Cocoon to deliver dynamic content to analysts who were researching or testing nor XML services. Conceptually, this process is common, and several products would have sufficed.
The Cocoon project provided the additional benefits of being:
* Flexible and extensible
* Open source
* Free
With all XML-driven application server like Cocoon, we also found we needed an XML storage medium. Apache has built in support for the Xindice XML product. However, Xindice is a pure-Java XML database with a Java API. We found we wanted support for nun-Java APIs. Additionally, we desired an application-specific data manager, which allows flexible integration at various architectural levels.
This criterion led us to Sleepycat's bdbxml.
Introducing Berkeley DB XML
Sleepycat's Berkeley DB XML product (bdbxml) is built on the company's Berkeley DB product, it is designed to store and retrieve XML documents and provides XPath querying capabilities against the set of stored documents. The multiplatform product provides APIs in a variety of languages. It also can manage both Berkeley DB and bdbxml data under the same "container." For the EDS solution, our team focused on the bdyml Java API and XML capabilities. The product leverages the open source Pathan binaries for XPath functionality and the Xerces-C++ binaries for XML parsing capabilities. These libraries provide native-platform speed and are integrated well into the product.
The bdbxml product is open source as well, under a dual-style license. Customers can use it at no charge if the embedding application is open source or used only at a single physical site. Customers that redistribute bdbxml within a non open source product must purchase a commercial software license. The API is...
NOTE: All illustrations and photos
have been removed from this article.

More articles from XML Journal
Edge 2004 East Conference & Expo February 24-26, 2004.(Special Insert), January 01, 2004 Tree structured data and XML: visualizing and transforming data with S..., January 01, 2004 Modernizing the mainframe: unleashing the power of XML and Web service..., January 01, 2004 Ontology and integration: managing application semantics using ontolog..., January 01, 2004 Processing XML with C# and .NET: a solution that's simpler than you mi..., January 01, 2004
Looking for additional articles?
Search our database of over 3 million articles.
Looking for more in-depth information on this industry?
Search our complete database of Industry & Market reports by text, subject, publication
name or publication date.
About Goliath
Whether you're looking for sales prospects, competitive information, company
analysis or best practices in managing your organization,
Goliath can help you meet your business needs.
Our extensive business information databases empower business
professionals with both the breadth and depth of credible,
authoritative information they need to support their business
goals. Whether it be strategic planning, sales prospecting,
company research or defining management best practices -
Goliath is your leading source for accurate information.
|