Fundamentação Teórica do Projeto - Acesso ao Web Database via Scratch

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Objetivos

Ao final da aula os alunos deverão:

  • estar capacitados a desenvolver programas Scratch com acesso ao Web Database.
  • dar continuidade ao desenvolvimento do projeto integrador.

Acesso a base de dados via Web - alguns conceitos básicos

Um modelo de comunicação que é amplamente usado na Internet é o modelo cliente-servidor. Neste modelo, um programa chamado cliente que se executa em alguma máquina de uma rede requisita um serviço de um programa servidor que se localiza na mesma ou em outra máquina da rede.

No contexto da WEB o modelo cliente servidor é facilmente identificado. Quando usamos um browser (Firefox, Internet Explorer, Chrome) estamos usando um cliente WEB. Através deste cliente, requisitamos páginas que estão armazenadas (ou são acessadas) em um servidor WEB. Por exemplo, aqui no IFSC São José temos um servidor WEB que responde pelas nossas páginas. O cliente recebe a página solicitada e mostra a pagina para o usuário. n 200x

O acesso via Scratch

O Scratch na versão 1.4 não apresenta facilidades para acesso a um Web Database (WebDB). Para o desenvolvimento do Projeto Integrador, foi criado um sprite que permite acessar a WebDB de forma semelhante ao App Inventor. Um programa java auxiliar deve ser usado para viabilizar este acesso.

Para testar o acesso faça os seguintes passos:

  1. Baixe o programa scratch de InterfaceWebDB.
  2. Carregue o programa no Scratch. Você deve observar, uma mensagem de conexão com sensore remoto ativa.
  3. Baixe o arquivo java de Programa Java
  4. Abra um terminal e vá até o diretório onde foi baixado o arquivo java. Execute-o com:
  java -jar InterWebDB.jar

Pronto, agora pode-se executar o programa Scratch. Mas antes vamos entender um pouco do programa. Indo até o palco pode-se observar o código:

RpalcoInterfaceWebDB-PI1-Engenharia.png

O script no palco demonstra o uso do sprite InterfWevDB. Este objeto não deve ser modificado! Ele encapsula um código crítico de comunicação com o programa Java e expõe uma interface para outros scripts que podem ser acionados através de broadcast.

Apontando para a base de dados

O servidor WebDb se encontra em alguma máquina com endereço IP válido. Este endereço pode estar associado a um nome (nome de DNS). Por default, na implementação no Scratch, o servidor apontado é o do MIT.

Para apontar para uma outra base de dados deve-se configurar o endereço da mesma usando o sinal setUrlWebDB Para tanto, deve-se atribuir atribuir ao parâmetro par1WebDB o nome desejado. No exemplo o parâmetro é configurado para a máquina raul. Em seguida, deve-se emitir o sinal setUrlWebDB com opção de espera (anuncie para todos e espere)

Acompanhando o conteúdo e atualizando a base de dados via browser

Para operar e monitorar a base de dados via browser basta colocar a url raul:8080 na barra de endereços. Clicar em store ou get para acessar uma tag específica.

Lendo dados associados a um dado tag

Para ler um dado associado a um dado tag deve-se simplesmente atribuir ao parâmetro par1WebDB o nome do tag desejado e fazer um envio do sinal LerValorTagWebDB com opção de espera. Na sequência, estará armazenado no mesmo parâmetro, o valor lido. No caso de erro de conexão será retornada uma mensagem de ERRO DE CONEXÃO.

Escrevendo dados associados a um dado tag

Para escrever um dado basta colocar no par1WebDB o nome do tag desejado e no par2WebDB o nome do valor desejado. Deve-se então enviar o sinal EscreverValorTagWebDB e esperar.