Funciones de SDO

Servicios de Acceso a Datos

La tabla de abajo enumera los Servicios de Acceso a Datos (DAS) de SDO proporcionados actualmente:

Nombre del DAS Descripción
SDO_DAS_XML Un Servicio de Acceso a Datos XML que admite la lectura/escritura de SDOs como documentos XML.
SDO_DAS_Relational Un Servicio de Acceso a Datos basado en PDO que admite la lectura/escritura de SDOs de bases de datos relacionales. Implementa una política de concurrencia optimista para actualizaciones.

Clases predefinidas

SDO consiste en tres conjuntos de interfaces. El primer conjunto cubre aquellas interfaces usadas por las aplicaciones SDO típicas. Están identificadas por el prefijo de paquete 'SDO_'. El segundo conjunto son aquellas usadas para reflejar, y trabajar con, el modelo de un objeto de datos. Están identificadas por el prefijo de paquete 'SDO_Model_'. Finalmente, el tercer conunto son aquellas usadas por las implementaciones de Servicio de Acceso a Datos y están identificadas por el prefijo de paquete 'SDO_DAS_'. La mayoría de los usuarios de SDO no necesitarán usar o comprender las interfaces 'SDO_Model_' y 'SDO_DAS_'.

Interfaz del Programador de Aplicaciones SDO

SDO_DataObject

Es la interfaz principal a través de la cual se manipulan los objetos de datos. Además de los métodos de abajo, SDO_DataObject amplía las interfaces ArrayAccess, SDO_PropertyAccess (define los métodos __get() / __set() para la sobrecarga de acceso a propiedades), Iterator, y Countable.

Métodos

  • getSequence - obtener la secuencia para el objeto de datos

  • createDataObject - crear un objeto de datos hijo

  • clear - desestablecer las propiedades de un objeto de datos

  • getContainer - obtener el contenedor (también conocido como 'padre') de este objeto de datos

  • getTypeName - obtener el nombre del tipo de este objeto de datos

  • getTypeNamespaceURI - obtener el URI del espacio de nombres del tipo de este objeto de datos

SDO_Sequence

Es la interfaz a través de la cual se puede acceder a los objetos de datos para mantener el orden de las propiedades de los objetos de datos y permitir texto no estructurado. SDO_Sequence mantiene los índices contiguos y, por consiguiente, al insertar o eliminar elementos, puede mover otros elementos hacia arriba o hacia abajo. Además de los métodos de abajo, SDO_Sequence amplía las interfaces ArrayAccess, Iterator y Countable.

Métodos

  • getProperty - obtener la propiedad de un índice de secuencia dado

  • move - mover un elemento desde un índice de propiedad a otro

  • insert - insertar un nuevo valor en la secuencia

SDO_List

Es la interfaz a través de la cual se manipulan las propiedades polievaluadas. Además de los métodos definidos abajo, SDO_List amplía ArrayAccess, Iterator y Countable. SDO_List mantiene los índices contiguos y, por consiguiente, al insertar o eliminar elementos, puede mover otros elementos hacia arriba o hacia abajo.

Métodos

  • insert - insertar un nuevo valor en la lista

SDO_DataFactory

Es la interfaz a través de la cual se pueden crear objetos de datos. Un Servicio de Acceso a Datos es el responsable de rellenar el modelo (esto es, configurar la fábrica de datos con la información de tipo y estructura de los objetos de datos que puede crear) para la fábrica y puede opcionalmente devolver una instancia de, o implementar, la interfaz SDO_DataFactory.

Métodos

  • create - crear un nuevo objeto de datos

SDO_Exception

Una SDO_Exception es lanzada cuando no se puede completar la solicitud del llamador. Las subclases de SDO_Exception son:

  • SDO_PropertyNotSetException - la propiedad especificada existe pero no ha sido establecida o no tiene un valor predeterminado.

  • SDO_PropertyNotFoundException - la propiedad especificada no es parte del tipo de objeto de datos

  • SDO_TypeNotFoundException - el URI del espacio de nombres o el nombre del tipo es desconocido

  • SDO_InvalidConversionException - la conversión entre los tipos de la asignación no es posible

  • SDO_IndexOutOfBoundsException - el índice numérico de un objeto de datos, la secuencia o la lista no están en el rango válido

  • SDO_UnsupportedOperationException - la petición no puede ser completada debido a que no está permitida, por ejemplo, un intento de establecer una propiedad de sólo lectura.

Métodos

Se añade un método a aquellas clases que heredan de la clase interna Exception:

  • getCause - obtener la causa de esta SDO_Exception

Interfaces del Programador de Aplicaciones de Reflexión de SDO

SDO_Model_ReflectionDataObject

Es la interfaz principal usada para reflejar una instancia de un objeto de datos para obtener la informaición de su tipo de modelo y propiedades. Está diseñada para seguir el patrón de reflexión introducido en PHP 5.

Constructor

  • __construct - construir un nuevo SDO_Model_ReflectionDataObject.

Métodos

  • export - obtener un string que describe el objeto de datos.

  • getType - obtener el SDO_Model_Type del objeto de datos.

  • getInstanceProperties - obtener las propiedades de la instancia del objeto de datos.

  • getContainmentProperty - obtener la propiedad que define la relación de contención del objeto de datos.

SDO_Model_Type

Es la interfaz a través de al cual se puede recuperar la información del tipo de un objeto de datos. Esta interfaz se puede usar para averiguar el nombre del tipo y el URI del espacio de nombres del tipo, si el tipo permite contenido abierto, etc.

Métodos

SDO_Model_Property

Es la interfaz a través de la cual se puede recuperar la información de las propiedades de un objeto de datos. Esta interfaz se puede usar para averiguar el tipo de una propiedad, si una propiedad tiene un valor predeterminado, si la propiedad está contenida o hace referencia a su padre, su cardinalidad, etc.

Métodos

  • getName - obtener el nombre de la propiedad.

  • getType - obtener el tipo de la propiedad.

  • isMany - comprobar si la propiedad es polievaluada.

  • isContainment - comprobar si la propiedad describe una relación de contención.

  • getContainingType - obtener el tipo que contiene esta propiedad.

  • getDefault - obtener el valor predeterminado de una propiedad.

Interfaces del Desarrollador de Servicios de Acceso a Datos de SDO

SDO_DAS_DataObject

Es la interfaz a través de la cual un Servicio de Acceso a Datos puede acceder al SDO_DAS_ChangeSummary de un objeto de datos. El resumen de cambios es usado por el Servicio de Acceso a Datos para comprobar si hay conflictos al aplicar los cambios a una fuente de datos.

Métodos

SDO_DAS_ChangeSummary

Es la interfaz a través de la cual se accede al historial de cambios de un objeto de datos. El resumen de cambios contiene información de cualquier modificación hecha a un objeto de datos que suceda desde que la identificación fue activada. En el caso de eliminaciones y modificaciones, los valores antiguos también están contenidos en el resumen de cambios.

Si la identificación ya no está activa, el resumen de cambios sólo contendrá los cambios hechos hasta el punto donde la identificación fue desactivada. La reactivación de la identificación limpia el resumen de cambios. Esto es útil cuado un conjunto de cambios ha sido escrito por un DAS y el objeto de datos va a ser reusado.

Métodos

  • beginLogging - comenzar a registrar los cambios hechos en un objeto de datos

  • endLogging - finalizar de registrar los cambios hechos en un objeto de datos

  • isLogging - comprobar si el registro de cambios está activad

  • getChangedDataObjects - obtener una lista de los objetos de datos que han sido cambiados

  • getChangeType - obtener el tipo de cambio hecho a un objeto de datos

  • getOldValues - obtener una lista de los valores antiguos de un objeto de datos

  • getOldContainer - obtener el objeto de datos contenedor antiguo de un objeto de datos eliminado

SDO_DAS_Setting

Es la interfaz a través de la cual se accede al valor antiguo de una propiedad. El método de resumen de cambios getOldValues devuelve una lista.

Métodos

  • getPropertyIndex - obtener el índice de la propiedad cambiada

  • getPropertyName - obtener el nombre de la propiedad cambiada

  • getValue - obtener el valor antiguo de la propiedad cambiada

  • getListIndex - obtener el índice de la lista del valor antiguo si era parte de una propiedad polievaluada.

  • isSet - comprobar si la propiedad estaba establecida antes de ser modificada

SDO_DAS_DataFactory

Es la interfaz para contruir el modelo de un SDO_DataObject. SDO_DAS_DataFactory es una clase abstracta que proporciona un método estático que devuelve una implementación de fábrica de datos concreta. La implementación es usada por los Servicios de Acceso a Datos para crear un modelo SDO a partir de su modelo. Por ejemplo, un Servicio de Acceso a Datos Relacionales podría crear y rellenar un modelo SDO_DAS_DataFactory basado en un esquema de una base de datos relacional.

Métodos

  • getDataFactory - método estático para obtener una instancia de una fábrica de datos concreta

  • addType - añadir un nuevo tipo al modelo SDO

  • addPropertyToType - añadir una nueva propiedad a una definición de tipo en el modelo SDO

Tabla de contenidos

add a note add a note

User Contributed Notes 1 note

up
0
ng4rrjanbiah at rediffmail dot com
18 years ago
Some useful links on SDO:
1. Quick intro ( http://www.obalweb.net/wppro/?p=19 )
2. SDO for Zend Conf 2005 ( http://www.ibm.com/developerworks/forums/weblogs/data/SDOforZendConf2005.pdf ), Presentation, [481 KB], Graham Charters, 2005-10-18
3. Introducing Service Data Objects for PHP ( http://www.zend.com/pecl/tutorials/sdo.php ), 2005-08-05
4. Service Data Objects specification ( http://www.ibm.com/developerworks/library/specification/j-commonj-sdowmt/ ), 2003-2005

HTH,
R. Rajesh Jeba Anbiah
To Top