|
by Janice J. Heiss
Encyclopaedia Britannica, Inc., dating back to 1768 in Edinburgh, Scotland, has come a long way. Initially created by printer Colin Macfarquhar and engraver Andrew Bell, it was intended to serve a new era of enlightenment and scholarship. Macfarquhar and Bell began by forming a "Society of Gentleman" to publish their new reference work, an alphabetically ordered encyclopedia that would be "compiled upon a new plan in which the different Sciences and Arts are digested into distinct Treatises or Systems." Its chief virtue was to be "utility." Now, 234 years later, Java technology is adding new utility to the encyclopedia, which has grown from a three-volume set completed in 1771, to 32 volumes today. The encyclopedia is also published in a host of digital forms, including the 2003 Britannica Ultimate Reference Suite, available on CD and DVD. Creative applications of Java technology have made movement of content among print, Web and CD-ROM products practical and efficient. Porting a Web Site to CD-ROM
Britannica has a business strategy in which their revenue sources increasingly derive from a variety of channels and products such as print, CD-ROM, DVD, and the Internet. They were an early leader in electronic publishing, having joined with Mead Data Central in 1981 to create the first digital version of the Encyclopaedia for the Lexis-Nexis service. In 1994, they developed Britannica Online, the first encyclopedia for the Internet, which made the entire text of Encyclopaedia Britannica available worldwide. That year, the first version of Britannica on CD-ROM was also published.
In 1999, they launched the Britannica.com Web site, which introduced extensive features, content, and links, previously unavailable in the online encyclopedia. All the while, the company has continued to produce its traditional hard copy encyclopedia. In 2001, the company decided to reuse the architecture that had made the Web site successful in their next generation CD and DVD products. The result is the 2003 Britannica Ultimate Reference Suite, which consists of three encyclopedias in one. It comprises the entire Encyclopaedia Britannica, which is gauged for adults, a student encyclopedia for middle school to late high school students, and an elementary encyclopedia for children from third grade on up. In addition, the Suite has age-appropriate dictionaries, atlases, thesauruses, historical timelines and more. Almost All Java Technology"The 2003 Ultimate Reference Suite is almost all Java technology," explains Dave Pekarek Krohn, a senior software engineer at Britannica. "It uses Swing for all of its GUI, including a written-from-scratch HTML renderer and a custom look and feel. Cross-platform capabilities were one of the main appeals of Java technology. Previous hard media versions of Britannica had used Internet Explorer for some of the HTML rendering, and it became kind of unwieldy. So we built our own renderer using Java technology. It runs on Windows and the Mac and everything we need it to run on."
The use of Java technology enabled Britannica to customize the look and feel of their new product through an MDI (multi-document) interface with a desktop metaphor with customized internal Windows using JInternalFrame and JDesktopFrame. "We made use of XSL transforms as well as servlets and embedded Tomcat server to serve it up," remarks Pekarek Krohn. "In Java 2, Standard Edition (J2SE), we used Swing and some of the older AWT for legacy components. Specifically, we used JInternalFrame, JFrame, JDesktopPane as well as creating our own look and feel components using the javax.swing.plaf packages." The ability to easily customize Swing enabled Britannica to jump-start the project. "Swing enabled us to build quickly, and then drop in our more customized look and feel, with some bit-map graphic buttons to give it the multimedia, shiny feel that a lot of apps require these days," observes Pekarek Krohn. Extreme Programming
In 1999, Britannica began rebuilding their online systems using a Java 2, Enterprise Edition (J2EE) architecture. After maturing the architecture for a couple of years, they began to leverage their investment in hard media products. "We had to try to scale down our online systems to be able to fit it on a CD and on an end-user's desktop machine," says Rodney Waldhoff, director of the systems architecture team. "Our online systems are n-tier and run on enterprise class hardware. There are multiple processes involved with the database engine, the servlet engine, the Web server, and other pieces that are plugged in. We were able to embed all of those systems in a single process, leveraging a lot of the open source technology that's available." Following "XP" principles -- Extreme Programming -- the Britannica team relied on such open source tools as Ant, and Axion, a new open source database that they both used and contributed to. In addition, they relied on Tomcat at Jakarta, XML tools and Apache. "Like a lot of teams, we started as consumers of various open source libraries, like Xerces and Xalan, or those available from the Jakarta-Commons project," explains Waldhoff. "We began integrating open source projects into our development process, using tools, like JUnit and Latka for automated testing, and Ant and CruiseControl to implement a continuous integration process. Soon we were deploying complete subsystems based upon open source technologies, like the Lucene search engine, the Axion database and on the Tomcat servlet engine."
Using four core developers, and farming small tasks out, they finished the project in less than a year. "One of the great things about Java technology is what's going on in the developer world, both from open source and commercial vendors," observes Waldhoff. "Using Java technology, we were able to pull in these interesting bits as we needed them. Using Java technology almost exclusively allowed us to integrate a lot of different tools in a cross-platform manner." Because of the short time frame and the need to create multiple products based on the same platform, the team used a configurator component initially deployed on the Web site. This configurator relied on the ClassLoader and Properties classes to store most attributes that change from site to CD, as well as from one CD product to another, in a set of external files. In addition, the configurator used introspection to validate that all of the needed attributes were set. "The configurator helped us keep the configuration out of the code, allowing us to have minimal code change between products," remarks Pekarek Krohn. In addition, they were able to reuse servlet code directly off of the Web site. As part of a philosophy that aims for a single code base, Britannica uses Java technology both in consumer-oriented products and in their internal tools for financial processing, for editorial tools, and elsewhere. "We want to have a single skill set for our development team that enables us to make use of a full spectrum of Java technology, both internally and externally," remarks Waldhoff. "Following Extreme Programming practices such as maintaining a robust automated test suite and a 'continuous' integration process that constantly built, tested and deployed our 'preview' environments, we were able to move forward with both the online and CD versions of the products, while keeping everyone in sync." New Functionality
Previous CD-ROM encyclopedias allowed users to view only one article at a time, a drawback when doing in-depth research. Swing tools such as JInternalFrame enabled Britannica to create a GUI that allowed users to view and organize multiple articles simultaneously. In addition, they integrated Research Organizer, a notetaking tool, into the new product. Research Organizer enables users to copy and paste data from articles, and take images from them, and make notes about them. Students can generate HTML images for school reports, or look at videos instantaneously. In the future, Britannica expects to increase the intersection between their online and hard media products. As they add features to their site, they will add features to CDs, and vice versa. "We're looking forward to using Java technology to improve our products both in their online and hard media versions," concludes Waldhoff. See Also
Encyclopedia Britannica
What is Extreme Programming?
Apache Xerces -- XML Parser
Apache Xalan -- XSLT Processor
Apache Ant - Java Technology-based Build Tool
Apache Jakarta Commons -- Small Scale, Reusable Components and Tools
Apache Tomcat -- Serlvet and JSP Container
Apache Jakarta Lucene Search Engine
Java Foundation Classes
Axion
| ||||||||||||||||||||
|
| ||||||||||||