시작하기 전에
본 튜토리얼은 IBM DB2 데이터베이스를 사용하는 데이터베이스 지향 애플리케이션을 개발하려고 하는 개발자를 위해 작성되었다. 본 튜토리얼에 있는 내용을 수행하려면 HTML, CSS 및 PHP 코드에 기본적으로 익숙해야 한다. 또한, 데이터베이스 관리 시스템 및 SQL 언어를 사용해 본 경험이 다소 있어야 한다.
IBM DB2에서 사용 가능한 가장 유용하고 다양한 기술 중 하나는 pureXML 기능을 통해 XML 데이터를 기본적으로 지원한다는 점이라고 할 수 있다. PureXML을 이용하면 관계형 데이터와 동일한 방식으로 XML 데이터를 저장하고 검색, 처리할 수 있다. 따라서 개발자는 이 기능을 사용하여 관계형 데이터베이스와 XML 데이터의 장점을 활용하는 애플리케이션을 개발할 수 있다. 이러한 애플리케이션은 먼저 관계형 구조로 변환하지 않아도 활용할 수 있는 대량의 XML 데이터가 있는 경우에 특히 유용하다.
본 튜토리얼에서는 기존의 DB2 관계형 컬럼과 pureXML 컬럼을 사용하여 데이터를 저장하는 지식 기반 지원 시스템을 PHP를 사용하여 작성하는 방법을 단계별 지시사항을 통해 살펴본다. 이 애플리케이션에서는 SQL/XML의 기능을 사용하여 관계형 컬럼으로서 XML 데이터를 맵핑한다. 이렇게 하면 관계형 방식으로 저장했을 때와 마찬가지로 PHP를 사용하여 데이터를 검색할 수 있다.
본 튜토리얼에 있는 지시사항에서는 Windows® XP를 실행 중인 로컬 개발 서버에 DB2 Express-C, Apache HTTP Server 및 PHP를 설치한 상태에서 애플리케이션을 작성한다고 가정하였다. 이 지시사항은 다른 시스템과 구성에도 적용할 수 있지만 검증되지는 않았다.
애플리케이션의 디렉토리 구조는 상대적으로 단순하다. Apache 설치판의 htdocs 디렉토리에 있는 kbase 서브디렉토리에 애플리케이션을 저장한다. 일반적으로 Windows 시스템에서는 이 디렉토리가 C:\Program Files\Apache Software Foundation\Apache 2.2\htdocs에 있다. kbase 디렉토리 아래에는 다음과 같은 4개의 서브디렉토리가 있다.
- classes — 데이터베이스에서 데이터를 가져와서 애플리케이션으로 보내는 데 사용하는 PHP 클래스가 있다.
- css — 웹 애플리케이션 사용자 인터페이스의 룩앤필을 정의하는 CSS 스타일시트가 있다.
- includes — 애플리케이션의 머리글, 탐색 사이드바 및 바닥글에 대한 코드가 있는 파일이 포함되어 있다. PHP 스크립트에서는 각 페이지의 시작과 끝에 이러한 파일이 있어서 각 페이지의 소스 파일에 동일한 코드를 복사하지 않아도 된다.
- sql — DB2 데이터베이스와 테이블을 작성하는 데이터베이스 SQL 스크립트가 있다. 본 튜토리얼의 다음 섹션에서는 이 스크립트를 사용한다.
애플리케이션에는 다음과 같이 분류된 일련의 웹 페이지가 있다.
- 관리 뷰 — 범주, 기사 및 설명을 작성하고 관리하는 페이지가 있다.
- 클라이언트(일반 사용자) 뷰 — 기사의 세부사항과 범주를 보는 페이지 및 애플리케이션 홈 페이지, 결과 페이지가 있다.
본 튜토리얼에 있는 단계를 수행하려면 다음과 같은 소프트웨어를 설치해야 한다.
위에 있는 소프트웨어를 설치하고 구성하는 데 필요한 자세한 사항은 developerWorks 기사 시리즈인 "Leveraging pureXML in a Flex microblogging application"에서 확인할 수 있다(링크는 참고자료 참조). 이 시리즈의 Part 1에는 DB2 Express-C를 설치하는 방법이 설명되어 있다. Part 3에는 Apache HTTP Server 및 PHP의 설치와 관련된 자세한 지시사항이 있다.