IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  XML | Information Management | 자바 | 오픈 소스 | 웹 개발 | SOA와 웹서비스  >

최고의 매시업 -- 웹 서비스와 시맨틱 웹, Part 1: 웹 서비스 사용과 결합

매시업 개념 연구와 간단한 매시업 만들기

developerWorks
12 페이지 중 1 페이지Go to the next page

문서 옵션

샘플 코드


제안 및 의견
피드백

튜토리얼 평가

이 컨텐츠를 개선하기 위한 도움을 주십시오.


난이도 : 중급

Nicholas Chase, Freelance writer, Backstop Media

2007 년 4 월 17 일

웹 서비스가 인기를 끌수록, 엔터프라이징 웹과 애플리케이션 개발자들은 자신들의 데이터를 이용하여 새롭고 혁신적인 애플리케이션을 개발합니다. 단일 서비스 애플리케이션 외에도 개발자들은 매시업을 만들고 있습니다. 매시업이란이란 여러 개의 서비스로에서 가져온 데이터를 결합하여 새로운 것을 만들어내는 애플리케이션을 말합니다. 본 연재를 통하여, 각기 다른 매시업들에서 추출한 데이터를 저장하는 것에 그치지 않고, 시맨틱 기술을 이용하여 서비스를 교환하거나 데이터를 선택하는 방식으로 자신만의 매시업을 만들어낼 수 있는 '궁극' 의 매시업 개발에 대해 소개하고자 합니다. 여기서는 Java™ 프로그래밍, 서블릿과 JSP, 오픈 소스 제나(Jena) 프로젝트의 소프트웨어와 DB2의 새로운 네이티브 XML 기술을 사용합니다. Part 1에서 Nicholas Chase는 매시업 개념을 소개하고 간단한 버전의 매시업을 어떻게 개발하고 활용하는지 보여줄 것입니다.

시작하기에 앞서

본 튜토리얼은 XML의 관점에서 웹 서비스를 통합하고 사용하는 방법과 그 데이터를 웹으로 출력해내는 방법에 대해 더 배우고자 하는 개발자들을 위한 것이다. 본 튜토리얼에서 다루는 모든 서비스는 REST 서비스지만, 개념은 SOAP 서비스와 같다. 본 튜토리얼은 독자들이 자바 프로그래밍, XML, 웹 개발, 웹 서비스에 대한 기본적 개념에 익숙하다고 가정한다. 은 독자들이 자바 프로그래밍, XML, 웹 개발, 웹 서비스에 대한 기본적 개념을 갖춘 이들을 대상으로 쓰여졌에 익숙하다고 가정한다. 만약 이러한 개념들을 한 번 더 확인하거나 더 많은 정보를 얻고 싶다면 참고자료를 참조하기 바란다.

이 연재에 대해

요즘에는 웹 서비스 기반 API를 통해 데이터에 접근할 수 있게 하거나 웹 서비스 기반 API를 통해 또 다른 사이트에서 얻은 데이터를 사용할 수 있게 웹 사이트를 운영한다. 자신의 애플리케이션에서 기존 정보를 사용한다는 장점에 대해 생각해 보면 그것은 그다지 놀랄 일도 아니다. 서로 다른 시스템에서 데이터를 가져와 완전히 새로운 것을 만드는 것은 단지 시간 문제였을 뿐이다. 매시업이라 불리는 이런 애플리케이션들은 커뮤니티 기반 사이트부터 전문 검색 엔진, 지도 매시업까지 웹 세계의 최신 유행이다.

매시업은 대체로 모두 유용하지만, 모두 서비스의 특정한 세트를 위해 개발되었다. 이 서비스 중 하나가 변경되거나 특별한 유형의 특정 서비스에 대한 선호가 바뀌면 그 변경작업을 위해 많은 시간을 할애해야 한다.

본 튜토리얼 연재의 목적은 아주 똑똑한 매시업 애플리케이션을 개발하여 사용자들이 원하는 그대로 서비스를 추가하거나 삭제할 수 있도록 하고, 시스템은 이러한 변경에 어떻게 대처해야 하는지 알게끔 하는 것이다. 본 연재는 다음과 같이 진행된다.

Part 1에서는, 매시업의 개념을 소개하고, 간단한 버전의 매시업을 만들고, 이것이 어떻게 작동하는지를 보여줄 것이다. 또한, 잠재적인 수십 가지 웹 호출을 만들게 되면 성능에 심각한 문제가 나타남을 보여줄 것이다.

Part 2에서는 XML 캐시를 빌드하는 DB2의 새로운 pureXML 기능을 이용하여 Part 1에서 발견한 문제를 해결하는 방법을 다룰 것이다. 이 XML 캐시를 통해 이전에 요청한 결과를 저장하고, 특정 정보를 찾아올 수 있다.

마지막으로, 온톨로지(ontologies) 또는 개념과 개념 간의 관계를 정의하는 vocabulary를 사용할 것이다. Part 3에서는 RDF에 대해 배우고 Part 4에서는 웹 온톨로지 언어(OWL)의 두 가지 핵심 요소에 대해 다룬다. Part 5에서는 Part 4에서 생성한 온톨로지로 어떻게 정보 소스를 변경하는지 배울 수 있게 된다.

Part 6에서는 재미가 배가 된다. 제대로 작동하는 애플리케이션과 프레임워크를 가짐으로써, 시스템이 시맨틱 논리를 사용하여 서비스를 어떻게 작동시키는지 이해할 수 있게 된다. 이를 통해, 사용자가 새 서비스를 온톨로지로 매핑하고, 커스텀 매시업에 쓸 데이터를 고를 수 있을 것이다.




위로


본 튜토리얼에 대해

본 튜토리얼을 통해, 일반적인 관점에서 웹 서비스 정보를 검색/표시하는 애플리케이션을 만드는 법을 배울 것이다. 즉, 새로운 서비스를 추가하는 것은 프로그래밍의 영역이라기보다는 구성의 영역이라는 말이다.

본 튜토리얼을 통해 독자들은 다음 내용을 익힐 것이다.

  • REST 웹 서비스로부터 데이터 요청하기

  • 출력또는 표시를 위해 더 쉽게 XML 데이터 직렬화하기

  • XML 템플릿을 만든 후, 이것을 미리 결정된 요소와 속성을 동적인 데이터로 바꾸기

  • 여러 문서의 XML 노드를 더해 하나의 문서로 출력하기

  • 다양한 웹 서비스를 표시하는 시스템 만들기

  • 한 웹 서비스에서 두 번째 웹 서비스의 출력을 기반으로 하는 정보를 제공하는 시스템 만들기

본 튜토리얼에서는 자바를 사용하지만, 개념 자체는 어느 프로그래밍 언어나 운영체제에서도 동일하다.




위로


필요한 사전 지식

본 튜토리얼에서 소개한 코드를 작성하려면 다음과 같은 소프트웨어가 설치, 테스트되었어야 한다.

  • 아파치 톰캣(Apache Tomcat) 또는 다른 서블릿 엔진: 본 튜토리얼은 독자들이 서블릿을 이용하여 웹 애플리케이션을 개발할 수 있다고 가정하므로 아파치 톰캣과 같은 서블릿 엔진이 필요하다. 다른 환경에서 애플리케이션을 개발하기로 마음 먹었다면, 해당 소프트웨어를 가지고 있다는 것만 확실히 하면 된다. apache-tomcat-5.5.17.zip 파일을 다운로드하고 디렉터리 이름에 빈 칸이 없게 디렉터리를 만들고 그 디렉터리에 설치한다.
  • 자바: 본 튜토리얼이 사용하는 아파치 톰캣 5.5는 자바 1.5나 그 이상의 버전을 요구한다. J2SE SDK를 다운로드한다.
  • 더 쉽게 개발을 하려면 개발에 필요한 이클립스나 IBM® Rational™ Web Developer와 같은 IDE를 사용해도 된다. 이클립스(eclipse.org)와 Rational Web Developer 시험판을 다운로드하거나 자신이 좋아하는 개발 환경을 사용해도 된다. 컴파일과 배치가 관련되어 있지 않는 한 별 문제 없다.

본 시리즈의 Part 2, 4, 5, 6에서는 또한 다음과 같은 사양을 요구한다.




위로



12 페이지 중 1 페이지Go to the next page
    IBM 소개 개인정보 보호정책 문의