Show Menu
TÓPICOS×

Tutorial: Create form data model

Este tutorial é uma etapa da série Criar sua primeira comunicação interativa. É recomendável seguir a série em sequência cronológica para entender, executar e demonstrar o caso de uso do tutorial completo.

Sobre o tutorial

O módulo de integração de dados do AEM Forms permite criar um modelo de dados de formulário a partir de diferentes fontes de dados de backend, como perfil de usuário do AEM, serviços Web RESTful, serviços da 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 de formulários AEM.
Este tutorial o orienta pelas etapas para preparar, criar, configurar e associar um modelo de dados de formulário a uma comunicação interativa. No final deste tutorial, você poderá:
O modelo de dados de formulário é 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

Pré-requisitos

Antes de começar, verifique se você tem o seguinte:

Etapa 1: Configurar o banco de dados

Um banco de dados é essencial para criar uma Comunicação Interativa. Este tutorial usa um banco de dados para exibir o Form Data Model e os recursos de persistência do Interative Communications. Configure um banco de dados contendo tabelas de clientes, contas e chamadas. A imagem a seguir ilustra os dados de amostra da tabela do cliente:
Use a seguinte instrução DDL para criar a tabela do cliente no banco de dados.
CREATE TABLE `customer` (
   `mobilenum` int(11) NOT NULL,
   `name` varchar(45) NOT NULL,
   `address` varchar(45) NOT NULL,
   `alternatemobilenumber` int(11) DEFAULT NULL,
   `relationshipnumber` int(11) DEFAULT NULL,
   `customerplan` varchar(45) DEFAULT NULL,
   PRIMARY KEY (`mobilenum`),
   UNIQUE KEY `mobilenum_UNIQUE` (`mobilenum`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

Use a seguinte instrução DDL para criar a tabela de faturamentos no banco de dados.
CREATE TABLE `bills` (
   `billplan` varchar(45) NOT NULL,
   `latepayment` decimal(4,2) NOT NULL,
   `monthlycharges` decimal(4,2) NOT NULL,
   `billdate` date NOT NULL,
   `billperiod` varchar(45) NOT NULL,
   `prevbal` decimal(4,2) NOT NULL,
   `callcharges` decimal(4,2) NOT NULL,
   `confcallcharges` decimal(4,2) NOT NULL,
   `smscharges` decimal(4,2) NOT NULL,
   `internetcharges` decimal(4,2) NOT NULL,
   `roamingnational` decimal(4,2) NOT NULL,
   `roamingintnl` decimal(4,2) NOT NULL,
   `vas` decimal(4,2) NOT NULL,
   `discounts` decimal(4,2) NOT NULL,
   `tax` decimal(4,2) NOT NULL,
   PRIMARY KEY (`billplan`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

Use a seguinte instrução DDL para criar a tabela de chamadas no banco de dados.
CREATE TABLE `calls` (
   `mobilenum` int(11) DEFAULT NULL,
   `calldate` date DEFAULT NULL,
   `calltime` varchar(45) DEFAULT NULL,
   `callnumber` int(11) DEFAULT NULL,
   `callduration` varchar(45) DEFAULT NULL,
   `callcharges` decimal(4,2) DEFAULT NULL,
   `calltype` varchar(45) DEFAULT NULL
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8

A tabela de chamadas inclui detalhes da chamada, como data da chamada, hora da chamada, número da chamada, duração da chamada e taxas de chamada. A tabela do cliente é vinculada à tabela de chamadas usando o campo Número do celular (mobilenum). Para cada número de celular listado na tabela do cliente , há vários registros na tabela de chamadas . Por exemplo, você pode recuperar os detalhes da chamada para o número móvel 1457892541 referindo-se à tabela de chamadas .
A tabela de faturamentos inclui os detalhes da lista, como data da fatura, período da lista, encargos mensais e encargos de chamada. A tabela do cliente é vinculada à tabela de faturamentos usando o campo Plano de Faturamento. Há um plano associado a cada cliente na tabela do cliente . A tabela de faturamentos inclui os detalhes de precificação de todos os planos existentes. Por exemplo, você pode recuperar os detalhes do plano para Sarah da tabela do cliente e usar esses detalhes para recuperar os detalhes do preço da tabela de contas .

Etapa 2: Configurar o banco de dados MySQL como fonte de dados

Você pode configurar diferentes tipos de fontes de dados para criar um modelo de dados de formulário. Para este tutorial, você irá configurar o banco de dados MySQL que está configurado e preenchido com dados de amostra. Para obter informações sobre outras fontes de dados compatíveis e como configurá-las, consulte Integração de dados do AEM Forms.
Faça o seguinte para configurar seu banco de dados MySQL:
  1. Instale o driver JDBC para o banco de dados MySQL como um pacote OSGi:
    1. Faça logon na instância de autor do AEM Forms como administrador e vá para pacotes de console da Web do AEM. O URL padrão é https://localhost:4502/system/console/bundles .
    2. Toque em Instalar/atualizar . Uma caixa de diálogo Carregar / Instalar pacotes é exibida.
    3. Toque em Escolher arquivo para navegar e selecionar o pacote OSGi do driver JDBC do MySQL. Selecione Pacote de Start e Atualize pacotes e toque em Instalar ou Atualizar . Certifique-se de que o Driver JDBC da Oracle Corporation para MySQL esteja ativo. O driver está instalado.
  2. Configure o banco de dados MySQL como uma fonte de dados:
    1. Vá para o console da Web do AEM em https://localhost:4502/system/console/configMgr .
    2. Localize a configuração Apache Sling Connection Pooling DataSource . Toque em para abrir a configuração no modo de edição.
    3. 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 MySQL .
      • 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 o banco de dados MySQL em execução na porta 3306 e teleca do schema, o URL é: jdbc:mysql://'server':3306/teleca?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 de emprestado: Ative a opção Testar em empréstimo .
      • Teste na devolução: Ative a opção Testar ao Retornar .
      • 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 cliente .
      • Isolamento da transação: Defina o valor como READ_COMPROMISTED .
    Deixe outras propriedades com valores padrão e toque em Salvar .
    É criada uma configuração semelhante à seguinte.

Step 3: Create form data model

O 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. Para o caso de uso neste tutorial, você usará o MySQL como a fonte de dados.
Faça o seguinte para criar um modelo de dados de formulário:
  1. Na instância do autor de AEM, navegue até Formulários > Integrações ​de dados.
  2. Tap Create > Form Data Model .
  3. No assistente Criar modelo de dados de formulário, especifique um nome para o modelo de dados de formulário. Por exemplo, FDM_Create_First_IC . Toque em Avançar .
  4. A tela da fonte de dados selecionada lista todas as fontes de dados configuradas. Selecione a fonte de dados MySQL e toque em Criar .
  5. Clique em Concluído . O modelo de dados do formulário FDM_Create_First_IC é criado.

Etapa 4: Configurar modelo de dados de formulário

A configuração do modelo de dados de formulário inclui:

Adicionar objetos e serviços do modelo de dados

  1. Na instância do autor de AEM, navegue até Formulários > Integrações ​de dados. O URL padrão é https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm .
  2. O modelo de dados de formulário FDM_Create_First_IC criado anteriormente está listado aqui. Selecione-o e toque em Editar .
    A fonte de dados selecionada MySQL é exibida no painel Fontes de dados.
  3. Expanda a árvore da fonte de dados MySQL . Selecione os seguintes objetos de modelo de dados e serviços do teleca schema:
    • Objetos do modelo de dados:
      • faturamento
      • chamadas
      • cliente
    • Serviços:
      • get
      • atualizar
    Toque em Adicionar selecionados para adicionar objetos e serviços de modelo de dados selecionados ao modelo de dados do formulário.
    As listas, chamadas e objetos de modelo de dados do cliente são exibidos no painel direito na guia Modelo . Os serviços get e update são exibidos na guia Serviços .

Criar propriedades secundárias calculadas para o objeto de modelo de dados

Uma propriedade calculada é aquela cujo valor é calculado com base em uma regra ou expressão. Usando uma regra, é possível definir o valor de uma propriedade calculada como uma string literal, um número, resultado de uma expressão matemática ou o valor de outra propriedade no modelo de dados de formulário.
Com base no caso de uso, crie a propriedade computada secundária usagecharges no objeto de modelo de dados bill usando a seguinte expressão matemática:
  • taxas de utilização = tarifas de chamada + tarifas de chamada de conferência + tarifas SMS + tarifas móveis da Internet + roaming nacional + roaming internacional + VAS (todas essas propriedades existem no objeto de modelo de dados de faturamento)Para obter mais informações sobre taxas de utilização de propriedade computacional secundária, consulte Planejar a Comunicação Interativa.
Execute as seguintes etapas para criar propriedades filhas computadas para o objeto de modelo de dados do bill:
  1. Marque a caixa de seleção na parte superior do objeto de modelo de dados de faturamento para selecioná-lo e toque em Criar propriedade secundária.
  2. No painel Criar propriedade secundária:
    1. Informe usagecharges como o nome da propriedade filho.
    2. Habilitar Computado .
    3. Selecione Flutuar como o tipo e toque em Concluído para adicionar a propriedade filho ao objeto de modelo de dados de faturamento .
  3. Toque em Editar regra para abrir o Editor de regras.
  4. Toque em Criar . A janela Definir regra de valor é aberta.
  5. Na lista suspensa Selecionar opção, selecione Expressão matemática .
  6. Na expressão matemática, selecione cobranças e cálculos como primeiro e segundo objetos, respectivamente. Selecione mais como operador. Toque na expressão matemática e toque em Estender Expressão para adicionar sorteios , sobretaxas , roamingnational , roamingintnl e telade objetos à expressão.
    A imagem a seguir descreve a expressão matemática no editor de regras:
  7. Toque em Concluído . A regra é criada no Editor de regras.
  8. Toque em Fechar para fechar a janela Editor de regras.

Adicionar associações entre objetos de modelo de dados

Depois que os objetos do modelo de dados forem definidos, é possível criar associações entre eles. A associação pode ser um para um ou um para muitos. Por exemplo, pode haver vários dependentes associados a um funcionário. É chamada de associação de um para muitos e representada por 1:n na linha que conecta objetos de modelo de dados associados. No entanto, se uma associação retornar um nome de funcionário exclusivo para uma determinada ID de funcionário, ela será chamada de associação de um para um.
Quando objetos de modelo de dados associados são adicionados em uma fonte de dados a um modelo de dados de formulário, suas associações são mantidas e exibidas como conectadas por linhas de seta.
Com base no caso de uso, crie as seguintes associações entre os objetos do modelo de dados:
Associação
Objetos do modelo de dados
1:n
cliente:chamadas (várias chamadas podem ser associadas a um cliente em uma lista mensal)
1:1
cliente:faturamentos (uma lista está associada a um cliente em um mês específico)
Execute as seguintes etapas para criar associações entre objetos de modelo de dados:
  1. Marque a caixa de seleção na parte superior do objeto de modelo de dados do cliente para selecioná-lo e toque em Adicionar associação . O painel de propriedades Adicionar associação é aberto.
  2. No painel Adicionar associação :
    • Especifique um título para a associação. É um campo opcional.
    • Selecione Um para muitos na lista suspensa Tipo .
    • Selecione chamadas na lista suspensa Objeto ​Modelo.
    • Selecione obter na lista suspensa Serviço .
    • Toque em Adicionar para vincular o objeto de modelo de dados do cliente ao objeto de modelo de dados de chamadas usando uma propriedade. Com base no caso de uso, o objeto de modelo de dados de chamadas deve estar vinculado à propriedade mobile number no objeto de modelo de dados do cliente. A caixa de diálogo Adicionar argumento é aberta.
  3. Na caixa de diálogo Adicionar argumento :
    • Selecione mobilenum na lista suspensa Nome . A propriedade mobile number é uma propriedade comum que está disponível no cliente e chama objetos de modelo de dados. Como resultado, é usado para criar uma associação entre os objetos do modelo de dados de chamada e cliente. Para cada número móvel disponível no objeto de modelo de dados do cliente, há vários registros de chamada disponíveis na tabela de chamadas.
    • Especifique um título e uma descrição opcionais para o argumento.
    • Selecione cliente na lista suspensa Vínculo para .
    • Selecione mobilenum na lista suspensa Valor de vínculo.
    • Toque em Adicionar .
    A propriedade mobilenum é exibida na seção Argumentos .
  4. Toque em Concluído para criar uma associação 1:n entre os objetos do modelo de dados do cliente e das chamadas.
    Depois de criar uma associação entre o cliente e chamar objetos do modelo de dados, crie uma associação 1:1 entre o cliente e os objetos do modelo de dados do faturamento.
  5. Marque a caixa de seleção na parte superior do objeto de modelo de dados do cliente para selecioná-lo e toque em Adicionar associação . O painel de propriedades Adicionar associação é aberto.
  6. No painel Adicionar associação :
    • Especifique um título para a associação. É um campo opcional.
    • Selecione Um para um na lista suspensa Tipo .
    • Selecione listas na lista suspensa Objeto ​Modelo.
    • Selecione obter na lista suspensa Serviço . A propriedade billplan , que é a chave primária para a tabela de títulos, já está disponível na seção Argumentos . Os objetos de modelo de faturamento e dados do cliente são vinculados usando as propriedades plano de faturamento (faturamentos) e plano do cliente (cliente), respectivamente. Crie um vínculo entre essas propriedades para recuperar os detalhes do plano para qualquer cliente disponível no banco de dados MySQL.
    • Selecione cliente na lista suspensa Vínculo para .
    • Selecione customerplan na lista suspensa Valor de vinculação.
    • Toque em Concluído para criar um vínculo entre as propriedades billplan e customerplan.
    A imagem a seguir descreve as associações entre os objetos do modelo de dados e as propriedades usadas para criar associações entre eles:

Editar propriedades de objetos de modelo de dados

Depois de criar associações entre o cliente e outros objetos de modelo de dados, edite as propriedades do cliente para definir a propriedade com base na qual os dados são recuperados do objeto de modelo de dados. Com base no caso de uso, o número móvel é usado como a propriedade para recuperar dados do objeto de modelo de dados do cliente.
  1. Marque a caixa de seleção na parte superior do objeto de modelo de dados do cliente para selecioná-lo e toque em Editar propriedades . O painel Editar propriedades é aberto.
  2. Especifique o cliente como o objeto Modelo de nível superior.
  3. Selecione obter na lista suspensa Ler serviço .
  4. Na seção Argumentos :
    • Selecione Atributo de solicitação na lista suspensa Vínculo para .
    • Especifique mobilenum como o Valor de vínculo.
  5. Selecione update na lista suspensa Serviço de gravação .
  6. Na seção Argumentos :
    • Para a propriedade mobilenum , selecione cliente na lista suspensa Vínculo .
    • Selecione mobilenum na lista suspensa Valor de vínculo.
  7. Toque em Concluído para salvar as propriedades.
  8. Marque a caixa de seleção na parte superior do objeto de modelo de dados de chamadas para selecioná-lo e toque em Editar propriedades . O painel Editar propriedades é aberto.
  9. Desative o objeto Modelo de nível superior para objeto de modelo de dados de chamadas .
  10. Toque em Concluído .
    Repita as etapas 8 - 10 para configurar as propriedades para o objeto de modelo de dados bill .

Configurar serviços

  1. Vá para a guia Serviços .
  2. Selecione o serviço get e toque em Editar propriedades . O painel Editar propriedades é aberto.
  3. No painel Editar propriedades :
    • Insira um título e uma descrição opcionais.
    • Selecione cliente na lista suspensa Objeto do Modelo de Saída.
    • Toque em Concluído para salvar as propriedades.
  4. Selecione o serviço de atualização e toque em Editar propriedades . O painel Editar propriedades é aberto.
  5. No painel Editar propriedades :
    • Insira um título e uma descrição opcionais.
    • Selecione cliente na lista suspensa Objeto do Modelo de entrada.
    • Toque em Concluído .
    • Toque em Salvar para salvar o modelo de dados do formulário.

Etapa 5: Testar o modelo e os serviços de dados do 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:
  1. Vá até a guia Modelo , selecione o objeto de modelo de dados do cliente e toque em Objeto de modelo de teste.
  2. Na janela Testar modelo de dados do formulário, selecione Objeto de modelo de leitura na lista suspensa Selecionar modelo/serviço .
  3. Na seção Input , especifique um valor para a propriedade mobilenum que existe no banco de dados MySQL configurado e toque em Test .
    Os detalhes do cliente associados à propriedade mobilenum especificada são buscados e exibidos na seção Saída, como mostrado abaixo. Feche a caixa de diálogo.
  4. Vá para a guia Serviços .
  5. Selecione o serviço get e toque em Serviço de teste.
  6. Na seção Input , especifique um valor para a propriedade mobilenum que existe no banco de dados MySQL configurado e toque em Test .
    Os detalhes do cliente associados à propriedade mobilenum especificada são buscados e exibidos na seção Saída, como mostrado abaixo. Feche a caixa de diálogo.

Editar e salvar dados de amostra

O editor de modelo de dados de formulário permite gerar dados de amostra para todas as propriedades de objetos de modelo de dados, incluindo propriedades calculadas, em um modelo de dados de formulário. É um conjunto de valores aleatórios que está em conformidade com o tipo de dados configurado para cada propriedade. Também é possível editar e salvar dados, que são retidos mesmo se os dados de amostra forem regenerados.
Faça o seguinte para gerar, editar e salvar dados de amostra:
  1. Na página de modelo de dados de formulário, toque em Editar dados de amostra. Ele gera e exibe os dados de amostra na janela Editar dados de amostra.
  2. Na janela Editar dados de amostra, edite os dados, conforme necessário, e toque em Salvar . Feche a janela.