Tab navigation
- SOA
- Web services
- Info Mgmt- selected tab,
- WebSphere
Page navigation
웹 서비스 입문 탭에서는 웹 서비스가 무엇인지 학습하고 웹 서비스의 컴포넌트 기술에 대한 설명을 접했다. 이 탭에서는 Information Management가 웹 서비스라는 전체 구도에 어떻게 어울리는지 살펴볼 것이다.
Information Management 웹 서비스란?
Information Management 웹 서비스는 Information Management에 의해 제공되는 웹 서비스이다. 이 서비스에는 DB2® UDB 데이터베이스에 대한 삽입, 업데이트, 삭제 및 저장 프로시저 호출과 같은 SQL 작동이 포함된다. 한편, Information Management는 웹 서비스 소비자로 동작할 수도 있다. 예를 들어, 아래 그림 1을 살펴보자.
그림 1. Information Management 및 웹 서비스 환경
한 캐나다 회사에서 자동차를 생산한다고 가정하자. 이 회사는 경쟁력을 갖추기 위해, 각기 다른 부품 가격을 제시하는 북미 지역의 여러 다른 벤더를 폴링하고 특정 시점에 최저 가격으로 부품을 판매하는 벤더를 고르는 애플리케이션을 개발한다. 그렇다면, 어떻게 애플리케이션이 서로 다른 벤더를 폴링하는 것일까? 벤더들은 어떻게 공급 부품 및 부품 가격 목록을 게시할까?
이 예에서 벤더들은 웹 서비스 공급자로 행동하고 있다. 부품 및 가격(현지 통화) 목록을 DB2 UDB 데이터베이스에 저장하고 DB2를 통해 이 정보를 제공한다고 가정하면, 이들 벤더가 바로 Information Management 웹 서비스 공급자로 행동하고 있는 것이다. 그림 1의 왼쪽에 이 내용이 표시되어 있다.
이 그림의 오른쪽 부분은 SQL 문 내에서 getRate 함수(다른 웹 서비스 공급자가 제공함)를 사용하여 제시되는 가격을 현지 통화인 캐나다 달러로 변환부터 하는 애플리케이션을 나타낸 것이다. 따라서 이 애플리케이션이 Information Management 웹 서비스 소비자로 동작한다.
WebSphere Information Integrator에 적용된 다른 소비자 기술이 바로 웹 서비스 랩퍼이다. UDF는 웹 서비스 액세스를 SQL 함수로 모델링하는 반면, 웹 서비스 랩퍼는 가상 테이블(NICKNAME)을 통해 웹 서비스 액세스를 모델링한다. 웹 서비스 랩퍼에 대한 자세한 내용은 참고자료 섹션을 참조한다.
Information Management 웹 서비스를 사용하기 위한 요구 사항
웹 서비스 공급자로서의 Information Management에서는 DADx(Document Access Definition Extension)라고도 알려진 WORF(Web services Object Runtime Framework)가 설치되어 있어야 한다. WORF는 dxxworf.zip이라는 zip 파일로 제공되고 DB2 UDB 서버 에디션에 포함된다. 이 파일은 DB2가 설치된 디렉토리의 SQLLIB\samples\java\Websphere 서브디렉토리에서 찾을 수 있다. WORF는 WebSphere Information Integrator, WebSphere Studio 버전 5 및 Rational Application Developer 6에도 포함된다.
웹 서비스 소비자로서의 Information Management에서는 DB2 XML 확장기를 설치하고 Information Management 웹 서비스 소비자 UDF를 사용해야 한다. 이 작업의 자세한 수행 방법은 Information Management Web services for Information Management practitioners 기사를 참조한다.
Information Management를 웹 서비스 공급자로 사용할 수 있는 방법
DB2가 웹 서비스 공급자인 경우, 웹 서비스 클라이언트 애플리케이션은 WSDL 인터페이스를 통해 DB2 UDB 데이터베이스에 액세스할 수 있다. WORF 기능을 사용하여 DB2 데이터에 대한 WSDL 인터페이스를 작성할 수 있다. 간단히 말해, DADx 파일이라고 부르는 XML 파일을 사용하여 DB2 데이터에 대한 액세스를 정의할 수 있다. 이 XML 파일에는 일련의 연산이 포함될 수 있다. 각각의 연산은 DB2 저장 프로시저 호출, XML 문서 저장 또는 검색 또는 SQL 문을 사용하는 CREATE, SELECT, UPDATE, DELETE 작업으로 구성될 수 있다. Listing 1은 한 가지 연산을 포함한 DADX 파일의 예다.
Listing 1. SQL SELECT 연산을 보여주는 직원 웹 서비스(sample.dadx)
<?xml version="1.0" encoding="UTF-8"?>
<DADX xmlns=http://schemas.ibm.com/db2/dxx/dadx>
<operation name="showemployees">
<query>
<SQL_query>SELECT * FROM EMPLOYEE</SQL_query>
</query>
</operation>
</DADx>
|
Listing 1에서는 DB2 데이터베이스 내부의 직원 테이블에서 모든 데이터를 검색하기 위해 "showemployees"라는 단일 연산이 정의된다. DADx 파일 하나에 여러 개의 연산이 포함될 수 있다. 이런 연산은 기본적으로 단일 애플리케이션 모듈 내에서 웹 서비스로 배포된다.
Information Management 웹 서비스 환경(WORF)에서는 정의한 각 연산에 대한 WSDL 인터페이스를 자동으로 작성하기 위한 인프라를 제공한다. WORF에서는 Java 서블릿 및 JSP를 사용하여 웹 서비스 테스트 클라이언트를 웹 애플리케이션으로 생성한다. 테스트 클라이언트는 간단한 HTTP 및 SOAP 바인딩을 사용할 수 있다. HTTP 바인딩은 웹 브라우저를 사용하여 Information Management 웹 서비스를 직접 테스트하는 데 유용하다. 웹 서비스 클라이언트에서는 SOAP 바인딩을 사용하여 분산 애플리케이션을 작성할 수 있다. 데이터는 Information Management 웹 서비스에서 XML 문서나 Java 오브젝트로 리턴된다. Java 및 C를 포함한 다양한 프로그래밍 언어에 XML 구문 분석기를 바로 사용할 수 있다.
DADx를 사용하여 Information Management 데이터를 웹 서비스 클라이언트에 노출할 때는 Information Management 저장 프로시저에 데이터 액세스 논리를 임베드하는 것을 고려한다. Information Management 저장 프로시저는 Information Management 데이터 액세스를 위한 추상화 계층을 작성하기 위한 매우 강력한 기술을 제공한다. Java 및 표준 SQL 프로시저 언어를 포함한 다양한 프로그래밍 언어로 Information Management 저장 프로시저를 작성할 수 있다.
DADx 파일로 Information Management 데이터 액세스를 위한 연산을 정의한 후에는 DADx 파일과 이 파일의 런타임 환경(Apache SOAP 또는 Apache Axis)을 지원되는 Java 웹 애플리케이션 서버 환경(Apache/Jakarta Tomcat 또는 IBM® WebSphere® Application Server 또는 DB2 애플리케이션 서버)에 배포해야 한다.
Information Management 웹 서비스의 테스트와 배포가 끝난 후에는 어떤 웹 서비스 클라이언트라도 Information Management 웹 서비스를 사용하기 시작할 수 있다. WebSphere Application Server를 사용하여 Information Management 웹 서비스를 배포하면 풀링된 데이터베이스 연결 및 중앙 관리와 같은 추가적 이점을 누릴 수 있다. 많이 사용하는 Information Management 웹 서비스에 필요한 내결함성과 높은 트랜잭션 속도를 제공하기 위해 수평 및 수직적 확장 기술을 사용하여 WebSphere를 배포할 수도 있다.
Information Management를 웹 서비스 소비자로 사용할 수 있는 방법
Information Management는 SQL 문을 통해 웹 서비스를 호출할 때 웹 서비스 소비자로 동작한다. 예를 들어, 그림 1에서 getRate("country","country")라는 Information Management 웹 서비스 SQL 함수는 두 국가 간의 현재 환율을 리턴한다. 이 데이터는 항상 유동적이므로, 웹 서비스 공급자는 사용자 애플리케이션에 최신 환율을 제공할 수 있다. 이 예에서는 SQL의 힘을 빌어 부품 가격을 캐나다 달러로 계산한 후에 이를 애플리케이션으로 리턴하고 있다. SQL 문을 사용하면 웹 서비스 데이터를 더 쉽게 사용하고 통합할 수 있다. SQL을 사용하여 웹 서비스 데이터에 액세스하면 데이터가 클라이언트 애플리케이션으로 리턴되기 전에 SQL 문의 컨텍스트 내에서 데이터를 조작할 수 있기 때문에 더 쉽게 액세스할 수 있다. Information Management 웹 서비스 클라이언트 애플리케이션이 아닌 애플리케이션은 Information Management 웹 서비스 SQL 확장을 사용하지 않고 이와 똑같은 결과를 낼 수 있지만, 프로그래밍 작업이 더 많이 필요하다.
이런 웹 서비스의 소비는 SQL 문을 사용하여 이루어지므로, DB2의 명령행 프로세서(CLP)와 같은 도구를 사용하여 웹 서비스 액세스를 테스트하는 것은 간단한 일이다. 도구는 SQL에서 웹 서비스 데이터에 액세스하는 데 중요한 역할을 한다. 기존의 WSDL 인터페이스를 Information Management 함수(테이블 또는 스칼라)로 변환하는 것은 WebSphere Studio 플러그인을 사용하여 WSDL을 DB2 SQL 함수로 변환하는 단순화된 작업이다. WebSphere Studio 버전 5 및 Rational Application Developer 6 이상에는 툴링 기능도 포함된다.
DB2 SQL 문에서 웹 서비스 데이터에 직접 액세스하면 Java 애플리케이션 서버 또는 DB2 웹 서비스 공급자가 필요 없다. 이런 SQL 확장은 DB2 데이터베이스 관리자 또는 데이터베이스 개발자에 의해 작성된다. SQL 문 실행 중, 웹 서비스 공급자와의 연결이 설정되고 응답 문서는 관계 테이블 또는 스칼라 값으로 리턴된다.
그리드 컴퓨팅 분야에서는 그리드의 작동 방식을 알리기 위해 웹 서비스를 사용하는 분산 컴퓨팅 유형을 위한 새 모델인 Open Grid Services Architecture의 일부로 웹 서비스를 채택했다.
Information Management 웹 서비스에 대한 자세한 정보를 얻을 수 있는 곳
추가 정보
- Information Management web services for DB2 UDB practitioners
- Web services wrapper documentation
- DB2 XML Extender, WORF, and WebSphere Application Developer
- Information Management web service provider security
- Creating a .NET Client that uses DB2 DADX web services
- Invoking web services from SQL: Integrating relational data with Web services using DB2 UDB 8.1
- Resources for DB2 and web services technology
- Web services: The new web paradigm, part 2
- Redbook: XML for Information Management Information Integration (SG24-6994-00)
- Redbook: DB2 UDB V8.2 on the Windows Environment (SG24-7102-00)