Este tutorial es un paso en la serie Crear su primer formulario adaptable. Se recomienda seguir la serie en orden cronológico para comprender, realizar y mostrar el caso de uso del tutorial completo.
Forms AEM módulo de integración de datos permite crear un modelo de datos de formulario a partir de orígenes de datos back-end dispares, como AEM usuario perfil, servicios web RESTful, servicios web basados en SOAP, servicios OData y bases de datos relacionales. Puede configurar objetos y servicios del modelo de datos en un modelo de datos de formulario y asociarlo a un formulario adaptable. Los campos de formularios adaptables están enlazados a las propiedades del objeto del modelo de datos. Los servicios permiten rellenar previamente el formulario adaptable y escribir los datos de formulario enviados en el objeto del modelo de datos.
Para obtener más información sobre la integración y el modelo de datos de formulario, consulte Integración de datos de AEM Forms.
Este tutorial lo acompañará durante los pasos para preparar, crear, configurar y asociar un modelo de datos de formulario con un formulario adaptable. Al final de este tutorial, podrá:
El modelo de datos de formulario tendrá un aspecto similar al siguiente:
A. Fuentes de datos configuradas B. Esquemas de fuentes de datos C. Servicios disponibles D. Objetos del modelo de datos E. Servicios configurados
Antes de empezar, asegúrese de que dispone de lo siguiente:
Puede configurar distintos tipos de fuentes de datos para crear un modelo de datos de formulario. Para este tutorial, configuraremos la base de datos MySQL que ha configurado y rellenado con datos de ejemplo. Para obtener información sobre otras fuentes de datos compatibles y cómo configurarlas, consulte Integración de datos de AEM Forms.
Haga lo siguiente para configurar su base de datos MySQL:
Instale el controlador JDBC para la base de datos MySQLcomo paquete OSGi:
Descargar MySQL JDBC Driver OSGi Bundle desde http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
.
Inicie sesión en la instancia de autor de AEM Forms como administrador y vaya a los paquetes de la consola web de AEM. La dirección URL predeterminada es https://localhost:4502/system/console/bundles.
Pulse Instalar/actualizar. Aparecerá el cuadro de diálogo Cargar e instalar paquetes.
Pulse Elegir archivo para examinar y seleccionar el MySQL Paquete OSGi del controlador JDBC. Seleccione Iniciar paquete y Actualizar paquetes y pulse Instalar o actualizar. Asegúrese de que el Oracle Corporation’s Controlador JDBC para MySQL está activo. El controlador está instalado.
Configurar la base de datos MySQLcomo fuente de datos:
Vaya a la consola web de AEM en https://localhost:4502/system/console/configMgr.
Localice la configuración Apache Sling Connection Pooled DataSource. Pulse para abrir la configuración en modo de edición.
En el cuadro de diálogo de configuración, especifique los siguientes detalles:
jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
Cuando la base de datos está detrás de un firewall, el nombre de host de la base de MySQL datos no es un DNS público. La dirección IP de la base de datos debe añadirse en el archivo /etc/hosts del equipo AEM host.
AEM Forms no admite NT Authentication para MySQL. Vaya a AEM consola web en https://localhost:4502/system/console/configMgr y búsqueda "Apache Sling Connection Pooled Datasource". Para "URI de conexión JDBC" Propiedad valor establecido de "integratedSecurity" como False y use nombre de usuario y contraseña creados para conectarse con MySQL la base de datos.
Probar en el préstamo: habilita la opción Probar en el préstamo.
Probar en la devolución: habilita la opción Probar en la devolución.
Consulta de validación: especifica una consulta SQL SELECT para validar conexiones desde el grupo. La consulta debe devolver al menos una fila. Por ejemplo, seleccione * desde customerdetails.
Aislamiento de transacciones: establezca el valor en READ_COMMITTED.
Deje las demás propiedades con los valores predeterminados y pulse Guardar.
Se creará una configuración similar a la siguiente.
AEM Forms proporciona una interfaz de usuario intuitiva para crear un modelo de datos de formulario desde fuentes de datos configuradas. Puede utilizar varias fuentes de datos en un modelo de datos de formulario. Para nuestro caso de uso, utilizaremos la fuente de datos configurada MySQL.
Para crear el modelo de datos de formulario, haga lo siguiente:
En la instancia de autor de AEM, navegue hasta Formularios > Integraciones de datos.
Pulse Crear > Modelo de datos de formulario.
En el cuadro de diálogo Crear un modelo de datos de formulario, especifique un nombre para el modelo de datos de formulario. Por ejemplo, customer-shipping-billing-details. Pulse Siguiente.
La pantalla Seleccionar fuente de datos enumera todas las fuentes de datos configuradas. Seleccione la fuente de datos WeRetailMySQL y pulse Crear.
Se creará el modelo de datos de formulario customer-shipping-billing-details.
La configuración del modelo de datos de formulario implica:
Para configurar el modelo de datos de formulario, haga lo siguiente:
En la instancia de autor de AEM, navegue hasta Formularios > Integraciones de datos. La dirección URL predeterminada es https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
El modelo de datos de formulario customer-shipping-billing-details que ha creado anteriormente se muestra aquí. Ábralo en el modo de edición.
La fuente de datos seleccionada WeRetailMySQL se configura en el modelo de datos de formulario.
Expanda el árbol de fuentes de datos WeRailMySQL. Seleccione los siguientes objetos y servicios del esquema weretail > customerdetails para el modelo de datos de formulario:
Objetos del modelo de datos:
Servicios:
Pulse Agregar selección para agregar los objetos y servicios seleccionados al modelo de datos de formulario.
Los servicios predeterminados de obtener, actualizar e insertar para fuentes de datos JDBC se proporcionan ya preparados con el modelo de datos de formulario.
Configure los servicios de lectura y escritura para el objeto del modelo de datos.
Seleccione el objeto del modelo de datos customerdetails y pulse Editar propiedades.
Seleccione obtener de la lista desplegable Servicio de lectura. El argumento id, que es la clave principal del objeto del modelo de datos customerdetails, se agrega automáticamente. Pulse y configure el argumento como se indica a continuación.
Del mismo modo, seleccione actualizar como servicio de escritura. El objeto customerdetails se agrega automáticamente como argumento. El argumento se configura de la siguiente manera.
Agregue y configure el argumento id como se indica a continuación.
Pulse Listo para guardar las propiedades del objeto del modelo de datos. Luego, pulse Guardar para guardar el modelo de datos de formulario.
Los servicios obtener y actualizar se agregan como servicios predeterminados para el objeto del modelo de datos.
Vaya a la pestaña Servicios y configure los servicios obtener y actualizar.
Seleccione el servicio conseguir y pulse Editar propiedades. Se abrirá el cuadro de diálogo Propiedades.
Especifique lo siguiente en el cuadro de diálogo Editar propiedades:
Título: especifique el título del servicio. Por ejemplo: Recuperar dirección de envío.
Descripción: especifique la descripción que contiene el funcionamiento detallado del servicio. Por ejemplo:
Este servicio recupera la dirección de envío y otros detalles del cliente desde MySQLdatabase
Objeto de modelo de salida: seleccione el esquema que contiene los datos del cliente. Por ejemplo:
customerdetail schema
Devolver matriz: deshabilite la opción Devolver matriz.
Argumentos: seleccione el argumento llamado Id..
Pulse Listo. El servicio para recuperar los detalles del cliente de la base de datos MySQL está configurado.
Seleccione el servicio actualizar y pulse Editar propiedades. Se abrirá el cuadro de diálogo Propiedades.
Especifique lo siguiente en el cuadro de diálogo Editar propiedades:
Título: especifique el título del servicio. Por ejemplo, Actualizar dirección de envío.
Descripción: especifique la descripción que contiene el funcionamiento detallado del servicio. Por ejemplo:
Este servicio actualiza la dirección de envío y los campos relacionados en la base de datos MySQL
Objeto del modelo de entrada: seleccione el esquema que contiene los datos del cliente. Por ejemplo:
customerdetail schema
Tipo de salida: seleccione BOOLEANO.
Argumentos: seleccione el argumento llamado ID y customerdetails.
Pulse Listo. El servicio actualizar para actualizar los detalles del cliente en la base de datos MySQLestá configurado.
Se configuran el objeto y los servicios del modelo de datos de formulario. Ahora puede probar el modelo de datos de formulario.
Puede probar el objeto y los servicios del modelo de datos para comprobar que está configurado correctamente.
Haga lo siguiente para ejecutar la prueba:
Vaya a la pestaña Modelo, seleccione el modelo de datos de formulario customerdetails y pulse Objeto del modelo de prueba.
En la ventana Modelo/servicio de prueba, seleccione Objeto del modelo de lectura de la lista desplegable Seleccionar modelo/servicio.
En la sección customerdetails, especifique un valor para el argumento id que existe en la base de datos MySQL configurada y pulse Probar.
Los detalles del cliente asociados con el ID especificado se recuperan y se muestran en la sección Salida como se muestra a continuación.
Del mismo modo, puede probar el objeto y los servicios del modelo de escritura.
En el siguiente ejemplo, el servicio de actualización actualiza correctamente los detalles de dirección del ID 7102715 de la base de datos.
Si vuelve a probar el servicio de modelo de lectura para el ID 7107215, recuperará y mostrará los detalles actualizados del cliente como se muestra a continuación.