PXF 파일: 플러그 앤 플레이 기술의 소프트웨어적 구현 – 데이터베이스 편집 활용 사례

몇 주 전에 저희는 휴대용 XML 형식(Portable XML Form, PXF)을 소개해 드렸습니다. PXF는 StyleVision 디자인을 지원하는 모든 요소, 즉 XML 스키마 및 인스턴스 문서, SPS 디자인 파일, XSLT, 이미지, 그리고 기타 외부 파일들을 하나의 파일에 포함하는 형식입니다. 최종 사용자는 Authentic 프로그램에서 PXF 파일을 열면 즉시 XML 데이터와 데이터베이스 데이터를 편집을 시작할 수 있습니다.

이번 글에서는 가상의 자선 단체인 "그린 플래닛 펀드"를 위해, 비즈니스 사용자들이 기부 내역을 기록하고 새로운 기부자를 등록할 수 있는 전자 양식을 만들어 보겠습니다. Altova의 새로운 PXF 파일 형식은 개발자와 최종 사용자 모두에게 큰 도움이 됩니다. PXF 파일은 다른 사무용 문서와 마찬가지로 전송, 다운로드, 복사 및 저장할 수 있어 효율성을 높이고 오류 없는 배포를 가능하게 합니다. 개발자는 더 이상 여러 파일을 보내거나 설치할 필요가 없으며, 서버 애플리케이션을 구축하여 디자인을 지원할 필요도 없습니다. 비즈니스 사용자는 중요한 비즈니스 정보를 빠르고 안정적으로 배포할 수 있습니다. 이는 특히 여러 지역에 분산된 조직에서 중요합니다. 이 경우 비즈니스 데이터가 이메일을 통해 서로 다른 위치 또는 현장 직원과 본사 직원 간에 공유되어야 합니다. StyleVision에서 디자인되고 Authentic에서 비즈니스 사용자가 편집한 전자 양식을 지원하는 PXF 파일은 비즈니스 데이터 편집을 매우 간편하게 만들어 줍니다. 대부분의 경우, 해당 비즈니스 데이터는 PXF 파일 내에 포함된 XML 문서 형태로 저장되지만, 다음과 같은 사용 사례에서 보여주는 것처럼 PXF 파일을 데이터베이스 서버에 연결하여 데이터를 데이터베이스에 직접 저장할 수도 있습니다.

이번 예제에서는 StyleVision을 사용하여 가상의 "그린 플래닛 기금"을 위한 전자 양식을 만들 것입니다. 이 양식을 통해 일반 사용자들이 기부 내역을 기록하고 새로운 기부자를 등록할 수 있습니다. 최종 사용자는 Authentic 환경에서 이러한 양식과 상호 작용합니다 WYSIWYG 편집기 (What You See Is What You Get 편집기), 세련된 워드 프로세서 스타일의 인터페이스를 통해 최종 사용자는 XML 및 데이터베이스 콘텐츠를 캡처, 확인 및 업데이트할 수 있습니다. 스타일비전에서 "파일" 메뉴의 "데이터베이스에서 새 파일 만들기" 옵션을 선택하면 연결 마법사가 실행됩니다. 데이터베이스 유형을 선택하기만 하면 소스 파일을 선택하라는 메시지가 표시됩니다.

여기서는 MARKETING006SQLEXPRESS 서버에서 DonorsDatabase를 식별했습니다. 연결 정보는 디자인 파일에 자동으로 저장되며, Authentic에서 비즈니스 사용자가 해당 양식에 접속할 때마다 다시 연결됩니다. 데이터베이스는 Authentic 양식에 비즈니스 사용자가 입력하는 정보로 업데이트됩니다.

연결이 설정되면, "데이터베이스 객체 삽입" 대화 상자에서 테이블, 데이터 뷰, 심지어 SQL SELECT 문까지 선택할 수 있습니다.

이 예제에서는 기부자 제목, 이름, 성을 연결하고 각 기부자가 기여한 총 금액을 계산하는 SQL SELECT 문(아래)을 추가했습니다. "SELECT 문 추가" 버튼을 클릭하면 위에서 볼 수 있듯이 해당 SQL SELECT 문이 StyleVision 디자인에 적용됩니다.

저희는 SQL 문을 작성하기 위해 Altova DatabaseSpy라는 다중 데이터베이스 쿼리, 설계 및 데이터베이스 비교 도구를 사용했습니다. DatabaseSpy의 SQL 편집기에서 데이터를 다양한 형식으로 내보낼 수 있지만, 이 예제에서는 DatabaseSpy에서 SELECT 문을 복사하여 StyleVision의 SQL SELECT 대화 상자 창에 붙여넣었습니다. StyleVision은 데이터베이스의 구조를 기반으로 임시 XML 스키마를 생성하고 스키마 창에 표시합니다. 참고로, "Contributions" 테이블과 "Donors" 테이블, 그리고 저희의 SQL SELECT 문이 모두 스키마 트리에 나타납니다.

StyleVision은 이 변환 과정에서 내부 XML 파일을 생성합니다. 이 파일 중 하나는 미리보기용이며 생성된 XML 데이터 파일의 원본으로 사용되며, 다른 하나는 데이터베이스에 변경 사항을 다시 기록할 수 있는 편집 가능한 XML 파일입니다. 이제 데이터베이스 연결 정보를 설정하고 저장했으므로, Green Planet Fund에서 새로운 기부자를 추가하고 기부 내역을 기록하는 데 사용할 전자 양식을 디자인할 준비가 되었습니다. 이 예제에서는 StyleVision에서 두 개의 간단한 테이블을 만들었습니다. 하나는 기부 내역을 기록하는 데 사용되고, 다른 하나는 기부자를 검색하고 추가하는 데 사용됩니다. (참고: 이 예제는 설명 목적으로만 제공되며, 실제 애플리케이션에 일반적으로 포함되는 필드 중 일부만 보여줍니다. 또한 기능 역시 실제 프로젝트에서 제공하는 것보다 훨씬 단순합니다.) 디자인 과정에서 다음과 같은 작업을 수행했습니다.

  • 새로운 기부자를 입력하는 테이블과 동적으로 채워지는 등록된 기부자 테이블을 포함하는 디자인 조각을 만들었습니다.
  • 체크박스를 추가하여, 이 체크박스를 선택하면 디자인 조각에서 등록된 기부자 테이블과 데이터 입력 테이블이 표시되도록 했습니다.
  • 등록된 기부자 테이블의 "Authentic" 속성을 편집하여 모든 레코드를 가져오도록 설정했습니다.
  • 데이터 입력 테이블의 "Authentic" 속성을 편집하여 단일 레코드만 가져오도록 설정하여 데이터 입력을 더 쉽게 만들었습니다.
  • XPath를 사용하여 등록된 기부자 테이블에서 각 기부자의 직책, 이름, 성을 연결했습니다. 이때 "normalize-space" 함수를 사용하여 모든 공백을 제거했습니다.
  • "Value Formatting" (아래 설명)을 사용하여 기부 날짜를 형식화했습니다. 이를 통해 최종 사용자가 "Authentic"의 캘린더 인터페이스를 통해 날짜를 편집할 수 있습니다.

참고로, 'DonorList' 디자인 요소는 DB 태그 안에 포함되어 있으며, 하나의 요소로 표현됩니다. 해당 디자인 요소 자체는 디자인의 가장 아래쪽에 위치합니다.

"디자인" 탭 옆의 탭을 클릭하면 보고서가 다양한 형식으로 표시됩니다. 여기서는 "정품" 형식을 보여드리고 있습니다.

참고로, 현재 디자인은 표준 SPS 형식(greenplanetdonorsII.sps)으로 되어 있습니다. 이제 이 디자인을 PXF 형식으로 저장하여 고객에게 이메일로 보내고, 수신 즉시 사용할 수 있도록 할 수 있습니다. 상단 메뉴에서 "파일" > "다른 이름으로 저장"을 선택하면, 디자인을 SPS 또는 PXF 형식으로 저장할지 선택할 수 있습니다.

PXF 파일로 저장할 때, PXF 파일에 포함할 파일을 선택하라는 메시지가 표시됩니다. 스타일비전 디자인을 지원하는 모든 파일은 자동으로 대화 상자에 표시됩니다.

여기서는 디자인 요소뿐만 아니라 XSLT 파일까지 모두 확인했습니다. 이를 통해 최종 사용자는 StyleVision으로 디자인된 양식에서 생성된 데이터를 Authentic를 통해 각 형식으로 직접 출력할 수 있습니다. 추가 파일을 포함하는 옵션도 있습니다. 이 디자인은 다른 파일이 필요하지 않지만, 이 기능은 여러 파일을 필요로 하는 프로젝트를 쉽게 이동하고 배포할 수 있도록 해줍니다. 이제 방금 생성한 PXF 파일을 고객에게 보낼 수 있습니다. 모든 프로젝트 파일과 데이터베이스 연결 정보가 PXF 파일에 포함되어 있으므로, 최종 사용자가 Authentic에서 파일을 열면 즉시 데이터를 확인, 편집, 입력할 수 있습니다. Authentic에서 새 레코드를 생성하려면, 양식의 "기여" 테이블에 있는 필드 중 하나에 커서를 놓고 도구 모음에 있는 "행 추가" 버튼을 클릭합니다. (또는 상단 메뉴에서 "Authentic - 행 추가"를 선택할 수도 있습니다.)

이제 비즈니스 사용자는 다음과 같이 정보를 입력할 수 있습니다 (새로운 데이터는 굵게 표시됨)

...그리고 새로운 기부자들을 환영합니다.

참고로, SQL Server 데이터베이스에서 "기부자 ID"는 자동으로 생성되는 필드입니다. 최종 사용자가 상단 메뉴에서 "파일" > "저장"을 클릭하면, 새로운 정보가 데이터베이스에 저장되고, 데이터베이스는 ID 번호를 생성합니다. 또한, 새로운 정보가 폼 내의 다른 테이블에도 반영됩니다. (위에서 언급했듯이, 데이터는 실시간으로 반영됩니다.) 수정 및 추가 사항은 즉시 데이터베이스에 저장됩니다. 아래의 SQL Server 데이터베이스 화면에서 볼 수 있듯이, 방금 "Authentic" 폼에 추가한 에드워드와 줄리 제이에게는 기부자 ID 18번이 할당되었습니다.

여기서는 언급하지 않았지만, 사용자가 최소한 이름과 성을 입력하지 않고 새로운 기부자 정보를 저장하려고 할 때 오류 메시지를 표시하도록 폼을 설계할 수 있습니다. 이는 Authentic 속성의 추가 유효성 검사 속성에서 XPath를 사용하거나, SQL Server 데이터베이스에 제약 조건을 설정하여 구현할 수 있습니다. 이 예제는 인터랙티브 폼을 얼마나 쉽게 만들고 배포할 수 있는지를 보여주기 위해 설계되었습니다. StyleVision으로 설계된 전자 폼은 항상 XML 및 데이터베이스 콘텐츠를 업데이트하는 효과적인 방법이었으며, PXF 파일은 이러한 폼을 배포하고 관리하는 과정을 더욱 간편하게 만들어줍니다.