I have been asked to discover the pros and cons of using SDO. I found some intro's on the topic. But I would like a list of features. And maybe comparisons to other ORM technologies like Hibernate. Are there any articles out there? My Googles fail me.
SDO is not meant to replace existing persistence mechanisms, but instead to leverage their use providing a uniform programming interface. Instead of learning multiple APIs and frameworks, a programmer will typically concentrate on one unique programming model (SDO). Behind the scenes, SDO-capable tools and DMS will deal with all the specific and cumbersome data source semantics. So without even knowing it, an SDO client, through DMS, could interact with JDBC, Java Data Objects (JDO), Hibernate, Entity Enterprise JavaBeans (EJBs), Web Services, or any other data source.
You're right, there's not that much material out there.
So to answer your question, I (quickly) written a blog entry comparing SDO with EJB 3 (which largely based Hibernate ORM because they seem to have ignored the lessons learned with JDO, so it should answer your question).