이 자습서는 첫 번째 적응형 양식 만들기 시리즈의 단계입니다. 전체 자습서 사용 사례를 이해하고, 수행하고, 시연하기 위해 시리즈를 시간 순서대로 따르는 것이 좋습니다.
AEM Forms 데이터 통합 모듈을 사용하여 AEM 사용자 프로필, RESTful 웹 서비스, SOAP 기반 웹 서비스, OData 서비스 및 관계형 데이터베이스와 같은 서로 다른 백엔드 데이터 소스에서 양식 데이터 모델을 만들 수 있습니다. 데이터 모델 개체 및 서비스를 양식 데이터 모델에서 구성하고 적응형 양식과 연결할 수 있습니다. 적응형 양식 필드는 데이터 모델 개체 속성에 바인딩됩니다. 이 서비스를 사용하면 적응형 양식을 미리 채우고 제출된 양식 데이터를 다시 데이터 모델 개체로 쓸 수 있습니다.
양식 데이터 통합 및 양식 데이터 모델에 대한 자세한 내용은 AEM Forms 데이터 통합을 참조하십시오.
이 자습서에서는 양식 데이터 모델을 적응형 양식과 준비, 만들기, 구성 및 연결하는 단계를 안내합니다. 이 자습서를 마치면 다음을 수행할 수 있습니다.
양식 데이터 모델은 다음과 유사합니다.
A. 구성된 데이터 소스 B. 데이터 소스 스키마 C. 사용 가능한 서비스 D. 데이터 모델 개체 E. 구성된 서비스
시작하기 전에 다음을 확인하십시오.
양식 데이터 모델을 만들기 위해 다양한 유형의 데이터 소스를 구성할 수 있습니다. 이 자습서에서는 사용자가 구성하고 샘플 데이터로 채운 MySQL 데이터베이스를 구성합니다. 지원되는 다른 데이터 소스 및 구성 방법에 대한 자세한 내용은 AEM Forms 데이터 통합을 참조하십시오.
MySQL 데이터베이스를 구성하려면 다음을 수행합니다.
MySQL 데이터베이스에 JDBC 드라이버를 OSGi 번들로 설치합니다.
관리자로 AEM Forms 작성자 인스턴스에 로그인하고 AEM 웹 콘솔 번들로 이동합니다. 기본 URL은 http://localhost:4502/system/console/bundles입니다.
설치/업데이트를 누릅니다. 업로드/설치 번들 대화 상자가 나타납니다.
파일을 눌러 MySQL JDBC 드라이버 OSGi 번들을 탐색하고 선택합니다. 시작 번들 및 패키지 새로 고침을 선택하고 설치 또는 업데이트를 탭합니다. MySQL용 Oracle Corporation의 JDBC 드라이버가 활성화되어 있는지 확인합니다. 드라이버가 설치되어 있습니다.
MySQL 데이터베이스를 데이터 소스로 구성:
http://localhost:4502/system/console/configMgr의 AEM 웹 콘솔로 이동합니다.
Apache Sling 연결의 풀링된 데이터 소스 구성을 찾습니다. 편집 모드에서 구성을 열려면 탭합니다.
구성 대화 상자에서 다음 세부 정보를 지정합니다.
jdbc:mysql://[server]:3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
다른 속성을 기본값 값으로 두고 저장을 탭합니다.
다음과 유사한 구성이 만들어집니다.
AEM Forms은 구성된 데이터 소스에서 양식 데이터 모델🔗을 만드는 직관적인 사용자 인터페이스를 제공합니다. 양식 데이터 모델에서 여러 데이터 소스를 사용할 수 있습니다. 사용 사례에서는 구성된 MySQL 데이터 소스를 사용합니다.
양식 데이터 모델을 만들려면 다음을 수행하십시오.
AEM 작성자 인스턴스에서 Forms > 데이터 통합으로 이동합니다.
만들기 > 양식 데이터 모델을 누릅니다.
양식 데이터 모델 만들기 대화 상자에서 양식 데이터 모델의 이름을 지정합니다. 예: customer-shipping-billing-details 다음을 누릅니다.
데이터 소스 선택 화면에는 구성된 모든 데이터 소스가 나열됩니다. WeRetailMySQL 데이터 소스를 선택하고 만들기를 탭합니다.
customer-shipping-billing-details 양식 데이터 모델이 만들어집니다.
양식 데이터 모델 구성에는 다음이 포함됩니다.
양식 데이터 모델을 구성하려면 다음을 수행하십시오.
AEM 작성자 인스턴스에서 Forms > 데이터 통합으로 이동합니다. 기본 URL은 http://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm입니다.
이전에 만든 customer-shipping-billing-details 양식 데이터 모델이 여기에 나열됩니다. 편집 모드로 엽니다.
선택한 데이터 소스 WeRetailMySQL가 양식 데이터 모델에서 구성됩니다.
We레일MySQL 데이터 소스 트리를 확장합니다. 데이터 모델을 형성하려면 weretail > customerdetails 스키마에서 다음 데이터 모델 개체 및 서비스를 선택하십시오.
데이터 모델 개체:
서비스:
선택한 데이터 모델 개체 및 서비스를 양식 데이터 모델에 추가하려면 선택한 항목 추가를 누릅니다.
JDBC 데이터 소스에 대한 기본 get, 업데이트 및 삽입 서비스는 양식 데이터 모델 과 함께 기본적으로 제공됩니다.
데이터 모델 개체에 대한 읽기 및 쓰기 서비스를 구성합니다.
customerdetails 데이터 모델 개체를 선택하고 속성 편집을 탭합니다.
서비스 읽기 드롭다운에서 get을 선택합니다. customerdetails 데이터 모델 개체의 기본 키인 id 인수가 자동으로 추가됩니다. 을 탭하고 인수를 다음과 같이 구성합니다.
마찬가지로 update를 쓰기 서비스로 선택합니다. customerdetails 개체가 자동으로 인수로 추가됩니다. 인수는 다음과 같이 구성됩니다.
다음과 같이 id 인수를 추가하고 구성합니다.
데이터 모델 개체 속성을 저장하려면 완료를 누릅니다. 그런 다음 저장을 눌러 양식 데이터 모델을 저장합니다.
get 및 update 서비스가 데이터 모델 개체에 대한 기본 서비스로 추가됩니다.
서비스 탭으로 이동하여 get 및 update 서비스를 구성합니다.
get 서비스를 선택하고 속성 편집을 탭합니다. 속성 대화 상자가 열립니다.
속성 편집 대화 상자에서 다음을 지정합니다.
제목:서비스의 제목을 지정합니다. 예:배송 주소를 검색합니다.
설명:서비스의 세부 기능이 포함된 설명을 지정합니다. 예:
이 서비스는 MySQL 데이터베이스에서 배송 주소와 기타 고객 세부 정보를 검색합니다
출력 모델 개체:고객 데이터가 포함된 스키마를 선택합니다. 예:
사용자 정의 스키마
반환 배열:반환 반송 옵션을 비활성화합니다.
인수:이름이 ID인 인수를 선택합니다.
Done을 누릅니다. MySQL 데이터베이스에서 고객 세부 정보를 검색하는 서비스가 구성되었습니다.
업데이트 서비스를 선택하고 속성 편집을 탭합니다. 속성 대화 상자가 열립니다.
속성 편집 대화 상자에서 다음을 지정합니다.
제목:서비스의 제목을 지정합니다. 예를 들어 배송 주소를 업데이트합니다.
설명:서비스의 세부 기능이 포함된 설명을 지정합니다. 예:
이 서비스는 MySQL 데이터베이스의 배송 주소 및 관련 필드를 업데이트합니다
입력 모델 개체:고객 데이터가 포함된 스키마를 선택합니다. 예:
사용자 정의 스키마
출력 유형:부울 를 선택합니다.
인수:ID 및 customerdetails라는 인수를 선택하십시오.
Done을 누릅니다. MySQL 데이터베이스에서 고객 세부 사항을 업데이트하기 위한 update 서비스가 구성되었습니다.
양식 데이터 모델의 데이터 모델 개체 및 서비스가 구성됩니다. 이제 양식 데이터 모델을 테스트할 수 있습니다.
데이터 모델 개체 및 서비스를 테스트하여 양식 데이터 모델이 올바르게 구성되어 있는지 확인할 수 있습니다.
테스트를 실행하려면 다음을 수행하십시오.
모델 탭으로 이동하여 customerdetails 데이터 모델 개체를 선택하고 테스트 모델 개체를 탭합니다.
테스트 모델 / 서비스 창의 모델 선택 / 서비스 드롭다운에서 모델 개체 읽기를 선택합니다.
customerdetails 섹션에서 구성된 MySQL 데이터베이스에 있는 id 인수에 대한 값을 지정하고 테스트를 누릅니다.
지정된 ID와 연결된 고객 세부 정보를 가져와서 아래 표시된 대로 출력 섹션에 표시됩니다.
마찬가지로 Write 모델 개체 및 서비스를 테스트할 수 있습니다.
다음 예에서는 업데이트 서비스가 데이터베이스의 7102715 ID에 대한 주소 세부 사항을 성공적으로 업데이트합니다.
이제 ID 7107215에 대해 모델 읽기 서비스를 다시 테스트하는 경우 아래에 표시된 대로 업데이트된 고객 세부 사항을 가져와서 표시합니다.