Esquema de DataGraph

Esquema de DataGraph creado mediante el mediador de EJB

El esquema creado por el mediador para una consulta consta de una Eclass para cada sentencia de consulta. El nombre de la Eclass es el nombre de esquema abstracto (ASN) del EJB (Enterprise JavaBeans). Los Eattributes de la Eclass se corresponden con los campos o expresiones de persistencia gestionada por contenedor (CMP) devueltas por la sentencia de consulta.

Para los DataObjects estáticos, el nombre de Eclass puede ser distinto siempre y cuando el argumento Map se utilice en la llamada a createMediator.

Todas las relaciones de EJB especificadas en la cláusula FROM o XREL añaden una Ereference en el esquema. Las relaciones de EJB pueden ser unidireccionales o bidireccionales. No obstante, todas las Ereferences se definen como bidireccionales ya que esto es necesario para navegar con eficacia por el DataGraph durante la actualización. Se genera un nombre de relación inverso en el caso de una relación de EJB unidireccional. Un nombre generado tiene el formato <origen_ASName><destino_ASName>. Por ejemplo, si los ASNames son EmpBean y DeptBean y la relación unidireccional es dept de EmpBean a DeptBean, el nombre inverso generado es DeptBeanEmpBean.

Si no se utiliza ningún argumento ECLass en createMediator, el mediador crea un esquema de DataGraph con estas características:
  • Los nombres EClass de DataObject son los nombres de esquema abstracto (ASN) de EJB correspondientes
  • Los nombres y tipos de atributos de DataObject son los nombres y tipos de expresión de las cláusulas SELECT de consulta
  • Los nombres y tipos de referencia de DataObject provienen de las relaciones de EJB a las que se hace referencia en las cláusulas FROM.

También se crea un DataObject ficticio con el nombre de Eclass de DataGraphRoot y tiene una referencia con contención a todos los DataObjects. La referencia es de varios valores, que utiliza el nombre ASN de EJB.

DataObject root =  m.getGraph( parms );
root.getType().getName();   // esto devolverá la serie "DataGraphRoot"

List depts = (List) root.get("DeptBean");   
// la lista de todos los SDO del DeptBean del DataGraph

List emps = (List) root.get("EmpBean");  
// la lista de todos los SDO del EmpBean del DataGraph

Patrones de contención del DataGraph

Las referencias entre los SDO (Service Data Object) se pueden definir como referencias con contención, en cuyo caso cuando se suprime un SDO la supresión es en cascada en todos los SDO contenidos. Además, cuando el DataGraph se serializa como un documento XML, el SDO contenido se anida dentro del SDO padre. Las referencias sin contención se expresan como expresiones de vía de acceso en el documento XML.

La contención debe definirse en el esquema del DataGraph. Cuando el mediador define el esquema, el SDO raíz (llamado DataGraphRoot) contiene todos los demás SDO. Las relaciones de EJB se definen como referencias de SDO sin contención.

Cuando el llamante define el esquema de DataGraph, hay tres patrones.
ROOT_CONTAINS_ALL
Es este patrón existe un SDO ficticio que es la raíz. Es ficticio en el sentido de que no se corresponde con ningún EJB. Su finalidad es contener todos los demás SDO. Si el mediador genera el esquema de gráfico, la raíz ficticia tendrá un nombre de clase de DataGraphRoot y contendrá referencias cuyos nombres son los nombres ASN de EJB. Si el llamante utiliza un esquema estático, la raíz puede tener cualquier nombre. La Eclass de la raíz se pasa a la llamada a createMediator.
ROOT_CONTAINS_SOME
Este patrón sólo se aplica al esquema estático. Todavía existe un SDO raíz ficticio que es la raíz de gráfico. Otros SDO deben estar contenidos en la Ereference que se corresponde con la relación de EJB utilizada en la sentencia de consulta o el SDO debe estar contenido en la raíz ficticia.
NO_DUMMY ROOT
Este patrón sólo se aplica al esquema estático. No existe ninguna raíz ficticia. El SDO raíz se corresponde con la primera sentencia de consulta que sólo debe devolver una instancia única. Los SDO que no sean de raíz debe estar contenidos en la Ereference que se corresponde con la relación de EJB utilizada en la sentencia de consulta.

Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_ejbmeddgs
File name: rejb_ejbmeddgs.html