Robo 3T – Ferramenta Gráfica para o MongoDB

Estou praticamente no início de minha jornada com o MongoDB, mas a cada dia que passa me sinto mais satisfeito em trabalhar com ele.

Além de usar o MongoDB diretamente no console, tenho trabalhado mais diretamente com o desenvolvimento Java + MongoDB através do Java Driver.

Até então não tinha procurado por nenhuma ferramenta gráfica para trabalhar com o MongoDB, mas hoje descobri o Robo 3T, antigo (e conhecido) Robomongo. Trata-se de uma ferramenta gratuita para se trabalhar com o MongoDB de forma gráfica.

Admito que não conhecia nenhum dos dois, mas a julgar pela comunidade do Robomongo trata-se de uma ferramenta bem popular, adquirida recentemente pela 3T Software Labs, desenvolvedora do Studio 3T, antigo MongoChef.

Para maiores detalhes sobre as funcionalidades acesse a página do projeto. A seguir mostro uma rápida visão da instalação e uso da ferramenta para criar uma primeira conexão e consulta a coleções.

Acesse a página de downloads do projeto e baixe o pacote para seu sistema operacional. No meu caso estou usando o Linux Mint.

Depois de feito o download descompacte o arquivo e acesse o diretório bin, executando o arquivo robo3t. A primeira tela solicitará a criação de uma conexão:

robo3t-1.png

Para uma instalação padrão em sua máquina local, o padrão será o suficiente:

robo3t-2.png

Ao salvar a conexão criada e fazer a conexão será possível visualizar todos os bancos de dados e suas coleções:

robo3t-4.png

E é claro, é possível realizar as operações básicas, e visualizar as estatísticas dos bancos e das coleções:

robo3t-5.png robo3t-6.png

robo3t-7.png

Por hora é isso galera, dica dada!

Eu por aqui vou explorar mais a ferramenta e o próprio MongoDB, e em breve pretendo postar exemplos de desenvolvimento Java com o MongoDB.

 

Abraços!

 

Anúncios

Instalando o WSO2 API Manager como Serviço no Windows

Este post é uma dica rápida sobre como fazer a instalação do WSO2 API Manager no Windows. Este procedimento deve funcionar para qualquer outro produto da WSO2 também, mas no meu caso o processo foi realizado apenas para o API Manager.

Embora a documentação do produto oriente a utilização do YAJSW (Yet Another Java Service Wrapper) versão 11.03, tentativas de realizar este processo com uma versão mais atual do YAJSW, como a 12.09, falham com um erro parecido com o seguinte no console:

apimgr-01

Ainda que seja possível baixar e instalar as versões mais antigas indicadas no manual do produto (11.03 ou ainda 11.11), neste post descobri o NSSM (Non-Sucking Service Manager), que consegue deixar ainda mais simples o processo de configuração do serviço.

Depois de fazer o download da versão mais recente do NSSM (que não é tão nova assim, de Agosto de 2014) basta seguir os passos indicados no manual de uso, que é bem intuitivo.

De qualquer forma aqui vai um passo-a-passo bem rápido:

Depois de descompactar o download, abra um prompt de comando e vá até o diretório referente à plataforma de seu SO:

apimgr-02

Digite o comando abaixo, substituindo 4.WSO2-ApiManager pelo nome do seu serviço:

apimgr-03

Ao executar este comando uma GUI de configuração será aberta. Nela você deve informar a localização do arquivo wso2server.bat da instalação do WSO2 API Manager, e outros detalhes como descrição do serviço, e clicar em install.

apimgr-04

 Após este processo o serviço estará instalado.

apimgr-05

Para remover o serviço basta repetir o procedimento, digitando no prompt de comando o seguinte comando:

nssm remove 4.WSO2-ApiManager

É isto! Espero que seja útil galera.

MongoDB: Instalação no Linux

Há algum tempo atrás me interessei pelo MongoDB e resolvi estudá-lo um pouco mais. Fiz um treinamento gratuito disponível no próprio site do fornecedor, e tenho desenvolvido algumas coisas com ele desde então.

Para quem decidir estudar e desenvolver com o MongoDB eu recomendo fortemente, pois apesar de ser uma abordagem totalmente diferente da relacional, à qual estamos mais acostumados, é muito simples de entender e bem satisfatório de usar.

A intenção deste post não é fazer uma introdução ao MongoDB (sugiro, para quem se vira um pouco com o inglês, fazer o curso oferecido pelo site oficial do produto), mas deixar um rápido passo-a-passo de como instalar o MongoDB em um sistema Linux e instalar os driver para algumas linguagens.

Os comandos de instalação abaixo foram os que utilizei com sucesso em minha distribuição Linux (Mint 17.3).

 

Instalação do MongoDB

 

1) Importar a chave pública usada pelo sistema gerenciador de pacotes:

$ sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA312927

2) Criar um list file para o MongoDB:

$ echo “deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3) Atualizar informações dos pacotes:

$ sudo apt-get update

4) Instalar o MongoDB

$ sudo apt-get install -y mongodb-org

Depois de finalizada a instalação, execute o comando abaixo para verificar a versão do MongoDB instalada:

$ mongo –version

img-1

Para inicializar o MongoDB, execute o comando abaixo:

$ sudo service mongod start

img-2

A instância do MongoDB armazena seus arquivos de dados no diretório /var/lib/mongodb, e seus arquivos de logs no diretório /var/log/mongodb por padrão, e executa com a conta de usuário mongodb. Se necessário é possível alterar os diretórios de log e dados no arquivo /etc/mongod.conf.

A verificação de que o processo mongod iniciou com sucesso pode ser feita através do arquivo de log /var/log/mongodb/mongod.log, com uma linha como esta:

[initandlisten] waiting for connections on port <port> (where <port> is the port configured in /etc/mongod.conf, 27017 by default)

Para parar ou reiniciar o serviço do MongoDB use os comandos abaixo:

$ sudo service mongod stop

img-3

$ sudo service mongod restart

img-4

Para iniciar o console do MongoDB digite o comando abaixo:

$ mongo

img-5.png

> show dbs

img-6

Para sair do console do MongoDB basta digitar CTRL+C.

Para a instalação em outras distribuições ou sistemas operacionais, você pode consultar as instruções no site do projeto.

 

Instalação do Driver para Python

A instalação do driver do MongoDB para Python pode ser feita através do pip, com o comando abaixo:

$ sudo pip install pymongo

Caso não tenha ainda o pip instalado, execute o comando abaixo para instalá-lo:

$ sudo apt-get install python-pip

 

Instalação do Driver para PHP

A instalação do driver do MongoDB para PHP pode ser feita através do pecl, com o comando abaixo:

$ sudo pecl install mongo

Caso não tenha o pecl instalado, execute os comandos abaixo para a instalação:

$ sudo apt-get install php5-dev

$ sudo apt-get install php-pear

Depois de instalado o driver é necessário habilitar a extensão do MongoDB para o PHP, incluindo no arquivo php.ini a seguinte linha, na seção de extensões:

extension=mongo.so

O arquivo php.ini costuma estar no seguinte local:

/etc/php5/apache2/php.ini

Depois de salvar a alteração, reinicie o apache:

sudo /etc/init.d/apache2 restart

Depois disso você pode criar um arquivo chamado info.php com o conteúdo abaixo, e incluí-lo no seu diretório de publicação do apache:

<?php phpinfo(); ?>

Depois, ao acessar o arquivo, deve ser possível encontrar uma seção relacionada ao MongoDB:

img-10.png

 

Instalação do Driver para Java

Para o desenvolvimento em Java, supondo que você esteja usando o Maven, basta adicionar a dependência ao seu pom.xml:

img-9

 

Por hora é isto!

Em breve pretendo publicar posts com exemplos de utilização do MongoDB nestas linguagens, e algumas outras dicas conforme os estudos avançarem.

 

Abraços!

 

 

 

 

Jogo da Memória em Java Swing (Refatorado)

Desde que comecei a escrever neste blog um dos posts mais acessados é, sem dúvida, o do Jogo da Memória.

Como explicado lá no post original, o código foi baseado em um trabalho desenvolvido na faculdade. Na ocasião havia desenvolvido o projeto no JCreator, de forma bem simples. O código não estava lá muito bom, e os ícones não estavam adequadamente referenciando os autores (peguei da internet a esmo), mas mesmo assim era uma boa referência para se aprender a usar alguns dos recursos do Swing.

Uma das minhas primeiras tarefas ao voltar a escrever aqui depois de algum tempo é passar os códigos dos posts para o github, para facilitar o acesso aos mesmos, mas ao fazer isto para o post do Jogo da Memória achei melhor dar uma repaginada no projeto.

A primeira coisa foi colocar o código em um projeto Mavem, desenvolvido no Eclipse. Depois fiz uma refatoração no código, para deixá-lo um pouco melhor, removendo coisas desnecessárias e simplificando um pouco a interface inicial.

Por fim utilizei conjuntos de ícones identificados e com os autores devidamente referenciados. Claro que se você quiser poderá alterar o conjunto de ícones conforme sua necessidade.

Como agora o código está no github não há necessidade de colocá-lo aqui na íntegra, e você pode ter acesso ao mesmo através deste repositório.

Abaixo seguem algumas imagens da nova versão:

1

2

4

3

5

 

Espero que esta nova versão possa ajudar ainda mais pessoas em seus estudos.

Abraços!

 

 

De volta à ativa!

Olá!

Depois de muito tempo afastado do blog decidi voltar à  ativa. Foram anos sem escrever aqui, mas a vontade sempre estava presente.

Minha primeira tarefa, antes de escrever novos artigos será refatorar alguns dos códigos já postados, e incluir os mesmos no github para facilitar o acesso aos projetos.

Espero que você, que já acompanha o blog, continue acessando os artigos e dicas, e que as novidades possam lhe ajudar de alguma forma.

Pra você que está acessando pela primeira vez, seja bem-vindo!

 

 

2013 in review

The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 44,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 16 sold-out performances for that many people to see it.

Click here to see the complete report.

Habilitando o Módulo de Mensageria no JBoss 7

Se você já tentou utilizar recursos de mensageria (API JMS) no JBoss 7, deve ter percebido que este módulo não está habilitado na configuração padrão. Ao executar o servidor em sua configuração standalone e observar o console web de administração não encontraremos nenhuma referência a recursos como filas e tópicos:

 

jboss7_messaging1

 

A primeira vista isto pode ser estranho, pois em versões anteriores do servidor este serviço estava disponível na configuração padrão (default), mas o comportamento é realmente diferente no JBoss 7. Neste pequeno post vamos ver como habilitar este módulo para que seja possível utilizar o JBoss 7, através do serviço HornetQ, como um provedor JMS. Estarei utilizando a versão 7.1.2 do JBoss 7 nos exemplos.

 

Mãos a Obra

Ao executarmos o JBoss 7 em sua configuração standalone, através do arquivo de inicialização jboss-as-7.1.2.Final\bin\standalone.bat (para Windows, ou standalone.sh para linux), a configuração utilizada é a do arquivo jboss-as-7.1.2.Final\standalone\configuration\standalone.xml. Isto pode ser constatado através do arquivo de configurações de inicialização jboss-as-7.1.2.Final\bin\standalone.conf.bat (para Windows, ou jboss-as-7.1.2.Final\bin\standalone.conf para linux), que é utilizado pelo arquivo de inicialização. Nele encontraremos a seguinte linha indicando o arquivo de configurações do servidor utilizado por padrão:

jboss7_messaging2

No arquivo standalone.xml estão as configurações dos serviços (ou módulos) disponibilizados pelo servidor, e nele não encontraremos referências aos serviços de mensageria. Por outro lado, o arquivo standalone-full.xml possui alguns serviços a mais, dentre eles o serviço de mensageria.

Então, para habilitar o serviço de mensageria, temos duas opções: 1) copiar do arquivo standalone-full.xml os trechos de configuração referentes à mensageria e replicar no arquivo standalone.xml; 2) referenciar o arquivo standalone-full.xml no arquivo jboss-as-7.1.2.Final\bin\standalone.conf.bat. Se você possuir restrições quanto aos outros módulos habilitados no arquivo standalone-full.xml, além do serviço de mensagem, escolha a primeira opção.  No entanto se a habilitação de todos os módulos não for um problema escolha a segunda opção. É esta que escolherei. No final, o mesmo trecho de configuração do arquivo jboss-as-7.1.2.Final\bin\standalone.conf.bat estará assim:

jboss7_messaging3

Se agora observarmos o console web de administração encontraremos referências ao serviço de mensageria:

jboss7_messaging4

Incluindo Destinos Personalizados

Se observarmos as configurações de destinos (menu JMS Destinations) não encontraremos nenhum destino (fila ou tópico) previamente configurado:

jboss7_messaging5

Para o modo standalone de execução podemos incluir novos destinos JMS através do arquivo de configurações standalone-full.xml, que estamos utilizando (ou do arquivo standalone.xml, caso você tenha optado pela primeira forma de configuração ).

Inclua o seguinte trecho de código no arquivo de configurações, entre as tags <hornetq-server>…</hornetq-server>:

jboss7_messaging6

No exemplo acima foram incluídos uma fila (queue) e um tópico (topic). Se agora reiniciarmos o servidor e observarmos o console web de administração encontraremos as referências a estes destinos, que poderão ser utilizados para troca de mensagens:

jboss7_messaging7

É isto! Num próximo post vou mostrar como fazer conexões JMS com o servidor a partir de uma aplicação desktop.