Show Menu
화제×

Tutorial: Create form data model

인터랙티브 커뮤니케이션을 위한 양식 데이터 모델 만들기
이 자습서는 첫 번째 인터랙티브 커뮤니케이션 시리즈 만들기의 단계입니다 . 전체 자습서 사용 사례를 이해하고, 실행하고, 시연하기 위해 시리즈를 시간 순서대로 따르는 것이 좋습니다.

자습서 정보

AEM Forms 데이터 통합 모듈을 사용하면 AEM 사용자 프로필, RESTful 웹 서비스, SOAP 기반 웹 서비스, OData 서비스 및 관계형 데이터베이스와 같은 서로 다른 백엔드 데이터 소스에서 양식 데이터 모델을 만들 수 있습니다. 데이터 모델 개체 및 서비스를 양식 데이터 모델로 구성하고 적응형 양식과 연결할 수 있습니다. 적응형 양식 필드는 데이터 모델 개체 속성에 바인딩됩니다. 이 서비스를 사용하면 적응형 양식을 미리 채우고 제출된 양식 데이터를 다시 데이터 모델 개체에 쓸 수 있습니다.
양식 데이터 통합 및 양식 데이터 모델에 대한 자세한 내용은 AEM Forms 데이터 통합을 참조하십시오 .
이 자습서에서는 양식 데이터 모델을 준비, 작성, 구성 및 대화형 커뮤니케이션과 연결하는 단계를 안내합니다. 이 튜토리얼의 끝에서 다음 작업을 수행할 수 있습니다.
양식 데이터 모델은 다음과 비슷합니다.
A. 구성된 데이터 소스 B. 데이터 소스 스키마 C. 사용 가능한 서비스 D. 데이터 모델 개체 E. 구성된 서비스

전제 조건

시작하기 전에 다음을 확인하십시오.
  • 데이터베이스 1단계:데이터베이스 설정 설정 섹션에 설명된 샘플 데이터가 있는 MySQL 데이터베이스
  • JDBC 데이터베이스 드라이버 번들로 묶음에 설명된 대로 MySQL JDBC 드라이버용 OSGi 번들

1단계:데이터베이스 설정

대화형 통신을 만들려면 데이터베이스가 필요합니다. 이 자습서에서는 데이터베이스를 사용하여 Interactive Communications의 양식 데이터 모델 및 지속성 기능을 표시합니다. 고객, BOM 및 호출 테이블이 포함된 데이터베이스를 설정합니다. 다음 이미지는 고객 테이블에 대한 샘플 데이터를 보여줍니다.
다음 DDL 문을 사용하여 고객 테이블을 데이터베이스에 생성합니다.
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

다음 DDL 문을 사용하여 데이터베이스에 BOM 테이블을 생성합니다.
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

다음 DDL 문을 사용하여 데이터베이스에 호출 테이블을 만듭니다.
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

호출 ​표에는 호출 날짜, 호출 시간, 호출 번호, 통화 기간, 통화 요금 등의 통화 세부 사항이 포함되어 있습니다. 모바일 번호(mobilenum) 필드를 사용하여 고객 테이블이 호출 테이블에 연결됩니다. 고객 테이블에 나열된 각 모바일 번호에 대해 호출 ​테이블에 여러 개의 레코드가 있습니다. 예를 들어 호출 테이블을 참조하여 1457892541 ​모바일 번호에 대한 호출 세부 사항을 검색할 수 있습니다.
청구서 표에는 청구서 날짜, 청구 기간, 월별 요금 및 콜과 같은 세부 정보가 포함되어 있습니다. BOM 계획 필드를 사용하여 고객 테이블이 BOM 테이블에 연결됩니다. 고객 ​테이블에 각 고객과 연관된 플랜이 있습니다. 청구서 테이블에는 모든 기존 플랜에 대한 가격 세부 정보가 포함되어 있습니다. 예를 들어 고객 테이블에서 Sarah에 대한 계획 상세내역을 검색하고 이러한 세부 정보를 사용하여 청구 ​테이블에서 가격 세부 정보를 검색할 수 있습니다.

2단계:MySQL 데이터베이스를 데이터 소스로 구성

양식 데이터 모델을 만들도록 여러 유형의 데이터 소스를 구성할 수 있습니다. 이 자습서의 경우 샘플 데이터로 구성되고 채워진 MySQL 데이터베이스를 구성합니다. 지원되는 다른 데이터 소스에 대한 자세한 내용 및 구성 방법은 AEM Forms 데이터 통합을 참조하십시오 .
MySQL 데이터베이스를 구성하려면 다음을 수행합니다.
  1. MySQL 데이터베이스에 대한 JDBC 드라이버를 OSGi 번들로 설치합니다.
    1. AEM Forms 작성자 인스턴스에 관리자로 로그인하고 AEM 웹 콘솔 번들로 이동합니다. 기본 URL은 http://localhost:4502/system/console/bundles 입니다 .
    2. 설치/ 업데이트를 누릅니다 . # 대화 상자가 나타납니다.
    3. 파일 선택을 눌러 MySQL JDBC 드라이버 OSGi 번들을 찾아 선택합니다. #을** 선택하고 설치 ​또는업데이트를누릅니다. Oracle Corporation의 MySQL용 JDBC 드라이버가 활성화되어 있는지 확인합니다. 드라이버가 설치되어 있습니다.
  2. MySQL 데이터베이스를 데이터 소스로 구성:
    1. http://localhost:4502/system/console/configMgr의 AEM 웹 콘솔로 이동합니다 .
    2. Apache Sling 연결 풀링된 DataSource 구성을 찾습니다. 을 눌러 편집 모드에서 구성을 엽니다.
    3. 구성 대화 상자에서 다음 세부 정보를 지정합니다.
      • 데이터 소스 이름: 원하는 이름을 지정할 수 있습니다. 예를 들어 MySQL을 지정합니다 .
      • DataSource 서비스 속성 이름 :DataSource 이름을 포함하는 서비스 속성의 이름을 지정합니다. 데이터 소스 인스턴스를 OSGi 서비스로 등록하는 동안 지정됩니다. 예: datasource.name .
      • JDBC 드라이버 클래스 :JDBC 드라이버의 Java 클래스 이름을 지정합니다. MySQL 데이터베이스의 경우 com.mysql.jdbc.Driver를 지정합니다 .
      • JDBC 연결 URI :데이터베이스의 연결 URL을 지정합니다. 포트 3306 및 스키마 텔레카에서 실행되는 MySQL 데이터베이스의 경우 URL은 다음과 같습니다. jdbc:mysql://[server]:3306/teleca?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
      • 사용자 이름: 데이터베이스의 사용자 이름입니다. JDBC 드라이버를 사용하여 데이터베이스와 연결을 설정해야 합니다.
      • 암호: 데이터베이스의 암호입니다. JDBC 드라이버를 사용하여 데이터베이스와 연결을 설정해야 합니다.
      • 차입 시 테스트: # 옵션을** 활성화합니다.
      • 반환 테스트: 반환 시 테스트 옵션을 활성화합니다.
      • 유효성 검사 쿼리: SQL SELECT 쿼리를 지정하여 풀의 연결을 확인합니다. 쿼리는 하나 이상의 행을 반환해야 합니다. 예를 들어 *를 선택합니다.고객 .
      • 트랜잭션 격리 :값을 READ_COMMITTED로 설정합니다 . 다른 속성을 기본값으로 jdbc-pool.html 두고 저장을 탭합니다 .
    다음과 유사한 구성이 만들어집니다.

Step 3: Create form data model

AEM Forms는 구성된 데이터 소스로부터 양식 데이터 모델을 만들기 위한 직관적인 사용자 인터페이스를 제공합니다. 양식 데이터 모델에서 여러 데이터 소스를 사용할 수 있습니다. 이 자습서의 사용 사례는 MySQL을 데이터 소스로 사용합니다.
양식 데이터 모델을 만들려면 다음을 수행합니다.
  1. AEM 작성자 인스턴스에서 양식 > 데이터 통합으로 이동합니다 .
  2. Tap Create > Form Data Model .
  3. 양식 데이터 모델 만들기 마법사에서 양식 데이터 모델의 이름을 지정합니다. 예를 들어 FDM_ Create_First_IC가 ​있습니다. 다음을 누릅니다 .
  4. 데이터 소스 선택 화면에는 구성된 모든 데이터 소스가 나열됩니다. MySQL 데이터 소스를 선택하고 만들기를 누릅니다 .
  5. 완료를 클릭합니다 . FDM_ Create_First_IC 양식 데이터 모델이 생성됩니다.

4단계:양식 데이터 모델 구성

양식 데이터 모델 구성에는 다음이 포함됩니다.

데이터 모델 개체 및 서비스 추가

  1. AEM 작성자 인스턴스에서 양식 > 데이터 통합으로 이동합니다 . 기본 URL은 http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm 입니다 .
  2. 이전에 만든 FDM_Create_First_IC 양식 데이터 모델은 여기에 나열됩니다. 선택하고 편집을 누릅니다 .
    선택한 데이터 소스 MySQL이 데이터 소스 창에 표시됩니다.
  3. MySQL 데이터 소스 트리를 확장합니다. 텔레카 스키마에서 다음 데이터 모델 개체 및 서비스를 선택합니다 .
    • 데이터 모델 개체 :
      • 법안
      • 호출
      • 고객
    • 서비스:
      • get
      • 업데이트 선택한 데이터 모델 개체 및 서비스를 양식 데이터 모델에 추가하려면 선택한 항목 추가를 누릅니다.
    BOM, 호출 및 고객 데이터 모델 개체는 모델 탭의 오른쪽 창에 표시됩니다 . 서비스 탭에 get 및 update 서비스가 표시됩니다 .

데이터 모델 개체에 대해 계산된 하위 속성 만들기

계산된 속성은 규칙이나 표현식을 기반으로 값이 계산되는 속성입니다. 규칙을 사용하여 계산된 속성의 값을 문자 문자열, 숫자, 수학 표현식의 결과 또는 양식 데이터 모델에서 다른 속성의 값으로 설정할 수 있습니다.
사용 사례에 따라 다음 수학적 표현식을 사용하여 bills 데이터 모델 개체에서 사용 하위 계산 속성을 만듭니다.
  • 사용 요금 = 전화 요금 + 컨퍼런스 콜비 + SMS 요금 + 모바일 인터넷 요금 + 로밍 국가 + 로밍 국제 + VAS(이러한 모든 속성은 BOM 데이터 모델 개체에 있음)
    사용자 지정 하위 계산 속성에 대한 자세한 내용은 대화형 통신 계획을 참조하십시오 .
다음 단계를 실행하여 BOM 데이터 모델 객체에 대해 계산된 하위 속성을 생성합니다.
  1. BOM 데이터 모델 객체의 상단에 있는 확인란을 선택하여 선택하고 하위 속성 생성을 누릅니다 .
  2. 하위 속성 만들기 창에서:
    1. 하위 속성의 이름으로 usagecharges를 입력합니다.
    2. 계산 기능을 활성화합니다 .
    3. 유형으로 플로트를 선택하고 완료를 눌러 BOM 데이터 모델 객체에 하위 속성을 추가합니다.
  3. 규칙 편집을 눌러 규칙 편집기를 엽니다.
  4. 만들기를 누릅니다 . 값 설정 규칙 창이 열립니다.
  5. 옵션 선택 드롭다운에서 수학 표현식을 선택합니다 .
  6. 수학적 표현식에서 첫 번째 및 두 번째 개체로서 호출과 혼돈을 각각 선택합니다. 더하기 연산자로 선택합니다. 표현식 내에서 을 탭하고 표현식 확장을 탭하여 연소 ​추가 , ​상호 작용 , 전국민 전산, roamingnl 전소 , 전산 및 vVamentasObjects를 눌러 표현식에 추가합니다.
    다음 이미지는 규칙 편집기의 수학 표현식을 보여 줍니다.
  7. Done ​을 누릅니다. 규칙 편집기에서 규칙이 만들어집니다.
  8. 닫기를 눌러 규칙 편집기 창을 닫습니다.

데이터 모델 개체 간 연결 추가

데이터 모델 개체가 정의된 후에는 두 개체 간의 연결을 만들 수 있습니다. 1대1 또는 1대 다일 수 있습니다. 예를 들어, 사원과 연관된 종속 항목이 여러 개 있을 수 있습니다. 이를 일 대 다 연결이라고 하며 연결된 데이터 모델 개체를 연결하는 줄에 1:n으로 묘사합니다. 하지만, 한 협회가 특정 직원 ID에 대한 고유한 사원명을 반환하는 경우 이를 1대1 연관이라고 합니다.
데이터 소스의 관련 데이터 모델 개체를 양식 데이터 모델에 추가하면 해당 연결이 유지되고 화살표 선으로 연결되어 표시됩니다.
사용 사례에 따라 데이터 모델 객체 간에 다음 연결을 만듭니다.
Association
데이터 모델 개체
1:n
고객:호출(월별 청구서에서 고객과 여러 호출을 연결할 수 있음)
1:1
고객:BOM(특정 월에 대해 고객과 연관된 BOM)
데이터 모델 객체 간의 연결을 만들려면 다음 단계를 수행하십시오.
  1. 고객 데이터 모델 개체 상단에 있는 확인란을 선택하여 선택하고 연결 추가를 누릅니다 . 연결 추가 속성 창이 열립니다.
  2. 연결 추가 창에서:
    • 연결의 제목을 지정합니다. 선택 필드입니다.
    • 유형 드롭다운 목록에서 하나 대 모두를 선택합니다.
    • 모델 개체 드롭다운 목록에서 호출을 ​선택합니다.
    • 서비스 드롭다운 목록에서 가져오기를 선택합니다.
    • 추가를 눌러 고객 데이터 모델 개체를 속성을 사용하여 데이터 모델 개체를 호출합니다. 사용 사례에 따라 호출 데이터 모델 개체는 고객 데이터 모델 개체의 모바일 번호 속성에 연결되어 있어야 합니다. 인수 추가 대화 상자가 열립니다.
  3. 인수 추가 대화 상자에서 다음을 수행합니다.
    • 이름 드롭다운 목록에서 mobilenum을 선택합니다. 모바일 번호 속성은 고객이 사용할 수 있고 데이터 모델 개체를 호출하는 공통 속성입니다. 따라서 이 매개 변수는 고객과 호출 데이터 모델 개체 간의 연결을 만드는 데 사용됩니다.
      고객 데이터 모델 개체에서 사용할 수 있는 각 모바일 번호에 대해 호출 테이블에서 사용할 수 있는 호출 레코드가 여러 개 있습니다.
    • 인수의 제목 및 설명(선택 사항)을 지정합니다.
    • 바인딩 대상 드롭다운 목록에서 고객을 ​선택합니다.
    • 바인딩 드롭다운 목록에서 mobilenum 을 선택합니다.
    • 추가를 누릅니다 .
    mobilenum 속성이 Arguments 섹션에 표시됩니다.
  4. 완료를 눌러 고객 및 호출 데이터 모델 개체 간의 1:n 연결을 만듭니다.
    고객 간의 연관을 만들고 데이터 모델 객체를 호출하면 고객과 BOM 데이터 모델 객체 간의 1:1 연관을 생성합니다.
  5. 고객 데이터 모델 개체 상단에 있는 확인란을 선택하여 선택하고 연결 추가를 누릅니다 . 연결 추가 속성 창이 열립니다.
  6. 연결 추가 창에서:
    • 연결의 제목을 지정합니다. 선택 필드입니다.
    • 유형 드롭다운 목록에서 하나 대 하나를 선택합니다.
    • 모델 개체 드롭다운 목록에서 BOM을 선택합니다.
    • 서비스 드롭다운 목록에서 가져오기를 선택합니다. billplan ​속성은 BOM 테이블의 기본 키이며 인수 섹션에서 이미 사용할 수 있습니다 .
      BOM 및 고객 데이터 모델 개체는 각각 청구 계획(BOM) 및 고객 계획(고객) 속성을 사용하여 연결됩니다. 이러한 속성 간의 바인딩을 만들어 MySQL 데이터베이스에서 사용할 수 있는 모든 고객에 대한 계획 세부 정보를 검색합니다.
    • 바인딩 대상 드롭다운 목록에서 고객을 ​선택합니다.
    • 바인딩 드롭다운 목록에서 사용자 지정 계획을 선택합니다.
    • 완료를 눌러 billplan 및 customerplan 속성 간의 바인딩을 생성합니다.
    다음 이미지는 데이터 모델 객체와 객체 간의 연결을 만드는 데 사용되는 속성을 보여 줍니다.

데이터 모델 개체 속성 편집

고객과 다른 데이터 모델 개체 간의 연결을 만든 후 고객 속성을 편집하여 데이터 모델 개체에서 데이터를 검색할 속성을 정의합니다. 사용 사례에 따라 모바일 번호는 고객 데이터 모델 개체에서 데이터를 검색하는 속성으로 사용됩니다.
  1. 고객 데이터 모델 개체 상단에 있는 확인란을 선택하여 선택하고 속성 편집을 누릅니다 . 속성 편집 창이 열립니다.
  2. 최상위 수준 모델 개체로 고객을 지정합니다 .
  3. 서비스 읽기 드롭다운 목록에서 가져오기를 선택합니다.
  4. 인수 섹션에서 다음을 수행합니다.
    • 바인딩 대상 드롭다운 목록에서 요청 속성을 선택합니다.
    • Mobilenum 바인딩 값으로 지정합니다.
  5. Write Service 드롭다운 목록에서 업데이트를 ​선택합니다.
  6. 인수 섹션에서 다음을 수행합니다.
    • mobilenum 속성의 경우 바인딩 대상 드롭다운 목록에서 고객을 선택합니다.
    • 바인딩 드롭다운 목록에서 mobilenum 을 선택합니다.
  7. 완료를 눌러 속성을 저장합니다.
  8. 데이터 모델 개체 호출 상단에 있는 확인란을 선택하여 선택하고 속성 편집을 누릅니다 . 속성 편집 창이 열립니다.
  9. 데이터 모델 개체 호출에 대해 최상위 모델 개체를 ​비활성화합니다.
  10. Done ​을 누릅니다.
    8 - 10단계를 반복하여 BOM 데이터 모델 객체의 속성을 구성합니다.

서비스 구성

  1. 서비스 탭으로 이동합니다.
  2. 서비스 가져오기를 선택하고 속성 편집을 누릅니다 . 속성 편집 창이 열립니다.
  3. 속성 편집 창에서:
    • 선택적인 제목과 설명을 입력합니다.
    • 출력 모델 개체 드롭다운 목록에서 고객을 선택합니다.
    • 완료를 눌러 속성을 저장합니다.
  4. 업데이트 서비스를 선택하고 속성 편집을 누릅니다 . 속성 편집 창이 열립니다.
  5. 속성 편집 창에서:
    • 선택적인 제목과 설명을 입력합니다.
    • 입력 모델 개체 드롭다운 목록에서 고객을 ​선택합니다.
    • Done ​을 누릅니다.
    • 저장을 눌러 양식 데이터 모델을 저장합니다.

5단계:양식 데이터 모델 및 서비스 테스트

데이터 모델 개체 및 서비스를 테스트하여 양식 데이터 모델이 제대로 구성되어 있는지 확인할 수 있습니다.
테스트를 실행하려면 다음을 수행합니다.
  1. 모델 탭으로 이동하여 고객 데이터 모델 개체를 선택한 다음 테스트 모델 개체를 ​누릅니다.
  2. 테스트 양식 데이터 모델 창의 모델/서비스 선택 드롭다운 목록에서 모델 개체 읽기를선택합니다.
  3. 입력 섹션에서 구성된 MySQL 데이터베이스에 있는 mobilenum 속성 값을 지정하고 테스트를 누릅니다 .
    지정된 mobilenum 속성과 연결된 고객 세부 정보가 아래와 같이 출력 섹션에 반입되고 표시됩니다. 대화 상자를 닫습니다.
  4. 서비스 탭으로 이동합니다.
  5. 서비스 가져오기를 선택하고 Test Service 를 누릅니다.
  6. 입력 섹션에서 구성된 MySQL 데이터베이스에 있는 mobilenum 속성 값을 지정하고 테스트를 누릅니다 .
    지정된 mobilenum 속성과 연결된 고객 세부 정보가 아래와 같이 출력 섹션에 반입되고 표시됩니다. 대화 상자를 닫습니다.

샘플 데이터 편집 및 저장

양식 데이터 모델 편집기를 사용하면 계산된 속성을 비롯한 모든 데이터 모델 개체 속성에 대한 샘플 데이터를 양식 데이터 모델에서 생성할 수 있습니다. 각 속성에 대해 구성된 데이터 유형을 준수하는 임의 값 집합입니다. 샘플 데이터를 다시 생성해도 그대로 유지되는 데이터를 편집하고 저장할 수도 있습니다.
샘플 데이터를 생성, 편집 및 저장하려면 다음을 수행합니다.
  1. 양식 데이터 모델 페이지에서 샘플 데이터 편집을 누릅니다 . 샘플 데이터 편집 창에서 샘플 데이터를 생성하고 표시합니다.
  2. # 창에서 필요에 따라 데이터를 편집하고 저장을 누릅니다 . 창을 닫습니다.