대화형 커뮤니케이션용 양식 데이터 모델 만들기
이 자습서는 첫 번째 대화형 통신 만들기 시리즈. 전체 자습서 사용 사례를 이해하고, 수행하고, 시연하기 위해 시리즈를 시간 순서대로 따르는 것이 좋습니다.
AEM Forms 데이터 통합 모듈을 사용하여 AEM 사용자 프로필, RESTful 웹 서비스, SOAP 기반 웹 서비스, OData 서비스 및 관계형 데이터베이스와 같은 서로 다른 백엔드 데이터 소스에서 양식 데이터 모델을 만들 수 있습니다. 데이터 모델 개체 및 서비스를 양식 데이터 모델에서 구성하고 적응형 양식과 연결할 수 있습니다. 적응형 양식 필드는 데이터 모델 개체 속성에 바인딩됩니다. 이 서비스를 사용하면 적응형 양식을 미리 채우고 제출된 양식 데이터를 다시 데이터 모델 개체로 쓸 수 있습니다.
양식 데이터 통합 및 양식 데이터 모델에 대한 자세한 내용은 AEM Forms 데이터 통합.
이 자습서에서는 양식 데이터 모델을 준비, 만들기, 구성 및 대화형 커뮤니케이션과 연결하는 단계를 안내합니다. 이 자습서를 마치면 다음을 수행할 수 있습니다.
양식 데이터 모델은 다음과 유사합니다.
A. 구성된 데이터 소스 B. 데이터 소스 스키마 C. 사용 가능한 서비스 D. 데이터 모델 개체 E. 구성된 서비스
시작하기 전에 다음을 확인하십시오.
대화형 커뮤니케이션을 만들려면 데이터베이스가 필요합니다. 이 자습서에서는 데이터베이스를 사용하여 Interactive Communications의 양식 데이터 모델 및 지속성 기능을 표시합니다. 고객, 청구서 및 호출 테이블을 포함하는 데이터베이스를 설정합니다.
다음 이미지는 고객 테이블에 대한 샘플 데이터를 보여줍니다.
다음 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 문을 사용하여 청구서 데이터베이스의 테이블.
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 을 참조하여 모바일 번호를 입력합니다 호출 테이블.
다음 청구서 테이블에는 청구 일자, 청구 기간, 월별 요금 및 통화 요금과 같은 청구 상세내역이 포함됩니다. 다음 고객 테이블이 청구서 청구 계획 필드를 사용한 테이블. 에는 각 고객과 연관된 계획이 있습니다 고객 테이블. 다음 청구서 테이블에는 기존 모든 계획에 대한 가격 상세내역이 포함됩니다. 예를 들어 다음 계획 상세내역을 검색할 수 있습니다 사라 에서 고객 테이블 및 이러한 세부 정보를 사용하여 가격책정 세부 정보를 청구서 테이블.
양식 데이터 모델을 만들기 위해 다양한 유형의 데이터 소스를 구성할 수 있습니다. 이 자습서에서는 샘플 데이터로 구성되고 채워지는 MySQL 데이터베이스를 구성합니다. 지원되는 다른 데이터 소스 및 구성 방법에 대한 자세한 내용은 AEM Forms 데이터 통합.
MySQL 데이터베이스를 구성하려면 다음을 수행합니다.
MySQL 데이터베이스에 JDBC 드라이버를 OSGi 번들로 설치합니다.
MySQL 데이터베이스를 데이터 소스로 구성:
의 AEM 웹 콘솔로 이동합니다. http://localhost:4502/system/console/configMgr.
찾기 Apache Sling 연결의 풀링된 데이터 소스 구성. 편집 모드에서 구성을 열려면 탭합니다.
구성 대화 상자에서 다음 세부 정보를 지정합니다.
jdbc:mysql://[server]:3306/teleca?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
다른 속성을 기본값으로 둡니다. 값 탭 저장.
다음과 유사한 구성이 만들어집니다.
AEM Forms은 양식 데이터 모드 만들기l을 구성합니다. 양식 데이터 모델에서 여러 데이터 소스를 사용할 수 있습니다. 이 자습서의 사용 사례에서는 MySQL을 데이터 소스로 사용합니다.
양식 데이터 모델을 만들려면 다음을 수행하십시오.
AEM 작성자 인스턴스에서 Forms > 데이터 통합.
탭 만들기 > 양식 데이터 모델.
양식 데이터 모델 만들기 마법사에서 이름 참조하십시오. 예, FDM_Create_First_IC. 탭 다음.
데이터 소스 선택 화면에는 구성된 모든 데이터 소스가 나열됩니다. 선택 MySQL 데이터 소스 및 탭 만들기.
클릭 완료. 다음 FDM_Create_First_IC 양식 데이터 모델이 만들어집니다.
양식 데이터 모델 구성에는 다음이 포함됩니다.
AEM 작성자 인스턴스에서 Forms > 데이터 통합. 기본 URL은 http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
다음 FDM_Create_First_IC 이전에 만든 양식 데이터 모델이 여기에 나열됩니다. 선택하고 탭합니다 편집.
선택한 데이터 소스 MySQL 에 표시됩니다. 데이터 소스 창
를 확장합니다. MySQL 데이터 소스 트리. 다음 데이터 모델 개체 및 서비스를 선택합니다 텔레코드 스키마:
데이터 모델 개체:
서비스:
탭 선택 항목 추가 선택한 데이터 모델 개체 및 서비스를 양식 데이터 모델에 추가하려면
BOM, 호출 및 고객 데이터 모델 객체는 모델 탭. 가져오기 및 업데이트 서비스는 서비스 탭.
계산된 속성은 규칙이나 식을 기반으로 값이 계산되는 속성입니다. 규칙을 사용하여 계산된 속성의 값을 문자 문자열, 숫자, 수학 표현식의 결과 또는 양식 데이터 모델에서 다른 속성의 값으로 설정할 수 있습니다.
사용 사례를 기반으로 를 usagechards 하위 계산 속성 청구서 다음 수학 표현식을 사용한 데이터 모델 개체
사용 요금 = 전화 요금 + 전화 요금 + SMS 요금 + 모바일 인터넷 요금 + 로밍 국가 + 로밍 국제 + VAS(이러한 모든 속성은 bom 데이터 모델 개체에 있음)
에 대한 자세한 내용은 usagechards 하위 계산 속성 대화형 통신 계획.
다음 단계를 실행하여 bom 데이터 모델 객체에 대해 계산된 하위 속성을 생성합니다.
상단의 확인란을 선택합니다 청구서 데이터 모델 개체를 선택하고 탭합니다. 하위 속성 만들기.
에서 하위 속성 만들기 창:
탭 규칙 편집 규칙 편집기를 엽니다.
탭 만들기. 다음 값 설정 규칙 창이 열립니다.
옵션 선택 드롭다운에서 을 선택합니다 수식.
수학 표현식에서 을 선택합니다 통화 요금 및 고충 를 각각 첫 번째 및 두 번째 개체로 사용합니다. 선택 plus 를 반환합니다. 수식 내에서 탭하고 탭합니다 표현식 확장 를 추가하려면 smschars, 인터네트전하, 로아밍국립, roamingintnl, 및 vas 표현식에 대한 객체입니다.
다음 이미지는 규칙 편집기의 수학 표현식을 설명합니다.
탭 완료. 규칙 편집기에서 규칙이 만들어집니다.
탭 닫기 규칙 편집기 창을 닫습니다.
데이터 모델 개체가 정의되면 해당 개체 간에 연결을 만들 수 있습니다. 이 연결은 일대일 또는 일대다 연결이 될 수 있습니다. 예를 들어 사원과 연관된 여러 개의 종속 항목이 있을 수 있습니다. 이를 일대다 연결이라고 하며 연결된 데이터 모델 개체를 연결하는 라인에서 1:n으로 표현합니다. 하지만, 조합이 주어진 직원 ID에 대한 고유한 사원명을 반환하는 경우, 이를 일대일 연관이라고 합니다.
데이터 소스의 연결된 데이터 모델 개체를 양식 데이터 모델에 추가하면 해당 연결이 유지되어 화살표 선으로 연결된 것으로 표시됩니다.
사용 사례를 기반으로 데이터 모델 개체 간에 다음 연결을 만듭니다.
연결 | 데이터 모델 개체 |
---|---|
1:n | customer:calls (월별 청구에서 고객과 여러 호출을 연결할 수 있음) |
1:1 | 고객:bom(특정 월에 고객과 하나의 청구서가 연관됨) |
다음 단계를 수행하여 데이터 모델 객체 간의 연결을 생성합니다.
상단의 확인란을 선택합니다 고객 데이터 모델 개체를 선택하고 탭합니다. 연결 추가. 다음 연결 추가 속성 창이 열립니다.
에서 연결 추가 창:
에서 인수 추가 대화 상자:
선택 mobilenum 에서 이름 드롭다운 목록. 모바일 번호 속성은 고객이 사용할 수 있고 데이터 모델 개체를 호출하는 공통 속성입니다. 따라서 고객 및 호출 데이터 모델 개체 간의 연결을 만드는 데 사용됩니다.
고객 데이터 모델 개체에서 사용할 수 있는 각 모바일 번호에 대해 호출 테이블에서 사용할 수 있는 호출 레코드가 여러 개 있습니다.
인수에 대한 선택적 제목과 설명을 지정합니다.
선택 고객 에서 바인딩 대상 드롭다운 목록.
선택 mobilenum 에서 바인딩 값 드롭다운 목록.
탭 추가.
mobilenum 속성은 인수 섹션을 참조하십시오.
탭 완료 고객 및 호출 데이터 모델 개체 간에 1:n 연결을 만들려면
고객과 호출 데이터 모델 객체 간의 연관성을 생성한 후에는 고객과 BOM 데이터 모델 객체 간의 1:1 연관성을 생성합니다.
상단의 확인란을 선택합니다 고객 데이터 모델 개체를 선택하고 탭합니다. 연결 추가. 다음 연결 추가 속성 창이 열립니다.
에서 연결 추가 창:
연결의 제목을 지정합니다. 선택적 필드입니다.
선택 일대일 에서 유형 드롭다운 목록.
선택 청구서 에서 모델 개체 드롭다운 목록.
선택 get 에서 서비스 드롭다운 목록. 다음 청구 계획 bom 테이블의 기본 키인 속성은 이미 인수 섹션을 참조하십시오.
bom 및 고객 데이터 모델 객체는 각각 청구 계획(bom) 및 고객 계획(고객) 속성을 사용하여 연결됩니다. MySQL 데이터베이스에서 사용할 수 있는 고객에 대한 계획 세부 정보를 검색하려면 이 속성 간의 바인딩을 만듭니다.
선택 고객 에서 바인딩 대상 드롭다운 목록.
선택 customerplan 에서 바인딩 값 드롭다운 목록.
탭 완료 billplan과 customerplan 등록 정보 간의 바인딩을 생성하려면
다음 이미지는 데이터 모델 객체와 이러한 객체 간의 연결을 만드는 데 사용되는 속성 간의 연결을 나타냅니다.
고객과 다른 데이터 모델 개체 간의 연결을 만든 후 고객 속성을 편집하여 데이터 모델 개체에서 데이터를 검색할 속성을 정의합니다. 사용 사례를 기반으로 모바일 번호를 속성으로 사용하여 고객 데이터 모델 개체에서 데이터를 검색합니다.
상단의 확인란을 선택합니다 고객 데이터 모델 개체를 선택하고 탭합니다. 속성 편집. 다음 속성 편집 창이 열립니다.
지정 고객 로서의 최상위 모델 객체.
선택 get 에서 서비스 읽기 드롭다운 목록.
에서 인수 섹션:
선택 업데이트 에서 쓰기 서비스 드롭다운 목록입니다.
에서 인수 섹션:
탭 완료 속성을 저장합니다.
상단의 확인란을 선택합니다 호출 데이터 모델 개체를 선택하고 탭합니다. 속성 편집. 다음 속성 편집 창이 열립니다.
비활성화 최상위 모델 객체 대상 호출 데이터 모델 개체.
탭 완료.
에 대한 속성을 구성하려면 8~10단계를 반복합니다 청구서 데이터 모델 개체.
로 이동합니다. 서비스 탭.
을(를) 선택합니다 get 서비스 및 탭 속성 편집. 다음 속성 편집 창이 열립니다.
에서 속성 편집 창:
을(를) 선택합니다 업데이트 서비스 및 탭 속성 편집. 다음 속성 편집 창이 열립니다.
에서 속성 편집 창:
데이터 모델 개체 및 서비스를 테스트하여 양식 데이터 모델이 올바르게 구성되어 있는지 확인할 수 있습니다.
테스트를 실행하려면 다음을 수행하십시오.
로 이동합니다. 모델 탭에서 을 선택합니다 고객 데이터 모델 개체 및 탭 테스트 모델 개체.
에서 양식 데이터 모델 테스트 창, 선택 모델 개체 읽기 에서 모델/서비스 선택 드롭다운 목록.
에서 입력 섹션에서 mobilenum 구성된 MySQL 데이터베이스에 있는 속성을 탭하고 테스트.
지정된 mobilenum 속성과 연관된 고객 세부 사항을 가져온 후 아래에 표시된 대로 출력 섹션에 표시됩니다. 대화 상자를 닫습니다.
로 이동합니다. 서비스 탭.
을(를) 선택합니다 get 서비스 및 탭 테스트 서비스.
에서 입력 섹션에서 mobilenum 구성된 MySQL 데이터베이스에 있는 속성을 탭하고 테스트.
지정된 mobilenum 속성과 연관된 고객 세부 사항을 가져온 후 아래에 표시된 대로 출력 섹션에 표시됩니다. 대화 상자를 닫습니다.
양식 데이터 모델 편집기를 사용하면 계산된 속성을 포함한 모든 데이터 모델 개체 속성에 대한 샘플 데이터를 양식 데이터 모델에서 생성할 수 있습니다. 각 속성에 대해 구성된 데이터 유형을 준수하는 임의의 값 집합입니다. 샘플 데이터를 다시 생성하더라도 유지되는 데이터를 편집하고 저장할 수도 있습니다.
샘플 데이터를 생성, 편집 및 저장하려면 다음을 수행하십시오.
양식 데이터 모델 페이지에서 샘플 데이터 편집. 샘플 데이터 편집 창에서 샘플 데이터를 생성하고 표시합니다.
in 샘플 데이터 편집 필요에 따라 창을 열고 데이터를 편집하고 탭합니다. 저장. 창을 닫습니다.