¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Importancia del Servicio Persistente y los Objetos Persistentes en la Gestión de Datos

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 99 Vistas
0
Cargando...

Hola, ¿qué significa servicio persistente y cuál es su importancia, así como la importancia de los objetos persistentes?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Hola Chaitu,

Conceptos utilizados en Persistencia

Datos transitorios y persistentes

En principio, los programas ABAP trabajan con datos locales del programa, que residen en la sesión interna del programa. Estos datos existen solo mientras dura su contexto: es decir, mientras dure su procedimiento asociado (para datos de procedimientos locales), su objeto (para atributos de clases) o su programa (para datos globales del programa). Estos datos se conocen como transitorios. Los datos que pueden conservarse más allá de la ejecución del programa se conocen como persistentes. En los sistemas SAP, los datos persistentes suelen aparecer como contenido de tablas de bases de datos, pero también como contenido de archivos en servidores de aplicaciones y presentación.

Para trabajar con datos persistentes, el sistema debe cargarlos en objetos de datos transitorios pertenecientes al programa ABAP mientras se ejecuta ese programa. Luego, después de que se haya completado el procesamiento, almacena los datos nuevamente en una forma persistente. Durante este tiempo, el contenido de los datos existe dos veces: una vez en el programa ABAP (transitoriamente) y otra vez en el medio de almacenamiento apropiado (persistentemente). Un proceso típico sería leer datos de una tabla de base de datos utilizando la instrucción SELECT en un área de trabajo transitoria; modificar el área de trabajo; y luego actualizar la tabla de base de datos (usando UPDATE). En tales casos, los contenidos de los datos transitorios y persistentes son diferentes durante este proceso.

Datos en programación orientada a objetos

En una aplicación ideal orientada a objetos, los datos ocurren solo como atributos de objetos (si ignoramos los datos locales en los métodos por el momento). Los objetos son una agregación de funciones (en métodos) y datos (en atributos). La descripción de un objeto, es decir, la clase, existe persistentemente como una pieza de código fuente, pero sus atributos existen solo mientras exista el objeto. Sin embargo, un objeto en ABAP Objects es transitorio en principio. Existe en la sesión interna del programa solo desde el momento en que se genera (usando CREATE OBJECT) hasta que es eliminado por el Recolector de Basura. Por lo tanto, para trabajar con datos persistentes en objetos, debes programar el acceso a donde se almacenan esos objetos dentro de los métodos de la clase.

Sin embargo, en la programación de aplicaciones empresariales completamente orientadas a objetos, es inútil simplemente transferir la separación clásica de datos y funciones a los métodos, es decir, trabajar con objetos pero usar programación procedural dentro de los propios objetos. Idealmente, podrías guardar la encapsulación de datos y funciones persistentemente dentro del objeto. Un programa podría dejar un objeto en un cierto estado y un segundo programa podría seguir trabajando en el objeto en ese estado. Las clases de objetos ya son persistentes de todos modos, pero necesitas alguna forma de guardar los atributos de un objeto persistentemente y luego hacer referencia a la clase apropiada. El Servicio de Persistencia te permite hacer exactamente eso.

El Servicio de Persistencia para Objetos Persistentes

Técnicamente hablando, los objetos ABAP son siempre transitorios, al igual que los objetos de datos en los programas ABAP. No hay objetos persistentes en ABAP Objects. Sin embargo, el Servicio de Persistencia dentro de Object Services permite a los desarrolladores de aplicaciones trabajar con objetos persistentes. El Servicio de Persistencia puede considerarse como una capa de software entre el programa ABAP y el repositorio de datos (es decir, la base de datos), que te permite guardar los atributos de objetos con una identidad única, y luego cargarlos nuevamente cuando los necesites.

En resumen, el Servicio de Persistencia garantiza que un objeto se inicialice en un estado especificado y guarda el estado de ese objeto cuando sea necesario. La relación entre el objeto y la descripción de su estado en la base de datos es similar a la relación entre datos transitorios y persistentes descrita anteriormente. El estado del objeto cuando se instancia refleja el estado de los datos en la base de datos en ese momento. Los cambios en el estado del objeto en el programa ABAP no se escriben en la base de datos inmediatamente, sino solo después de que se haya realizado la solicitud apropiada (es decir, se haya ejecutado la instrucción COMMIT WORK). Por lo tanto, un objeto persistente existe como original en la base de datos y como copia en uno o más programas ABAP. Si varios programas utilizan el Servicio de Persistencia para instanciar objetos de la misma clase antes de que uno de estos programas haya cambiado el estado usando COMMIT WORK, todos los objetos tendrán el mismo estado inicial. Actualmente, no hemos implementado un concepto de bloqueo del Servicio de Persistencia, que garantizaría que hubiera solo un mapeo transitorio para cada objeto persistente. Por lo tanto, en última instancia, los programadores ABAP no están trabajando realmente con objetos persistentes como tales; más bien, el Servicio de Persistencia hace que parezca que lo están.

Clases Persistentes

Para usar el Servicio de Persistencia para objetos, las clases de estos objetos deben crearse como clases persistentes en el Constructor de Clases. El término clase persistente no implica que una clase sea persistente. (Como plantilla para objetos, cada clase es persistente). Más bien, significa que los objetos de esa clase y su estado son gestionados por el Servicio de Persistencia. Por ejemplo, los objetos de estas clases se instancian en el programa ABAP con un método del Servicio de Persistencia, que garantiza que la inicialización sea correcta (no con la instrucción CREATE OBJECT habitual). Cuando el Constructor de Clases crea una clase persistente, genera automáticamente una clase asociada, conocida como el actor de clase o agente de clase, cuyos métodos gestionan los objetos de

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?