JBoss EAP 7 Beta ya está disponible publicadomuchas felicidades a Red Hat y, en particular, al WildFly ¡equipo! En esta versión se introducirán muchas mejoras, como se documenta en Notas de publicación. Uno de los temas principales es la conformidad con Java EE 7.

JBoss EAP 7 y Java EE 7

IBM y Oracle ya ofrecen servidores de aplicaciones compatibles con Java EE 7 con soporte comercial. Y ahora Red Hat también se unirá pronto a esta fiesta. Aunque WildFly ha dado soporte a Java EE 7 durante más de 2 años, el soporte comercial es fundamental para que el código abierto se adopte en toda la empresa. Así que es una buena noticia. Puede obtener más información sobre API Java EE 7 en DZone Refcardz que escribí junto con @alrubinger.

Java EE 7 Refcards

 

Hay un montón de "hola mundo" Ejemplos de Java EE 7 que deberían funcionar con JBoss EAP. Esperemos que alguien actualice el pom.xml y añade un nuevo perfil.

¿Por qué NoSQL?

Si está creando una aplicación empresarial tradicional, puede que le convenga utilizar un RDBMS. Hay un montón de ventajas de usar RDBMS, pero el uso de una base de datos NoSQL en su lugar tiene algunas ventajas:

  • No es necesario tener un esquema predefinido y eso los convierte en un base de datos sin esquema. La adición de nuevas propiedades a objetos existentes es sencilla y no requiere ALTER TABLE. La dirección datos no estructurados da flexibilidad para cambiar el formato de los datos en cualquier momento sin tiempo de inactividad ni reducción de los niveles de servicio. Además, no se producen uniones en el servidor porque no hay estructura y, por tanto, no hay relación entre ellos.
  • Escalabilidad, agilidad y rendimiento es más importante que todo el conjunto de funcionalidades que suele ofrecer un RDBMS. Este conjunto de bases de datos proporciona coherencia eventual y/o transacciones restringidas a elementos individuales, pero se centra más en el CRUD.
  • Las NoSQL están diseñadas para ampliación (horizontal) en lugar de escalar (vertical). Esto es importante teniendo en cuenta que las bases de datos, y todo lo demás, se están trasladando a la nube. RBDMS puede escalarse utilizando sharding, pero requiere una gestión compleja y no es para los débiles de corazón. Las consultas que requieren JOINs a través de shards es extremadamente ineficaz.
  • Los RDBMS tienen desajuste de impedancia entre la estructura de la base de datos y las clases del dominio. En este caso, se necesita un mapeo objeto-relacional, como el proporcionado por Java Persistence API o Hibernate.
  • Las bases de datos NoSQL están diseñadas para una menor gestión y los modelos de datos más sencillos conducen a menor coste administrativo también.

Así que ahora estás entusiasmado con NoSQL y quieres aprender más:

En resumen, existen cuatro tipos diferentes de bases de datos NoSQL:

  • Documento: Couchbase, Mongo y otros
  • Clave/Valor: Couchbase, Redis y otros
  • Gráfico: Neo4J, OrientDB y otros
  • Columna: Cassandra y otros

Java EE 7 proporciona Java Persistence API que no proporciona ningún soporte para NoSQL. Entonces, ¿cómo empezar con NoSQL con JBoss EAP 7? Este blog mostrará cómo consultar una base de datos Couchbase utilizando una simple aplicación Java EE desplegada en JBoss EAP 7 Beta.

¿Qué es Couchbase?

Couchbase es una base de datos de documentos NoSQL de código abierto. Permite acceder, indexar y consultar documentos JSON al tiempo que aprovecha el almacenamiento en caché distribuido integrado para un acceso a datos de alto rendimiento. Los desarrolladores pueden escribir aplicaciones en Couchbase utilizando diferentes lenguajes (Java, Go, .NET, Node, PHP, Python, C). varios SDK. Este blog le mostrará cómo puede crear fácilmente una aplicación CRUD utilizando SDK de Java para Couchbase.

Ejecutar JBoss EAP 7

Existen dos formas de iniciar JBoss EAP 7.

Descargar y ejecutar

  • Descargar JBoss EAP 7 Beta y descomprimir.
  • Inicie el servidor de aplicaciones como:

Ejecución Docker

En un mundo de contenedores, basta con docker run para ejecutar su JBoss EAP. Sin embargo, la imagen de JBoss EAP no existe en Centro Docker por lo que la imagen debe crearse explícitamente. Todavía necesita descargar explícitamente JBoss EAP y luego utilizar lo siguiente Dockerfile para construir la imagen:

La imagen se construye como:

Y entonces usted puede ejecutar el contenedor JBoss EAP 7 como:

Observe que los puertos de aplicación y gestión están vinculados a todas las interfaces de red. Esto simplificará el despliegue de la aplicación a esta instancia JBoss EAP más tarde. Detenga el servidor ya que mostraremos una manera más fácil de iniciarlo más tarde.

Iniciar servidor de aplicaciones y base de datos

La aplicación Java EE proporcionará una interfaz HTTP CRUD sobre documentos JSON almacenados en Couchbase. La aplicación se desplegará en JBoss EAP 7 Beta. Por lo tanto, será necesario iniciar Couchbase y JBoss EAP. Utiliza el archivo Docker Compose de  github.com/arun-gupta/docker-images/blob/master/jboss-eap7-nosql/docker-compose.yml para iniciar Couchbase y el contenedor JBoss EAP 7:

La aplicación se inicia como:

Los contenedores iniciados pueden verse como:

Configurar Couchbase Server

Clon couchbase-javaee aplicación. Esta aplicación Java EE utiliza API Java SDK de Couchbase para conectar con el servidor Couchbase. El código bootstrap es:

y se invoca desde Abstracción de bases de datos. Couchbase Server puede configurarse mediante API REST. Estas API REST se definen en un perfil Maven en pom.xml de esta aplicación. Y así configurar el servidor Couchbase como:

Despliegue de aplicaciones Java EE en JBoss

Las aplicaciones Java EE pueden desplegarse fácilmente en JBoss EAP 7 Beta mediante la aplicación Plugin WildFly Maven. Esto también se define como un perfil de Maven en pom.xml también. Despliegue la aplicación como:

Acceder a la aplicación

Como se mencionó anteriormente, la aplicación proporciona HTTP CRUD API sobre documentos JSON almacenados en Couchbase. Accede a la aplicación como:

Se pueden realizar operaciones CRUD (GET, POST, PUT, DELETE) sobre el recurso Aerolínea en la aplicación. La API CRUD completa está documentada en github.com/arun-gupta/couchbase-javaee. En este blog se explicaba cómo acceder a una base de datos NoSQL desde JBoss EAP 7. Más información sobre Couchbase 4:

Obtenga más información sobre Couchbase en este reciente seminario web orientado a desarrolladores:

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Dejar una respuesta