Tipos de Objetos Dinâmico e Estático para o DMS do JDBC

A Especificação do DataObjects do Service Data Object (SDO) 1.0 pode usar tipos estáticos e também tipos dinâmicos. Se souber que um determinado esquema dataGraph atende a todos os requisitos de consulta do aplicativo, poderá gerar o código SDO estático para obter benefícios de tempo de execução potenciais.

Com os tipos dinâmicos, as informações que definem a forma de um DataGraph são construídas no tempo de execução. O esquema DataGraph é criado pelo Data Mediator Service (DMS) JDBC a partir dos metadados fornecidos na criação. O JDBC DMS requer apenas os metadados e uma conexão com uma origem de dados para produzir o DataGraph com tipo dinâmico. Esse é o método padrão para criar o JDBC DMS.

Se você souber o formato do DataGraph no tempo de desenvolvimento, poderá utilizar um gerador de códigos para criar interfaces fortemente categorizadas (código de API de dados estáticos) que simplifiquem a navegação DataGraph, forneçam melhor verificação de tempo de compilação para os erros e melhorem o desempenho. Para obter informações adicionais sobre os metamodelos a partir dos quais você pode gerar código SDO estático, consulte a introdução da Especificação SDO 1.0. A introdução contém uma lista dos requisitos de escopo de especificação, na qual você pode localizar uma discussão breve sobre o suporte para API de dados estáticos. Observe que a API dinâmica ainda fica disponível quando você utiliza DataObjects categorizados.

Com o gerador de código, você cria classes para cada tipo de DataObject no DataGraph. Cada classe contém métodos getter() e setter() para cada propriedade no DataObject. Isso permite que um cliente chame métodos de tipo seguro em vez de transmitir o nome de uma propriedade. Por exemplo, ao invés de chamar a propriedade DataObject.get("CUSTFIRSTNAME"), os tipos gerados podem conter um método DataObject.getCustFirstName(). method. Se você estiver acessando um DataObject relacionado, um accessor retornará DataObject strongly-typed em vez de um DataObject regular. Por exemplo, DataObject.get("Customers_Orders") retorna um Objeto de Dados, mas DataObject.getOrders() retorna um objeto de tipo Pedido.

Para utilizar o tipo estático com JDBC DMS, os metadados, uma conexão com a origem de dados e o esquema DataGraph precisam ser fornecidos aos métodos create da classe JDBCMediatorFactory. Nesse caso, os metadados JDBC DMS não determinam o formato do DataGraph, mas fornecem as informações de DMS sobre a origem de dados de backend e a forma como elas são mapeadas para um DataGraph.

Ao utilizar DataObjects fortemente categorizados, é importante certificar-se de que a consulta corresponda ao esquema DataGraph. A consulta não será requerida para preencher todos os objetos de dados e propriedades no esquema, mas uma consulta não poderá retornar objetos de dados ou propriedades que não estejam definidas no esquema DataGraph. Por exemplo, o esquema DataGraph pode definir DataObjects de Cliente e Pedido, mas uma consulta poderá retornar apenas objetos Cliente. Além disso, o objeto Cliente pode definir propriedades para ID, Nome e Endereço, mas a consulta poderá não retornar um endereço. Nesse caso, o valor da propriedade de endereço é nulo e o valor não é atualizado no banco de dados quando o método applyChanges() é chamado. Nesse exemplo, a consulta não poderia retornar uma propriedade Fone porque ela não foi definida como uma propriedade no objeto Cliente. Quando uma consulta tentar isso, o DMS retornará uma exceção de metadados inválidos.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_dotypes
Nome do arquivo: rdat_dotypes.html