O JBoss EAP 7 Beta já está disponível liberadoParabéns à Red Hat e, particularmente, à equipe de WildFly equipe! Há muitos aprimoramentos nesta versão, conforme documentado em Notas de lançamento. Um dos principais temas é a conformidade com o Java EE 7.

JBoss EAP 7 e Java EE 7

A IBM e a Oracle já fornecem servidores de aplicativos compatíveis com Java EE 7 com suporte comercial. E agora a Red Hat também se juntará a essa festa em breve. Embora a WildFly tenha oferecido suporte ao Java EE 7 por mais de dois anos, o suporte comercial é fundamental para que o código aberto seja adotado em toda a empresa. Portanto, essa é uma boa notícia! Você pode saber tudo sobre os diferentes APIs do Java EE 7 no DZone Refcardz que eu criei junto com @alrubinger.

Java EE 7 Refcards

 

Há muitos "hello world" Amostras do Java EE 7 que devem ser executados com o JBoss EAP. Esperamos que alguém atualize o pom.xml e adicionar um novo perfil.

Por que NoSQL?

Se você estiver criando um aplicativo corporativo tradicional, talvez não tenha problemas em usar um RDBMS. Há muitas vantagens em usar RDBMS, mas usar um banco de dados NoSQL tem algumas vantagens:

  • Não há necessidade de ter um esquema predefinido, o que os torna um banco de dados sem esquema. A adição de novas propriedades a objetos existentes é fácil e não requer ALTER TABLE. As dados não estruturados oferece flexibilidade para alterar o formato dos dados a qualquer momento, sem tempo de inatividade ou níveis de serviço reduzidos. Além disso, não há junções acontecendo no servidor porque não há estrutura e, portanto, não há relação entre elas.
  • Escalabilidade, agilidade e desempenho é mais importante do que todo o conjunto de funcionalidades normalmente fornecidas por um RDBMS. Esse conjunto de bancos de dados oferece consistência eventual e/ou transações restritas a itens únicos, mas com mais foco no CRUD.
  • Os NoSQL são projetados para aumento de escala (horizontal) em vez de aumento de escala (vertical). Isso é importante sabendo que os bancos de dados, e todo o resto também, estão se movendo para a nuvem. O RBDMS pode ser ampliado usando sharding, mas requer um gerenciamento complexo e não é para os fracos de coração. As consultas que exigem JOINs entre shards são extremamente ineficiente.
  • Os RDBMS têm incompatibilidade de impedância entre a estrutura do banco de dados e as classes de domínio. Nesse caso, é necessário um mapeamento objeto-relacional, como o fornecido pela Java Persistence API ou pelo Hibernate.
  • Os bancos de dados NoSQL são projetados para ter menos gerenciamento e modelos de dados mais simples levam a menor custo administrativo também.

Então, agora você está entusiasmado com o NoSQL e quer saber mais:

Em resumo, há quatro tipos diferentes de bancos de dados NoSQL:

  • Documento: Couchbase, Mongo e outros
  • Chave/Valor: Couchbase, Redis e outros
  • Gráfico: Neo4J, OrientDB e outros
  • Coluna: Cassandra e outros

O Java EE 7 fornece a Java Persistence API, que não oferece nenhum suporte para NoSQL. Então, como você pode começar a usar o NoSQL com o JBoss EAP 7? Este blog mostrará como consultar um banco de dados Couchbase usando um aplicativo Java EE simples implantado no JBoss EAP 7 Beta.

O que é o Couchbase?

Couchbase é um banco de dados de documentos NoSQL de código aberto. Ele permite acessar, indexar e consultar documentos JSON, aproveitando o cache distribuído integrado para acesso a dados de alto desempenho. Os desenvolvedores podem escrever aplicativos para o Couchbase usando diferentes linguagens (Java, Go, .NET, Node, PHP, Python, C) vários SDKs. Este blog mostrará como você pode criar facilmente um aplicativo CRUD usando Java SDK para Couchbase.

Executar o JBoss EAP 7

Há duas maneiras de iniciar o JBoss EAP 7.

Baixar e executar

  • Baixar JBoss EAP 7 Beta e descompactar.
  • Inicie o servidor de aplicativos como:

Execução do Docker

Em um mundo em contêineres, basta execução do docker para executar o JBoss EAP. No entanto, a imagem do JBoss EAP não existe no Docker Hub e, portanto, a imagem precisa ser criada explicitamente. Você ainda precisa fazer o download explícito do JBoss EAP e, em seguida, usar o seguinte Dockerfile para criar a imagem:

A imagem é construída como:

E então você pode executar o contêiner do JBoss EAP 7 como:

Observe como as portas de aplicativo e gerenciamento estão vinculadas a todas as interfaces de rede. Isso simplificará a implementação do aplicativo nessa instância do JBoss EAP mais tarde. Pare o servidor, pois mostraremos uma maneira mais fácil de iniciá-lo mais tarde.

Iniciar o servidor de aplicativos e o banco de dados

O aplicativo Java EE fornecerá uma interface HTTP CRUD sobre documentos JSON armazenados no Couchbase. O aplicativo em si será implantado no JBoss EAP 7 Beta. Portanto, será necessário iniciar o Couchbase e o JBoss EAP. Use o arquivo Docker Compose de  github.com/arun-gupta/docker-images/blob/master/jboss-eap7-nosql/docker-compose.yml para iniciar o contêiner do Couchbase e do JBoss EAP 7:

O aplicativo é iniciado como:

Os contêineres iniciados podem ser vistos como:

Configurar o servidor Couchbase

Clone couchbase-javaee aplicativo. Esse aplicativo Java EE usa APIs do SDK Java do Couchbase para se conectar ao servidor Couchbase. O código de bootstrap é:

e é invocado a partir de Abstração de banco de dados. O Couchbase Server pode ser configurado usando API REST. Essas APIs REST são definidas em um perfil Maven em pom.xml desse aplicativo. Portanto, configure o servidor Couchbase como:

Implantar o aplicativo Java EE no JBoss

O aplicativo Java EE pode ser facilmente implantado no JBoss EAP 7 Beta usando o Plug-in WildFly Maven. Isso também é definido como um perfil Maven em pom.xml também. Implemente o aplicativo como:

Acesse o aplicativo

Conforme mencionado anteriormente, o aplicativo fornece a API HTTP CRUD sobre documentos JSON armazenados no Couchbase. Acesse o aplicativo como:

As operações CRUD (GET, POST, PUT, DELETE) podem ser executadas no recurso Airline no aplicativo. A API CRUD completa está documentada em github.com/arun-gupta/couchbase-javaee. Este blog explicou como acessar um banco de dados NoSQL a partir do JBoss EAP 7. Leia mais sobre o Couchbase 4:

Saiba mais sobre o Couchbase neste recente webinar voltado para desenvolvedores:

Autor

Postado por Arun Gupta, vice-presidente de defesa do desenvolvedor, Couchbase

Arun Gupta é o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experiência na liderança de equipes multifuncionais para desenvolver e executar estratégias, planejamento e execução de conteúdo, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e é membro fundador da equipe Java EE. Gupta é autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experiência em palestras em mais de 40 países sobre diversos tópicos e é um JavaOne Rock Star há três anos consecutivos. Gupta também fundou o capítulo Devoxx4Kids nos EUA e continua a promover a educação tecnológica entre as crianças. Autor de vários livros sobre tecnologia, corredor ávido, viajante do mundo inteiro, campeão de Java, líder de JUG, membro do NetBeans Dream Team e capitão do Docker, ele pode ser facilmente acessado em @arungupta.

Deixar uma resposta