Este tutorial é uma etapa da série Criar seu primeiro formulário adaptável. É recomendável seguir a série em sequência cronológica para entender, executar e demonstrar o caso de uso do tutorial completo.
AEM módulo de integração de dados Forms permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de backend, como AEM perfil do usuário, serviços Web RESTful, serviços Web baseados em SOAP, serviços OData e bancos de dados relacionais. É possível configurar objetos e serviços de modelo de dados em um modelo de dados de formulário e associá-lo a um formulário adaptável. Campos de formulário adaptáveis são vinculados às propriedades de objetos de modelo de dados. Os serviços permitem que você preencha previamente o formulário adaptável e grave os dados de formulário enviados de volta para o objeto de modelo de dados.
Para obter mais informações sobre a integração de dados de formulário e o modelo de dados de formulário, consulte Integração de dados da AEM Forms.
Este tutorial o orienta pelas etapas para preparar, criar, configurar e associar um modelo de dados de formulário a um formulário adaptável. No final deste tutorial, você poderá:
O modelo de dados de formulário será semelhante ao seguinte:
A. Fontes de dados configuradas B.schemas de fonte de dados C. Serviços disponíveis D. Objetos de modelo de dados E. Serviços configurados
Antes de começar, verifique se você tem o seguinte:
Você pode configurar diferentes tipos de fontes de dados para criar um modelo de dados de formulário. Para este tutorial, configuraremos o banco de dados MySQL que você configurou e preencheu com dados de amostra. Para obter informações sobre outras fontes de dados compatíveis e como configurá-las, consulte Integração de dados da AEM Forms.
Faça o seguinte para configurar seu banco de dados MySQL:
Instale o driver JDBC para o banco de dados MySQL como um pacote OSGi:
Faça logon em AEM Forms Instância do autor como administrador e vá para AEM pacotes do console da Web. O URL padrão é https://localhost:4502/system/console/bundles.
Toque em Instalar/Atualizar. Uma caixa de diálogo Carregar / Instalar Pacotes é exibida.
Toque em Escolha Arquivo para navegar e selecionar o pacote OSGi do driver JDBC MySQL. Selecione Pacote de Start e Atualizar Pacotes e toque em Instalar ou Atualizar. Verifique se o Oracle Corporation’s Driver JDBC para MySQL está ativo. O driver está instalado.
Configure o banco de dados MySQL como uma fonte de dados:
Vá para AEM console da Web em https://localhost:4502/system/console/configMgr.
Localize a configuração Apache Sling Connection Pooling DataSource. Toque em para abrir a configuração no modo de edição.
Na caixa de diálogo de configuração, especifique os seguintes detalhes:
Nome da fonte de dados: você pode especificar qualquer nome. Por exemplo, especifique WeRetailMySQL.
Nome da propriedade do serviço DataSource: Especifique o nome da propriedade de serviço que contém o nome DataSource. É especificado ao registrar a instância da fonte de dados como serviço OSGi. Por exemplo, datasource.name.
Classe de driver JDBC: Especifique o nome da classe Java do driver JDBC. Para o banco de dados MySQL, especifique com.mysql.jdbc.Driver.
URI de conexão JDBC: Especifique o URL de conexão do banco de dados. Para banco de dados MySQL em execução na porta 3306 e schema, o URL é: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
Nome de usuário: Nome de usuário do banco de dados. É necessário ativar o driver JDBC para estabelecer uma conexão com o banco de dados.
Senha: Senha do banco de dados. É necessário ativar o driver JDBC para estabelecer uma conexão com o banco de dados.
Teste em linha de crédito: ative o teste em linha de crédito.
Teste na devolução: ative o teste na devolução.
Query de validação: especifique um query SQL SELECT para validar conexões do pool. O query deve retornar pelo menos uma linha. Por exemplo, selecione * de customerdetails.
Isolamento da transação: Defina o valor como READ_COMPROMISTED.
Deixe outras propriedades com os valores padrão e toque em Salvar.
É criada uma configuração semelhante à seguinte.
AEM Forms fornece uma interface de usuário intuitiva para criar um modelo de dados de formulário a partir de fontes de dados configuradas. É possível usar várias fontes de dados em um modelo de dados de formulário. Em nosso caso de uso, usaremos a fonte de dados MySQL configurada.
Faça o seguinte para criar um modelo de dados de formulário:
Em AEM instância do autor, navegue até Forms > Integrações de dados.
Toque em Criar > Modelo de Dados de Formulário.
Na caixa de diálogo Criar modelo de dados de formulário, especifique um nome para o modelo de dados de formulário. Por exemplo, detalhes de faturamento de entrega do cliente. Toque em Next.
A tela da fonte de dados selecionada lista todas as fontes de dados configuradas. Selecione Origem de dados WeRetailMySQL e toque em Criar.
O modelo de dados do formulário customer-Shipping-billing-details é criado.
A configuração do modelo de dados de formulário envolve:
Faça o seguinte para configurar o modelo de dados de formulário:
Em AEM instância do autor, navegue até Forms > Integrações de dados. O URL padrão é https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
O modelo de dados do formulário customer-Shipping-billing-details criado anteriormente está listado aqui. Abra-o no modo de edição.
A fonte de dados selecionada WeRetailMySQL está configurada no modelo de dados de formulário.
Expanda a árvore da fonte de dados WeRailMySQL. Selecione os seguintes objetos e serviços de modelo de dados do schema weretail > customerdetails para formar o modelo de dados:
Objetos do modelo de dados:
Serviços:
Toque em Adicionar selecionados para adicionar objetos e serviços de modelo de dados selecionados ao modelo de dados de formulário.
Os serviços padrão get, update e insert para fontes de dados JDBC são fornecidos prontamente com o modelo de dados de formulário.
Configure os serviços de leitura e gravação para o objeto de modelo de dados.
Selecione o objeto de modelo de dados customerdetails e toque em Editar propriedades.
Selecione get no menu suspenso Serviço de leitura. O argumento id, que é a chave primária no objeto de modelo de dados de detalhes do cliente, é adicionado automaticamente. Toque em e configure o argumento da seguinte maneira.
Da mesma forma, selecione update como Serviço de Gravação. O objeto customerdetails é adicionado automaticamente como argumento. O argumento é configurado da seguinte maneira.
Adicione e configure o argumento id como segue.
Toque em Done para salvar as propriedades do objeto de modelo de dados. Em seguida, toque em Salvar para salvar o modelo de dados do formulário.
Os serviços get e update são adicionados como serviços padrão para o objeto de modelo de dados.
Vá para a guia Serviços e configure os serviços get e update.
Selecione o serviço get e toque em Editar propriedades. A caixa de diálogo de propriedades é aberta.
Especifique o seguinte na caixa de diálogo Editar propriedades:
Título: Especifique o título do serviço. Por exemplo: Recuperar Endereço de Entrega.
Descrição: Especifique a descrição que contém o funcionamento detalhado do serviço. Por exemplo:
Este serviço recupera o endereço de entrega e outros detalhes do cliente do banco de dados MySQL
Objeto do Modelo de Saída: Selecione o schema que contém os dados do cliente. Por exemplo:
schema customerdetail
Matriz de retorno: Desative a opção Retornar matriz.
Argumentos: Selecione o argumento com o nome ID.
Toque em Concluído. O serviço para recuperar detalhes do cliente do banco de dados MySQL está configurado.
Selecione o serviço update e toque em Editar propriedades. A caixa de diálogo de propriedades é aberta.
Especifique o seguinte na caixa de diálogo Editar propriedades:
Título: Especifique o título do serviço. Por exemplo, Atualizar Endereço de Entrega.
Descrição: Especifique a descrição que contém o funcionamento detalhado do serviço. Por exemplo:
Este serviço atualiza o endereço de envio e os campos relacionados no banco de dados MySQL
Objeto do Modelo de Entrada: Selecione o schema que contém os dados do cliente. Por exemplo:
schema customerdetail
Tipo de saída: Selecione BOOLEAN.
Argumentos: Selecione o argumento chamado IDs e detalhes do cliente.
Toque em Concluído. O serviço update para atualizar os detalhes do cliente no banco de dados MySQL está configurado.
O objeto e os serviços do modelo de dados no modelo de dados de formulário são configurados. Agora é possível testar o modelo de dados de formulário.
Você pode testar o objeto e os serviços do modelo de dados para verificar se o modelo de dados do formulário está configurado corretamente.
Execute o teste a seguir:
Vá para a guia Modelo, selecione o objeto de modelo de dados customerdetails e toque em Testar objeto de modelo.
Na janela Modelo de Teste/Serviço, selecione Ler objeto de modelo no menu suspenso Selecionar Modelo/Serviço.
Na seção customerdetails, especifique um valor para o argumento id que existe no banco de dados MySQL configurado e toque em Test.
Os detalhes do cliente associados à ID especificada são buscados e exibidos na seção Output, como mostrado abaixo.
Da mesma forma, é possível testar o objeto e os serviços do modelo Gravar.
No exemplo a seguir, o serviço de atualização atualiza com êxito os detalhes do endereço do id 7102715 no banco de dados.
Agora, se você testar o serviço de modelo de leitura novamente para o id 7107215, ele buscará e exibirá os detalhes atualizados do cliente, conforme mostrado abaixo.