Herbert Van de Sompel
The ISO-standardized JPEG 2000 image format has started to attract significant attention. Support for the format is emerging in major consumer applications, and the cultural heritage community seriously considers it a viable format for digital preservation. So far, only commercial image servers with JPEG 2000 support have been available. They come with significant license fees and typically provide the customers with limited extensibility capabilities. Here, we introduce djatoka, an open source JPEG 2000 image server with an attractive basic feature set, and extensibility under control of the community of implementers. We describe djatoka, and point at demonstrations that feature digitized images of marvelous historical manuscripts from the collections of the British Library and the University of Ghent. We also call upon the community to engage in further development of djatoka.
The Digital Library Research & Prototyping Team at the Los Alamos National Laboratory (LANL) enjoys tackling challenging problems. And so we read Hiding Magna Carta on the Web  on the eFoundations blog with interest. In the blog entry, Andy Powell expresses his frustration about the way the British Library (BL) made the digitized version of the Magna Carta  available online. The BL used a Shockwave applet, as such "... making it pretty much impossible to do anything other than browse it on the BL's Web site". After sharing some more observations, Andy concludes, "... re-use wasn't high on the BL's agenda". To be fair, the BL is far from being the only cultural heritage institution to use the applet approach, and the same practice is also common beyond the cultural heritage sector where it is frequently used for the display of astronomical images, satellite images, medical imagery, etc. Sometimes, protection of intellectual property is the motivation for the approach, but we wondered what led institutions down a technical path that prevents creative, Web 2.0 style reuse, when no such concerns are involved. Could it be that appropriate tools were missing?
Around the same time, we anticipated a concrete need to introduce a solution to disseminate high-resolution images stored in our aDORe repository [3,4]. We set out to explore the problem domain and ended up developing the aDORe djatoka dynamic image dissemination solution, an open source package with an attractive feature set capable of disseminating images that reside either in a djatoka environment or that are Web-accessible at arbitrary URIs.
2. Disseminating High Resolution Images on the Web
There are many image dissemination platforms available, including Lizardtech's GeoExpress, Luna Imaging's Media Manager, the eRez Imaging Server, and Zoomify. An evaluation of their functionality is beyond the scope of this article, but we do want to note the following characteristics, not necessarily shared by all platforms, that we perceived as problematic:
3. Introducing djatoka
We decided to try and address these issues and engaged in the development of the aDORe djatoka (with silent "d") dynamic image server. These are djatoka's representative characteristics:
3.1. JPEG 2000 as the Service Format
The JPEG 2000 image format has attracted considerable attention among others due to its open specification, and its rich feature set defined in a multi-part ISO standard [6,8,9]. Features of interest in the context of this article are:
Although Web browsers currently do not provide native support for JPEG 2000, the format is starting to find its way into mainstream applications such as Apple's QuickTime, Apple's Preview, Yahoo's Instant Messenger, etc. JPEG 2000 is also used as the core image format in the Google Book projects . Also, at this point, over 100 organizations have taken out full commercial licenses to build and sell applications based on the JPEG 2000 Kakadu SDK. In the cultural heritage sector, JPEG 2000 is now seriously considered as a possible format for digital preservation (the image master), not only as a service format [11,12,13]. The aforementioned characteristics, combined with the availability of inexpensive Kakadu licenses for non-commercial use, made us decide to use JPEG 2000 as the service format for djatoka.
3.2. Architectural Overview
We describe the overall architecture of the solution by explaining the steps involved in a dissemination request issued from our Ajax-based client reference implementation (Figure 2).
The process described so far assumes the existence of a JPEG 2000 image managed by the djatoka environment, i.e., the HTTP GET request carries an image identifier that the djatoka API can resolve to a file handle. However, djatoka also supports providing the URI of any web-accessible image as the image identifier. In this case, the djatoka API will obtain the image by dereferencing the URI and dynamically converting it to a JPEG 2000 file that is stored locally. In the djatoka environment, the image URI will then be associated with the image's file path, which allows the image's URI to be used in the HTTP GET for a requested Region. It is up to the djatoka implementation to decide on the lifetime of the local copy of these Web accessible images.
3.3. URIs for Reuse
When it comes to the reuse suggested by Andy Powell, off-the-shelf tools typically don't go beyond offering the ability to embed an entire image in a remote page, either as a stand-alone image or as an embedded object (e.g., an applet). However, a trend is emerging to support URI-addressability of a specified Region. For example, both Luna Imaging's Media Manager and the Harvard University Library Image Delivery Service support identification and Region Extraction by means of home grown HTTP URI syntaxes (see  for Harvard's syntax). As we show below, djatoka continues this trend and offers URIs for a wide variety of image disseminations. Considering the widespread use of high-resolution images, the availability of a standardized syntax to request Regions or other services pertaining to JPEG 2000 images from an image server would be rather helpful. Since the URIs used for Region Extraction or to get metadata clearly serve the purpose of (dynamically) requesting services pertaining to an identified resource (the entire JPEG 2000 image), we felt that NISO Z39-88.2004 "The OpenURL Framework for Context-Sensitive Services"  provides a standardized foundation that could be leveraged in this realm. Below, we give details about the basic JPEG 2000 OpenURL Application that we defined for this purpose.
The djatoka URIs for a Region
The OpenURL syntax for URIs to request disseminations from JPEG 2000 images
Table 1: The Entities of the ContextObject and their Descriptors for the JPEG 2000 OpenURL Application
The OpenURL ContextObject carries information only about a Referent and a ServiceType (Table 1). The Referent is the JPEG 2000 image, unambiguously described by its identifier. Currently, only two ServiceTypes are defined and identified as follows:
Note that these identifiers are currently in a LANL-owned namespace, but could obviously be defined elsewhere. In addition, a Metadata Format is defined specifying the parameters that can be conveyed in a Region Extraction request. Awaiting community feedback, it is currently registered for Trial Use in the OpenURL Registry with identifier
Table 2: The Metadata Format specifying parameters to request a Region
A concrete HTTP URI OpenURL to request a Region is shown in Table 3. As can be seen, the identifier of the image for which a region is requested is
Table 3: OpenURLs to request a Region and Metadata for an image
3.4. Key Features
djatoka is open source Java software that builds upon a rich set of APIs and libraries to provide a service framework for the dynamic dissemination of JPEG 2000 image files (Figure 3). The djatoka API provides:
The djatoka solution requires a Linux/UNIX/MacOS-X/Windows operating system with Java 2 Standard Edition 1.5+ and Apache Tomcat 5 installed. For improved performance during compression and extraction, a system with 1GB+ RAM and multiple CPU cores is suggested. The djatoka software and additional documentation is available at <http://african.lanl.gov/aDORe/projects/djatoka>.
We were fortunate to find two renowned institutions willing to collaborate on demonstrations illustrating the capabilities of djatoka.
The British Library has launched a pilot project to evaluate the use of djatoka as a platform for serving its rich image collection, and plans to provide an access point via its digital preservation site. At this point, we have hosted some of the British Libraries' images on our LANL demonstration server at <http://african.lanl.gov/adore-djatoka/>. We are proud to temporarily host the Magna Carta, and provide it with a virtually infinite amount of URIs for Web 2.0 style reuse.
We have also recorded a screencam that illustrates the capabilities of the current djatoka environment; it is available at <http://african.lanl.gov/aDORe/projects/djatoka/djatoka_release.mov>.
4. Future Work and Call For Collaboration
We previously mentioned a specific addition to djatoka that is on our wish list, namely the inclusion in the client HTML page of ORE Resource Maps listing the URIs of the displayed Region and all of its tiles. The development of rich open source client interfaces is also high on our list of desired features. Additionally, we would like to explore the use of dynamic watermarking, both visible and invisible, as well as integration with popular repository systems.
This article introduces the first release of djatoka, and we understand that adopting communities will want to extend its functionality to meet the requirements of their use cases. We would very much welcome community contributions to help extend djatoka's capabilities, and invite participation in the SourceForge.net djatoka project. We feel that the flexibility offered by both OpenURL and OCLC's OpenURL package provides a solid basis for adding image dissemination services on the basis of the same architectural framework. Another area of work for which we would welcome community feedback is that of the proposed OpenURL Application: are the ServiceTypes and the Metadata Format that we propose a good starting point, and which additional ServiceTypes and Metadata Formats are required to meet a variety of use cases?
5. A Diversion about OpenURL
When it comes to OpenURL, we also feel the time has come to thoroughly think about the standard itself. The JPEG 2000 OpenURL Application described above is just one example of HTTP URIs that carry another URI as metadata. As reuse of Web resources across applications increases, these kinds of URIs become more common. Take for example, the HTTP URIs used to share a specific blog entry with services such as Connotea, del.icio.us, Facebook, Furl, MySpace, Newsvine, Technorati, etc. All those URIs fulfill the same role but are expressed using a different syntax. There is such an abundance of syntaxes that ShareThis stepped in offering the convenience of a single syntax for a sharing-URI that points at ShareThis, where it gets translated and forwarded to one of the aforementioned environments. The OpenURL Standard provides a powerful framework that can be used to provide a standardized solution to these kinds of common problems. But, no such thing is going to happen. Generally, the NISO standards are hard to find on the Web, and their existence is hardly known outside of the library community. More specifically, the OpenURL Standard is rather unwelcoming because of its highly generic nature, its exotic terminology, and its non-intuitive syntax for the basic Key/Encoded-Value HTTP OpenURLs. The URIs of Table 3 adequately illustrate the complexity.
For quite some time, OCLC's Jeff Young has been speaking about the OpenURL Framework in terms of Q6 , the six core questions: What, Why, Who, Where, How, and When. The first five questions map directly to core concepts of the OpenURL Standard (Referent, ServiceType, Requester, ReferringEntity, Transport), and the last one is surprisingly missing from it. We believe Q6 is a very promising approach that, if executed properly, could give OpenURL a real chance of adoption beyond the initial target community. We would very much welcome community collaboration around these ideas.
With this article, we launch the djatoka image server, an extensible dissemination platform built around the JPEG 2000 format. The current version of the software is available for download from <http://african.lanl.gov/aDORe/projects/djatoka>. We hope that the community will embrace the platform and will engage in extending it to meet the requirements of a variety of use cases. We very much welcome feedback regarding both djatoka, and the JPEG 2000 OpenURL Application that is proposed to try and establish interoperability among JPEG 2000 image servers.
The authors thank the following people for commenting on early drafts of this article: Jeroen Bekaert, Patrick Hochstenbach (University of Ghent), Michael L. Nelson (Old Dominion University), Jeff Young (OCLC Research).
The authors thank Adam Farquhar (British Library) and Patrick Hochstenbach (University of Ghent) for their enthusiastic involvement in preparing demonstrations for the first release of djatoka.
 Powell, A. (2008, March 17) Hiding The Magna Carta on the Web. eFoundations. <http://efoundations.typepad.com/efoundations/2008/03/hiding-magna-ca.html>.
 Magna Carta. Cotton Augustus ii. 106. Collection of the British Library.
 Van de Sompel, H., Bekaert, J., Liu, X., Balakireva, & L., Schwander, T. (2005). aDORe. A modular standards-based Digital Object repository. The Computer Journal, 48(5), pp. 514-535. <doi:10.1093/comjnl/bxh114>.
 Murray, P. (2008, February 28). JPEG2000 to Zoomify Shim Creating JPEG tiles from JPEG2000 images. Disruptive Library Technology Jester. <http://dltj.org/article/introducing-j2ktilerenderer/>.
 International Organization for Standardization. (2004). ISO/IEC 15444-1:2004: JPEG 2000 image coding system: Core coding system. <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=37674>.
 National Information Standardization Organization. (2004). ANSI/NISO Z39.88-2004: The OpenURL Framework for Context-Sensitive Services. <http://www.niso.org/standards/resources/Z39_88_2004.pdf>.
 Langley, A., Bloomberg, D. (2007). Google Books: Making the public domain universally accessible. Proceedings of the International Society for Optical Engineering, Vol. 6500. <doi:10.1117/12.710609>.
 Lamolinara, G., Mckee, B. (2007, October 25). Library of Congress Collaborates with Xerox To Test Format for Digitally Preserving, Accessing Treasured Images. News from the Library of Congress. <http://www.loc.gov/today/pr/2007/07-213.html>.
 Murray, P. (2007, February 26th). JPEG2000 for Digital Preservation. Disruptive Library Technology Jester. <http://dltj.org/article/jpeg2000-for-digital-preservation/>.
 Mendelsohn, N., Williams, S. (2007). The use of Metadata in URIs. W3C TAG Finding, 2 January 2007. <http://www.w3.org/2001/tag/doc/metaDataInURI-31.html>.
 Harvard University Library Image Delivery Service. (2007) Linking to JPEG2000 Images in the DRS. <http://hul.harvard.edu/ois/systems/drs/idslinking/>.
 Antiphonary Tsgrooten (manuscript on parchment, 1522; provenance: Brabant, region Antwerp, Malines, Louvain); 338 folios; 620 x 425 x 150 mm. Gent, University Library, Collectie Vlaanderen BKT006.
 Magna Carta via the British Library HTML viewer <http://www.bl.uk/treasures/magnacarta/magna_main.html>.
 Magna Carta via the British Library Shockwave viewer <http://www.bl.uk/treasures/magnacarta/shockwave/magna_carta_broadband.htm>.
Copyright © 2008 Ryan Chute and Herbert Van de Sompel