• Nenhum resultado encontrado

Esta seção apresenta os aspectos técnicos referentes ao desenvolvimento da aplicação descrita neste capítulo. A aplicação desenvolvida foi inicialmente integrada ao STI PAT2Math, mas por possuir uma arquitetura bastante flexível pode ser integrada a qualquer STI do tipo step-based. Apesar da aplicação desenvolvida inicialmente ser integrada ao PAT2Math para a realização do estudo de caso, ela depende única e exclusivamente do modulo de aluno para personalizar a experiência do usuário durante a utilização do STI.

A aplicação proposta foi desenvolvida como sendo um módulo do PAT2Math. Desta forma, foi possível reutilizar vários recursos presentes dentro do PAT2Math. Não foi necessário implementar nenhuma camada intermediária de comunicação, por exemplo, um webservice. A comunicação entre o PAT2Math e aplicação que executa a meditação adaptada para o aluno foi feita utilizando classes Java. As subseções seguintes descrevem aspectos da aplicação que executa a meditação adaptada para o estudante. A Figura 18 apresenta um diagrama do funcionamento da aplicação.

O PAT2Math é uma aplicação web e pode ser acessado através do endereço http://pat2math.unisinos.br. O PAT2Math é executado em um servidor Jetty5 que implementa

a especificação JavaEE6. A interface da aplicação ou módulo de comunicação, que é executada

na máquina cliente, foi implementado utilizando as seguintes tecnologias: HTML5, CSS, Javascript e o framework Jquery. Os demais módulos que são parte integrante do STI são executados no servidor de aplicações. Todas as requisições feitas ao servidor através da interface são realizadas utilizando técnicas de requisição assíncrona, ou seja, é permitido realizar requisições em paralelo ao servidor. Para o tratamento das requisições assíncronas é utilizado AJAX (Asynchronous Javascript and XML). Todos os módulos integrantes do PAT2Math são descritos na seção 3.2.

A linguagem de programação utilizada para o desenvolvimento dos módulos do STI é a linguagem Java. Alguns dos módulos utilizam também bibliotecas específicas, por exemplo, a

5 Disponível em http://www.eclipse.org/jetty

6 Java Platform, Enterprise Edition é uma plataforma de programação para servidores na linguagem de

Drools Engine7. Esta shell é utilizada no módulo especialista do STI, sendo responsável por implementar todas as regras de produção que representam o conhecimento especialista no domínio de equações algébricas.

Além dos módulos convencionais presentes em STI, a arquitetura do PAT2Math possui também outros três módulos responsáveis por tratar de questões como: a) recebimento e encaminhamento das requisições do cliente (browser); b) exposição das funcionalidades e mecanismos do STI; c) requisições ao banco de dados.

7 Disponível em http://www.drools.org

Figura 18: Funcionamento da aplicação de mindfulness em um STI

Estes três módulos são conhecidos na arquitetura do STI como Controlador, Serviço e Repositório. Estes componentes do PAT2Math foram implementados utilizando o framework Java Spring8. O Spring utiliza a arquitetura MVC (Model View Controller), um conceito

amplamente utilizado na engenharia de software, onde é possível dividir um software em camadas e, desta forma, permitir que cada camada existente seja responsável por diferentes “tarefas” dentro de uma aplicação. A separação de um software em camadas faz com que o mesmo adquira qualidades como organização, reusabilidade e portabilidade.

Um exemplo do funcionamento e da interação entre as camadas da aplicação é quando o aluno informa ao STI sobre como está o seu humor no momento presente. O STI envia uma requisição HTTP assíncrona ao servidor da aplicação. Nesta requisição, a resposta e o tempo de experiência do aluno são enviados como parâmetros; o controlador recebe os dados e prepara a página que executará a meditação e exibe a mensagem de motivação / suporte adequada ao humor e a experiência do aluno. Após estes passos, a aplicação envia ao repositório do banco de dados as informações sobre a prática de meditação do estudante e ao fim da meditação, o aluno é direcionado ao PAT2Math.

Para manter o bom funcionamento do PAT2Math e evitar a sobrecarga de requisições no servidor em virtude do uso da reprodução de arquivos de áudio foi utilizada a API Iframe9

disponibilizada pelo site de streaming de vídeos YouTube. Através do uso desta API foi possível hospedar todos os 32 arquivos de áudio das meditações utilizadas na aplicação e fazer o carregamento da gravação que estava hospedada no site YouTube dentro da página da aplicação integrada ao PAT2Math.

Além do carregamento dos vídeos, a API permitiu também controlar várias propriedades e eventos do áudio durante a reprodução do mesmo. Utilizando as funções desta API foi possível controlar o volume de reprodução, a exibição ou não do Iframe, obter informações da gravação, como tempo total de duração, título, entre outros. Além disso, foi possível adicionar

listeners para eventos que são executados em resposta a eventos do player, como, por exemplo,

uma mudança no estado de reprodução.

Para o armazenamento dos dados foi utilizado como repositório uma tabela criada no mesmo banco de dados do PAT2Math. Para gerenciar as tabelas do STI é utilizado o sistema gerenciador de banco de dados MySQL. Uma única tabela armazena os dados do aluno, a meditação realizada, o humor informado pelo estudante e os valores dos questionários de atenção respondidos pelo estudante. A Figura 19 apresenta o fluxo de informações até as informações serem salvas no banco de dados.

8 Disponível em: https://projects.spring.io/spring-framework/

Figura 19: Fluxo das informações até o banco de dados

Documentos relacionados