OpenXRI

From I-names Development Wiki

Jump to: navigation, search

Contents

[edit] Overview

OpenXRI is an open source project that provides a freely redistributable reference implementation of XRI protocols relying on the Apache 2.0 license, a known open source licensing model. It implements the major components of the XRI resolution system, including:

  • an XRI parser library (Java)
  • an XRI resolver library (Java)
  • a proxy server (Java servlet)
  • a command line resolver tool for verifying the resolution operations of XRIs (Java)

The current OpenXRI code is developed to the specification of XRI resolution 2.0 working draft 10

OpenXRI is hosted on SourceForge.


[edit] Obtaining the software

All OpenXRI packages are released on SourceForge: http://sourceforge.net/projects/openxri


[edit] About the code

Currently, all code is written in Java. There are three major components:

  • Syntax - XRI syntax parser
  • Client - Resolver client library and tools
  • Server - HXRI proxy implementation

The client library requires the parser, while the server depends on the client.


[edit] Obtaining the source

The OpenXRI code base is hosted at the SourceForge Subversion server. Information on accessing the repository can be found here: http://sourceforge.net/svn/?group_id=132761

There is also a web-based SVN viewer: http://openxri.svn.sourceforge.net/viewvc/openxri/

Developers interested in contributing to the project please contact =wil.

[edit] Syntax

The OpenXRI Syntax library offers methods for parsing XRIs. It basically allows an application to parse a string identifier, and obtain information about the identifier (e.g. the number of segments it consists of, or the value of the path component, cross-references, etc.).

In order to support upcoming XRI resolution efforts as well as XDI implementations, the library needs to be updated to support the new XRI Syntax 3.0 specification. This is not yet a formal OASIS specification, but a proposed (and likely final) ABNF exists.

See OpenXRI:Syntax 3 for more information.

[edit] Resolver Tool

The XRIResolve Java class may be used on the command line to resolve XRIs. To run it:

1. Download the binary package: http://downloads.sourceforge.net/openxri/openxri-j-1.0.1-bin.tar.gz

2. Unpack it

3. cd into openxri-j-1.0.1/org.openxri.client/scripts

4. run the xrilookup.sh wrapper (on Windows, use xrilookup.bat):

./xrilookup.sh help

[edit] Authority Resolution Server

OpenXRI includes an Authority Resolution Server

See the manual in the SVN repository for information on the authority resolution server: http://openxri.svn.sourceforge.net/viewvc/*checkout*/openxri/openxri4j/trunk/org.openxri.server/OpenXRI%20Server%20User%20Manual.pdf?revision=204

[edit] Proxy Server

OpenXRI has a HXRI proxy implemented as a Java servlet. To run your own HXRI proxy:

1. Download the binary package: http://downloads.sourceforge.net/openxri/openxri-j-1.0.1-bin.tar.gz

2. Unpack it

3. Deploy openxri-j-1.0.1/org.openxri.server/dist/openxri-server.war to your servlet container.

4. The proxy can be configured by editing the <context>/conf/proxy.properties file. Be sure to restart the servlet container after making changes to it.

The proxy understands HXRI syntax as specified in XRI Resolution 2.0 working draft 10. This includes parameters like _xrd_r, _xrd_t and _xrd_m. For example, if the WAR archive is deployed at the context path of /openxri-server, and your server is at http://localhost:8080, you may query the following:

[edit] Current Developments

With the advent of XRI Resolution Working Draft 11, a number of changes will be necessary in OpenXRI.

These are listed on the OpenXRI:RoadMap.

Personal tools