• Nenhum resultado encontrado

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle"

Copied!
22
0
0

Texto

(1)

Desenvolvimento de uma Aplicação WEB para

monitorização de BD Oracle

Luís Filipe Borges Pinto

<lfpinto@oninet.pt>

Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização de bases de dados Oracle que permite a consulta de dados de desempenho e QoS (Quality of Service). Inicialmente será feita uma introdução ao trabalho desenvolvido. De seguida faz-se a análise dos objectivos e efeitos esperados com o desenvolvimento da Aplicação apresentando posteriormente o sistema de informação. São ilustradas na secção seguinte as funcionalidades do sistema. Por último são feitas sugestões de melhoria ao projecto desenvolvido.

1 INTRODUÇÃO

A realização deste projecto constou como um elemento de avaliação, da disciplina de “Projecto Final de Curso”, que se encontra inserido no segundo semestre do quarto ano do curso de Informática de Sistemas.

O trabalho descrito neste texto consiste no desenvolvimento de uma aplicação WEB para monitorização de uma base de dados Oracle (target). A aplicação permite que utilizadores autenticados consultem dados de desempenho e QoS (Quality of Service) da base de dados target, recorrendo aos mecanismos de instrumentação internos do motor Oracle. Alguns destes dados podem ser mostrados sob a forma de gráficos. A aplicação gere também os conectores para ligar a diferentes bases de dados target, assim como os seus utilizadores e respectivo perfil. Estes dados ficam armazenados numa base de dados repositório, também Oracle.

2 Fundamentos, Objectivos e Efeitos Esperados do

Projecto

As bases de dados estão no centro operacional das empresas, sendo o seu desempenho um factor crítico para o negócio. A constante monitorização do seu desempenho assume um papel importante, pois permite ao administrador da base de dados efectuar operações correctivas antes de ocorrerem falhas ou degradação no tempo de resposta, maximizando assim a qualidade de serviço prestada ao longo do tempo.

(2)

Esta aplicação permite ver os principais indicadores de desempenho de uma base de dados Oracle, sendo uma ferramenta de consulta útil para o DBA, que assim pode analisar a saúde do seu sistema.

A aplicação permite a ligação a várias bases de dados que estão sob monitorização, designadas por target. Uma vez escolhida a base de dados target, a aplicação disponibiliza uma série de consultas aos principais indicadores de desempenho da BD, alimentados pelos contadores internos do motor.

3 SISTEMA DE INFORMAÇÃO

Nesta secção irei apresentar os aspectos referentes especificamente à área de informática.

3.1 Análise de Requisitos

3.1.1 Módulo de Backoffice

Foram apresentados como requisitos para este módulo os seguintes aspectos: … Ter um tipo de utilizador, o Administrador.

Administrador: tem permissão para efectuar todas as operações. … Efectuar as seguintes operações.

Consultar § Tabela Users. § Tabela BD_Target. Inserir § Dados na tabela Users.

§ Dados na tabela BD_Target. Eliminar § Dados da tabela Users.

§ Dados da tabela BD_Target. Modificar § Dados da tabela Users.

§ Dados da tabela BD_Target.

O diagrama abaixo descreve as funcionalidades deste módulo, assim como o seu fluxo de execução:

(3)

Figura 3.1: Funcionalidades do módulo Backoffice.

Os seguintes diagramas de sequência descrevem as funcionalidades implementadas para este módulo.

“Login” de acordo com o diagrama abaixo:

(4)

Produção da tabela de BDTarget de acordo com o diagrama seguinte.

(5)

Alteração de uma BDTarget de acordo com o diagrama abaixo:

(6)

Produção da tabela de Users de acordo com o seguinte.

(7)

Alteração de um User de acordo com o diagrama seguinte:

Remoção de um User de acordo com o diagrama seguinte:

3.1.2 Módulo de Frontoffice

Foram apresentados como requisitos para este módulo os seguintes aspectos: … Ter um tipo de utilizador, o Normal.

(8)

… Efectuar as seguintes operações.

Consultar § Tabela BD_Target.

§ Dados de desempenho e QoS.

O diagrama abaixo descreve as funcionalidades deste módulo, assim como o seu fluxo de execução:

Figura 3.2: Funcionalidades do módulo Frontoffice.

Os seguintes diagramas de sequência descrevem as funcionalidades implementadas para o módulo de Frontoffice.

(9)

Se a validação correr mal o login apresentará a sequência abaixo:

(10)

Produção das tabelas relativas aos dados de desempenho e monitorização de acordo com o seguinte, neste caso só está ilustrada a opção de componentes Oracle instalados. As outras opções seguem o mesmo modelo deste exemplo.

(11)

3.2 Especificações Técnicas

Tendo em vista atingir os objectivos e requisitos propostos foram tomadas opções para garantir o correcto funcionamento da aplicação. Assim o armazenamento da informação foi feito em Oracle. Foram criadas as seguintes tabelas que armazenam os dados criados pelos utilizadores:

· A tabela de BD target (BD_TARGET.DB) que armazena os dados referentes às tabelas que vão ser alvo das consultas de dados de desempenho e QoS.

Nome Tip Tam. Conteúdo

BD_TARGET_ID N 6 Número de identificação da BD

HOSTNAME V2 100 Nome/ip da máquina onde corre o servidor PORT N 6 Porto onde o listener está à escuta

SID V2 100 Valor fornecido pelo administrador da BD USERNAME_BD V2 32 Nome do utilizador da BD

PASSWORD_BD V2 100 Palavra-chave da BD

COMENTÁRIO V2 300 Campo para introduzir comentários sobre a BD

Tabela 3.1 – Bd_target

· A tabela de Users (USERS.DB) que armazena os dados referentes aos utilizadores da aplicação.

Nome Tip Tam. Conteúdo

USERNAME V2 32 Nome do utilizador PASSWORD V2 100 Palavra-chave

TIPO_USER C 1 Pode ser Administrador ou Normal

COMENTÁRIO V2 300 Campo para introduzir comentários sobre a BD

(12)

3.3 Software Desenvolvido

A aplicação usa a seguinte tecnologia:

o O código da aplicação foi programado em Java, recorrendo a Servlets para componente WEB e JDBC para a componente de acesso a base de dados. Para o desenvolvimento foi utilizado o Oracle JDeveloper.

o O Servlet container foi o OC4J (Oracle Container For Java incluído no JDeveloper).

o Base de Dados XE – para armazenar as tabelas users e bd target.

o Como cliente para acesso à base de dados utilizou-se o Oracle SQL Developer. o Os gráficos são feitos recorrendo a Applets Java.

o A interacção com o utilizador será feita através de páginas HTML dinâmicas geradas a partir de Servlets programadas em Java. Será usado JavaScript para navegação entre as Servlets. A formatação do HTML recorre a CSS. Para isso foi criado um ficheiro CSS que define as formatações e é importado por todas as páginas do site. Esta opção justifica-se pela garantia de uniformidade de estilos.

4 ILUSTRAÇÃO DO FUNCIONAMENTO DO SISTEMA

Ao iniciar pela primeira vez o módulo de backoffice surge o ecrã da fig.4.1. As funcionalidades desta aplicação só estão disponíveis para utilizadores autenticados. A autenticação será feita por nome de utilizador e respectiva palavra-chave, que estão armazenados na tabela Users.

(13)

Figura 4.2: Janela de Gestão da Aplicação.

O link BD Target permite fazer a gestão da BD Target exemplificada na figura seguinte. O link Utilizadores Aplicação invoca o formulário que permite gerir os utilizadores da aplicação (fig.4.7).

O link sair da aplicação termina a aplicação.

(14)

Nesta janela o utilizador vê os dados no formato tabela, a aplicação cria uma tabela onde a primeira coluna é o identificador de tabela Bd_Target, aparecendo depois uma coluna por cada uma das bd_target existentes na tabela Bd_Target.

O link Inserir BD invoca o formulário que permite inserir uma bd exemplificado na fig.4.4. O link Alterar invoca o formulário que permite alterar esta bd. O link Remover invoca o formulário que permite remover esta bd.

Figura 4.4: Janela de Inserção de uma BD Target.

O botão repor repõe os valores iniciais (tudo em branco). O botão inserir envia os novos valores para a base de dados.

O link sair retorna ao formulário Gestão BD Target (fig.4.3).

(15)

Figura 4.5: Janela de Alteração de uma BD Target.

O botão repor repõe os valores iniciais. O botão alterar envia os novos valores para a base de dados.

O formulário Eliminar é igual ao formulário alterar, mas a acção desencadeada pelo botão procede à remoção dessa medição na base de dados (fig.4.6).

(16)

Figura 4.6: Janela de Remoção de uma BD Target.

(17)

Os formulário inserir utilizador, alterar e remover são semelhantes aos atrás exemplificados para a tabela BD_Target, mas as acções desencadeadas reflectem-se na tabela Users.

Ao iniciar pela primeira vez o módulo de frontoffice surge o ecrã da fig.4.8.

Figura 4.8: Janela de Login de Frontoffice.

Uma vez efectuada a autenticação com sucesso, surge o ecrã de Selecção de BD como se pode ver na fig.4.9.

(18)

O link listar permite escolher a BD que queremos usar para fazer a monitorização. Após a escolha de BD aparece o formulário abaixo apresentado:

Figura 4.10: Janela de Menu.

Aqui temos a opção de escolher diversas consultas à tabela target, para obter dados de desempenho e QoS. Será apenas mostrada uma opção (fig.4.11), visto que as restantes opções são semelhantes em termos de aspecto. É também apresentada na fig.4.12, a única janela que tem a opção de apresentar os dados através de tabela e gráfico, seleccionando a listagem tablespaces storage.

O link selecção bd retorna à janela de selecção de BD (fig.4.9).

O link ferramenta SQL permite realizar operações SQL que o utilizador considere necessário (fig.4.14).

(19)

Figura 4.11: Janela de Versão componentes Oracle instalados.

Figura 4.12: Janela de Tablespaces storages.

O link gráfico de barras permite a consulta dos dados através da forma de gráfico de barras (fig.4.13).

(20)

Figura 4.13: Gráfico de barras de Tablespace storage.

Neste gráfico é possível observar no eixo dos Xs o campo tablespace_name e no eixo dos Ys o campo % Free.

(21)

Figura 4.15: Janela da Ferramenta SQL com query.

Na figura acima apresentada, é possível ver os dados da query realizada no formato tabela.

5 CONCLUSÕES E TRABALHO FUTURO

No decorrer do projecto foram surgindo diversas dificuldades, que foram gradualmente ultrapassadas com algum custo, muita dedicação e persistência. Este projecto permitiu adquirir alguma experiência muito importante para trabalhos futuros.

No entanto não considero o projecto completo, visto que, se trata de um trabalho extenso com bastantes funcionalidades.

Numa segunda fase de desenvolvimento seria interessante dotar a BD de um contador de tempos de espera, que seria extraído para um motor de agregação, para permitir elaborar gráficos com perfis de consumo de recursos, por utilizador, por cliente Oracle e por horas de dia. Estes cubos de informação requerem processamento, que tem que ser feito fora da BD alvo, mas que dá uma ideia muito exacta de como os recursos estão a ser consumidos e por quem, apontando para as principais causas de degradação de desempenho.

Com mais tempo podem ser feitos alguns melhoramentos. Estes não eram possíveis dentro da data de entrega do projecto.

(22)

AGRADECIMENTOS

Estou particularmente grato ao Professor José Aser pela disponibilidade demonstrada no acompanhamento da realização do projecto, fornecendo toda a informação e esclarecimentos necessários.

Quero finalmente agradecer à Universidade Lusófona de Humanidades e Tecnologias pelas condições de trabalho fornecidas para o desenvolvimento deste projecto.

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Pesquisas empíricas (Nicolau, 2002 a) mostram que o sistema eleitoral de lista aberta utilizado no Brasil gera, para os eleitores, a idéia de uma disputa personalizada entre cada

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

Ocorre que foi o fornecimento de outra tabela, associado ao interesse em observar o céu, de pelo menos usar a tabela, que fez o participante se interessar em saber interpretar o

Este artigo de revisão bibliográfica objetivou discutir o percurso histórico da loucura e do crime para entender como se deu o processo de constituição da unidade de saúde

A partir da análise das Figuras 5.20, 5.21, 5.22 e 5.23 pode-se afirmar que a variação do início da altura de queda do bloco não alterou os resultados da energia cinética e alturas

Os resultados permitiram concluir que a cultivar Conquista apresentou a maior produtividade de grãos, no conjunto dos onze ambientes avaliados; entre as linhagens