EcoGrid Write API discussion ============================= Need a write API. Metacat differentiates insert/update/delete. SRB has Put, and file I/O. Revised method signature for EcoGrid: put(object, objectId, type, sessionId) throws EcoGridFault, InvalidSessionFault upload a new object of the given type, return error if objectId is already in use. On upload, the system should examine the type parameter to see if it is a metadata object that the system understands, and if so then parse the metadata object to extract relevant system metadata (e.g., access rules, related data files). The system may store the object in different subsytems depending on the type. delete(objectId, sessionId) throws EcoGridFault, InvalidSessionFault EcoGridFault errorCode message InvalidSessionFault message Issues: objectId is the urn of format ecogrid://scope/localIdentifier ecogrid://foo/mine ecogrid://foo/mine34.2 ecogrid://foo/mine35 ecogrid://yuyu/54 Other possible methods: a) May need method to return unique usable id b) rename(ObjectId, newObjectId) throws EcoGridFault, InvalidSessionFault c) possible to have binary put method that uses HTTP binding to avoid XML overhead on large data files The following methods were considered but rejected as unnecessary: update(object, objectId, replaceId, type, sessionId) throws EcoGridFault, InvalidSessionFault upload a new object that represents a new version of an existing object Update method not needed because put and delete can be used to replace an obejct, and any versioning history should be contained in the metadata.