Prototipagem para sistemas de software é uma técnica bem conhecida para elucida- ção e validação dos requisitos de sistema. Protótipo é uma versão inicial do sistema final que está disponível na fase inicial do processo de desenvolvimento. Assim sendo, é fundamental que este seja desenvolvido rapidamente. Consequentemente, algumas funcionalidades serão sacrificadas com o objetivo de acelerar o desenvolvimento do protótipo. O protótipo permite demonstrar conceitos, opções de modelagem, aumentar o conhecimento sobre os problemas e sobre as possíveis soluções.
Para validar os resultados teóricos do estudo, foi desenvolvido um protótipo do que seria um serviço de informação sobre registros da Internet na Web Semântica. O protótipo teve o escopo limitado a nomes de domínios. Além disso, não houve intenção de demonstrar o mapeamento em RDF para todos os servidores Whois de nomes de
domínios. O intuito foi mostrar como poderia ser feito o mapeamento em RDF para quatro servidores diferentes com saídas bem distintas. Além disso, demonstrar que o modelo poderia ser estendido para outros servidores Whois sem restrições.
Os passos foram os seguintes:
1. Escolher quatro servidores whois
2. Coletar uma amostra de saída de cada um servidores
3. Mostrar como cada uma delas poderia ser mapeada em RDF
4. Implementação do protótipo de servidor whois para a Web semântica
Nas seções seguintes cada um dos passos será descrito em detalhes.
7.4.1 ESCOLHER QUATRO SERVIDORES WHOIS
Os quatro servidores Whois foram escolhidos de acordo com três critérios. Os úni- cos critérios foram a existência de diferença na semântica (conteúdo) da resposta, na sintaxe (forma) da resposta e a variabilidade no modelo de registro. Como foi visto, existem dois tipos de modelos, no primeiro modelo (thick) o registro de domínios man- tém tanto informação de contato quanto informação sobre os servidores DNS. No segundo modelo (thin), o registrar mantém informação de contato e o registro man- tém apenas informação sobre os servidores DNS. O modelo pode afetar o resultado da consulta a nomes de domínios no serviço Whois e por isso foi utilizado como cri- tério de seleção. Na tabela 5 foram resumidos os dados de cada um dos servidores escolhidos.
A seguir uma breve explicação de cada um dos servidores escolhidos:
• Registro.br: registro brasileiro de nomes de domínios; • Registry.ie: registro irlandês de nomes de domínios; • Public Interest Registry (PIR): registro de domínios .org;
• Verisign: atualmente o maior registro de domínios, responsável pelo registro de domínios .com, .net dentre outros.
Tabela 5: Servidores Whois escolhidos para o protó- tipo
Organização Nome do Servidor Modelo Tipo
Registro.br registro.br thick ccTLD (.br)
Register.ie whois.domainregistry.ie thick ccTLD (.ie)
PIR whois.pir.org thin gTLD (.org)
Verisign whois.verisign-grs.com thin gTLD (.com)
7.4.2 COLETAR UMA AMOSTRA DE SAÍDA DE CADA UM SERVIDORES
Como pode-se observar na tabela 5, o primeiro servidor Whois escolhido foi o mesmo servidor utilizado no estudo de caso: registro.br. Desta forma, toda a análise realizada durante o estudo de caso pôde ser reutilizada para a implementação do protótipo. Assim como foi realizado o estudo de caso, será feita uma análise semelhante para os demais servidores Whois. Para isso foi coletada uma amostra de saída de cada um dos servidores. Para mais detalhes sobre as amostras coletadas, ver o Apêndice.
7.4.3 MOSTRAR COMO CADA UMA DELAS PODERIA SER MAPEADA EM RDF
Assim como foi feito durante o estudo de caso, cada uma das saídas dos servidores Whois foi mapeada em RDF. Em seguida, foi realizado um mapeamento da infor- mação fornecida por cada um dos servidores Whois no modelo RDF original, identifi- cando quais propriedades não puderam ser mapeadas no modelo e exigiriam exten- são. Quando necessário o modelo RDF foi estendido. Assim como foi feito para o registro brasileiro de domínios durante o estudo de caso.
7.4.4 IMPLEMENTAÇÃO DE UM PROTÓTIPO DE SERVIDOR WHOIS
Na figura 5, é possível observar a interação entre o protótipo, o usuário e os quatro servidores Whois. Além disso, a figura mostra também uma possível interação entre esse protótipo e aplicações de Web Semântica, a serem desenvolvidas no futuro, que possam trocar dados em formato RDF e viabilizar o processamento automático da informação fornecida pelos servidores Whois. Afinal, este seria o objetivo final do desenvolvimento do serviço de informação sobre registros da Internet para a Web Semântica. Vale ressaltar que na interação entre o usuário e os servidores Whois, o protótipo funciona como um cliente Whois/IRIS. Na possível interação entre as demais aplicações e os servidores Whois o protótipo funcionaria como um servidor proxy.
Figura 5: Interação do protótipo com o usuário, os servidores Whois e outras aplica- ções
O protótipo foi desenvolvido exclusivamente com tecnologia de código aberto e livre. A linguagem de programação utilizada foi Java(JDK1.5), com o uso biblioteca Jena
para processar RDF. Eclipse foi a IDE escolhida como ambiente de desenvolvimento. O sistema operacional escolhido foi Kubuntu (Ubuntu 4.0.3): Ubuntu com KDE. A máquina utilizada foi um laptop IBM ThinkPad modelo 2722, com 1 Giga bytes de me- mória e processador Intel Pentium 1400MHz. A linguagem de serialização escolhida foi XML mas poderia ter sido N3, TriX ou qualquer outra linguagem de representação suportada pela biblioteca Jena. O desafio consistiu mapear a sintaxe e semântica de cada servidor Whois para a ontologia. Então, estender o modelo RDF original quando necessário.
O protótipo demonstrou a facilidade de integração de diversas fontes de dados. Uma das principais vantagens da framework RDF consiste em facilitar a integração de diver- sas bases de dados sem a necessidade que elas sejam homogêneas. Principalmente, não há necessidade de converter as bases de dados relacionais em bases de dados RDF. O que certamente dificultaria a adoção do novo protocolo.