난이도 : 중급 Michel Mitri (mitrimx@jmu.edu), Associate Professor, James Madison University Nicholas Chase (ibmquestions@nicholaschase.com), Freelance writer, Backstop Media
2007 년 6 월 12 일 본 연재는 사용자가 볼 수 있는 데이터를 제어할 수 있는 매시업 애플리케이션을 만드는 방법에 대해 자세히 다룹니다. 이제 서비스로 나타나는 개념을 정의하는 온톨로지를 만들 수 있게 되었으니 사용자들이 원하는 서비스를 선택할 수 있게 할 수 있습니다.
이 튜토리얼 내에서
본 튜토리얼을 연재하는 목적은 아주 똑똑한 매시업 애플리케이션을 개발하여 사용자들이 원하는 대로 서비스를 추가하거나 삭제할 수 있도록 하고, 시스템은 이러한 변경에 어떻게 대처해야 하는지 알게끔 하는 것이다. 본 연재는 다음과 같이 진행된다.
Part 1에서는 매시업의 개념을 소개하고 간단한 버전의 매시업을 만들어 이것이 어떻게 작동하는지를 보여주었다. 또한 잠재적인 수십 가지 웹 호출을 만들면 성능에 심각한 문제가 나타남을 볼 수 있었다.
Part 2에서는 XML 캐시를 빌드하는 IBM® DB2®의 새로운 pureXML™ 기능을 이용하여 Part 1에서 발견한 문제를 해결했다. 이 XML 캐시를 통해 이전에 요청한 결과를 저장하고, 특정 정보를 찾아올 수 있었다. 결국, 온톨로지 또는 개념과 개념 간의 관계를 정의하는 vocabulary를 사용해야 하므로 Part 3에서는 RDF와 RDFs에 대해 다루었고, Part 4에서는 OWL의 두 가지 핵심 요소에 대해 다뤘다. Part 5에서는 사용자가 Part 4에서 생성한 온톨로지로 정보 소스를 어떻게 변경하는지 배울 것이다. Part 6는 더 재미있다. 제대로 작동하는 애플리케이션과 프레임워크를 가짐으로써, 시스템이 시맨틱 추론을 통해 어떻게 서비스를 작동시키는지 이해할 수 있게 된다. 그러므로 사용자가 새 서비스를 온톨로지로 매핑하고 맞춤 매시업에 쓸 데이터를 고를 수 있을 것이다. 본 튜토리얼에서는 OWL 파일의 개별 서비스에 대한 정보를 인코드할 것이다. 그리고 난 후 제나 API를 사용하여 그 정보를 추출하고 이를 REST 요청을 만드는 데 사용할 것이다. 마지막으로 REST 응답을 일반적인 폼으로 변환하고 예전처럼 HTML 페이지에 표시할 것이다.
목표 - 온톨로지 로드와 조작
- 온톨로지에서 프로그래밍을 이용해 개체 추출하기
- 온톨로지나 다른 RDF 문서에 접근하여 특성과 값 갖기
- 임의의 REST 결과를 일반 온톨로지 개체로 변환하기
- HTML에 온톨로지 정보 표시하기
선수조건
본 튜토리얼은 API(그 중에서도 특히 제나 API(Jena API))를 이용한 온톨로지를 활용법을 배우고자 하는 개발자들과 실생활의 애플리케이션에 온톨로지와 다른 시맨틱 개념을 어떻게 적용하여 사용할 수 있는지 알고자 하는 개발자들을 위해 쓰여졌다. 애플리케이션에서 사용자들이 원하는 서비스를 선택할 수 있도록 하기 위해 Part 3과 4에서 만든 온톨로지를 사용하고 이를 Part 1에서 만든 매시업과 통합할 것이다.
본 튜토리얼은 독자들이 XML, RDF, 온톨로지, OWL 개념에 익숙하다고 가정한다. 자바 프로그래밍 언어도 사용을 하긴 하지만, 개념적인 부분만 보고자 한다면 그리 중요한 부분은 아니다. 자바를 제외한 다른 개념에 대해 다시 보고 싶으면 연재의 이전 회들을 보라. 참고자료의 링크를 통해(자바와 관련 좋은 자료들도 있다) 찾아볼 수 있다.
시스템 필요조건
브라우저에서 자바스크립트를 쓸 수 있어야 한다. 본 튜토리얼에서 소개한 코드를 작성하려면 다음 소프트웨어가 설치, 테스트되어야 한다.
-
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를 다운로드한다.
- 제나 API: 제나 API는 RDF와 OWL 데이터를 다룰 때 사용하기 위해 설계된 자바 API다. http://jena.sourceforge.net/에서 다운로드할 수 있다
- 더 쉽게 개발하려면, 개발에 필요한 이클립스나 IBM Rational Web Developer와 같은 IDE를 사용해도 된다. Eclipse.org에서 이클립스를 다운로드할 수 있다. 아니면 Rational Web Developer의 시험판을 다운로드하거나, 자신이 좋아하는 개발 환경을 사용해도 된다. 엄청난 컴파일이나 배치를 하진 않을 것이다.
기간
2시간
포맷 html
 |
| 이 문서 북마킹 하기
|
developerWorks 콘텐트를 다른 사이트에 전재하기: developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오. |