 | 난이도 : 중급 Nicholas Chase, Freelance writer, Backstop Media Tracy Peterson, Writer, Freelance
2007 년 4 월 24 일 검색할 때, 온라인 쇼핑을 할 때, 또는 지도 서비스를 사용할 때 사용하는 많은 대용량 애플리케이션들은 완전히 새로운 애플리케이션에서 여러분이 쓰기 위한 데이터를 제공합니다. 엔터프라이징 애플리케이션 개발자들은 몇 가지 애플리케이션의 데이터 세트를 결합해 특정 목적을 이루기 위한 매시업 애플리케이션을 개발해왔습니다. 이 연재의 Part 1에서는 다양한 서비스로부터 데이터를 가져와 결합시키는 애플리케이션에 대해 설명하였습니다. 이제 우리는 DB2 9 데이터베이스에 어떻게 호출 결과를 저장하는지, 그리고 외부 서비스를 가볍게 하여 성능을 효과적으로 향상시킬 수 있는 방법은 무엇인지에 대해 논의할 것입니다.
시작하기에 앞서
본 튜토리얼은 XML 관점에서 어떻게 웹 서비스를 사용하고 결합하는지, 그리고 그것을 웹으로 어떻게 출력하는지 배우고 싶어하는 개발자들을 위해 쓰여졌다. 그리고 독자들이 자바™, XML, SQL, 웹 개발, 웹 서비스의 기본 개념에 익숙하다고 가정하고 쓰여졌다. JDBC에 대해 잘 알고 있다면 더욱 유리할 것이다. 이러한 주제에 대해 다시 한 번 살펴보고 싶다면, 참고자료를 확인하여 더 많은 정보를 찾아보기 바란다.
본 연재에 대해
요즘에는 웹 서비스 기반 API를 통해 데이터에 접근할 수 있게 하거나 웹 서비스 기반 API를 통해 또 다른 사이트에서 얻은 데이터를 사용할 수 있게 웹 사이트를 운영한다. 자신의 애플리케이션에서 기존 정보를 사용한다는 장점에 대해 생각해 보면 그것은 그다지 놀랄 일도 아니다. 서로 다른 시스템에서 데이터를 가져와 완전히 새로운 것을 만드는 것은 단지 시간 문제였을 뿐이다. 매시업이라 불리는 이런 애플리케이션들은 커뮤니티 기반 사이트부터 전문 검색 엔진, 지도 매시업까지 웹 세계의 최신 유행이다.
매시업은 대체로 모두 유용하지만, 모두 서비스의 특정한 세트를 위해 개발되었다. 이 서비스 중 하나가 변경되거나 특별한 유형의 특정 서비스에 대한 선호가 바뀌면 그 변경작업을 위해 많은 시간을 할애해야 한다.
본 튜토리얼을 연재하는 목적은 아주 똑똑한 매시업 애플리케이션을 개발하여 사용자들이 원하는 그대로 서비스를 추가하거나 삭제할 수 있도록 하고, 시스템은 이러한 변경에 어떻게 대처해야 하는지 알게끔 하는 것이다. 본 연재는 다음과 같이 진행된다.
Part 1에서 Nicholas Chase는 매시업의 개념을 소개하고, 간단한 버전의 매시업을 만들고, 이것이 어떻게 작동하는지를 보여주었다(참고자료 참조). 여러분은 또한 잠재적인 수십 가지 웹 호출을 만들게 되면 성능에 심각한 문제가 나타남을 볼 수 있었다.
Part 2인 본 튜토리얼에서는, XML 캐시를 빌드하는 IBM® DB2®의 새로운 pureXML™ 기능을 이용하여 Part 1에서 발견한 문제를 해결하는 방법을 다룬다. 이 XML 캐시를 통해 이전에 요청한 결과를 저장하고, 특정 정보를 찾아올 수 있다.
마지막으로, 온톨로지 또는 개념과 개념 간의 관계를 정의하는 vocabulary를 사용할 것이다. Part 3에서는 RDF에 대해, Part 4에서는 웹 온톨로지 언어(OWL)의 두 가지 핵심 요소에 대해 배울 것이다. Part 5에서는 사용자가 Part 4에서 생성한 온톨로지로 어떻게 정보 소스를 변경하는지 배울 수 있게 된다.
Part 6에서는 재미가 배가 된다. 제대로 작동하는 애플리케이션과 프레임워크를 가짐으로써, 시스템이 시맨틱 논리를 사용하여 서비스를 어떻게 작동시키는지 이해할 수 있게 된다. 이를 통해, 사용자가 새 서비스를 온톨로지로 매핑하고, 맞춤 매시업에 쓸 데이터를 고를 수 있을 것이다.
본 튜토리얼에 대해
본 튜토리얼은 여섯 파트 중 두 번째 파트로 XML 관점에서 어떻게 웹 서비스를 사용하고 결합하는지, 그리고 이 데이터를 어떻게 웹으로 출력하는지를 다룬다. Part 1에서는 REST 서비스를 이용한 서비스를 통해 XML을 수집하는 방법을 배웠지만, 여기의 개념들은 SOAP 서비스(참고자료 참조)와 같다. 여러분은 Part 1에서 수집된 XML 데이터를 데이터베이스에 저장하여 질의 결과의 캐시를 생성하는 방법을 배울 것이다. 이에 덧붙여, 여러분의 자바 애플리케이션에서 사용하기 위해 데이터를 찾아오는 방법도 배울 것이다.
본 튜토리얼을 통하여, 데이터베이스 서버를 어떻게 셋업할 수 있는지, 수집한 데이터를 받기 위해 어떤 준비를 해야 하는지 배울 것이고, 또한 XML 칼럼에서 XML 데이터를 구체적으로 어떻게 다룰 것인지에 필요한 질의를 작성하는 방법을 배울 것이다.
여러분은 다음과 같은 것을 배울 것이다.
- DB2 엔터프라이즈 에디션 셋업하기
- XML을 다루기 위해 설정한 새로운 DB2 9 데이터베이스 만들기
- XML 칼럼 타입을 사용하여 데이터베이스 테이블 만들기
- XPath를 사용하여 관계형 데이터베이스 안에 XML의 형태로 저장된 정보 선택하기
- XQuery XML 질의 작성하기
- 하이브리드 SQL과 XQuery 질의 작성하기
본 튜토리얼에서는 자바를 사용하지만, 개념 자체는 어느 프로그래밍 언어나 운영체제에서도 동일하다.
필요한 사전지식
본 튜토리얼에서 소개한 코드를 작성하려면, 다음의 소프트웨어가 설치, 테스트되어야 한다.
-
IBM® DB2® 9 (구 'Viper'): 이 관계형 데이터베이스는 또한 본 튜토리얼에서 필요로 하는 주요 XML 기능을 포함한다. DB2 9는 시험판으로 다운로드할 수 있다. 다운로드할 수 있는 시험판으로는 DB2 Enterprise 9 또는 DB2 Express 9 데이터 서버의 무료 버전인 DB2 Express-C 9이 있다.
-
아파치 톰캣 또는 다른 서블릿 엔진: 본 튜토리얼은 기본적으로 독자들이 서블릿을 이용하여 웹 애플리케이션을 개발한다고 가정하므로 아파치 톰캣과 같은 서블릿 엔진이 필요하다. 다른 환경에서 애플리케이션을 개발하기로 마음 먹었다면, 해당 소프트웨어만 있으면 된다. apache-tomcat-5.5.17.zip 파일을 다운로드하고 디렉터리 이름에 빈 칸이 없게 디렉터리를 만들고 그 디렉터리에 설치한다.
- 자바: 본 튜토리얼에서 사용할 아파치 톰캣 5.5는 자바 1.5나 그 이상의 버전을 요구한다. J2SE SDK를 다운로드한다.
- 더 쉽게 개발하려면, 개발에 필요한 이클립스나 IBM Rational™ Web Developer와 같은 IDE를 사용해도 된다. Eclipse.org에서 이클립스를 다운로드하거나, Rational Web Developer의 시험판을 다운로드 하거나, 자신이 좋아하는 개발 환경을 사용해도 된다. 컴파일과 배치가 관련되어 있지 않는 한 별 문제 없다.
 | 12 페이지 중 1 페이지 |  |
|  |