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.