¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Importância do Serviço Persistente e dos Objetos Persistentes na Gestão de Dados

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

Olá, o que significa serviço persistente e qual é a sua importância, bem como a importância dos objetos persistentes?

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

1 Respuestas

0
Cargando...

Olá Chaitu,

Conceitos utilizados em Persistência

Dados transitórios e persistentes

Em princípio, os programas ABAP trabalham com dados locais do programa, que residem na sessão interna do programa. Esses dados existem apenas durante o contexto em que estão: ou seja, enquanto durar seu procedimento associado (para dados de procedimentos locais), seu objeto (para atributos de classes) ou seu programa (para dados globais do programa). Esses dados são conhecidos como transitórios. Os dados que podem ser mantidos além da execução do programa são conhecidos como persistentes. Nos sistemas SAP, os dados persistentes geralmente aparecem como conteúdo de tabelas de bancos de dados, mas também como conteúdo de arquivos em servidores de aplicação e apresentação.

Para trabalhar com dados persistentes, o sistema deve carregá-los em objetos de dados transitórios pertencentes ao programa ABAP enquanto esse programa é executado. Em seguida, após o processamento ser concluído, os dados são armazenados novamente de forma persistente. Durante esse tempo, o conteúdo dos dados existe duas vezes: uma vez no programa ABAP (transitoriamente) e outra vez no meio de armazenamento apropriado (persistentemente). Um processo típico seria ler dados de uma tabela de banco de dados usando a instrução SELECT em uma área de trabalho transitória; modificar a área de trabalho; e depois atualizar a tabela de banco de dados (usando UPDATE). Nestes casos, os conteúdos dos dados transitórios e persistentes são diferentes durante esse processo.

Dados em programação orientada a objetos

Em um aplicativo ideal orientado a objetos, os dados ocorrem apenas como atributos de objetos (ignorando os dados locais nos métodos por enquanto). Os objetos são uma agregação de funções (em métodos) e dados (em atributos). A descrição de um objeto, ou seja, a classe, existe persistentemente como uma peça de código-fonte, mas seus atributos existem apenas enquanto o objeto existir. No entanto, um objeto em ABAP Objects é transitório em princípio. Ele existe na sessão interna do programa apenas a partir do momento em que é gerado (usando CREATE OBJECT) até ser eliminado pelo Coletor de Lixo. Portanto, para trabalhar com dados persistentes em objetos, é necessário programar o acesso onde esses objetos são armazenados dentro dos métodos da classe.

No entanto, na programação de aplicativos empresariais totalmente orientada a objetos, é inútil simplesmente transferir a separação clássica de dados e funções para métodos, ou seja, trabalhar com objetos, mas usar programação procedural dentro dos próprios objetos. Idealmente, você poderia manter a encapsulação de dados e funções de forma persistente dentro do objeto. Um programa poderia deixar um objeto em um determinado estado e um segundo programa poderia continuar trabalhando no objeto nesse estado. As classes de objetos já são persistentes de qualquer forma, mas é necessário algum meio de salvar os atributos de um objeto de forma persistente e depois fazer referência à classe apropriada. O Serviço de Persistência permite fazer exatamente isso.

O Serviço de Persistência para Objetos Persistentes

Tecnicamente falando, os objetos ABAP são sempre transitórios, assim como os objetos de dados nos programas ABAP. Não há objetos persistentes em ABAP Objects. No entanto, o Serviço de Persistência dentro de Object Services permite aos desenvolvedores de aplicativos trabalhar com objetos persistentes. O Serviço de Persistência pode ser considerado como uma camada de software entre o programa ABAP e o repositório de dados (ou seja, o banco de dados), que permite salvar os atributos dos objetos com uma identidade única e depois carregá-los quando necessário.

Em resumo, o Serviço de Persistência garante que um objeto seja inicializado em um estado especificado e salva o estado desse objeto quando necessário. A relação entre o objeto e a descrição de seu estado no banco de dados é semelhante à relação entre dados transitórios e persistentes descrita anteriormente. O estado do objeto quando instanciado reflete o estado dos dados no banco de dados naquele momento. As alterações no estado do objeto no programa ABAP não são gravadas no banco de dados imediatamente, mas somente após a solicitação apropriada ser feita (ou seja, a instrução COMMIT WORK ser executada). Portanto, um objeto persistente existe originalmente no banco de dados e como uma cópia em um ou mais programas ABAP. Se vários programas usam o Serviço de Persistência para instanciar objetos da mesma classe antes que um desses programas tenha alterado o estado usando COMMIT WORK, todos os objetos terão o mesmo estado inicial. Atualmente, não implementamos um conceito de bloqueio no Serviço de Persistência, que garantiria que houvesse apenas uma mapeamento transitório para cada objeto persistente. Portanto, em última análise, os programadores ABAP não estão realmente trabalhando com objetos persistentes como tais; em vez disso, o Serviço de Persistência faz parecer que estão.

Classes Persistentes

Para usar o Serviço de Persistência para objetos, as classes desses objetos devem ser criadas como classes persistentes no Construtor de Classes. O termo classe persistente não implica que uma classe seja persistente. (Como modelo para objetos, cada classe é persistente). Em vez disso, significa que os objetos dessa classe e seu estado são gerenciados pelo Serviço de Persistência. Por exemplo, os objetos dessas classes são instanciados no programa ABAP com um método do Serviço de Persistência, que garante que a inicialização seja correta (não com a instrução CREATE OBJECT convencional). Quando o Construtor de Classes cria uma classe persistente, ele gera automaticamente uma classe associada, conhecida como a classe atuante ou agente de classe, cujos métodos gerenciam os 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?