2.3 Plataformas de Cloud para a IdC
4.2.4 MOM e Plataformas de Cloud para a IdC
A realização do teste 4.1 deveu-se, essencialmente, à necessidade de se averiguar se os dados da base de dados SQLite são enviados corretamente para a base de dados MySQL, estando a sua especificação TTCN-3 caracterizada na tabela 4.7. Para começar, a aplicação móvel solicita ao Node-RED permissão para enviar os dados para a Cloud. Caso seja concedida, o Android verifica se a base de dados SQLite existe e tenta abri-la em modo de leitura. De seguida, os dados da próxima entrada na tabela são recolhidos, formatados numa String JSON e enviados, por meio do protocolo de comunicação MQTT, para o middleware, sendo necessária uma ligação à Internet para este passo. Uma vez recebidos os dados, o Node-RED interpreta-os e verifica, novamente por meio de uma conexão à Internet, se consegue estabelecer uma ligação com a base de dados presente na
Cloud. Se a ligação for alcançada, os dados são enviados até o processo se encontrar
finalizado e, nesse momento, o middleware informa a aplicação da conclusão do procedimento.
Tabela 4.7: Teste 4.1 – Envio dos dados da base de dados SQLite para a MySQL.
Teste: Envio dos dados da base de dados SQLite para a base de dados MySQL presente na Plataforma de Cloud
Grupo: Plataformas de Cloud para a IdC, Middlewares Orientados a Mensagens (Desafio 1)
Objetivo: Verificar se o envio dos dados para a Cloud é bem-sucedido
Comentários: O envio é efetuado para os dados dos sensores de todos os utilizadores que se
encontrem ao alcance do smartphone (Desafio 1)
Comportamento Restrições
! Android solicita ao Node-RED a permissão para o envio dos dados ? Permissão concedida ao Android
? Base de dados SQLite existe
? Abre base de dados em modo de leitura
? Gera um JSON com os dados da próxima entrada da tabela ? Node-RED recebe os dados por MQTT
! Node-RED interpreta os dados recebidos ? Ligação à base de dados MySQL
! Envio dos dados para a base de dados MySQL ? Processo de envio concluído
! Node-RED indica o fim do processo Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Wi-Fi/3G Wi-Fi/3G Wi-Fi/3G Wi-Fi/3G
Por sua vez, o teste 4.2 foi criado com o objetivo de confirmar o sucesso da funcionalidade de sincronização, i.e., do envio dados da base de dados MySQL para a base de dados SQLite e encontra-se especificado de acordo com a norma TTCN-3 na tabela 4.8.
Tabela 4.8: Teste 4.2 – Envio dos dados da base de dados MySQL para a SQLite.
Teste: Envio dos dados da base de dados MySQL para a base de dados SQLite (processo de sincronização)
Grupo: Plataformas de Cloud para a IdC, Middlewares Orientados a Mensagens (Desafio 3)
Objetivo: Verificar se o envio dos dados para a base de dados local é bem-sucedido
Comentários: Os dados recolhidos pelo utilizador foram introduzidos na Cloud por outro
dispositivo (Desafio 3)
Comportamento Restrições
! Android solicita ao Node-RED a recolha dos dados ? Solicitação aceite
? Ligação à base de dados MySQL
? Recolha dos dados da próxima entrada da tabela ? Node-RED recebe os dados solicitados
! Node-RED agrupa os dados numa única String ? Android recebe os dados por MQTT ? Base de dados SQLite existe
? Abre base de dados em modo de escrita ! Armazena os dados na base de dados ? Processo de envio concluído
! Node-RED indica o fim do processo Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Caso Contrário Wi-Fi/3G Wi-Fi/3G Wi-Fi/3G Wi-Fi/3G
Inicialmente, a aplicação móvel solicita ao middleware a recolha dos dados presentes na Cloud em falta na base de dados local. Caso a solicitação seja aceite, o Node- RED interpreta-os e verifica, através de uma ligação à Internet, se consegue conectar-se à base de dados MySQL. Caso a conexão seja estabelecida, os dados da próxima entrada contida na tabela são enviados para o middleware, agrupados numa única String e reencaminhados, por intermédio do protocolo MQTT, para a aplicação móvel. No
abertura em modo de escrita e ao armazenamento dos dados recebidos. Os processos de envio e de armazenamento são repetidos até que o Node-RED informe a aplicação da sua conclusão, originando, desta forma, o fim bem-sucedido do teste. Por outro lado, caso ocorra alguma falha durante o decorrer das etapas, o teste é finalizado com a indicação de falha.
4.2.5 Plataformas de Cloud para a IdC
Por fim, o teste 5.1 foi criado com a finalidade de garantir a eficácia da exportação dos dados presentes na base de dados MySQL para o sistema de ficheiros do Apache Hadoop – o HDFS. Deste modo, o teste começa ao ser corrido o script que utiliza comandos próprios do Apache Sqoop, sendo efetuada a verificação da existência de novos dados na base de dados presente na Cloud. Em caso afirmativo, o Apache Sqoop tenta proceder à exportação dos dados para o HDFS. Caso algum dos passos indicados aborte, o teste conclui com informação de falha. No entanto, se passar todas as etapas com êxito, termina com sucesso. A especificação TTCN-3 deste teste está representada na tabela 4.9.
Tabela 4.9: Teste 5.1 – Exportação dos dados de MySQL para o Apache Hadoop.
Teste: Exportação dos dados presentes na base de dados MySQL para o sistema de ficheiros do Apache Hadoop
Grupo: Plataformas de Cloud para a IdC
Objetivo: Verificar se os dados presentes na base de dados são exportados com sucesso
Comentários: Os dados são exportados da base de dados MySQL para o HDFS
Comportamento Restrições
? Existência de novos dados na base de dados MySQL ? Apache Sqoop exporta os dados para o HDFS Caso Contrário
Caso Contrário