Package org.osid.journaling


package org.osid.journaling

The Open Service Interface Definitions for the org.osid.journaling service.

The Journaling OSID defines an auxiliary service to manage journals and journal entries for versioining.

Journal Entries

A journal entry represents a change to an object that can be another OSID. The journal entry contains a time, a source Id and a version Id . The source Id is the principal identifier for the journaled object while the version Id can be used to retrieve a previous version of the object by using its respective lookup session.

Journal Cataloging

Journal entries can be categorized into Journals , which may also be organized into hierarchies for the purpose of federating journal entries.

Agents & Resources

An Agent creates a JournalEntry . The JournalEntry directly exposes the related Resource to manage the orchestration with a Resourtce OSID. Multiple Agents may be acting on behalf of a Resource .

Orchestration

An orchestrated journaling service is one that creates a journaling entry for each create and update of an OsidObject . The orchestration can be tricky since there is no means for connecting a JournalEntry to a specific OsidObject . other than to arrange the Journals such that each Journal contains entries for a designated OsidObject interface where multiple OsidObjects are journaled.

The Journaling OSID is designed to provide a history of the data contained within an OSID object, such as the evolution of an Asset or a Resource . OSIDs tend to offer a complex array of relationships. To capture a history of all relationships, states, and cataloging of an OsidObject , an OSID Provider can offer a rollback of an entire OSID to a designated point in time.

Sub Packages

The Journaling OSID contains a Journaling Batch OSID for managing JournalEntries , Branches , and Journals in bulk.




Copyright © 2009, 2011 Ingenescus. All Rights Reserved.

This Work is being provided by the copyright holder(s) subject to the following license. By obtaining, using and/or copying this Work, you agree that you have read, understand, and will comply with the following terms and conditions.

Permission to use, copy and distribute unmodified versions of this Work, for any purpose, without fee or royalty is hereby granted, provided that you include the above copyright notices and the terms of this license on ALL copies of the Work or portions thereof.

You may nodify or create Derivatives of this Work only for your internal purposes. You shall not distribute or transfer any such Derivative of this Work to any location or to any third party. For the purposes of this license, "Derivative" shall mean any derivative of the Work as defined in the United States Copyright Act of 1976, such as a translation or modification.

This Work and the information contained herein is provided on an "AS IS" basis WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.

The export of software employing encryption technology may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting this Work.

  • Interfaces
    Class
    Description
    A Branch is a new version chain from an existing version chain.
    This session creates, updates, and deletes Branches .
    This is the form for creating and updating branches.
    Like all OsidLists , BranchList provides a means for accessing Branch elements sequentially either one at a time or many at a time.
    This session defines methods for retrieving branches.
    This session defines methods to receive notifications on adds/changes to Branches in this Journal .
    This is the query for searching branches Each method specifies an AND term while multiple invocations of the same method produce a nested OR .
    This is the query inspector for examining branch queries.
    This session provides methods for searching among Branches .
    The branch receiver is the consumer supplied interface for receiving notifications pertaining to new, updated or deleted Branch objects.
    The search interface for governing branch searches.
    An interface for specifying the ordering of search results.
    This interface provides a means to capture results of a search.
    This session provides methods for searching among Branches .
    This session manages queries and sequencing to create "smart" dynamic catalogs.
    A Journal represents a collection of entries.
    This session creates, updates, and deletes Journals .
    A JournalEntry represents an entry in a journal.
    This session creates, updates, and deletes JournalEntries .
    This is the form for creating and updating JournalEntries .
    Like all OsidLists , JournalEntryList provides a means for accessing JournalEntry elements sequentially either one at a time or many at a time.
    This session defines methods for retrieving journal entries.
    This session defines methods to receive notifications on adds/changes to JournalEntries .
    This is the query for searching journal entries.
    This is the query inspector for examining journal entry queries.
    This session provides methods for searching JournalEntries .
    The journal entry receiver is the consumer supplied interface for receiving notifications pertaining to new or deleted journal entries.
    The search interface for governing journal entry searches.
    An interface for specifying the ordering of search results.
    This interface provides a means to capture results of a search.
    This session provides methods for searching JournalEntries .
    This is the form for creating and updating Journals .
    This session manages a hierarchy of journals.
    This session defines methods for traversing a hierarchy of Journals .
    The journaling manager provides access to journaling sessions and provides interoperability tests for various aspects of this service.
    The journaling profile describes the interoperability among journaling services.
    The journaling manager provides access to journaling sessions and provides interoperability tests for various aspects of this service.
    Like all OsidLists , JournalList provides a means for accessing Journal elements sequentially either one at a time or many at a time.
    This session provides methods for retrieving Journals .
    This interface is a container for a partial hierarchy retrieval.
    Like all OsidLists , JournalNodeList provides a means for accessing JournalNode elements sequentially either one at a time or many at a time.
    This session defines methods to receive notifications on adds/changes to Journals .
    This is the query for searching for journals.
    This is the query inspector for examining journal searches.
    This session provides methods for searching Journals .
    The journal receiver is the consumer supplied interface for receiving notifications pertaining to new, updated or deleted Journal objects.
    The search interface for governing journal searches.
    An interface for specifying the ordering of search results.
    This interface provides a means to capture results of a search.
    This session provides methods for searching Journals .