Escolar Documentos
Profissional Documentos
Cultura Documentos
Nota-se que os web Services abrangem toda a parte de cloud III. AMBIENTE VIRTUAL DE APRENDIZAGEM
computing, uma vez que eles são utilizados para basicamente Dentre vários recursos utilizados pelas instituições para
todas as conexões realizadas pela tecnologia. Enquanto isso, a prover a EAD em ambientes virtuais computacionais, um dos
SOA pode ou não utilizar o cloud computing e web services mais importantes é o Ambiente Virtual de Aprendizagem
em sua composição. (AVA). Os AVA são desenvolvidos e/ou mantidos por
Para que as requisições de serviço usando web services instituições acadêmicas ou empresas privadas. É uma
sejam feitas, é necessária a utilização de um protocolo tal plataforma que fornece aos usuários uma vasta gama de
como o Simple Object Access Protocol (SOAP) ou o mais ferramentas que podem ser utilizadas durante um curso que
comum, utilizado para o acesso a web em geral, Hypertext vão desde materiais de estudo, grupos de discussões, tarefas,
Transfer Protocol (HTTP). O protocolo utilizado como meio notas, dentre outros. Essas ferramentas visam favorecer a
para a comunicação dos elementos que compõem este projeto interação entre professores, tutores e alunos. [9]
é o HTTP e, também, um estilo de arquitetura de software Para este projeto, adota-se como AVA o Moodle, que é
chamado Representational State Transfer (REST). utilizado pelo Inatel. O Moodle é um AVA open source, ou
O REST foi escolhido por ser mais leve, sendo assim, mais seja, com o código aberto, que atualmente é dirigido e
indicado para aplicações móveis, que muitas vezes contam coordenado pelo Moodle HQ, uma companhia de 30
com banda de comunicação limitada com a Internet. desenvolvedores financiados e apoiados por uma rede de mais
Todas as mensagens trocadas entre as partes que requisitam de 60 companhias espalhadas ao redor do mundo. Sua
um serviço e/ou respondem a uma requisição são feitas no primeira versão (1.0) foi lançada em agosto de 2002 e teve
formato JavaScript Object Notation (JSON). como seu fundador o australiano Martin Dougiamas.[10]
Todos os elementos citados anteriormente visam possibilitar A versão do Moodle utilizada no Inatel é a 1.9, que não
o acesso de dados, aplicações ou arquivos nas nuvens, ou seja, pôde ser utilizada neste projeto devido à falta de suporte
de qualquer local. Para o m-learning, isso é um fator nativo a aplicações móveis e web services. Por esta razão,
extremamente benéfico, já que para que o acesso ao AVA utilizou-se a versão 2.8+, que futuramente será adotada pela
ocorra, basta que o usuário disponha de um dispositivo instituição.
compatível e de conexão com a Internet, conforme ilustra a
Figura 3. IV. AS APLICAÇÕES MÓVEIS
A tecnologia móvel compreende vários tipos de
dispositivos, sendo os mais populares: os smartphones,
phablets e tablets. A diferença entre eles se dá pela quantidade
de polegadas do dispositivo, sendo smartphone de 3 a 5 questionários, tarefas, dentre outros. Nesta fase, um segundo
polegadas, phablets: de 5 a 7 polegadas e tablets: de 7 a 11 protótipo da aplicação móvel será gerado;
polegadas. • Fase 3 – Interação: implementação dos recursos de
Segundo estudos do DazeInfo, no fim de 2014, existiam interação existentes no Moodle, como bate papos, mensagens
cerca de 1.63 bilhão de smartphones ativos em todo o mundo. entre usuários, fóruns, dentre outros. Nesta fase, o terceiro
No Brasil, 6º país no ranking, o número de dispositivos protótipo da aplicação móvel será gerado;
chegou a 38,8 milhões. [11] • Fase 4 – Plugins: desenvolvimento de plugins que visam
Um dos principais motivos pelos quais os dispositivos melhorar a interação entre as partes requisitantes de serviços e
móveis se tornaram tão integrados à rotina do homem foi pela gerar a versão final do aplicativo para Android.
sua capacidade de instalação de aplicações móveis (aplicativos Este artigo aborda a realização da Fase 1, onde a arquitetura
ou apps) dos mais variados formatos e para os mais diversos e os elementos essenciais foram definidos, bem como a
fins. Através da vasta gama de apps disponíveis, é possível comunicação entre estes elementos, através de web services,
que o usuário consiga consultar, em tempo real, a temperatura, foi estabelecida. O resultado da Fase 1 é o primeiro protótipo
realizar um complexo cálculo matemático, ou simplesmente, da aplicação móvel.
manter contato com as pessoas através de aplicativos de Há, também, o plano de se criar outras duas aplicações
mensagem instantânea. O que definirá qual aplicação o móveis nativas para os dispositivos que utilizam o iOS e o
dispositivo terá, cabe inteiramente ao usuário e às suas Windows Phone como sistemas operacionais. Para cada um
necessidades. deles, as quatro fases acima também serão adotadas.
As limitações quanto aos aplicativos disponíveis para cada Os próximos tópicos abordarão as ferramentas de
dispositivo se dão através do sistema operacional. Em âmbito desenvolvimento, os recursos de software e hardware e os
global, os mais populares são: Android, iOS, Windows Phone serviços externos utilizados.
e BlackBerry OS. Segundo estatísticas do IDC, em 2014, o
mercado de dispositivos, quanto ao sistema operacional, ficou A. As ferramentas de desenvolvimento
dividido conforme apresenta a Tabela II. As ferramentas utilizadas para o desenvolvimento da
aplicação móvel foram:
TABELA II • Eclipse e Android Developers Tools: Interface de
DIVISÃO DO MERCADO DE DISPOSITIVOS MÓVEIS INTELIGENTES POR SISTEMA
OPERACIONAL EM 2014 [12]
Desenvolvimento (IDE) para JAVA (Android);
• Adobe Dreamweaver CC: IDE para PHP (PHP: Hypertext
Preprocessor, originalmente Personal Home Page);
Android iOS
Windows BlackBerry
Outros • Adobe Photoshop CC: editor de imagens;
Phone OS
• FlashFXP v4.2: software de transferência FTP (File
Transfer Protocol).
76.6% 19.7% 2.8% 0.4% 0.5% B. Os elementos de software
Os elementos de software da Fase 1 são aplicações web que
Para o início deste projeto, adotou-se o desenvolvimento do possuem interfaces para comunicação através de web services:
aplicativo para o sistema operacional Android, já que ele está • Moodle 2.8+: é o AVA, o coração do projeto.
presente em 76.6% dos dispositivos móveis utilizados no Desenvolvido em PHP, que utiliza como banco de dados o
mundo. MySQL;
O Android é um sistema operacional open source mantido • AirNotifier: servidor de Notificações Móveis (Push).
pela gigante tecnológica Google e já está presente em mais de Desenvolvido em Python que utiliza como banco de dados o
um bilhão de smartphones, phablets e tablets. Cada uma de MongoDB.
suas versões recebe o nome de um doce diferente e sua última
C. Os elementos de hardware
versão é a 5.0, intitulada de Lollipop (pirulito).
Neste projeto, a versão mínima requerida para o aplicativo é Os elementos de hardware estão alocados na nuvem. São
a 4.4, KitKat, que segundo o site oficial está presente em dois servidores, como descritos abaixo:
41.4% dos dispositivos Android. [13] • Bluehost Shared Server: responsável pela hospedagem do
Moodle 2.8+;
V. CONCEPÇÃO DO PROJETO • Inmotion Dedicated Server: responsável pela hospedagem
do AirNotifier.
Este projeto foi dividido em quatro fases de realização,
sendo cada uma delas responsáveis por: D. Os serviços externos
• Fase 1 – Comunicação: estabelecimento da comunicação Os serviços externos são aqueles que não estão disponíveis
básica entre os elementos principais envolvidos na arquitetura através de nenhum dos servidores apresentados nos elementos
do projeto e desenvolvimento do primeiro protótipo da de hardware. Neste caso, o projeto utiliza apenas um, o
aplicação móvel; Google Cloud Messaging (GCM).
• Fase 2 – Conteúdo: implementação dos recursos para O GCM é um serviço gratuito que a empresa Google
exibições dos conteúdos nativos do Moodle, como lições, oferece para Android, que é capaz de enviar mensagens de
seus servidores para os usuários com dispositivos Android.
VI. INSTALAÇÃO E CONFIGURAÇÃO DOS SERVIÇOS Web > Mobile > Habilitar web servisse para dispositivos
O desenvolvimento da aplicação móvel requer, como móveis, conforme ilustrado na Figura 5.
primeira etapa, a instalação do Moodle em um servidor e a
ativação do suporte para web services. Somente assim será
possível fazer a requisição de dados do ambiente virtual de
aprendizagem. Como o servidor atual do Moodle do Inatel não
suporta a versão 2.8+ e sim, somente, a versão 1.9, foi
necessária realizar a instalação para desenvolvimento em outro
servidor. Foi feito o download da versão 2.8+ do Moodle no
site https://download.moodle.org/ e a instalação foi realizada
no servidor Bluehost, no seguinte endereço: Fig. 5. Habilitando web services no Moodle
http://www.douglasrosa.com/pos/tcc/moodle/.
É importante ressaltar que a versão 2.8+ do Moodle já conta Depois de habilitado, foi possível acessar a opção Serviços
com um design responsivo para a web, ou seja, ele já se adapta externos e definir quais serviços estariam disponíveis aos
para a exibição em dispositivos móveis. Então, por qual razão usuários. Por padrão, o Moodle tem um conjunto de serviços
desenvolver um aplicativo ao invés de utilizar da definidos na opção Moodle mobile web service. Esta opção
responsividade do Moodle? A resposta está nas funções não permite que sejam adicionados ou retirados serviços. Foi
nativas, que podem ser utilizadas ao se desenvolver necessária, através do banco de dados, realizar uma
especificamente para um sistema operacional. modificação em sua estrutura para tal. Ela teve que ser
A responsividade visa garantir que quando uma plataforma desvinculada como conjunto de funções exclusivas para o
web (ou site) é acessada através do navegador (browser) de Moodle e passou a ser um conjunto de funções
um dispositivo móvel, o usuário tenha a melhor experiência. personalizáveis. Para que isso ocorresse, foi necessário alterar
Contudo, devido à dependência do navegador para funcionar, a tabela mdl_external_services, no registro 1 (Moodle mobile
ela está limitada a executar apenas funções reconhecidas pelo web service) na coluna component, atribuindo-a o valor
mesmo. NULL. Dessa forma, tornou-se possível adicionar ou remover
Um aplicativo nativo não está limitado ao uso das funções serviços do grupo de acesso Mobile. Uma nota importante é
estabelecidas por um navegador. Ele pode acessar uma gama que cada conjunto de serviços possui um nome para que possa
de funções nativas do sistema operacional, aumentando o ser acessado, tais nomes não são mostrados abertamente no
número de possibilidades de serviços oferecidos ao usuário. Moodle, sendo conhecidos apenas através do acesso ao banco
Nesta Fase 1 do projeto, as funções nativas utilizadas foram as de dados na mesma tabela supracitada, na coluna shortname.
de acesso e escrita ao calendário e as de recebimento e O nome do conjunto de serviços utilizados no
processamento de notificações push, que não disponíveis desenvolvimento do aplicativo é o moodle_mobile_app.
através do acesso do Moodle por um navegador. Ainda, para que seja possível o envio de notificações ao
A Figura 4 exibe a tela principal do Moodle após a sua usuário, de acordo com as suas configurações (ex.: ser
instalação com a personalização do logo do Inatel e a criação notificado quando uma postagem em fórum seja respondida,
de dois cursos, que serão utilizados como teste para o ou quando uma nova atividade é adicionada) é necessária a
aplicativo móvel: Introdução ao SOA e TCC instalação do AirNotifier.
Desenvolvimento. O AirNotifier é um servidor de envio de mensagens por
Push, sendo compatível com iOS, Android, Windows Phone e
alguns serviços de SMS. O download do servidor para
instalação foi feito em http://airnotifier.github.io/ e instalado
no Inmotion Dedicated Server e está acessível através do
endereço http://moodle.inatel.br:8801/. A Figura 6 ilustra a
interface principal do AirNotifier.
Fig. 10. Chave de acesso (access key) criada para acesso do Moodle aos
serviços disponibilizados pelo AirNotifier.
Fig.14. Diagrama de Sequência de Login O menu da tela principal, Figura 16, apresenta como
opções:
1. O aplicativo envia o nome de usuário e senha preenchidos • Meus Cursos: opção responsável por retornar à listagem de
pelo usuário ao Moodle; cursos;
2. Caso os dados estejam corretos, o Moodle retorna um token • Meu Perfil: opção na qual o usuário pode visualizar o seu
para acesso aos web services, que é armazenado no aplicativo; perfil;
3. O aplicativo requisita todos os dados do usuário que acabou • Sair: opção para encerrar o aplicativo.
de realizar o login;
4. O Moodle responde com os dados de usuário requisitados;
Fig.16. Menu principal.
Fig.24. Perfil de um participante. Todos os web services utilizados na Fase 1 do projeto foram
apresentados. Cada tela possuía pelo menos um tipo de
requisição de serviço feita para o Moodle, para o AirNotifier
VIII. NOTIFICAÇÕES MÓVEIS PUSH ou para o GCM.
As notificações de atualizações nos cursos enviadas aos
usuários são feitas através da interação entre o Moodle, IX. CONCLUSÕES
AirNotifier e o GCM. O resultado deste projeto foi o primeiro protótipo da
O Moodle possui um script interno de atualização chamado aplicação móvel EAD Inatel para apoio ao e-learning. Ela
de Cron. Toda vez que o Cron é executado, ele verifica quais não substituirá a experiência que o usuário deve ter com o
são as novidades dos cursos e determina quais usuários devem Moodle no ambiente web. Ele apenas visa facilitar o acesso
receber essas notificações. Após determinar a lista de rápido às informações, ajudar o usuário a se organizar através
destinatários, ele fará requisições ao serviço de Push do da sincronia de eventos dos cursos com seu calendário pessoal
AirNotifier, que por sua vez, utilizará o serviço de envio de e mantê-lo atualizado sobre novidades do curso através de
mensagens do GCM, para que, assim, o usuário receba as notificações push.
notificações em seu dispositivo. Procurou-se manter na interface gráfica do aplicativo uma
Os usuários podem configurar em seu perfil, através do ligação com a encontrada na versão web do Moodle do Inatel,
acesso web, quais tipos de notificações querem receber e que pode ser visualizada em http://moodle.inatel.br.
através de qual meio, podendo ir de pop-ups a e-mails e Um dos pontos que fica claro quando se trabalha com web
notificações móveis. services do Moodle é que ainda há muito a ser feito. Existem
A Figura 25 ilustra a notificação ao usuário e a Figura 26 muitas limitações e pouca documentação para o
mostra a tela de exibição dos detalhes da notificação. desenvolvimento.
Para o futuro, visa-se concluir as três fases restantes do
aplicativo Android:
• Fase 2 – Conteúdo: na qual os elementos de um curso não
serão mais abertos através do navegador e sim nativamente no
aplicativo;
• Fase 3 – Interação: na qual os usuários poderão interagir
através de chats, video chats e fóruns, através do aplicativo;
• Fase 4 – Plug-ins: etapa final, na qual recursos adicionais,
que visem melhorar o processo de comunicação entre os
REFERÊNCIAS
[1] E. Durall et al, Perspectivas tecnológicas: educación superior en
Iberoamérica 2012-2017. Austin, TX: The New Media Consortium,
2012, pp. 1-3.
[2] BRASIL. Ministério da Educação. (2015, July 7). Decreto nº 5.622, de
19 de dezembro de 2005. Disponível:
http://www.planalto.gov.br/ccivil_03/_ato2004-
2006/2005/decreto/d5622.htm
[3] Associação Brasileira de Educação a Distância, Censo EaD.br:
relatório analítico da aprendizagem a distância no Brasil 2013. 1. Ed.
Curitiba: Ibpex, 2014, pp. 28.
[4] U.J. Bora and M. Ahmed. (2013, January). E-Learning using Cloud
Computing. International Journal of Science and Modern Engineering
(IJISME) [Online]. Volume I, pp. 1. Disponível:
http://www.ijisme.org/attachments/File/v1i2/B0111011213.pdf
[5] T. Erl, Service-Oriented Architecture: Concepts, Technology, and
Design. Upper Saddle River: Prentice Hall PTR, 2005, pp. 44.
[6] Service Architecture. (2015, March 8). Web Services Definition
[Online] Disponível: http://www.service-architecture.com/articles/web-
services/web_services_definition.html
[7] P. Mell and T. Grance. “The NIST definition of cloud computing,”
National Institute of Standards and Technology Special Publication
800-145, vol. 1, pp. 2, Sept. 2011.
[8] Service Architecture. (2015, March 8). Web Services and Cloud
Computing [Online] Disponível: http://www.service-
architecture.com/articles/cloud-
computing/web_services_and_cloud_computing.html
[9] E.N. Ribeiro, G. A. A. Mendonça, A. F. Mendonça. A Importância dos
Ambientes Virtuais de Aprendizagem na Busca de Novos Domínios da
EAD. Goiás, 2007, pp. 4.
[10] J MoodleDocs. (2015, March 15). History [Online] Disponível:
https://docs.moodle.org/28/en/History
[11] DazeInfo. (2015, April 7). Worldwide Active Smartphone Users
Forecast 2014 - 2018: More Than 2 Billion By 2016 [Online]
Disponível: http://dazeinfo.com/2014/12/18/worldwide-smartphone-
users-2014-2018-forecast-india-china-usa-report/.
[12] IDC. (2015, April 1). IDC: Smartphone OS Market Share 2014, 2013,
2012, and 2011 [Online] Disponível:
http://www.idc.com/prodserv/smartphone-os-market-share.jsp
[13] Android Developers. (2015, April 20). Dashboards [Online]
Disponível:
https://developer.android.com/about/dashboards/index.html?utm_source
=suzunone.