• Nenhum resultado encontrado

2. Banco de Dados Temporal e Espacial

4.4 Arquitetura do S-TVQE

A arquitetura do S-TVQE, em três camadas, é do tipo cliente-servidor (Figura 78), o acesso ao servidor S-TVQE é feito via o protocolo HTTP. As tecnologias utilizadas são baseadas na arquitetura J2EE: JSP. Utilizam-se também a linguagem XML para configuração de esquema do banco de dados e operadores implementados. JavaScript e SVG são utilizados no cliente para visualização e interação com mapas e componentes da interface em geral.

Figura 78: Arquitetura do S-TVQE.

Internamente o S-TVQE encontra-se organizado em quatro (04) camadas (Figura 79), a saber: Presentation Layer, Query Manager, Data Access e SGBD.

O cliente (usuário) interage diretamente com a camada de apresentação “Presentation Layer”. A camada de negócio “Query Manager”, é responsável por captar as definições do usuário e converter os respectivos comandos gerados visualmente em código interpretável pelo SGBD na camada de persistência “Data Access”, que por sua vez, acessa diretamente o(s) banco(s) de dados associado à aplicação. Os bancos de dados que podem ser acoplados ao S-TVQE, obrigatoriamente, devem implementar rotinas de manipulação espacial, nativamente.

No S-TVQE é permitido configurar diversos contextos, não somente o sistema da saúde que foi o estudo de caso adotado nesta dissertação. Para adaptar o S-TVQE a outros bancos de dados, é necessário apenas configurar um arquivo XML [XML, 05], o qual descreve o esquema do banco de dados. (Figura 80).

<stvqe>

<level id = "1">

<description>State</description> <geom>state.map</geom>

<key>gid</key>

<attribute field = "ibge_code" type = "string" table = "nrs" conventional = "true" spatial = "false" temporal = "false" grouped = "null" /> … <level id = "2"> <description>District</description> <geom>district.map</geom> <key>gid</key>

<attribute field = "ibge_code" type = "string" table = "district" conventional = "true" spatial = "false" temporal = "false" grouped = "null" /> <attribute field = "presented"

type = "int" table = "admission" conventional = "true" spatial = "false" temporal = "true" grouped = "sum" /> <attribute field = "clinic"

type = "int" table = "net_clinic" conventional = "true" spatial = "false" temporal = "true" grouped = "sum"/> … </level> … </stvqe>

No Quadro 10 está descritos os significados das TAG presentes no arquivo XML de configuração do esquema do banco de dados.

Quadro 10: Descrição do Arquivo XML.

TAG Descrição

<level> Representação hierárquica das regiões. <description> Descrição da região geográfica.

<geom> Representação Geométrica. <key> Chave Primária da Tabela <attribute> Características dos Atributos. <field> Nome do Campo

<type> Tipo de Dado Associado ao Campo. <table> Tabela Associada.

<conventional> Determina se o Operador Implementa Rotina Convencional. <spatial> Determina se o Operador Implementa Rotina Espacial. <temporal> Determina se o Operador Implementa Rotina Temporal. <grouped> Determina se o atributo é agrupável.

Para mudar ou alterar o contexto do S-TVQE, é necessário seguir apenas dois passos: 1. Estruturar as mudanças no Banco de Dados;

2. Editar o Arquivo XML, que contém a visão do esquema do Banco de Dados.

Por exemplo:

Informações que a Educação gerencia, são manipuladas informações sobre: estabelecimento, alunos e salas de aula. Todos contabilizando as esferas pública (Federal, Estadual e Municipal) e privada.

As tabelas país (country), região (area), estado (state), núcleo regional de saúde (nrs) e município (district) não tiveram alterações, todas permaneceram com o atributo “the_geom”, ou seja, manipulam informações espaciais.

As tabelas localização (location), estudante (student), escola (school) e sala (room) são as novidades estabelecidas no novo esquema do banco de dados.

Para incorporar essas mudanças, depois de ter havido a estruturação do banco de dados, edita- se o arquivo XML, tendo como resultado representado na Figura 81.

<stvqe> <level id = "1"> … <level id = "2"> <description>District</description> <geom>district.map</geom> <key>gid</key>

<attribute field = "ibge_code" type = "string" table = "district" conventional = "true" spatial = "false" temporal = "false" grouped = "null" />

<attribute field = "public_federal" type = "int" table = "student" conventional = "true" spatial = "false" temporal = "true" grouped = "sum" /> … </level> … </stvqe>

Figura 81: Trecho do arquivo XML, contém o esquema do BD da Educação.

Os dados contidos no SGBD acoplado ao S-TVQE, foram incorporados através de consultas realizadas utilizando a ferramenta TabNet, no site do DATASUS.

Quando o cliente (usuário) solicita um serviço, este pedido é codificado (protocolo HTTP) e enviado, via Internet, até o servidor Web. Ao receber o pedido, o servidor comunica-se com o servidor de Banco de Dados, através do protocolo JDBC [SUN, 05], executa a consulta correspondente e envia a resposta de volta para o navegador cliente, utilizando novamente o protocolo HTTP.

Com esse tipo de arquitetura é possível ter independência de plataforma no cliente, de acordo com a tecnologia JSP (Java Server Pages) [JSP, 99], adotada.

Semelhante aos atributos, também existe um outro arquivo XML, que contém a descrição dos operadores presentes na Interface (Figura 82), dessa forma, é possível determinar quais atributos estarão figurando na Interface, sendo apenas necessário editar este arquivo.

Os operadores estão organizados em grupos, contribuindo para melhorar a forma de visualização e organização da interface.

<stvqe>

<operators id = "Conventional">

<operator name = "Igual" group = "Relational" /> ...

</operators>

<operators id = "Spatial">

<operator name = "Bellow" group = "Directional" /> ...

<operator name = "Area" group = "Metric" /> ...

<operator name = "Adjacency" group = "Topologic" /> ...

</operators>

<operatos id = "Temporal">

<operator name = "Begin" group = "Instant" /> ...

<operator name = "Before" group = "Period" /> ...

<operator name = "FirstInterval" group = "Interval" /> ...

</ operators > </stvqe>

Figura 82: Trecho do arquivo XML, operadores presentes no S-TVQE.

No Quadro 11, está descritos os significados das TAG presentes no arquivo XML de configuração dos operadores presentes no S-TVQE.

Quadro 11: Descrição do Arquivo XML.

TAG Descrição

<id> Dimensão associada ao atributo. Pode ser: ou convencional, ou temporal ou espacial

<name> Nome do Operador <group> Grupo a qual pertente.

Documentos relacionados