• Nenhum resultado encontrado

4 Materiais e M´etodos

4.2 Interface gr´afica

Para disponibilizar o banco de dados para toda a comunidade cient´ıfica, foi desenvolvida uma interface Web para conectar os usu´arios com o HTRIdb. O desenvolvimento dessa nova vers˜ao da interface do HTRIdb com suas novas funcionalidades ocorreu atrav´es de uma plata- forma de desenvolvimento Web baseada em Java3.

Esta plataforma foi previamente instalada e configurada. Os componentes presentes s˜ao:

1. Um ambiente integrado de desenvolvimento (Netbeans 6.8, http://netbeans.org/), ferramenta essencial para facilitar e agilizar o processo de codificac¸˜ao dos programas desenvolvidos;

2. O Java Development Kit (JDK), presente na Java Platform Standard Edition (JavaSE) (http://www.oracle.com/technetwork/java/javase/overview/index.html), ne- cess´ario para possibilitar a compilac¸˜ao de programas baseados na linguagem de progra- mac¸˜ao Java;

1Arquivos contendo instruc¸˜oes em SQL para realizar determinadas tarefas bem definidas, descritas na lingua-

gem SQL.

2Terminal ´e um interpretador de comandos, e seu funcionamento ´e como uma esp´ecie de tradutor entre o sistema

operacional e o usu´ario; ele tamb´em pode ser chamado de shell. No terminal, ´e poss´ıvel executar sequˆencias de comandos direto no prompt do sistema ou escritos em arquivos de texto, nomeados de shell scripts.

3. E o servidor de aplicac¸˜ao JBOSS Application Server (JBOSS AS) vers˜ao 4.2.3, respons´avel por permitir a utilizac¸˜ao de recursos da linguagem de programac¸˜ao Java, as JSP (Java Ser- ver Pages) e os Servlets, e oferecer atrav´es dessas tecnologias e de um framework b´asico suporte para o funcionamento na Web da aplicac¸˜ao desenvolvida.

A interface Web foi desenvolvida atrav´es do conceito Model View Controller (MVC) (Figura 4.3), modelo de desenvolvimento de software atualmente considerado como uma “arquitetura padr˜ao” utilizada na Engenharia de Software. O MVC ´e utilizado com o intuito de tornar o desenvolvimento da aparˆencia (design) da interface e da l´ogica de programac¸˜ao (funcionamento da interface) mais independentes poss´ıveis, ou seja, o desenvolvimento do layout da p´agina fica separado do desenvolvimento do mecanismo de comunicac¸˜ao entre os usu´arios e o banco de dados.

A arquitetura b´asica do modelo MVC utiliza Servlets, JavaBeans e p´aginas JSP. Os Servlets s˜ao os respons´aveis por controlar as requisic¸˜oes recebidas e enviadas para o banco de dados (Controller), os JavaBeans implementam a l´ogica da aplicac¸˜ao, a modelagem das requisic¸˜oes dos usu´arios a ser enviados ao banco de dados e as respostas do banco de dados a ser enviados para o usu´ario (Model), e as p´aginas JSP se encarregam da apresentac¸˜ao do resultado e gerac¸˜ao do conte´udo dinˆamico das p´aginas da interface Web do HTRIdb (View).

Figura 4.3:Diagrama do Modelo MVC.

Fonte:http://indiandotnet.files.wordpress.com/2009/04/mvc1.png

4.2.1

Recurso de visualizac¸˜ao gr´afica

A ferramenta de visualizac¸˜ao das interac¸˜oes de regulac¸˜ao transcricional e f´ısicas entre prote´ınas em forma de rede em n´ıveis foi desenvolvida atrav´es de Servlets e da incorporac¸˜ao da ferramenta capaz de desenhar grafos denominada de Cytoscape Web (http://cytoscapeweb.cytos cape.org/). Essa ferramenta permite a visualizac¸˜ao da rede de interac¸˜oes de regulac¸˜ao transcrici-

onal entre FTs e seus respectivos GAs e as interac¸˜oes f´ısicas entre FTs e as prote´ınas codificadas pelos GAs com outras prote´ınas diretamente nas p´aginas da interface gr´afica do HTRIdb 2.0.

Essa ferramenta funciona em duas etapas: na etapa inicial ´e realizado requisic¸˜oes de con- sulta ao banco de dados, realizadas na linguagem SQL atrav´es de um Servlet denominado de “graphgenerator”. Na pr´oxima etapa, os resultados advindos dessas requisic¸˜oes s˜ao tratados no mesmo Servlet que, al´em de ser respons´avel pela comunicac¸˜ao com o banco de dados e a obtenc¸˜ao dos dados, tamb´em realiza a comunicac¸˜ao com a ferramenta Cytoscape Web. O trata- mento dos dados ´e realizado para permitir que os dados obtidos sejam repassados do Servlet, de forma compat´ıvel, para a ferramenta incorporada na interface “Web” que, por sua vez, atrav´es desses dados gera a imagem das interac¸˜oes e as demonstra na interface do HTRIdb atrav´es das JSPs.

Outro evento que ocorre na etapa de tratamento dos dados ´e a determinac¸˜ao do grau de confiabilidade das interac¸˜oes de regulac¸˜ao transcricional atrav´es da contagem da quantidade de referˆencias e de t´ecnicas experimentais relatadas para cada interac¸˜ao. Essa determinac¸˜ao ocorre atrav´es de uma requisic¸˜ao feita pelo Servlet “graphgenerator” para uma classe Java (“colo- rido”) desenvolvida para essa tarefa de classificac¸˜ao que, atrav´es da quantidade de t´ecnicas e de referˆencias, classifica o grau de confiabilidade em 4 valores distintos como constam na Tabela 5.1 na sec¸˜ao “Resultados e Discuss˜ao”. Ap´os a obtenc¸˜ao desse valor, ele ´e repassado junto com os dados das interac¸˜oes `a ferramenta Cytoscape Web que determina a cor da linha da determinada interac¸˜ao FT-GA.

4.2.2

Recurso de extrac¸˜ao dos dados

O mecanismo de exportac¸˜ao de dados em formato texto delimitado por tabulac¸˜oes, em formato “csv” e em formato “xls” funciona atrav´es de recursos Java que, com aux´ılio de um Servlet (“arq temp”)realizam a transferˆencia dos dados do HTRIdb ao usu´ario. Esse Servlet ´e respons´avel por obter os dados do banco de dados atrav´es de requisic¸˜oes, model´a-los e repass´a- los ao usu´ario atrav´es de m´etodos da classe Java OutputStream.

Para os arquivos no formato texto delimitado por tabulac¸˜oes e “csv”, s´o foi necess´ario alterar o tipo de conte´udo que o OutputStream trabalha; j´a para o formato “xls” foi necess´ario, al´em de configurar o tipo de conte´udo do OutputStream, utilizar uma classe Java (jexcel API) respons´avel por criar objetos com extens˜ao “xls” para permitir a manipulac¸˜ao e a criac¸˜ao desses arquivos. Ap´os a criac¸˜ao desse objeto “xls”, ´e realizado a sua transferˆencia atrav´es dos m´etodos da classe OutputStream para o usu´ario.

4.2.3

Estat´ıstica do HTRIdb

Na aba “Estat´ıstica” do HTRIdb (ver Figura 5.9 na sec¸˜ao “Resultados e Discuss˜ao”), existe uma forma de avaliac¸˜ao da evoluc¸˜ao do banco de dados. Seu funcionamento ocorre da seguinte forma: o Servlet (“count”), que realiza a consulta no banco de dados, manda uma requisic¸˜ao ao SGBD PostgreSQL para obter o n´umero total dos itens inseridos no banco de dados, inclusive o n´umero de fatores de transcric¸˜ao presentes.

Essa requisic¸˜ao ´e realizada atrav´es da linguagem SQL, com recursos da Data Definition Language (DDL), parte da linguagem SQL respons´avel por manipular os dados presentes na estrutura do banco de dados. Os resultados obtidos pelo Servlet s˜ao repassados `a JSP res- pons´avel por apresent´a-los ao usu´ario. Al´em da apresentac¸˜ao dos dados, esta p´agina da in- terface “Web” possui um gr´afico que utiliza o n´umero de fatores de transcric¸˜ao presentes no banco de dados e o n´umero total de fatores de transcric¸˜ao conhecidos (RAVASI et al., 2010) para apresentar a evoluc¸˜ao do banco de dados. Esse gr´afico ´e gerado atrav´es de uma classe Java desenvolvida para realizar a tarefa de criac¸˜ao e apresentac¸˜ao de gr´aficos, chamada Cewolf (http://cewolf.sourceforge.net/new/index.html), que foi incorporado `a JSP da inter- face gr´afica para apresentar o gr´afico da evoluc¸˜ao ao usu´ario.

4.2.4

Recurso de inserc¸˜ao de novos dados e de comunicac¸˜ao com a equipe

do HTRIdb

Esses novos recursos foram desenvolvidos para manter o HTRIdb sempre atualizado e sem ocorrˆencia de erros. O mecanismo de inserc¸˜ao de novos dados pelos usu´arios da comunidade cient´ıfica funciona atrav´es de Servlets e de um banco de dados auxiliar (Figura 4.4) desen- volvido para essa tarefa, que ocorre da seguinte forma: o usu´ario insere os novos dados nos campos necess´arios (descritos com mais detalhes na sec¸˜ao “Resultados e Discuss˜ao”) na aba “UPLOAD DATA”, desenvolvida com recursos JSP, e ap´os o preenchimento dos campos, este usu´ario confirma o envio dos dados. Nesse momento o Servlet (“UP’’) respons´avel por fazer a comunicac¸˜ao entre a p´agina JSP e o banco de dados auxiliar manda um pedido ao usu´ario para confirmar se ele ´e humano ou n˜ao. Esse pedido ´e realizado atrav´es de uma ferramenta in- corporada ao Servlet denominada de Recaptcha (http://www.google.com/recaptcha), que faz uso de recursos visuais para a confirmac¸˜ao da veracidade do processo e protec¸˜ao contra spambots4.

Figura 4.4:Modelo f´ısico do banco de dados auxiliar.

Ap´os a confirmac¸˜ao, o Servlet (“UP”) envia ao banco de dados auxiliar uma requisic¸˜ao para a inserc¸˜ao dos novos dados que insere os dados para futuras verificac¸˜oes de especialistas da ´area biol´ogica. Ap´os essa confirmac¸˜ao, os especialistas inserem manualmente os dados ao banco de dados principal.

O recurso de comunicac¸˜ao entre o usu´ario e o HTRIdb tamb´em funciona de forma se- melhante ao processo de inserc¸˜ao dos novos dados mas, nesse caso, utiliza-se outro Servlet (“EVA”) desenvolvido para realizar a comunicac¸˜ao entre a p´agina JSP e o banco de dados au- xiliar. Esse Servlet tamb´em utiliza a ferramenta Recaptcha para controlar o processo de envio de mensagens que ser˜ao armazenadas.

Documentos relacionados