IMPLEMENTAÇÃO DO SISTEMA

Anderson Grala
                          

    Este capítulo introduz a implementação do sistema GDOC. O sistema consta de um protótipo para o gerenciamento de documentos do modelo GDOC.

    A barra de ferramentas da interface GDOC é a área do programa onde se localizam as operações disponíveis para a autoria de documentos. A barra de ferramentas é um painel de controle composto por 15 botões. Cada um dos botões desempenha uma função de menu. Os botões são responsáveis pelo disparo de funções específicas de autoria, como abrir um documento, editar o conteúdo de um documento e salvar um documento no banco de dados. A introdução da barra de ferramentas, assim como a colocação dos botões sobre ela segue um padrão de interface de usuário muito adotado atualmente em aplicações comerciais baseadas em sistema operacional Windows9x. A justificativa para a preocupação com a interface de usuário do sistema GDOC se deve ao fato de que o sistema será usado para incrementar um sistema já existente no mercado, onde o padrão de interface deve ser compatível e seguir padrões em uso pelos usuários. Alguns dos recursos de interface utilizados no protótipo do sistema GDOC para aumentar a interatividade do usuário com o programa e diminuir a complexidade da interface são os botões com ícones (gliphed buttons) e os balões de micro-auxílio (micro-help baloons). Estes recursos são hoje utilizados em praticamente todas as aplicações baseadas em Windows, embora tenham sido introduzidos em 1994 pela ferramenta Microsoft Office. Estes dois recursos combinados permitem que cada botão usado na interface tenha seu tamanho reduzido, fazendo com que sobre mais espaço na tela para a área de trabalho do cliente. O recurso de botões com ícones utiliza um objeto gráfico para representar a operação executada pelo botão, e com isso dispensa a necessidade de legenda textual no corpo do botão. Isto faz com que se tenha um botão com o tamanho que depende apenas do tamanho da figura usada. Os botões usados na interface do sistema GDOC usam ícones cujo tamanho é o mesmo daqueles usados pelas aplicações do padrão Windows, que são de 15x15 pixels.

    No entanto, só o ícone pode ser insuficiente para a clara identificação das operações de cada botão. Em vista disso, tornam-se necessários recursos adicionais que identifiquem textualmente aquilo que cada botão executa. A legenda do botão, neste caso, pode ser mostrada em alguma área da tela fora do domínio do botão. Algumas interfaces de usuário, como por exemplo a do compilador Borland C++, utilizam uma barra de status na parte inferior da tela para exibir a legenda do botão na medida que o cursor do mouse é posicionado sobre um botão. Outras aplicações, como o Microsoft Word, usam  balões de micro-auxílio para ressaltar a descrição do botão toda vez que este é apontado com o mouse. No protótipo da interface GDOC, o recurso adotado para a exibição de legendas de botões é o balão de micro auxílio, conforme mostrado na figura x.

    Tanto os botões com ícones como os balões de micro-auxílio não são recursos providos pelas bibliotecas de definição de interface da linguagem Java. Para contornar a necessidade de tais recursos, foi necessária a implementação de classes específicas que provêem tais recursos.

    A barra de ferramentas da interface de autoria de documentos do sistema GDOC é dividida em seis seções. Cada seção agrupa um conjunto de operações específicas do sistema e que possuem aplicação semelhante. A barra de ferramentas é categorizada nas seções a seguir:

1. Manipulação de Documentos
2. Operações de Autoria de Componentes
3. Manutenção da Estrutura do Documento
4. Propriedades do Documento
5. Informações Auxiliares
6. Operações Adicionais

    A descrição de cada uma das seções da barra de ferramentas é dada a seguir:

A seção de manipulação de documentos da barra de ferramentas é equivalente ao menu Arquivo das aplicações convencionais de manipulação de documentos. Esta seção agrupa os botões responsáveis pela autoria de uma nova instância de documento, pela abertura de uma instância de documento existente, pelo salvamento da instância carregada pela interface e pelo encerramento da sessão de trabalho.

Novo

O botão Novo é usado para iniciar a autoria de um documento a partir de um tipo existente no banco de dados. Para iniciar a autoria de uma nova instância a partir de um tipo específico, o usuário deve escolher o tipo de documento na lista de seleção que compõe a janela aberta na ativação do botão Novo. A janela Novo é mostrada na figura x.
 

Figura 18. Janela de diálogo para escolha de um tipo de documento
 

Ao escolher um tipo específico de documento da base de dados, o programa recupera a sua estrutura, armazenada no modelo de esquema, e gera uma estrutura de árvore composta por marcadores de posição de componentes. Em tempo de autoria, os marcadores de posição dão lugar aos componentes do documento na medida que este é criado pelo usuário.

Falar sobre a relação entre os marcadores de componentes e os componentes reais:
 
    Caso o componente selecionado possuir composição por alternância, a seguinte janela é mostrada solicitando ao usuário a definição do tipo primitivo do componente. Ao selecionar o tipo desejado, a aplicação designada para o tratamento de documentos daquele tipo específico é disparada possibilitando a autoria do componente.
 
Abrir
É usado para carregar uma instância de um documento já existente no banco de dados.

Salvar
Após a autoria da instância do documento, o botão Salvar é usado para armazenar o conteúdo da instância na base de dados.

Salvar Como
Semelhante ao botão Salvar, a ferramenta Salvar Como possibilita o armazenamento de uma instância do documento no banco de dados através da geração de uma nova instância do documento.
 
Fechar
Promove o fechamento da instância de documento carregada na interface de autoria. A operação de fechamento do documento libera as estruturas de memória utilizadas pelo documento, limpa a árvore de estrutura e faz com que a interface do sistema volte ao ponto inicial.

Seção 2: Operações de Autoria de Componentes

A segunda seção da barra de ferramentas possui as operações de autoria do documento e dos seus componentes. Esta seção possui duas rotinas: Editar Conteúdo e Recortar. A descrição de cada um desses botões é dada a seguir.

Editar Conteúdo

Este botão aciona a aplicação responsável pela edição de um componente do documento. De acordo com o tipo primitivo do componente a ser editado, uma aplicação específica é executada. No protótipo do sistema GDOC, há uma aplicação específica que foi desenvolvida para cada uma dos tipos primitivos de documentos do modelo GDOC. O conjunto de aplicações para autoria de documentos é formado por um editor de textos, um editor de figuras, um editor de elos e um editor de atributos.

O editor de textos é utilizado na autoria dos documentos do tipo primitivo Texto, e é formado por uma aplicação simplificada que possui funções de edição. A aplicação é formada por uma área de texto, na qual é possível a entrada do texto, de um campo de texto onde o usuário fornece o nome do documento que está sendo editado, e por dois botões: Ok, que faz o conteúdo editado ser aceito pelo interface, e com isso atualizar em memória o componente texto editado; Abrir, que mostra uma janela contendo a lista dos documentos do tipo texto armazenados na base de dados e possibilita a sua carga para o editor, e por fim, o botão Cancelar, que desconsidera as alterações executadas sobre  o texto.

A segunda aplicação de autoria é o editor de figuras. Esta aplicação é responsável pela edição de objetos gráficos que fazem parte do documento. Um objeto gráfico possui o tipo primitivo Figura,
 
A figura x mostra o editor de elos do sistema GDOC e dois exemplos de criação de elos. Em (a) é criado um elo interno, fazendo com que todas as referências ao documento alvo apontem para um documento armazenado na base de dados. Por outro lado, (b) demonstra a criação de um elo do tipo externo, cujas referências endereçam um documento que está armazenado em um repositório de dados qualquer da Internet.
 
    Para poder ser usado como âncora de um elo, um documento do tipo Texto deve existir no banco de dados antes da abertura da janela de edição de atributos. Com isso, o usuário do sistema facilmente localiza o componente na lista de documentos e com isso seleciona-o para âncora. No entanto, se o texto desejado ainda não existir no banco de dados no momento da escolha da âncora, o usuário não tem como executar essa escolha. Para facilitar a utilização da interface de autoria de documentos do sistema GDOC, foi criada a janela Novo Elo, que possibilita a criação “on-line” de um documento do tipo Texto para ser usado como âncora de um elo. A janela Novo Elo é disparada pelo acionamento do botão Novo do editor de elos, e a âncora criada permanece no banco de dados para referência futura.

Recortar
Esta ferramenta elimina da instância do documento o componente selecionado na árvore da estrutura da instância. A operação de eliminação de componentes é baseada na verificação da cardinalidade mínima do componente sob o marcador.

Seção 3: Manutenção da Estrutura do Documento

Inserir Componente Antes
A operação Inserir Antes adiciona um componente na posição imediatamente anterior ao componente selecionado. O componente criado por esta operação possui o mesmo tipo do componente marcado na estrutura do documento, e para validar a inserção antes, o programa executa uma verificação baseada na cardinalidade máxima do componente. A validade ou não da operação de inserção antes  está mostrada na tabela x. A figura x ilustra um caso da operação Inserir Componente Antes. A árvore (a) representa o estado da estrutura do documento no início da operação. O componente “Atividade 2” está selecionado, fazendo com que a operação de inserção de componente adicione um novo documento entre os componentes “Atividade 1” e “Atividade 2”.
 
Inserir Componente Depois
De forma semelhante à da operação anterior, a operação Inserir Componente Depois acrescenta, após a ocorrência do componente selecionado, um componente do mesmo tipo. Desta forma, o resultado da operação pode ser dado pela figura x. As regras de validação baseadas na cardinalidade do componente selecionado são as mesmas usadas pela operação de inserção antes, e estão sendo mostradas na tabela x.

A tabela x representa o cruzamento das possibilidades de inserção e remoção de componentes da estrutura de um documento do modelo GDOC. A coluna “Dados Reais” representa a quantidade de componentes sobre um marcador específico. Isto significa o número de instâncias de componentes localizados no lugar de um mesmo marcador. Os números mínimo e máximo de componentes sob um mesmo marcador são determinados pelos valores das cardinalidades mínima e máxima do componente, respectivamente. Os valores de cardinalidade mínima e máxima dos componentes de um documento são determinados pelos atributos minOcc e maxOcc da tabela de tipos de documento, conforme visto no capítulo 3. O valor V (verdadeiro) indica que a operação é válida para aquela situação e para aquele conjunto de dados reais. O valor F (falso), por sua vez, determina a violação da integridade referencial do modelo de documentos, e o valor Impossível indica que o caso não é passível de ocorrência.
 

Operação Dados Reais
(No de Componentes
Sob o Marcador) Cardinalidade Mínima Cardinalidade
Máxima
  0 1 n 1 n

Recortar 0 F F F F F
 1 V F F V V
 m V V V ? M > N Impossível V ? M < N
Inserir
Componente
Antes 0 V V V V V
 1 V V V F V
 m V V V ? M > N Impossível V ? M < N
Inserir
Componente
Depois 0 V V V V V
 1 V V V F V
 m V V V ? M > N F V ? M < N

Tabela 7. Cruzamento das possibilidades de inserção e remoção de componentes
 
 
 

Seção 4: Propriedades do Documento

Editar Apresentação
Esta ferramenta executa uma aplicação para edição de apresentações. Ao acionar este recurso, a apresentação do componente selecionado é carregada em uma interface que possui recursos de formatação visual de componentes HTML, na qual são possíveis operações do tipo mudar alinhamento de texto, trocar cor de fonte, centralizar parágrafo, atribuir características de enfatização e outras.
 
 

Figura 32. O editor de apresentações do sistema GDOC
 
 
 
 
 
 
 
 
 

Visualizar Atributos
Os atributos de um documento ou mesmo de um componente, apesar de serem considerados como documentos individuais, não são mostrados na árvore estrutural do documento. Em vez disso, eles são agrupados por documento e visualizados através da ferramenta Visualizar Atributos. A visualização de atributos conta com uma janela de diálogo que mostra a lista de atributos do componente selecionado.
 

Figura 33. Janela de visualização de atributos do documento
 
 
 
 
 
 

Seção 5: Informações Auxiliares

Auxílio

O acionamento deste botão causa o carregamento da página de auxílio do sistema GDOC. A página de auxílio é composta por uma página HTML que contém dicas sobre a utilização dos recursos disponíveis no sistema GDOC e um tutorial que explica a criação de um documento usando os recursos de autoria disponíveis na interface do sistema GDOC.

Status da Conexão

Durante a carga do applet da interface do sistema GDOC, é realizada a conexão com o servidor do banco de dados. A conexão recebida pelo applet é mantida por este durante toda a sessão de trabalho do usuário. Isto foi feito para garantir aumento do desempenho do sistema, que não precisa reexecutar a conexão com o banco de dados a cada operação sobre o documento. Ao executar a conexão com o banco de dados, um conjunto de variáveis é inicializado para mantém o status da conexão com o banco de dados. Se a conexão foi sucedida com êxito, esse conjunto de variáveis contém uma sessão válida, com propriedades como nome do banco de dados, endereço na rede do servidor da base de dados, nome e versão do driver ODBC que está sendo usado e outros. Neste caso, basta clicar o botão Status da Conexão que a janela com os valores dessas variáveis será mostrada. Os dados sobre a conexão ativa são obtidos do banco de dados através das classes JDBC DatabaseMetaData.
 
 
 

Figura 34. Janela de status da conexão com o banco de dados
 
 
 

Seção 6: Operações adicionais

A última seção da barra de ferramentas traz duas operações

Editar Atributos
A edição de atributos, uma vez que estes não são mostrados como parte da estrutura do documento, é feita externamento pela ferramenta Editar Atributos. Esta ferramenta introduz a criação de novos atributos para o componente selecionado.
 

Figura 35. Editor de atributos de documento do sistema GDOC
 
 
 
 

Aumentar/Diminuir Fonte
O recurso de aumento e recuo do tamanho da fonte usada na visualização do conteúdo do documento é acionado pela ferramenta Aumentar/Diminuir Fonte. Esta ferramenta tem função apenas de interface, ela não modifica o tamanho da fonte usada no texto que está sendo editado. Este recurso pode ser útil nas situações em que o usuário precisa visualizar uma porção maior do documento de uma só vez, sem a utilização da barra de rolagem.
 

Compartimento da Visão Estruturada do documento

O segundo compartimento da interface de autoria de documentos é o compartimento que exibe a estrutura da instância do documento que está sendo editado. Este compartimento é o compartimento da visão estruturada do documento, e contém a árvore de componentes que forma o documento completo.
 
 
 
 
 

Como funciona a arvore expandível
 
 
 
 
 
 
 

Figura 36. Exemplo da estrutura da árvore expandível da interface do sistema GDOC
 
 
 
 

Compartimento de visualizacao do documento

Figura 37. Compartimento para a visualização do documento do sistema GDOC

Interpretador de HTML, browser, etc.