We need identifiers on objects which are not managed by other entities such as the DBMS or external global identifier services (Handle, DOI, etc.). REST, the GUIs, and SWORD all need to be able to present permanent identifiers. DBMS record IDs can change if the assetstore is reloaded from DSpace asset packaging.
Currently we overload Handle URIs for this purpose, but that ties DSpace to the Handle System. Also, SWORD (via Atom) needs globally-unique IDs, but sites that don't subscribe to Handle service all use the same prefix, leading to collisions.
It seems that the way out is to coin something like a UUID for a new object at the moment that it is instantiated. This would break the dependencies on both database load order and external services that might not be desired, while meeting the need for global uniqueness. It needs no global resolution service; that is what Handle, DOI etc. are for. While globally unique, these identifiers would have only local meaning.