• Nenhum resultado encontrado

5.5 Servidor

5.5.2 Fábrica de Resultados

5.7.1.5 Navegação Tipo 1

Este tipo de navegação pode ser dividido ainda em dois casos distintos, que são apresentados na Figura 5.10. Em ambos os casos será apresentada ao usuário a mesma interface durante a navegação. A distinção desses dois tipos de consultas está apenas no relacionamento da GUI e o monitor de consistência (servidor e cliente).

Figura 5.10 Consulta com Cláusula de Condição Contendo Pontos de Entrada

Consulta

Cláusula Where com Pontos de Entrada

Sem Cláusula Where / Com Cláusula e Sem Pontos de Entrada

Identificador do Motor

Sem Identificador do Motor Tipo 2

Identificador do Motor

Identificador do Motor + outros Pontos de Ligação

Tipo 3

.

Quando existe a presença do atributo que identifica o motor na consulta do usuário (condição), é necessário procedimentos intermediários, antes de apresentar a con- sulta final ao usuário. Na verdade, a consulta final é montada com o auxílio do usu- ário. Não é possível automatizar completamente este processo, visto que as diferenças das representações nos atributos que identificam o motor são muitas. O identificador do motor possui características que o diferenciam dos demais pon- tos de entrada entre os bancos de dados integrados. Essas características serão ex- ploradas no Capítulo 6. Esse ponto de entrada é representado de formas diferentes em cada banco de dados. Em alguns casos faltam informações para que esses atri- butos sejam comparados. Por esta razão, não foi possível a completa automatiza- ção do processo de mapeamento deste atributo entre os bancos de dados no momento da navegação.

Assim, no momento que o usuário especifica esse ponto de entrada e deseja que a navegação entre os bancos de dados ocorra através dele, a GUI faz uma chamada ao parser do monitor de consistência do cliente que transforma o identificador do

motor para um formato padrão. A partir de então, são montadas as consultas inter- mediárias pelo monitor de consistência do servidor, para que sejam recuperados os motores no banco de dados para onde está seguindo a navegação que correspon- de ao especificado pelo usuário na consulta corrente. O percurso de uma navega- ção com a presença do identificador do motor será apresentado no Capítulo 6. Caso seja encontrado pelo menos um resultado para a consulta intermediária, apre- sentamos ao usuário uma nova janela contendo tais resultados (Figura 5.11). A funcionalidade desta janela é a mesma apresentada pela janela de projeção (Figura 5.6). Sendo que a lista da esquerda apresenta todos os motores que possuem as mesmas definições do motor especificado pelo usuário. Na lista da direita são apresentados os motores que o usuário escolheu como sendo o(s) motor(es) equi- valente(s) para o banco de dados para onde está seguindo a navegação.

Quando o usuário clica o botão de OK, é montada a consulta final do usuário de acordo com os motores escolhidos, retornando para a janela principal. A janela principal é apresentada com a nova consulta no “campo de consulta” e o modelo de dados do novo banco de dados para onde ocorreu a navegação.

Figura 5.11 Busca da Consulta Intermediária para o Identificador do Motor.

Esta é a primeira tentativa de acharmos o motor especificado pelo usuário no ban- co de dados posterior1. Caso o engenheiro tenha especificado no banco de dados corrente um motor que não possui correspondente direto no banco de dados pos- terior, ainda oferecemos uma segunda alternativa chamada por nós de Other Ma-

tches. A idéia do Other Matches é procurar no banco de dados posterior os motores

que são mais semelhantes ao especificado pelo usuário ao banco de dados corren-

1. Como convenção, adotamos o termo banco de dados posterior para significar o banco de dados para onde está ocorrendo a navegação. Do mesmo modo, o termo banco de dados corrente é o

te. Esta metodologia é uma nova tendência dos métodos de busca e baseia-se na diretiva de que se não é possível encontrar a especificação completa do usuário, deve-se procurar por resultados mais semelhantes ao especificado. Dessa forma, o monitor de consistência monta novas consultas intermediárias que vão buscar no banco de dados posterior os motores mais semelhantes ao especificado pelo usu- ário.

Other Matches

Com a falha da primeira consulta intermediária, apresentamos ao usuário a janela da Figura 5.12. Nesta janela, informamos que não existe motor correspondente no banco de dados posterior para o especificado no banco de dados corrente e damos a opção para o usuário decidir se deseja realizar a procura mais refinada (através do botão other matches). Se o usuário não estiver interessado neste método, pode optar pelo botão Back que vai retornar à janela principal.

Se o usuário desejar visualizar os motores mais semelhantes ao especificado, o monitor de consistência monta novas consultas intermediárias que vão buscar no banco de dados posterior tais motores. Isto é feito procurando cada parte que com- põe o motor em separado (o identificador do motor no formato padrão). Para faci- litar o trabalho do usuário, antes de apresentar uma janela semelhante à Figura 5.11, separamos os resultados de acordo com o atributo que foi correspondente. Após a execução dessas novas consultas intermediárias apresentamos ao usuário a janela da Figura 5.13. Nesta janela são apresentadas a quantidade de motores en- contrados para cada parte componente do identificador do motor.

Figura 5.13 Janela de Other Matches.

Como podemos notar através da Figura 5.12, o usuário especificou um motor M11E18MMX para o banco de dados corrente e ao navegar para o banco de dados posterior não foi encontrado nenhum motor correspondente. Através da opção de

other matches, conseguimos encontrar 26 motores que possuem o mesmo tipo do

motor igual a M111 e nenhum motor com a especificação E18. A seqüência MMX é ignorada por não fazer parte da gramática por nós definida (Capítulo 6). Esco- lhendo o botão Back o usuário retorna para a janela principal sem efetuar nenhuma mudança. Mas, escolhendo um dos check box à esquerda da janela e clicando no botão de OK o usuário depara-se com a mesma janela apresentada na Figura 5.11. Na lista da esquerda são apresentados os motores referentes à busca de other ma-

tches e de acordo com o check box escolhido na fase anterior. O botão OK (da Fi-

gura 5.11) retorna para a janela principal do MENTAS que agora já deve apresentar a consulta final ao usuário junto com o novo campo de modelo. O botão

Back (da Figura 5.11) volta para a janela Figura 5.13. Caso escolha o Back, o usu-

ário tem a possibilidade de clicar em outro check box (caso exista) para ver os re- sultados mais aproximados segundo a perspectiva de outro componente do identificador do motor.