The Data Manager in t2 uses a combination of custom EntityBeans and JAXB for serialising Entities. Basically each Entity eg EntityList has an associated EntityBean - EntityListBean and getAsBean and setAsBean methods. The Bean classes are annotated with JAXB
@XmlRootElement(namespace = "http://taverna.sf.net/t2/cloudone/bean/", name = "dataDocument")
@XmlType(namespace = "http://taverna.sf.net/t2/cloudone/bean/", name = "dataDocument")
and discovered using SPI style lookup along with Factory classes to relate the concrete class with the bean. It then uses JAXB to marshall/unmarshall these beans.