Aplicativo MVC com Big Data

Aplicativo MVC com Big Data

Nossos aplicativos hoje precisam ser rápidos e manipular um grande volume de informações. Com o exercício de um simples cadastro iremos praticar todos os passos necessários para fazer um aplicativo com as melhores práticas do mercado, qualidade e usando soluções de código-livre.

Evento

Nome: Encontro de Software Livre
Data: 06/09/2014 16:00h
Duração: 90min
Local: CRC Gama mapa

Teoria

O maior problema atualmente é manipular a enorme quantidade de dados. Pensando nisso várias pequenas empresas vem em anos trabalhando em atenuar esse problema: Google, Yahoo!, IBM – para falar de algumas.

Para armazenamento dos dados o Yahoo! trouxe a luz do dia o projeto Hadoop, o Facebook com o Cassandra e vários outros. Tenho uma predileção pelo MongoDB pela sua facilidade de uso, tal como o MySQL, e atende suficientemente esse propósito.

O MongoDB em si resolve uma parte do problema, precisamos acessar essas informações e dispô-las para a Internet.

Mas que legal! O MongoDB é multiplataforma, bem documentado e possui acesso a partir de muitas linguagens atuais (NodeJS, PHP, Java, .NET, entre outras).

Já temos o armazenamento, escolhemos a linguagem que melhor se adequar a nossa realidade (nesse caso usado o PHP) e já que nosso aplicativo vai aguentar um grande volume de informações – vamos colocar na Internet – “comofaz” para ser escalonável, grandioso e simples de construir???!!!!

Eis que a Google já nos trouxe uma solução! Um tal de AngularJS. Não é tão novo, não é tão velho e é de facílima compreensão.

Sabemos o problema, possuímos as ferramentas… Vamos colocar a mão na massa?

Instalação e configuração no Xubuntu

Todos os aplicativos utilizados são livres e multiplataformas (rodam em qualquer sistema operacional ou navegador. Ex.: Microsoft Windows e Microsoft Internet Explorer, Apple Mac OSX e Apple Safari, Ubuntu e Mozilla Firefox, …).

Como estamos falando de Xubuntu, para instalar os aplicativos primeiro temos que chamar o Terminal e instalar tudo o que for possível com o APT:

$ sudo su
$ apt-get update
$ apt-get install openjdk-7-jre mongodb php5-cli php5-mongo npm nodejs-legacy git
$ /etc/init.d/mongodb start

Entretanto, precisamos baixar os programas restantes manualmente. Para agilizar coloco os comandos do Terminal:

$ cd Downloads
$ wget -c https://s3.amazonaws.com/edgytech/umongo-linux-all_1-6-2.zip
$ unzip umongo-linux-all_1-6-2.zip -d /usr/local/
$ ln -s /usr/local/umongo-linux-all_1-6-2/ /usr/local/umongo
$ wget -c https://phar.phpunit.de/phpunit.phar
$ chmod +x phpunit.phar
$ php -r "readfile('https://getcomposer.org/installer');" | php
$ mv *.phar /usr/local/bin
$ wget -c http://download.netbeans.org/netbeans/8.0/final/bundles/netbeans-8.0-php-linux.sh
$ chmod +x netbeans-8.0-php-linux.sh
$ ./netbeans-8.0-php-linux.sh

Exclua os instaladores ou guarde. Lembrem-se que estão como root, precisa mudar o proprietário dos arquivos para o seu. Colinha: chown seuusuario:seuusuario *

Devemos agora usar o programa MenuLibre, ou Editor de Menus do Xubuntu, para criar um atalho para o UMongo.

Abra o MenuLibre, escolha o galho Desenvolvimento e clique em +. Escolha no menu que aparece Add Launcher. Em Application Details, forneça:

Nome UMongo
Comando /usr/local/umongo/launch-umongo.sh
Diretório de Trabalho /usr/local/umongo/

Para completar o ambiente, precisamos instalar o plugin cliente do REST, lembrando que o mesmo também é multiplataforma e pode ser instalado no Mozilla Firefox ou Google Chrome.

Acessando o endereço https://addons.mozilla.org/pt-br/firefox/addon/restclient/ a partir do Mozilla Firefox, clique em + Adicionar ao Firefox. Uma vez terminado ele irá pedir para reiniciar o navegador.

instalacao_plugin_rest_firefox

Irá aparecer um ícone vermelho com um círculo amarelo. Como se diz na Cozinha: Reserve.

Abra o NetBeans.

menu_netbeans

Abra o menu Ferramentas, submenu Opções.

netbeans_menu_ferramentas

Na janela Opções, escolha o item Editor e aba Formatação.

netbeans_opcoes_editor_formatacao

Escolha a Linguagem PHP e Categoria Chaves. Na Localização das Chaves, em Declaração de Classe escolha Nova Linha, e em Declaração do Método escolha também Nova Linha.

netbeans_opcoes_editor_dicas1

Escolha a aba Dicas e a Linguagem PHP. Desmarque:

  • Blocos Aninhados nas Funções
  • Muitas Linhas
  • Superglobais

Ainda na janela Opções, escolha agora o item PHP. Selecione a aba Frameworks e Ferramentas, depois – na lista ao lado – selecione PHPUnit.

Em Script PHPUnit forneça o seguinte valor: /usr/local/bin/phpunit.phar

Clique em OK e o seu ambiente está configurado! Podemos trabalhar agora nele!

Projeto

No projeto que proponho a vocês iremos fazer um CRUD bem simples, usando as tecnologias no rodapé desta postagem.

Nosso stickman faz:

mvc_bigdata_uml_01

Detalhando melhor temos:

mvc_bigdata_uml_02

A comunicação se dá:

mvc_bigdata_uml_03

E suas classes:

mvc_bigdata_uml_04

 

Conclusão e Execução

Em sala.

Tecnologias

AngularJS, PHP, HTML, JavaScript, Composer, Slim Framework, REST, Doctrine MongoDB, MongoDB, UMongo, Mozilla Firefox Plugin RESTClient, PhpUnit, OpenJDK e NetBeans.

 

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.