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

한국 developerWorks  >  Information Management | SOA와 웹서비스 | XML | 자바  >

데이터 웹 서비스를 사용하는 pureXML을 위한 유니버설 서비스

웹 서비스 연산을 통해 pureXML 행에 쉽게 접근하는 방법

developerWorks
문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

토론

샘플 코드

영어원문

영어원문


제안 및 의견
피드백

난이도 : 중급

Susan Malaika, Senior Technical Staff Member, IBM Japan
Christian Pichler, Data Server Solutions (Co-op), IBM

2008 년 7 월 15 일

유니버설 서비스(Universal Services)는 삽입, 업데이트, 삭제, 질의를 포함하는 데이터베이스의 연산 세트이며 웹 서비스 연산으로 노출됩니다. 이 서비스들을 이용하면 DB2® 데이터베이스에 pureXML™ 행을 가진 사람이 데이터베이스 웹 서비스 연산(예: 프로토타이핑)을 빠르게 설정할 수 있습니다. 그런 다음 사용자는 폼이나 SOA 애플리케이션 같이 다양한 애플리케이션에서 이후 개발의 기본이 될 수 있는 REST나 SOAP을 통해 pureXML 행에 저장된 XML 데이터를 질의, 수정할 수 있습니다. 이 글에서는 유니버설 서비스를 구성, 테스트, 수정하는 방법을 소개합니다. 더 자세한 정보는 유니버설 서비스에 포함된 readme 파일의 단계별 안내를 읽어보기 바랍니다.

소개

유니버설 서비스는 DB2 데이터베이스의 pureXML 행에 저장된 XML 데이터베이스를 질의, 수정할 수 있는 데이터베이스 연산으로 간단하지만 고정된 세트다. 데이터 삽입, 업데이트, 삭제, 질의를 포함하는 이 데이테베이스 연산들은 데이터 웹 서비스 메커니즘을 통해 웹 서비스로 노출된다.

데이터 웹 서비스는 코딩 없이도 삽입이나 업데이트 같은 데이터베이스 연산을 웹 서비스로 노출되게 한다. 저장된 프로시저나 사용자가 정의한 함수 또한 마찬가지다. 데이터 웹 서비스 개발은 이미 developerWorks의 다른 글이나 튜토리얼에서 다룬 바 있다. 관련 튜토리얼과 글은 참고자료 절에서 찾아볼 수 있다.

그림 1은 유니버설 서비스 구조의 개요다.


그림 1. 유니버설 서비스 구조의 개요
유니버설 서비스 구조의 개요

유니버설 서비스의 목표는 DB2 데이터베이스의 어떤 pureXML 행이든 간단한 구성과 전개 단계를 통해 가능한 웹 서비스 연산으로 질의, 수정이 되게끔 하는 것이다. 이 단계들은 다음 절에서 설명하겠다. 더 자세한 정보는 다운로드한 유니버설 서비스 패키지의 readme 파일을 참조한다.

이 글은 샘플 데이터베이스에서의 유니버설 서비스 구성과 전개, 수정을 다루는데 다음과 같이 세 부분으로 나뉜다.

  • 샘플 데이터베이스 설정: 유니버설 서비스 구성을 설명하는 데 사용할 샘플 데이터베이스의 설정 방법을 설명한다.
  • 유니버설 서비스 설치: 유니버설 서비스의 구성과 전개를 설명한다.
  • 유니버설 서비스 수정: 필요에 따라 환경에 맞게 유니버설 서비스를 변경하는 방법을 설명한다.

각 단계 별로 필요한 다운로드 정보에 관해서는 관련 절에 설명되어 있다.

필요한 사전지식

DB2 Express-C 무료 다운로드
다운로드 페이지에 가서 완전한 기능을 갖춘 관계형 XML 데이터 서버를 공짜로 받아 사용하라.

유니버설 서비스를 설치, 실행하려면 시스템에 DB2 9.x, JRE(Java Runtime Environment) 1.5.0, 웹 서버(WebSphere Application Server 6.x나 아파치 톰캣 6.x 같은)가 설치되어 있어야 한다. 자바 런타임은 DB2 설치에 들어있음에 주의하자.

또한 Industry Formats and Services 온라인 데모로 IRS e-File 1120 패키지와 유니버설 서비스 패키지 자체를 다운로드해야 한다. 참고자료의 다운로드 절에 관련 링크가 있다. 이 글을 따라 실행해 보려면 다운로드가 꼭 필요하다.




위로


샘플 데이터베이스 설정하기

유니버설 서비스는 DB2 데이터베이스의 어느 pureXML 행에서나 설정할 수 있다. 이 서비스들의 구성과 설치를 보여주기 위해 우선 사용할 샘플 데이터베이스를 설정하는 방법을 설명하겠다. 여기서 만드는 샘플 데이터베이스는 무료로 다운로드가 가능한 DB2 pureXML 온라인 데모의 일부분으로 Industry Formats and Services with pureXML이라 부른다.

각각의 다운로드는 금융업계나 의류업계 등 특정 업계에 맞게 디자인된 데이터베이스를 사용자가 쉽게 설정할 수 있도록 스크립트 세트를 포함하고 있다. 여기서 사용된 스크립트는 샘플 데이터베이스와 pureXML 행을 포함하는 테이블을 만들고, 데이터베이스에 샘플 데이터를 로드한다. 다운로드에는 XML 스키마 등록, 등록된 XML 스키마에 대한 XML 인스턴스 문서의 유효성 검사, XQuery나 SQL/XML을 이용한 XML 데이터 질의(이 글에서는 참조하지 않더라도 흥미로울 수 있는) 등 더 많은 스크립트가 포함되어 있다. 특정 업계와 관련된 다운로드에 대한 더 많은 정보는 참고자료를 참조하기 바란다.

샘플 데이터베이스 만들기

이 글은 다운로드한 IRS Tax Form 1120의 전자 버전인 IRS e-File 1120을 기반으로 한다. IRS e-File 1120 패키지를 로컬의 임시 디렉터리에 다운로드하여 압축을 풀자. 이 데이터베이스 스크립트를 위한 임시 디렉터리는 c:\temp\irs1120이다.


그림 2. 로컬의 임시 디렉터리에 다운로드하여 압축을 푼 IRS e-File 1120의 내용
IRS e-File 1120의 내용 다운로드

시스템에 샘플 데이터베이스를 설정하는 스크립트는 "start.bat"(리눅스 사용자의 경우 "start.sh")이다. 이 스크립트를 실행하려면 DB2 명령행 프로세서를 열고 디렉터리를 다운로드 파일이 있는 현재 실행 중인 디렉터리로 바꾼다. 이 디렉터리는 또한 지금 실행할 start.bat 파일도 가지고 있으므로 스크립트를 바로 실행한다.

스크립트가 끝나면 데이터베이스가 설정됐다는 메시지를 볼 수 있어야 한다. 다른 메시지가 뜬다면 다운로드한 IRS e-File 1120에 포함된 readme 파일을 보고 해결하자. 설정이 끝나면 pureXML 행에 로드된 pureXML 행과 샘플 데이터가 있는 DB2 샘플 데이터베이스가 시스템에 설정돼야 한다. 더 정확히 말하면 pureXML 행을 포함하는 데이터베이스 테이블은 다음과 같은 구조다.


표 1. 샘플 테이블 IRS1120 개요
행 이름행 유형내용
IDINTEGER테이블에 삽입된 각 레코드의 특별한 ID를 나타낸다.
COMMENTVARCHAR(1000)테이블의 각 레코드에 코멘트를 저장하는 데 사용한다.
DOCUMENTXML테이블의 세 번째 행은 type XML 행으로 XML 데이터를 저장하는 데 사용한다. 이것들은 특히 모두 IRS e-File 1120 XML 문서다.

샘플 데이터베이스를 기반으로 이제 특정 pureXML 행의 유니버설 서비스를 구성, 설치하는 방법을 보여줄 수 있게 됐다.

유니버설 서비스 설치하기

유니버설 서비스 패키지를 로컬의 임시 디렉터리에 다운로드해 압축을 풀었다. 이 글에서 사용하는 유니버설 서비스를 위한 로컬의 임시 디렉터리는 c:\temp\UniversalServices다.


그림 3. 로컬의 임시 디렉터리에 다운로드해 압축을 푼 유니버설 서비스의 내용
다운로드해 압축을 푼 유니버설 서비스의 내용

시스템에 필요한 파일과 스크립트를 갖추면 기본적으로 세 단계로 이루어진 유니버설 서비스 설치를 진행할 수 있다. 세 단계를 통해 다음 방법을 보여준다.

  • 유니버설 서비스를 구성해 로컬 시스템 설정에 맞추기.
  • 애플리케이션 서버에 유니버설 서비스 전개하기.
  • 빌트인 테스트 페이지를 사용해 유니버설 서비스 테스트하기.

유니버설 서비스 구성하기

유니버설 서비스는 다운로드한 "configure.bat"(리눅스 사용자의 경우 "configure.sh") 스크립트로 구성할 수 있다. 하지만 스크립트를 실행하기 전에 표 2에서 나열한 것처럼 로컬 시스템 설정에 맞춰야 한다.


표 2. 구성 스크립트에서 사용되는 매개변수의 개요
매개변수 이름내용값(샘플 데이터베이스 기준)
DB2INSTALLDIRDB2 설치 디렉터리 경로C:\Program Files\IBM\SQLLIB
DBSCHEMAXML 행을 포함하는 테이블이 속한 데이터베이스 스키마 이름IRS1120ADMIN
DBNAME유니버설 서비스가 사용되는 데이터베이스 이름IRS1120
DBTABLEXML 행을 포함하는 테이블 이름IRS1120
DBPRIMARYDBTABLE에 지정된 테이블의 주 행 이름. 이 행은 INTERGER나 VARCHAR 유형 중 하나다.ID
DBCOMMENTDBTABLE에 지정된 테이블의 코멘트 행 이름COMMENT
DBXMLDBTABLE에 지정된 테이블의 XML 행 이름. XML 데이터를 가지고 있는 행이다. DOCUMENT

표 2의 세 가지 매개변수인 DBPRIMARY, DBCOMMENT, DBXML은 표 1의 매개변수와 같음에 주의하자.

유니버설 서비스 구성 파일을 표 2의 정보와 같게 편집하자. 예를 들어 set DBNAME=SAMPLEDBset DBNAME=IRS1120으로 수정해야 한다. 그림 4는 표 2에서 제공하는 값에 맞도록 편집된 구성 파일을 보여준다.


그림 4. 구성 파일인 configure.bat 편집하기
구성 파일인 configure.bat 편집하기

configure.bat(리눅스 사용자의 경우 configure.sh) 파일을 편집하면 행 이름을 조절하듯이 유니버설 서비스의 실제 구성을 수행하는 스크립트를 실행할 수 있다. 그러고 나면 스크립트는 유니버설 서비스 웹 애플리케이션에 필요한 모든 파일을 가지고 애플리케이션 서버에 전개될 수 있는 Web application archive(WAR) 파일을 만든다. 스크립트는 DB2 명령행 프로세서에서 실행돼야 하며 그렇지 않으면 실행이 실패한다는 사실을 기억하자.

유니버설 서비스 전개하기

앞서 설명했듯이 configure.bat 스크립트를 편집, 실행해 애플리케이션 서버에 전개될 수 있는 WAR 파일을 만들었다. 애플리케이션 서버에 WAR 파일을 전개하기에 앞서 유니버설 서비스가 DB2 데이터베이스에 접근할 수 있도록 애플리케이션 서버에서 데이터 소스를 구성해야 한다.

데이터 소스를 설정하려면 애플리케이션 서버의 표준 구성 프로세스를 따라야 한다. 설정하는 동안 반드시 고려해야 하는 사항은 jdbc/[database name] 패턴을 따라야 하는 데이터 소스의 이름뿐이다. 여기서는 데이터 소스 이름으로 jdbc/irs1120을 사용했다. 데이터 소스를 설정하는 방법에 대해 더 자세히 알고 싶다면 애플리케이션 서버 매뉴얼이나 유니버설 서비스 다운로드 패키지에 포함된 readme 파일을 읽어보기 바란다.

두 번째 단계는 실제 WAR 파일을 애플리케이션 서버에 전개하는 것이다. 하지만 WebSphere Application Server 6.x와 아파치 톰캣 6.x가 요구하는 웹 서비스 산출물이 다르기 때문에 두 가지 다른 WAR 파일을 만드는 구성 스크립트가 각 애플리케이션 서버에 하나씩 있어야 한다.

만들어진 WAR 파일은 유니버설 서비스 실행 디렉터리인 c:\temp\UniversalServices의 하위 디렉터리 war에서 찾을 수 있다. 특히 war 디렉터리에는 tomcat과 was라는 두 가지 하위 디렉터리가 있다. tomcat 디렉터리에는 아파치 톰캣 6.x에 설치될 WAR 파일이 있는 반면 was 디렉터리에는 WebSphere Application Server 6.x에 설치될 WAR 파일이 있다. 애플리케이션 서버에 WAR 파일을 설치하려면 표준 프로시저를 따른다. 더 많은 정보는 애플리케이션 서버 매뉴얼이나 유니버설 서비스 다운로드 패키지에 포함된 readme 파일을 읽어보기 바란다.

이제 WAR 파일 전개를 통해 이미 가능해진, 유니버설 서비스 테스트 페이지로 설정한 것을 확인할 수 있게 됐다. 다음 절에서 이 내용을 다루겠다.

유니버설 서비스 테스트하기

로컬 시스템에서 유니버설 서비스 설정과 구성이 성공했는지 확인하려면 이 서비스들을 테스트해야 한다. 가장 쉬운 방법은 유니버설 서비스 전개 부분으로 이미 애플리케이션에 있는 간단한 HTML 페이지를 사용하는 것이다.

유니버설 서비스 테스트 페이지는 브라우저를 URL http://localhost:8080/UniversalServices/testServices.html로 리다이렉트해 접근할 수 있다. 로컬 시스템 설정, 호스트 이름, 포트에 따라 조정이 필요한 부분도 있을 수 있음에 주의하자.


그림 5. 빌트인 테스트 페이지의 스크린샷
빌트인 테스트 페이지의 스크린샷

이 간단한 테스트 페이지로 유니버설 서비스를 통해 자신의 데이터베이스에서 XML 데이터를 삽입, 업데이트, 삭제, 질의할 수 있다. 웹 서비스는 테스트 페이지에 제공된 버튼으로 호출한다. 그림 6은 웹 서비스의 응답을 보여준다. 웹 서비스 연산 후 테스트 페이지에 제공된 버튼을 통해 getPrimaryKeys가 호출된다.


그림 6. 웹 서비스 연산 getPrimaryKeys가 호출된 후의 응답
웹 서비스 연산 getPrimaryKeys가 호출된 후의 응답

유니버설 서비스 수정하기

예를 들어 새 매개변수를 소개하는 것처럼 유니버설 서비스를 수정하려면 다운로드한 Universal Services Data Project에 포함된 Universal Services Data Development Project를 Data Studio에 임포트하면 된다. Data Development Project를 임포트하려면 Data Studio의 파일 풀 다운 메뉴에서 간단히 Import 옵션을 선택하면 된다.

그리고 나면 Data Studio를 통해 수정된 유니버설 서비스를 전개할 수 있다.

결론과 전망

지금까지 특별한 도구 없이 스크립트 사용만으로 웹 서비스 연산을 통해 DB2 데이터베이스의 pureXML 행을 나타내는 것이 얼마나 간단하고 쉬운지를 보여주었다. 유니버설 서비스 설치는 자신의 프로토타입이나 애플리케이션을 만드는 데 사용할 수 있다.

다음 세 가지 예제는 이미 작업의 기본으로 유니버설 서비스를 사용했다.

  • Industry Formats and Services with pureXML용 온라인 인터랙티브 데모
  • WebSphere ESB와 DB2 9 pureXML로 업계 표준 데이터 포맷 사용
  • WebSphere Integration Developer를 사용해 DB2 pureXML 보여주기

유니버설 서비스와 소개한 정보가 DB2 pureXML 프로젝트를 시작하는 데 도움이 되길 바란다.





위로


다운로드 하십시오

설명이름크기다운로드 방식
Universal Services 패키지UniversalServices.zip3.87MBHTTP
다운로드 방식에 대한 정보

더 많은 다운로드

Note

  1. Industry Formats and Services with pureXML 온라인 데모의 일부로 사용할 수 있다. Download now를 선택하라.


참고자료

교육

제품 및 기술 얻기
  • IBM Data Studio: Data Web Services를 개발하는 데 사용된 개발 환경을 무료로 다운로드한다.

  • DB2 Express-C: pureXML 기술 같은 핵심 기능을 포함하는 DB2의 무료 버전을 다운로드한다. DB2 Express-C는 개발, 전개, 배포가 무료다.

  • developerWorks에서 직접 다운로드할 수 있는 IBM 시험판 소프트웨어로 차세대 개발 프로젝트를 만든다.


토론


필자소개

Susan Malaika photo

Susan Malaika는 IBM 정보 관리 그룹에서 일한다. 특히 그리드 컴퓨팅을 포함한 XML 및 웹 기술 전문가다. 웹에 글과 공동 집필한 책을 출판했다. IBM Academy of Technology 멤버이기도 하다. malaika@us.ibm.com으로 연락을 취할 수 있다.


Christian Pichler photo

Christian Pichler는 오스트리아 Technical University of Vienna에서 의료에 관해 컴퓨터 공학과 컴퓨터 과학 석사 논문을 준비 중이다. IBM에서는 DB2에 XML을 저장하는 기술과 웹 서비스를 통해 접근하는 방법, 피드, Xforms를 담당하고 있다. 전문 분야는 의료 분야의 XML 표준이다.




기사에 대한 평가


보다 나은 서비스를 제공하기 위함이오니 잠시 짬을 내어 이 양식을 제출하여 주십시오.



 


 


 


이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us





위로


developerWorks 콘텐트를 다른 사이트에 전재하기:
developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오.
    IBM 소개 개인정보 보호정책 문의