JAVA EE E MONGODB

Daniel Dias
Daniel Dias
Published in
5 min readDec 10, 2016

A penúltima parte prática da minha monografia de especialização em Desenvolvimento Java. Neste capitulo irá aprender a usar MongoDB juntamente com Java EE.

Boa Leitura.

Segundo Marchioni (2015) desenvolver uma aplicação para indústria de TI pode ser um grande desafio para qualquer desenvolvedor, pois a mesma precisa resolver algumas preocupações como segurança, portabilidade e alta disponibilidade. Sem contar que muito dessas aplicações precisa se comunicar com outros sistemas e ser gerado de um ponto central. Com a plataforma Java EE, podemos alavancar todas essas características e muito mais, com foco na preocupação mais importante, que é os seus requisitos de negócios.

Marchioni (2015) explica que o desenvolvimento da plataforma Java EE é feito através do Java Community Process (JCP), ela é uma comunidade encarregada de desenvolver as especificações para toda tecnologia Java. Esta comunidade é composta por especialista da indústria de TI que estabelecem a Java Specification Requests (JSRs), para as tecnologias Java EE. O Java EE é agora mais fácil e mais poderoso a cada novo lançamento. Seu conjunto de APIs disponíveis cresceu rapidamente e se tornando uma grande imagem da tecnologia,
como é mostrada na figura 51:

[caption id=”attachment_1292" align=”aligncenter” width=”504"]

jee

Figura 51 — API Java EE Fonte: MARCHIONI,2015, p.88[/caption]

Conforme mostrada na figura 51, o Java EE possuir muitas APIs para se está trabalhando. Utilizaremos alguns componentes do Java EE em nossos exemplos tais como Servlet para estar lidando com as requisições HTTP e a JSP para está interagindo com a Servlet, bem como usar como interface visual para o usuário.

Antes de iniciar o projeto, devemos obter um conteier para que o Java funcione na web. Nos exemplos será utilizado o Apache Tomcat que pode ser obtida em https://tomcat.apache.org/download-80.cgi, basta descompactar em qualquer local do computador e configurar o mesmo eclipse.

CRIANDO UM PROJETO JAVA WEB COM MONGO

Criaremos um projeto semelhante ao anterior utilizando também o maven, porem utilizando recursos do Java EE para construirmos uma aplicação baseada em web. Siga os passos nas figuras 52 a 54 para esta criando o projeto:

[caption id=”attachment_1305" align=”aligncenter” width=”604"]

maven

Figura 52 — Novo Projeto Fonte: Gerado pelo Eclips

maven2

Figura 53 — Seleção maven-archetype-webapp Fonte: Gerado pelo Eclipse

maven3

Figura 54 — Configurando o Projeto Fonte: Gerado pelo Eclipse

Após seguir como demonstrada nas figuras 52 a 54, será gerada um projeto no eclipse chamada JavaMongoWeb. Abra o arquivo pom.xml é configure de acordo com a figura 55:

Figura 55 — Adicionando Dependências — Fonte : Gerado pelo Eclipse

CRIANDO CLASSE MODELO

Nesta sessão será criada uma classe chamada Pessoa e será usado para mapear documentos MongoDB. Elas contêm os mesmos campos correspondentes do documento, conforme a figura 56:

Figura 56 — Classe Pessoa Fonte: Autoria Própria.

INSERINDO DADOS COM SEVLET E JSP

A figura 56 demonstra uma classe modelo para especificar um documento, esta classe contém quatro atributos declarados como private, juntamente com seus getters e setters que utilizaremos para recuperar e passar os valores, um construtor sem argumentos e um construtor com argumentos. Criaremos as próximas classes que serão quatro servlets para esta fazendo as operações no MongoDB.

Figura 57 — Servlet Incluir Fonte: Autoria Própria.

Como podemos observar a inclusão dos dados, assim como as outras operações serão praticamente a mesma demonstrada na sessão anterior utilizando java puro. A figura 58 exibe um arquivo chamado incluir.jsp, e nele que inserimos os dados e o nosso servlet irá recuperar os valores passados para inclui-los no mongoDB:

Figura 58 — incluir.jsp Fonte: Autoria Própria.

CONSULTANDO DADOS COM SEVLET E JSP

A figura 59 demonstra o servlet para retorna os dados do banco e apresentar os mesmos na jsp. A figura 60 demonstra como fica a página que irá exibir os dados vindos da servlet.

Figura 59 — Servlet Consultar Fonte: Autoria Própria.

Figura 60 — listar.jsp Fonte: Autoria Própria.

ATUALIZANDO DADOS COM SEVLET E JSP

A figura 61, demonstra o uso o update para estarmos alterando 3 campos
a partir de um critério de busca pelo campo nome para o primeiro documento
da coleção, lembrando de importar a classe import static com.mongodb.client.model.Filters.*; para utilização da função eq. A página dealteração dos dados é semelhante ao da figura 58, bastando alterar alguns itens, conforme é mostrada na figura 62.

Figura 61 — Servlet Update Fonte: Autoria Própria.

Figura 62 — update.jsp Fonte: Autoria Própria.

DELETANDO DADOS COM SEVLET E JSP

Por último criaremos o servlet responsável por deletar os dados através de uma busca, passando como parâmetro o campo nome como critério, lembrando de importar a classe import static com.mongodb.client.model.Filters.*; para utilização da função eq. Como demonstrada na figura 63 e a página deletar.jsp na figura 64.

Figura 63 — Servlet Deletar Fonte: Autoria Própria.

Figura 64 — deletar.jsp Fonte: Autoria Própria.

Nesta sessão, abrangeu o uso da tecnologia Java EE trabalhando em conjunto com o MongoDB, através de Servlets e JSP para estarem interagindo e manipulando os dados entres os formulários web.

Como foi abordado ao longo dessas últimas sessões, a comunicação entre uma aplicação java seja ela web ou não com o Mongodb é bem simples de ser implementada e de fácil aprendizagem. Visto que não necessitamos utilizar SQL em nossos códigos e nem mesmo fazer uso de joins, tornando assim o desenvolvimento da aplicação bem rápida e pequena.

A próxima sessão será apresenta um framework Java de persistência especifico para bancos NoSQL, que irá facilitar ainda mais o desenvolvimento de muitas outras aplicações tanto web quanto aplicações para desktop.

REFERÊNCIAS

Marchioni, Francesco. MongoDB for Java Developers. Birmingham: Packt Publishing Ltd,2015.

--

--

Daniel Dias
Daniel Dias

Published in Daniel Dias

Software Engineering, Open Source Enthusiast. Apache and EclipseEE4J committer.

Daniel Dias
Daniel Dias

Written by Daniel Dias

SouJava Board Member, JCP Member, JSR-371 (MVC 1.0), JSR-382 (Config) specifications contributor, EG JSR-385 (UoM) and Eclipse Committer .