Desplegar WildFly Conectado a Autonomous Database
WildFly soporta los últimos estándares para el acceso a datos basados en REST, incluidos JAX-RS 2 y JSON-P. B
WildFly, anteriormente conocido como servidor de aplicaciones JBoss, es un servidor de aplicaciones de código abierto que cumple con las especificaciones Jakarta EE 8/9 y Java EE 8. Incluye un componente de servidor web denominado Undertow. El servidor de aplicaciones se puede configurar para ejecutar y gestionar una topología de varios servidores o como un servidor independiente. WildFly soporta los últimos estándares para el acceso a datos basados en REST, incluidos JAX-RS 2 y JSON-P. Proporciona una gestión eficiente de la memoria basada en subsistemas conectables. WildFly permite un ciclo de desarrollo más rápido con el marco Arquillian fácil de usar.
Arquitectura
Esta arquitectura de referencia contiene un equilibrador de carga, un nivel de aplicación con arquitectura de varios servidores WildFly, un nivel de base de datos con Oracle Autonomous Transaction Processing y un host bastión para un acceso seguro a la consola de administración WildFly.
Los componentes se encuentran en diferentes subredes. El equilibrador de carga y el host bastion están en una subred pública. Los servidores WildFly comparten una subred privada y se distribuyen entre dominios de disponibilidad en regiones que lo permiten, y entre dominios de fallos, para una alta disponibilidad.
La base de datos está en su propia subred privada. El acceso externo a los servidores de aplicaciones es a través del equilibrador de carga a través de un gateway de Internet, mientras que el acceso a la consola de administración es a través de un host bastion.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración Architecture-wildfly-oci.png
arquitectura-wildfly-oci-oracle.zip
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, o la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.
- Dominios de Fallos
Un dominio de errores es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de errores con energía y hardware independientes. Cuando distribuye recursos entre varios dominios de errores, las aplicaciones pueden tolerar errores de servidor físico, mantenimiento del sistema y errores de energía dentro de un dominio de errores.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de centros de datos tradicionales, las VCN le proporcionan un control total de su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes que se pueden acotar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se solapan con las demás subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Equilibrador de carga
El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada de tráfico desde un único punto de entrada a varios servidores en el extremo posterior.
- Lista de seguridad
Para cada subred, puede crear reglas de seguridad que especifiquen el origen, destino y tipo de tráfico que se deben permitir dentro y fuera de la subred.
- Tabla Ruta
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico desde subredes a destinos fuera de VCN, normalmente a través de gateways.
- Gateway de Internet
El gateway de Internet permite el tráfico entre las subredes públicas en una VCN y la Internet pública.
- Servidores WildFly
Los servidores WildFly alojan las aplicaciones.
- Sistema Autonomous Database
WildFly puede conectarse a cualquier base de datos que ofrezca conectividad de base de datos Java (JDBC). Esta arquitectura ofrece la opción de aprovisionar un Oracle Autonomous Database.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- VCN
Al crear una VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque según el número de recursos que planea asociar a subredes en la VCN. Utilice bloques CIDR que estén dentro del espacio de dirección IP privada estándar.
Seleccione bloques CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desea configurar conexiones privadas.
Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Cuando diseñe las subredes, tenga en cuenta sus requisitos de flujo de tráfico y seguridad. Conecte todos los recursos dentro de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
- Ancho de banda del equilibrador de carga
Al crear el equilibrador de carga, puede seleccionar una unidad predefinida que proporcione un ancho de banda fijo o especificar una unidad personalizada (flexible) en la que defina un rango de ancho de banda y permita al servicio escalar el ancho de banda automáticamente en función de los patrones de tráfico. Con cualquier enfoque, puede cambiar la unidad en cualquier momento después de crear el equilibrador de carga.
- Instancias informáticas
Todos los arrendamientos obtienen dos instancias de máquina virtual (VM) siempre gratuitas, que esta arquitectura puede utilizar.
Si se requiere más potencia de procesamiento, puede seleccionar diferentes formas.
- Sistemas de base de datos
Todos los arrendamientos obtienen dos bases de datos autónomas de Oracle siempre gratuitas. Las bases de datos autónomas utilizan infraestructura Exadata compartida, donde Oracle maneja el aprovisionamiento y el mantenimiento de la infraestructura.
Si se requieren más de dos bases de datos, utilice un Oracle Autonomous Database no libre. - Almacenamiento de bloques
Las instancias de esta arquitectura utilizan almacenamiento de bloques regular; no se requiere ningún rendimiento adicional.
- Conectividad de Red
Puede gestionar el entorno conectándose a la infraestructura local existente mediante una VPN de sitio a sitio o una conexión específica con FastConnect.
Si es necesario separar el entorno de la infraestructura existente o acceder externamente, un host de bastión puede proteger las conexiones de gestión. Normalmente, el host bastión se aprovisiona en una zona desmilitarizada (DMZ). Protege los recursos sensibles colocándolos en redes privadas a las que no se puede acceder directamente desde fuera de la nube. Puede evitar exponer los componentes más sensibles de la arquitectura sin comprometer el acceso a ellos.
Consideraciones
Tenga en cuenta los siguientes puntos al desplegar esta arquitectura de referencia.
- Rendimiento
Esta arquitectura puede utilizar los recursos siempre gratuitos de Oracle Cloud Infrastructure. Debido a las limitaciones de la potencia de procesamiento en el nivel Siempre Libre, no está destinado a la producción. Para cargas de trabajo más intensas, se deben utilizar las formas regulares de instancias, equilibradores de carga y bases de datos.
- Seguridad
Excepto para el host de bastión y los equilibradores de carga, todos los componentes se deben colocar en subredes privadas.
- Disponibilidad
Los equilibradores de carga y las bases de datos son redundantes y no requieren ninguna intervención para aprovechar estas funciones. El equilibrador de carga despliega los servidores WildFly como un par y los equilibra. Se pueden agregar más nodos, pero no están incluidos en el Nivel Siempre Libre.
- Costo
Esta arquitectura puede utilizar la capa Siempre Libre. Sin embargo, es posible que los recursos de nivel libre no sean adecuados para las cargas de trabajo de producción, en cuyo caso deberá proporcionar recursos y servicios informáticos a las tarifas regulares.
Desplegar
El código de Terraform para esta arquitectura de referencia está disponible como pila de ejemplo en Oracle Cloud Infrastructure Resource Manager. También puede descargar el código de GitHub y personalizarlo para que se ajuste a sus requisitos específicos.
- Desplegar mediante Oracle Cloud Infrastructure Resource Manager:
- Haga clic en
.
Si aún no ha iniciado sesión, introduzca las credenciales de arrendamiento y usuario.
- Revise y acepte las condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las indicaciones de la pantalla e instrucciones para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que termine el trabajo y revise el plan.
Para realizar cambios, vuelva a la página Detalles de pila, haga clic en Editar pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.
- Si no es necesario realizar más cambios, vuelva a la página Detalles de pila, haga clic en Acciones de Terraform y seleccione Aplicar.
- Haga clic en
- Realice el despliegue con el código de Terraform en GitHub:
- Vaya a GitHub.
- Clone o descargue el repositorio en su equipo local.
- Siga las instrucciones del documento
README
.
Explorar más
Enlaces a información adicional que le puede ayudar a aprender, modificar, utilizar o implementar esta arquitectura.
-
Artículos técnicos, documentos técnicos, muestras de código, preguntas frecuentes y más que describen cómo utilizar JDBC, Universal Connection Pool y la JVM embebida para conectarse a Oracle Database.
-
Repositorio en GitHub que tiene muestras de código para un servlet Java que se conecta a Oracle Database mediante el controlador Oracle JDBC.