Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

A primeira vez que acessar o developerWorks, um perfil será criado para você. Informações do seu perfil (tais como: nome, país / região, e empresa) estarão disponíveis ao público, que poderá acompanhar qualquer conteúdo que você publicar. Seu perfil no developerWorks pode ser atualizado a qualquer momento.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

O que há de novo e interessante no Optim Development Studio, Parte 2: Explorando o Optim Development Studio e o pureQuery Runtime Versão 2.2 Fix Pack 3

Usando controle administrativo aprimorado para otimização de cliente

Sonali Surange, Advisory Software Engineer, EMC
Photo: Sonali Surange
Sonali Surange é arquiteta de software do Optim Development Studio no IBM Silicon Valley Lab. Anteriormente, Sonali liderou o desenvolvimento de diversos componentes-chave das ferramentas Visual Studio .Net para bancos de dados IBM.
(Um autor Contribuidor do IBM developerWorks)
Adekunle O Adio, Software Engineer, IBM
Adekunle Adio é engenheiro de software no IBM Lenexa Lab. Ele trabalhou nas ferramentas Data Facility Storage Management Subsystem (DFSMS), IBM Migration Toolkit (MTK) e pureQuery. Atualmente, Adekunle está trabalhando em produtos Tivoli.
Zeus Courtois, Software Engineer, WSO2 Inc
Zeus Courtois
Zeus Courtois é engenheiro de software da equipe do Data Studio Development que trabalha com ferramentas pureQuery no IBM Silicon Valley Lab em San Jose, Califórnia. Antes de ingressar nessa equipe, Zeus era integrante da equipe do Data Studio Enablement. Zeus tem Mestrado em Sistemas de Informação pela Texas A&M International University.

Resumo:  Os novos recursos do Fix Pack 3 do IBM Optim™(TM) Development Studio e pureQuery Runtime 2.2 fornecem significativos aprimoramentos em segurança, controle e manutenção para administradores de banco de dados que usam a otimização de cliente pureQuery para oferecer segurança, estabilidade e desempenho de aplicativos de banco de dados Java. Os aprimoramentos são baseados em um novo repositório central para o armazenamento de metadados e propriedades do pureQuery. Este artigo usa um cenário para ilustrar alguns dos novos recursos possibilitados pelo Fix Pack 3.

Data:  15/Jul/2010
Nível:  Intermediário
Atividade:  1969 visualizações
Comentários:  


Introdução

A otimização de cliente pureQuery permite capturar SQL e metadados relacionados de um aplicativo Java em execução de forma que seja possível usar esse SQL capturado para ajudar a melhorar o diagnóstico de problemas, análise de dependência e segurança por meio da especificação de que somente SQL capturado e revisado seja executado. Quando a origem de dados do destino for DB2, o SQL capturado pode ser ligado a pacotes de banco de dados para execução de SQL estático, o que pode ajudar a fornecer um desempenho mais consistente (ou ainda melhor), gerenciamento aprimorado de mudanças e rastreabilidade do aplicativo, bem como ainda mais segurança usando o modelo de segurança de execução estática. Para obter detalhes sobre os benefícios da otimização de cliente, consulte a seção Recursos deste artigo.

A otimização de cliente pureQuery está sendo avaliada e implementada em mais e mais empresas. Este artigo reflete o conjunto inicial de mudanças implementadas e fornecidas no Fix Pack 3 do Optim pureQuery Runtime e Optim Development Studio. As mudanças oferecem suporte a complexos ambientes empresariais para dar ao administrador de banco de dados (DBA) maior controle sobre o processo, reduzindo assim a necessidade de contar com um administrador do servidor de aplicativos. A manutenção contínua também foi facilitada.

O artigo introduz um cenário que usa e mantém aplicativos em produção que usam SQL estático com otimização de cliente pureQuery. Embora este artigo concentre-se no uso do Optim Development Studio para fazer isso, todos os recursos introduzidos neste release também estão disponíveis na linha de comando para ativar a automação de scripts.

Visão geral do cenário

O cenário de exemplo descreve como fazer o seguinte:

  1. Configurar o aplicativo de exemplo capturando o SQL inicial e ligar pacotes
  2. Configurar e preencher o repositório com o SQL capturado e as propriedades associadas do tempo de execução
  3. Identificar uma mudança no aplicativo e colocá-la em produção

Finalmente, este artigo descreve novos recursos no gerenciamento de pacotes, incluindo o seguinte:

  • Agrupamento de instruções em pacotes separados com base em uma cadeia de caractere ou registro especial
  • Remoção de SQL antigo do arquivo capturado
  • Relatório de mudanças entre uma cópia de um arquivo de captura em funcionamento (de desenvolvimento) e o arquivo que está atualmente no repositório

Pré-requisitos

Para seguir o cenário de exemplo, realize estas etapas antes de começar.

  1. Instale o Optim Development Studio 2.2 Fix Pack 3 (consulte Recursos para obter o link do documento de download desse fix pack).
  2. Conecte-se ao banco de dados de exemplo GSDB no DB2®. Este cenário usa DB2 para Linux®, UNIX® e Windows®. Consulte a seção de Recursos para obter um link para o banco de dados GSDB.
  3. Faça o download do código do aplicativo JDBC: TutMod.java e Utils.java (consulte Downloads).

Configurando o aplicativo de exemplo

Esta seção descreve as etapas necessárias para simular um ambiente que tem um aplicativo em produção usando SQL estático. As etapas instruem você a executar o aplicativo creditCard JDBC existente usando o processo de captura de otimização de cliente, substituindo os literais no aplicativo por marcadores de parâmetro. Para obter mais informações sobre otimização de cliente e sobre o recurso de substituição de literal, consulte Recursos para obter um link para a publicação do IBM Redbooks® chamada Usando o Gerenciamento Integrado de Dados para alcançar Objetivos de Nível de Serviço.

Capturar e ligar SQL a partir do aplicativo de exemplo

Para criar o arquivo de captura, siga estas etapas:

  1. No Data Source Explorer, crie uma conexão chamada CREDIT com o banco de dados GSDB.
  2. Crie um projeto Java chamado creditCardApp. Ele contém o aplicativo do seu cartão de crédito.
  3. Mova o código de origem fornecido (TutMod.java, Utils.java) para a pasta src de creditCardApp.
  4. Clique com o botão direito do mouse no projeto creditCardApp e selecione Add pureQuery support.
  5. Siga as etapas no assistente para selecionar a conexão CREDIT e fornecer o valor de esquema padrão de GOSALESCT.
  6. Certifique-se de que a caixa de seleção Enable SQL capturing and binding for JDBC applications está marcada.
  7. Para ativar a substituição de literal, siga estas etapas:
    1. Navegue até a pasta src no projeto creditCardApp e abra o arquivo pdq.properties.
    2. Adicione a linha pdq.sqlLiteralSubstitution=ENABLE como mostra a Figura 1.

Figura 1. Ativando a substituição de literal do SQL em pdq.properties

Observe que, por padrão, o modo de captura está definido para ON com captureMODE=ON.

  1. Para capturar o SQL, siga estas etapas:
    1. Clique com o botão direito do mouse em TutMod.java e selecione Run As > Java Application.
    2. Ao executar o aplicativo, transmita os seguintes parâmetros: <database> <host> <port> <username> <password>
    3. Clique com o botão direito do mouse no projeto e selecione Refresh quando o aplicativo concluir a execução. O SQL capturado nessa execução é colocado em um arquivo chamado capture.pdqxml, que pode ser encontrado na pasta pureQueryFolder.
  2. Prepare o aplicativo para execução usando SQL estático. Para criar os pacotes, ligue o aplicativo seguindo estas etapas.
    1. No pureQueryFolder, abra o arquivo Default.bindprops e digite -bindOptions "QUALIFIER (GOSALESCT)" para defaultOptions, como mostra a Figura 2.

Figura 2. Fornecendo opções de ligação em Default.bindProps

    1. Clique com o botão direito do mouse no arquivo capture.pdqxml e selecione pureQuery > Bind.
    2. Selecione a conexão CREDIT.
    3. Use as configurações padrão no assistente e clique em Finish.

Agora, o SQL no aplicativo é coletado e os pacotes foram criados para a execução do SQL estático do aplicativo.


Configurando o repositório de gerenciamento do SQL

O SQL capturado e as propriedades de execução associadas agora podem ser armazenados em um repositório de gerenciamento de SQL do banco de dados, o que aumenta a segurança e fornece ao DBA um controle centralizado das informações capturadas. A manutenção do SQL capturado junto com as propriedades de execução reduz os erros durante os processos de ligação e execução. O repositório de gerenciamento de SQL contém a configuração do tempo de execução PQ, o PDQXML e o PDQXML incremental, como mostra a Figura 3. Esses artefatos podem ser gerenciados pelo Optim Development Studio ou por ferramentas de linha de comandos para acessar o banco de dados, criar pacotes no banco de dados e assim por diante. O pureQuery Runtime também usa os artefatos para acessar as propriedades adequadas quando o aplicativo é executado.


Figura 3. Apresentando o repositório de gerenciamento de SQL

A seguir, veja algumas vantagens de usar o repositório de gerenciamento de SQL:

  • As informações gerenciadas de forma central podem ser extraídas e usadas por aplicativos que usam otimização de cliente pureQuery.
  • A estratégia de backup das informações pode ser alinhada às estratégias de backup do banco de dados.
  • O banco de dados pode impingir o controle de acesso.
  • Os dados derivados do SQL capturado podem ser compartilhados com o recurso Extended Insight do Optim Performance Manager Extended Edition, que ativa uma solução de monitoramento de ponta a ponta que é controlada pelos administradores do banco de dados.

É possível continuar trabalhando com seus arquivos de captura no sistema de arquivos durante o desenvolvimento, o que era suportado nas versões anteriores. Quando você estiver pronto para a implementação, é possível optar por carregar para o repositório de gerenciamento de SQL.

É possível criar o repositório de gerenciamento de SQL juntamente com seu banco de dados de transação usado na produção. Isso assegura alta disponibilidade para o repositório de gerenciamento de SQL. Como alternativa, é possível criar o repositório de gerenciamento de SQL em um banco de dados separado. Para obter mais informações sobre flexibilidade nas configurações suportadas, consulte o Centro de Informações do Gerenciamento Integrado de Dados sobre otimização de cliente, listado em Recursos.

O cenário deste artigo cria o repositório de gerenciamento de SQL no mesmo banco de dados que o aplicativo usa na produção.

O Optim Development Studio facilita a execução das ferramentas de linha de comando fornecendo o arquivo manageRepository.bat. É possível usar os exemplos fornecidos nos arquivos bat como ponto de partida para aprender sobre a ferramenta.

Para criar o repositório, vá até <ODSInstallLocation>\dsdev\bin e use o código da Listagem 1, que é explicado detalhadamente abaixo da listagem.


Listagem 1. Criando o repositório
manageRepository -create repository
	  -repositoryType pureQueryOnly
	  -repositoryURL <url> 
	  -repositoryUsername <userid> 
	  -repositoryPassword <pwd> 
	  -repositoryDriverClass com.ibm.db2.jcc.DB2Driver

-repositoryType pureQueryOnly (o padrão) cria um repositório que contém tudo o que o tempo de execução pureQuery precisa, além de informações adicionais sobre o SQL necessário para a determinação de problemas e análise de impacto, incluindo dependências de SQL.

-repositoryType pureQueryRuntimeOnly cria um repositório leve somente com as informações necessárias para o tempo de execução da otimização de cliente pureQuery.

Se o seu repositório coexistir com o banco de dados do seu aplicativo, considere a possibilidade de usar um repositório leve para reduzir o impacto no desempenho.

Para usar SQL estático como alternativa ao acessar o repositório, use o comando bind para criar os pacotes do banco de dados, conforme mostra a Listagem 2.


Listagem 2. Usando bind para criar pacotes do banco de dados
manageRepository 
	-bind packages
	-repositoryDriverClass com.ibm.db2.jcc.DB2Driver 
	-repositoryURL <url> 
	-repositoryUsername <userid> 
	-repositoryPassword <pwd>  

Finalmente, se você quiser controlar e conceder os privilégios para usuários específicos a fim de fornecer acesso específico aos pacotes. Por exemplo, se você escolher não acessar o repositório usando SQL estático, será necessário conceder privilégios às próprias tabelas de repositório. Consulte o comando manageRepository -grant para executar essas ações, conforme necessário. Ou então consulte o tópico do Centro de Informações do Gerenciamento Integrado de Dados sobre otimização de cliente, listado em Recursos.

Agora, você capturou o SQL em seu aplicativo e ligou o SQL a fim de criar pacotes de banco de dados como preparação para executá-lo usando SQL estático. Você também criou o repositório de gerenciamento de SQL que deseja usar para armazenar seu SQL capturado e as propriedades do tempo de execução.

Carregue o aplicativo e as propriedades para o repositório de gerenciamento de SQL

Uma nova perspectiva do Eclipse, a perspectiva Common Repositories, permite que os DBAs funcionem com o SQL capturado usando uma abordagem passo-a-passo apresentada pela interface do usuário. Nesta etapa do processo, você usará essa nova perspectiva.

O grupo do tempo de execução é outro conceito novo. Um grupo do tempo de execução é a combinação do arquivo de captura e das propriedades associadas, conforme armazenadas no repositório de gerenciamento. É possível criar vários grupos de tempo de execução para atender aos requisitos da propriedade de execução do seu aplicativo. Por exemplo, para um aplicativo, é possível ativar a captura para alguns grupos de tempo de execução e mantê-la desativada em outros, dependendo das suas necessidades.

Também é possível criar várias versões de um grupo de tempo de execução e marcar a versão que deseja usar no tempo de execução como active.

Para carregar o arquivo capturado e as propriedades para o repositório, siga estas etapas

  1. Remova a linha pdq.pureQueryXml de pdq.properties. Por padrão, quando o Optim Development Studio configura as propriedades para execução de SQL estático, ele aponta para o local do arquivo de captura a partir do seu espaço de trabalho. Uma vez que esse local é incorreto quando o arquivo de captura é carregado para o repositório de gerenciamento de SQL, essa ação remove a propriedade que aponta para o espaço de trabalho. Como resultado, seu arquivo pdq.properties deve ter o conteúdo mostrado na Listagem 3.

Listagem 3. Arquivo pdq.properties com o local do arquivo de captura removido
	pdq.captureMode=ON
	pdq.executionMode=STATIC
	pdq.sqlLiteralSubstitution=ENABLE

  1. Crie uma conexão para apontar para o banco de dados que contém o repositório seguindo estas etapas:
    1. Clique em Window > Open Perspective para abrir a perspectiva Optim Common Repositories.
    2. Vá até o Common Repository Explorer e clique com o botão direito do mouse em Common Repository Connections.
    3. Clique em New.
    4. Crie uma conexão com o repositório criado na seção Configurando o repositório de gerenciamento do SQL e clique em Finish, como mostra a Figura 4.

Figura 4. Criar uma conexão com o repositório de gerenciamento de SQL

  1. Para criar um grupo de tempo de execução chamado CREDIT_RG, siga estas etapas:
    1. Clique com o botão direito do mouse no nó SQL Management e selecione New Runtime Group.
    2. Digite o nome e a versão do grupo de tempo de execução.
    3. Selecione os arquivos de propriedades do seu projeto para carregamento, como mostra a Figura 5.

Figura 5. Etapas para criar um grupo de tempo de execução

    1. Clique em Finish.
    Agora, o SQL capturado e as propriedades de tempo de execução associadas são carregados para o repositório.
  1. Clique com o botão direito do mouse na nova versão do grupo de tempo de execução e selecione Mark Active para marcar essa versão como ativa, conforme mostrado na Figura 6.

Figura 6. Marcar a versão do grupo de execução como ativa

Quando o aplicativo é executado, o tempo de execução pureQuery usa esse arquivo capturado (pureQueryXml) e suas propriedades associadas provenientes do repositório de gerenciamento de SQL.


Identificando mudanças subsequentes para um aplicativo em produção

Esta seção descreve como fazer uma mudança no aplicativo em produção e como essas mudanças podem ser facilmente gerenciadas. Para o cenário de exemplo, alguns meses depois de o aplicativo ter sido colocado em produção, uma nova função (incluindo um novo SQL) é adicionada ao aplicativo, que agora precisa ser implementado. Esta seção descreve como replicar esse ambiente aqui e como usar os novos recursos do fix pack para implementar as mudanças no aplicativo em produção.

Criar uma mudança no aplicativo em produção

Nesta seção, remova os comentários dos métodos de atualização e exclusão para criar um SQL adicional. Em seguida, execute o aplicativo no modo de captura para coletar o SQL recentemente adicionado. Você tem a opção de salvar o SQL recentemente adicionado diretamente no grupo de tempo de execução para gerenciamento de repositório de SQL. Siga estas etapas:

Para obter mais informações

Está disponível uma grande flexibilidade para controlar quando e como as mudanças são atualizadas no banco de dados. Para obter uma lista detalhada de opções, consulte o tópico sobre otimização de cliente no Centro de Informações do Gerenciamento Integrado de dados, em Recursos.

  1. Remova os comentários dos métodos basicUpdate e basicDelete em TutMod.java.
  2. Adicione os valores a pdq.properties em creditCardApp, como mostra a Listagem 4.

Listagem 4. Valores do repositório pdq.properties
pdq.finalRepositoryProperties = <url>;user=<user>;password=<pwd>;
pdq.properties=CREDIT_GRP
pdq.repositoryRequired=AtStartupAndForOutput

  • finalRepositoryProperties especifica o local a ser usado ao recuperar propriedades de tempo de execução pureQuery e informações do arquivo pureQueryXML.
  • propertiesGroupId especifica o ID do grupo de tempo de execução em um repositório de gerenciamento de SQL a ser usado ao recuperar ou armazenar dados nesse repositório.
  • repositoryRequired especifica quando o repositório de gerenciamento de SQL é necessário.
  1. Execute o aplicativo novamente. O arquivo de captura com o novo SQL é salvo no repositório de gerenciamento de SQL.

Identificar a mudança no aplicativo em produção

Esta seção descreve como considerar todo o SQL coletado de forma incremental no repositório e como configurar as propriedades de ligação necessárias ao SQL recentemente capturado. Você também aprenderá como atualizar (mesclar as mudanças e configurar) e executar a operação de ligação nas novas mudanças. É possível optar por executar essas etapas separadamente, ou executá-las todas de uma só vez, facilitando a manutenção contínua. Siga estas etapas:

  1. Clique com o botão direito do mouse na versão ativa do grupo de tempo de execução e selecione Manage, como mostra a Figura 7.

Figura 7. Common Repository Explorer

  1. Clique em Run All Steps, como mostrado na Figura 8.

Figura 8. Executando todas as etapas para ligar e carregar mudanças

  1. Digite 2 como a nova versão do grupo de tempo de execução.
  2. Selecione CREDIT como a conexão para ligação.

Observe que é possível ligar mudanças delta às novas versões de pacote, conforme necessário. É possível criar versões de pacote fornecendo propriedades de configuração da opção pkgVersion.

Agora, as novas mudanças são implementadas e o aplicativo está pronto para novamente ser executado na produção.


Gerenciando SQL e pacotes

Os esquemas de banco de dados frequentemente sofrem mudanças depois que os aplicativos são implementados na produção. Isso provoca mudanças no SQL e pode causar mudanças no aplicativo que consome o SQL. Dependendo da mudança no esquema, o aplicativo agora pode acessar mais de um esquema, o que cria a necessidade de organizar adequadamente o SQL contido nos pacotes de SQL estático por esquema, de forma que os pacotes possam ser ligados usando o qualificador correto por pacote.

No Fix Pack 1, a IBM introduziu os recursos para ativar aplicativos de estilo anotado pureQuery (agora chamados de DAO) para acessar vários esquemas. No Fix Pack 3, é possível identificar melhor os aplicativos existentes que acessam vários esquemas organizando automaticamente pacotes no arquivo capturado por esquemas ou tabelas. É possível fazer isso na linha de comando ou nas ferramentas do Optim Development Studio.

Como parte da manutenção regular, é necessário manter automaticamente o arquivo SQL atualizado para que seja possível coletar o novo SQL sem executar o aplicativo novamente, além de remover o SQL antigo e não usado do SQL previamente capturado.

Esta seção descreve como usar esses recursos de gerenciamento de pacotes.

Capturar SQL sem executar o aplicativo

O Optim Development Studio usa análise de código de origem para identificar as instruções SQL que são usadas pelo aplicativo a fim de mostrá-las na descrição SQL. Esse recurso está disponível para aplicativos JDBC, Hibernate ou JPA. É possível usar esse recurso para coletar o novo SQL a ser mesclado no arquivo de captura existente sem executar o aplicativo novamente no modo de captura.

Siga estas etapas:

  1. Crie a tabela CUST_CRDT_CARD em um novo esquema GOSALESRT seguindo estas etapas:
    1. Selecione a tabela CUST_CRDT_CARD no esquema GOSALESCT.
    2. Clique com o botão direito do mouse na tabela selecionada e selecione Copy.
    3. Clique em GOSALESRT.
    4. Clique com o botão direito do mouse e selecione Paste.
    5. No assistente, selecione o botão de opção para Paste directly into target e clique em Next.
    6. Selecione o botão de opção para Copy database objects only.
    7. Clique na opção Copy dependent database objects e clique em Finish. Agora, a tabela CUST_CRDT_CARD e suas tabelas dependentes são criadas no esquema GOSALESRT.
  2. Altere o seu aplicativo de forma que o método basicInsert aponte para a tabela do novo esquema (GOSALESRT em vez de GOSALESCT), como mostra a Listagem 5.

Listagem 5. Editando o método basicInsert
Line 166:
stmt.executeUpdate("INSERT INTO GOSALESRT.CUST_CRDT_CARD(CUST_CC_ID, CUST_CODE, 
        CUST_CC_NUMBER, CUST_CC_SERV_CODE) "+ "  
        VALUES(999, 999, '10000000009669483', 692)");
Line 171:
stmt.executeUpdate("INSERT INTO GOSALESRT.CUST_CRDT_CARD(CUST_CC_ID, CUST_CODE, 
        CUST_CC_NUMBER, CUST_CC_SERV_CODE) "+ "  
        VALUES(888, 888, '10000000009669483', 693)");

  1. Abra a descrição SQL, caso ainda não esteja aberta, clicando em Window > Show View > Data Management e selecionando SQL Outline.
  2. Expanda GOSALESRT na guia Database na descrição SQL. É possível ver as duas novas instruções insert, que agora apontam para o esquema GOSALESRT em vez de GOSALESCT.
  3. Exporte as novas instruções SQL para um arquivo SQL capturado existente selecionando e clicando com o botão direito do mouse nas instruções SQL e, em seguida, selecionando Export to SQL File, como mostra a Figura 9.

Figura 9. Guia SQL Outline Database

Sugestão: Também é possível criar manualmente um arquivo .sql a partir do seu cache dinâmico da instrução ou usando outros mecanismos de preferência. Uma vez que você tenha o arquivo .sql, é possível combinar o SQL com o arquivo de captura existente, usando o mesmo mecanismo descrito nas seguintes etapas.

  1. Mescle o novo SQL com o SQL já capturado no repositório usando a perspectiva Optim Common Repositories e seguindo estas etapas:
    1. No nó da versão ativa, clique com o botão direito do mouse e selecione Add SQL. Observe que, em vez disso, é possível usar o menu Add SQL to Active Version no nó Grupo de tempo de execução para executar a mesma função.
    2. Forneça o arquivo .sql criado na etapa anterior, como mostra a Figura 10.

Figura 10. Common Repository Explorer

    1. Clique em Finish.

Agrupar automaticamente SQL em pacotes por esquema ou tabela

Para assegurar que vários esquemas sejam suportados corretamente, uma nova opção no utilitário de configuração permite o agrupamento de SQLs por uma cadeia de caractere. Fornecendo o nome de um esquema ou tabela no valor da cadeia de caractere, é possível agrupar facilmente todas as SQLs usando um determinado esquema ou tabela em seus próprios pacotes. Essa nova opção é chamada groupSQLByStrings. Para o cenário de exemplo, use essa opção para fazer o agrupamento segundo o esquema GOSALESRT. Siga estas etapas:

  1. Clique na guia Configure Properties.
  2. Adicione as propriedades, como mostra a Listagem 6.

Listagem 6. Adicionando propriedades
<yourProjectLocation>\CreditCardApp\pureQueryFolder\capture.
pdqxml= -rootPkgName Credit -groupSQLByStrings (GOSALESRT)

Removendo automaticamente o SQL antigo não usado

Para assegurar que as instruções SQL mais antigas referentes a um esquema antigo sejam excluídas ao final, é possível usar uma nova opção no utilitário de configuração, chamada removeInactiveForDays, a fim de remover o SQL que já não é executado há um determinado número de dias. A ativação dessa opção em um script executado regularmente pode garantir a limpeza automática do arquivo de captura, a fim de remover o SQL. Esta seção descreve como usar a opção removeInactiveForDays.

Siga estas etapas:

  1. Clique na guia Configure Properties.
  2. Adicione as propriedades cleanconfigure, groupSQLByStrings e removeInactiveForDays, como mostra a Listagem 7.

Listagem 7. Adicionando propriedades para remover SQL não usado
<yourProjectLocation>\CreditCardApp\pureQueryFolder\capture.
pdqxml= -rootPkgName Credit 
         -groupSQLByStrings (GOSALESRT)
         -cleanConfigure TRUE
         -removeInactiveForDays 60  

A opção cleanConfigure aciona a reconfiguração do arquivo. O SQL inativo é removido após 60 dias.

  1. Reduza o número de dias para ver antecipadamente esse recurso em ação, para fins de teste.

Revisar e executar as mudanças

O DBA nem sempre tem visibilidade do tipo de mudança sofrida pelo aplicativo e pelo SQL, mas ter essas informações disponíveis pode ajudar no entendimento e gerenciamento de mudanças. Agora, é possível usar o recurso relatório de mudanças para ver as diferenças no arquivo capturado com o novo SQL em comparação com o arquivo que já está no repositório. Após a aprovação das mudanças, é possível carregar o arquivo para o repositório. Siga estas etapas:

  1. Na visualização, Common Repository Explorer, clique com o botão direito do mouse em Version 2 e selecione Manage.
  2. Expanda Step 1 e clique em Update pureQueryXML, como mostra a Figura 11.

Figura 11. Mesclando e configurando o arquivo de captura com o novo SQL.

Essa ação mescla, configura o arquivo usando as propriedades para reorganizar os pacotes e, em seguida, remove o SQL antigo.

  1. Clique na guia pureQueryXML para ver que o SQL foi organizado em pacotes por esquema, como mostra a Figura 12.

Figura 12. Novo agrupamento de instruções por esquema

  1. Clique no recurso Change Report para visualizar as mudanças ocorridas entre a cópia em funcionamento do arquivo de captura e aquele existente no repositório, como mostra a Figura 13.

Figura 13. Relatório de mudanças

  1. Expanda Step 2 e clique em Bind pureQueryXML, como mostra a Figura 14.

Figura 14. Ligar o arquivo atualizado e configurado

  1. A fim de preparar as propriedades de configuração para carregamento, remova a opção cleanConfigure clicando na guia Configure properties e removendo -cleanConfigure true.
  2. Expanda Step 3, indique o número da versão e clique em Upload to Repository para carregar o novo grupo de tempo de execução para o repositório, como mostra a Figura 15. Observe que é possível clicar em Delete the processed captured SQL, se você desejar.

Figura 15. Carregando o novo grupo de tempo de execução

Você agora concluiu o cenário de exemplo.


Conclusão

Neste artigo, você aprendeu como os novos recursos no Fix Pack 3 do Optim Development Studio 2.2 e Optim pureQuery Runtime 2.2 podem aprimorar a manutenção contínua de aplicativos na produção. Os recursos fornecem a capacidade de armazenar os arquivos de captura SQL (pureQueryXML) e as propriedades em um repositório de banco de dados. A experiência de disponibilidade e execução é aprimorada com a capacidade de atualizar os arquivos pureQueryXML sem que seja necessário executar os aplicativos no modo de captura. É possível manter os arquivos pureQueryXML atualizados. Para organizar SQLs por pacotes, é fornecido um maior nível de automação. É possível executar todos os novos recursos usando ferramentas de linha de comando ou o Optim Development Studio.


Apêndice A. Matriz de suporte da plataforma

Essa tabela indica quais recursos são suportados em quais plataformas.

Recurso DB2 para z/OS DB2 para LUW DB2 para i Informix Oracle
Banco de dados para hospedar
o repositório
Sim Sim Em breve Em breve Em breve
Recursos de otimização de
cliente
Sim Sim Sim Sim Sim
SQL estático Sim Sim Sim Não Não


Apêndice B. Linha de comando e suporte à GUI por recurso

Essa tabela indica quais recursos são suportados pela GUI no Optim Development Studio e quais recursos são suportados pela interface da linha de comando.

Recurso Suporte de GUI? Suporte da linha de comando?
Componente de ligação estático Sim Sim
Otimização de cliente: configurar Sim Sim
Otimização de cliente: mesclar Sim Sim
Repositório: criar repositório Não Sim
Repositório: ligar no repositório Não Sim
Repositório: conceder privilégios Não Sim
Repositório: todas as outras funções Sim Sim
Relatório de mudanças Sim Não
Coletar SQL usando análise estática de código de origem Sim Não


Downloads

DescriçãoNomeTamanhoMétodo de download
Sample program for this articleUtil.java10KBHTTP
Sample program for this articleTutMod.java9KBHTTP

Informações sobre métodos de download


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre os autores

Photo: Sonali Surange nível de autor Contribuidor do developerWorks

Sonali Surange é arquiteta de software do Optim Development Studio no IBM Silicon Valley Lab. Anteriormente, Sonali liderou o desenvolvimento de diversos componentes-chave das ferramentas Visual Studio .Net para bancos de dados IBM.

Adekunle Adio é engenheiro de software no IBM Lenexa Lab. Ele trabalhou nas ferramentas Data Facility Storage Management Subsystem (DFSMS), IBM Migration Toolkit (MTK) e pureQuery. Atualmente, Adekunle está trabalhando em produtos Tivoli.

Zeus Courtois

Zeus Courtois é engenheiro de software da equipe do Data Studio Development que trabalha com ferramentas pureQuery no IBM Silicon Valley Lab em San Jose, Califórnia. Antes de ingressar nessa equipe, Zeus era integrante da equipe do Data Studio Enablement. Zeus tem Mestrado em Sistemas de Informação pela Texas A&M International University.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Information Management
ArticleID=500879
ArticleTitle=O que há de novo e interessante no Optim Development Studio, Parte 2: Explorando o Optim Development Studio e o pureQuery Runtime Versão 2.2 Fix Pack 3
publish-date=07152010
author1-email=
author1-email-cc=
author2-email=aoadio@us.ibm.com
author2-email-cc=
author3-email=zocourto@us.ibm.com
author3-email-cc=