Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun Java System Portal Server 6 2004Q2 Developer's Guide 

Chapter 22
What is an RDM?

This chapter contains the following sections:


Introduction

A Resource Description Message (RDM) is a messaging format which two processes can use to exchange resource descriptions across a network. In RDM, one process (a client or agent) sends a request RDM message to a remote server which processes the request, then sends a response RDM message, similar to the HTTP/1.0 request/response model.

For more information about RDM, see:

http://www.w3.org/TR/NOTE-rdm.html

For example, you can send an RDM request to a search engine database to request RDs that match certain criteria. The search engine will send back an RDM response that contains the requested RDs (for example, all documents containing the string style_sheets).


RDM Format Syntax

Each RDM message contains a header and a body. The header identifies the nature of the RDM message, while the body contains any data required to carry out the needed request (for example, scoping criteria). Both the header and body of the RDM message is encoded using SOIF.

RDM Header

The RDM header section begins with a SOIF object whose schema name is RDMHEADER which must contain as least the attributes listed in the following table:

rdm-version

A string identifying the version of the message specification. (for example, 1.0).

rdm-type

A string identifying the nature of this message.

rdm-query-language (required only for Request messages)

A string which identifies which query language is used in the given request.

catalog-service-id (optional)

A CSID identifying the catalog to which the request/response applies (for example, x-catalog://siroe.budgie.com:80/finance. If not present, the RDM server will use its default catalog.

The following example shows two RDM headers and their attributes:

@RDMHEADER { -

    rdm-version{3}: 1.0

    rdm-type{14}: status-request

}

@RDMHEADER { -

    rdm-version{3}: 1.0

    rdm-type{10}: rd-request

    rdm-query-language{6}: search

    catalog-service-ID{39}: x-catalog://budgie.siroe.com:80/finance

}

RDM Body

The RDM message body contains any data needed to carry out the request. For example, if the header is rd-request, which indicates a query request, the body must contain the query criteria or scope. For example, if you are sending a request to find all documents that contain the string varrius, then the body must be SOIF object whose schema-name is RDMQuery and whose scope attribute is varrius:

@RDMQUERY { -

    scope{7}:varrius

}

If the RDM message is a query request, the body of the message can also indicate which attributes of the resulting RDs are wanted, the number of results, and sort preference. For example, the following search criteria in the RDM body specifies the URL, title, author, and last-modified attributes. The result set contains at most 10 hits and the resulting set is ordered by the title attribute:

@RDMQUERY { -

    scope{7}:varrius

    view-attributes{30}: url,title,author,last-modified

    view-hits{2}: 10

    view-order{5}: title

}

If the RDM message is another kind of request, such as a Schema-Description-Request, a Server-Description-Request, or a Status-Request, the body of the message should contain appropriate data. See the relevant document for more details on RDM bodies.



Previous      Contents      Index      Next     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.