메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

WebSphere Integration Developer V7으로 SCA 컴포넌트 개발에서 pureXML 사용하기

Jun Xue, Software Engineer, IBM
Jun Xue photo
Jun Xue is a Software Engineer at the IBM China Development Lab, Shanghai. He has 3 years experience in SOA solution design and development using DB2, WebSphere Process Server, and WebSphere Portal Server. He holds a Master's degree in Computer Science and Engineering from Shanghai Jiao Tong University.
Song Nian Shao, Software Engineer, IBM
Song Nian Shao is a Software Engineer at the IBM China Development Lab, Shanghai. He has more than one year's experience in application development, especially in the field of middleware and data persistence.

요약:  pureXML, 데이터 웹 서비스 및 데이터 오브젝트를 결합하고 WebSphere® Integration Developer V7으로 샘플 모듈 프로젝트를 사용하여 서비스 컴포넌트를 개발하는 방법에 대해 학습합니다.

원문 게재일:  2010 년 7 월 28 일 번역 게재일:   2010 년 12 월 21 일
난이도:  중급 원문:  보기 PDF:  A4 and Letter (661KB | 23 pages)Get Adobe® Reader®
페이지뷰:  2175 회
의견:  


개요

Service Component Architecture(SCA) 프로그래밍 모델을 채택하는 서비스 컴포넌트는 서로 데이터를 교환하기 위해 비즈니스 오브젝트를 사용한다. 비즈니스 오브젝트(BO)는 고객이나 송장과 같은 애플리케이션 데이터용 컨테이너이다. 따라서 이는 서로 다른 SCA 컴포넌트 종류를 개발할 때에 비즈니스 오브젝트를 저장하고 쿼리하는 방법에서 일반적인 문제가 된다.

DB2® V9 pureXML은 원시 계층 구조 형식에서 Extensible Markup Language(XML) 문서를 저장하고 쿼리하는 것을 지원한다. 비즈니스 오브젝트의 내재된 구조는 XML 스키마 정의(XSD)이다. 비즈니스 오브젝트를 XML 문서로 구문 분석하고 서비스 데이터 오브젝트(SDO) API를 사용하여 XML 문서에서부터 이를 역직렬화(deserialize)할 수 있다.

JDBC로 Data Access Object(DAO) 패턴을 사용하여 데이터베이스에 액세스하거나 최대 절전하는 기존의 방법이 아니라, 이 기사에서는 IBM Data Studio로 제공되는 새 기능인 데이터 웹 서비스를 사용하여 DB2로 웹 서비스 기반 액세스를 보여준다.

이 기사에서는 WebSphere Integration Developer로 비즈니스 오브젝트를 저장하고 쿼리하는 pureXML 웹 서비스를 사용하여 SCA 컴포넌트를 개발하는 방법에 대해 배울 것이다.

샘플 애플리케이션 및 코드 스니펫은 SCA 컴포넌트로 pureXML 웹 서비스 통합의 이점에 대해 설명하는 데 유용하다. 이 기사에서는 pureXML을 사용하고 SCA 컴포넌트를 개발할 때에 알아야 하는 기본 원칙에 대해 다룰 것이다. DB2에 액세스하는 pureXML 웹 서비스를 노출하는 방법, SDO API를 사용하여 비즈니스 오브젝트로 조작하는 방법 및 SCA 컴포넌트 내에서 pureXML 웹 서비스를 호출하는 방법에 대해 살펴볼 것이다.


선수조건

이 기사에서는 샘플 애플리케이션을 빌드하기 위해 WebSphere Integration Developer와 함께 Data Studio를 사용할 것이다. 독자가 웹 서비스, pureXML 및 SCA 관련 경험이 있다고 가정한다. 이러한 기술에 대한 자세한 정보는 참고자료 섹션을 참조한다.

다음 소프트웨어를 설치해야 한다.

  • WebSphere Integration Developer V7: 이는 SOA 애플리케이션의 엔드투엔드 통합을 위한 Eclipse 기반 도구이다.
  • IBM Data Studio: 이 개발 환경은 프로그래밍 없이 웹 서비스로 데이터베이스 조작을 노출할 수 있는 데이터 웹 서비스와 같은 수많은 기능을 제공한다.
  • DB2 V9: 이는 XML 데이터를 원시적으로 저장하는 pureXML 기술을 활용하는 하이브리드 데이터베이스 시스템이다.

이 기사에서는 다운로드 가능한 샘플 코드를 제공한다.


소개

이 기사의 샘플 애플리케이션은 허구의 Person Contact Service(인력 담당자 서비스)이다. 사용자나 기타 애플리케이션은 인력 담당자 정보를 저장하고 쿼리하는 이 서비스를 사용할 수 있다. 다음과 같은 두 가지 주요 파트가 있다.

  • SCA 서비스: 이는 WebSphere Integration Developer V7을 사용하여 개발된 서비스이다. 이는 인력 담당자를 위한 두 가지 조작을 제공한다. 하나는 담당자 정보를 저장하는 것이고, 다른 하나는 인력의 이름에 따라 담당자 정보를 쿼리하는 것이다.
  • 데이터 액세스용 웹 서비스: 웹 서비스로 SQL이나 XML 스크립트를 노출하는 Data Studio를 사용할 것이다. 주요 기능은 DB2에서 데이터에 액세스하는 것이다.

그림 1에는 샘플 애플리케이션의 아키텍처를 보여준다.


그림 1. SCA 컴포넌트로 pureXML 웹 서비스 통합
SCA 컴포넌트로 pureXML 웹 서비스 통합

샘플 코드를 다운로드하자. 샘플은 WebSphere Process Server V7로 실행하도록 설계되었다. pureXML 웹 서비스에 대해 배치 가능한 파일 하나, 사전정의된 라이브러리 프로젝트 및 SCA 컴포넌트 모듈용 소스 코드가 있다.

다음 샘플 파일은 이 기사와 함께 제공된다.

  • ContactLib.zip에는 비즈니스 오브젝트와 서비스 인터페이스를 포함하여 사전정의된 라이브러리 프로젝트가 들어있다.
  • ContactModule.zip에는 SCA 컴포넌트 모듈용 소스 코드 파일이 들어있다.
  • pureXMLWebService.zip에는 샘플 pureXML 웹 서비스와 해당되는 데이터 개발 프로젝트에 대해 배치 가능한 WAR 파일이 들어있다.

DB2 pureXML 및 데이터 웹 서비스

DB2 9는 XML 데이터를 DB2 데이터베이스 내에 원시적으로 저장할 수 있는 혁신적인 pureXML 기술을 사용하는 새로운 세대의 데이터 서버이다. 이는 관련 데이터에 당연하게 여기는 보안, 통합 및 회복의 동일한 레벨을 사용하여 XML로 간단하고 효율적인 액세스를 제공한다.

오늘날 SOA 애플리케이션은 때로는 비즈니스 논리나 인터넷을 넘어 데이터 액세스 노출의 표준화된 독립적인 수단으로 웹 서비스를 통해 배치된다. DB2에서 데이터를 노출하는 웹 서비스를 작성하기 위해 Data Studio를 활용할 수 있다. Data Studio는 웹 서비스의 지원을 비롯하여 수많은 다른 기능을 포함하는 Eclipse 기반 도구이다. 데이터 웹 서비스는 DB2 및 기타 IBM 데이터베이스 서버로 웹 서비스 기반 액세스의 개발, 배치 및 관리가 엄청나게 용이한 차세대 솔루션이다. 이를 통해 HTTP를 넘어 데이터에 액세스하는 SOAP 바인딩 서비스 또는 REST 스타일 중 하나를 간단하고 신속하게 작성할 수 있다.


WebSphere Integration Developer에서 서비스 데이터 오브젝트

SCA 서비스는 일반적으로 매개변수에 대해 문서 스타일 비즈니스 데이터를 사용하고 값을 리턴하며, SDO는 데이터와 메타데이터에 대해 우선하는 형식이다. SCA는 컴포넌트로서의 서비스와 컴포넌트와 컴포넌트 사이의 연결성을 정의한다. SDO는 컴포넌트 사이에 플로우되는 데이터를 정의한다.

SDO는 데이터 소스로 메타데이터와 XML에 대해 XML 스키마를 지원하고, 값을 얻고 설정하기 위해 XPath 표현식을 사용하는 것을 지원한다. SDO와 작업하는 경우 데이터 오브젝트라는 하나 또는 그 이상의 수많은 구조를 작성할 수 있으며, 각각에는 이름이 지정된 특성의 콜렉션으로 조직된 비즈니스 데이터가 포함된다. 그러면 특성이 고객 이름과 같은 데이터 항목을 보유하든지, 또다른 데이터 오브젝트로의 참조를 보유하든지에 따라 각 특성에 대한 데이터를 얻거나 설정할 수 있다. 데이터 항목을 보유하는 특성은 문자열이나 정수와 같이 데이터 유형을 기반으로 한다.

WebSphere Integration Developer에서는 런타임 시 데이터 오브젝트와 참조 데이터 유형 설명을 동적으로 정의하고 액세스한다. 여기의 샘플 애플리케이션에서 데이터 오브젝트는 XML 문서로 직렬화된 다음에 데이터베이스로 저장될 것이다. 그림 2에는 직렬화 이후에 데이터 오브젝트를 표현하는 XML 문서의 예제를 보여준다.


그림 2. 데이터 오브젝트를 표현하는 예제 XML 문서
데이터 오브젝트를 표현하는 예제 XML 문서

비즈니스 오브젝트와 서비스 인터페이스 검토

그림 3과 4와 같이 샘플 애플리케이션에서 정의한 Contact라는 이름의 비즈니스 오브젝트가 하나 있고, ContactService라는 이름의 서비스 인터페이스가 하나 있다. 이 서비스는 비즈니스 오브젝트 Contact와 관련하여 두 가지 조작을 정의했다. 하나는 담당자 정보를 저장하는 것이고, 다른 하나는 인력의 이름별로 담당자 정보를 쿼리하는 것이다.


그림 3. 비즈니스 오브젝트
비즈니스 오브젝트

그림 4. 서비스 인터페이스
서비스 인터페이스

샘플 데이터베이스 설정

위의 섹션에서 정의한 비즈니스 오브젝트는 원시 XML 형식을 사용하여 DB2 데이터베이스로 저장될 것이다. 샘플 애플리케이션에 대해 데이터베이스와 테이블을 작성하기 위해 목록 1에서 Data Definition Language(DDL) 명령문을 참조할 수 있다.


목록 1. 데이터베이스와 테이블용 DDL
create database condb using codeset utf8 territory us

create table contact_table (
  id bigint primary key not null generated by default as identity 
  ( START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 10000 NO CYCLE CACHE 20), 
  contactdoc xml
);


pureXML 데이터 웹 서비스 노출

샘플에서 pureXML 데이터 웹 서비스는 데이터 오브젝트의 XML 문서를 저장하는 방법과 쿼리 결과를 리턴하는 방법을 보여준다. 데이터 웹 서비스는 서비스로 노출하려는 SQL 스크립트나 프로시저로 구성된다. 다음 단계를 따라 Data Studio를 사용하여 SQL 웹 서비스를 작성한다.

  1. Data Project Explorer에서 새 Data Development 프로젝트를 열려면 공백 패널에서 마우스 오른쪽 단추를 클릭하고 팝업 메뉴에서 New > Data Development Project를 선택한다. 새 데이터 개발 프로젝트 마법사가 표시된다.
  2. SampleDBService로 프로젝트 이름을 입력하고 Next를 클릭한다. condb라는 이름의 기존 연결을 선택한다. 데이터베이스 연결이 없는 경우 New를 클릭하여 하나를 작성할 수 있다.
  3. Finish를 클릭하면 새 프로젝트가 Data Project Explorer에 표시된다(그림 5).

    그림 5. Data Development 프로젝트
    Data Development 프로젝트

  4. 새 SQL 스크립트를 작성하려면 Data Project Explorer에서 SQL Scripts 노드를 선택하고 마우스 오른쪽 단추로 클릭하여 New > SQL이나 XQuery Script를 선택한다. 이렇게 하면 마법사가 시작된다.
  5. 스크립트 이름에 대해 saveContact로 이름을 입력하고 Finish를 클릭하여 SQL Editor를 연다.
  6. 목록 2에 표시된 명령문을 입력하고 이를 저장한다.

    목록 2. saveContact에 대한 SQL 스크립트
    insert into contact_table (contactdoc) values (:contactdoc)

  7. 4단계에서 6단계까지 반복하여 queryContactByName라는 이름의 또다른 SQL 스크립트를 작성한다(목록 3 참조).

    목록 3. queryContactByName에 대한 SQL 스크립트
    select xmlserialize(contactdoc as clob(32000)) as contact from contact_table
    where xmlexists('$doc/*[local-name()="ROOT"][lastName=$lastName and 
     firstName=$firstName]'
    passing contactdoc as "doc",
    cast (:lastName as varchar(100)) as "lastName",
    cast (:firstName as varchar(100)) as "firstName")

  8. 두 개의 SQL 스크립트가 그림 6과 같이 준비되었다.

    그림 6. SQL Editor
    SQL Editor

  9. 웹 서비스를 작성하려면 Data Project Explorer에서 Web Services 노드를 선택하고 마우스 오른쪽 단추로 클릭하여 New Web Service를 선택한다. 이렇게 하면 New Web Service 마법사가 시작된다(그림 7).

    그림 7. New Web Service 마법사
    New Web Service 마법사

  10. ContactDBService와 같이 웹 서비스 이름을 입력하고 Finish를 클릭한다. 새로 작성된 웹 서비스인 ContactDBService는 그림 8과 같이 Data Project Explorer에서 Web Services 노드 아래에 나열된다.
  11. 이 웹 서비스에 SQL 스크립트를 추가하려면 Data Project Explorer에서 saveContact.sql을 웹 서비스인 ContactDBService에 끌어다 놓는다. 이제 웹 서비스의 조작 이름은 saveContact가 되었다(그림 8 참조).
  12. 이와 비슷하게 SQL 스크립트인 queryContactByName.sql을 웹 서비스인 ContactDBService에 추가한다. 이제 ContactDBService 웹 서비스에 saveContractqueryContactByName의 두 가지 조작이 있다(그림 8 참조).

    그림 8. ContactDBService 웹 서비스의 개요
    ContactDBService 웹 서비스의 개요

    이제 웹 서비스가 정의되었으니 WebSphere Process Server V7에 대해 배치 가능한 파일을 빌드할 수 있다. Data Project Explorer에서부터 ContactDBService를 선택하고 마우스 오른쪽 단추로 클릭하여 Build and Deploy를 선택하여 마법사를 시작한다. 선택사항이 그림 9에 표시된 것과 값이 같은지 확인한다.



    그림 9. 웹 서비스에 대해 배치 가능한 파일 빌드
    웹 서비스에 대해 배치 가능한 파일 빌드

    배치를 위해 선택한 값은 다음과 같다.

    1. 웹 서버 유형: WebSphere Application Server V7(모든 릴리스)
    2. 옵션: 배치 가능한 파일만 빌드하고 웹 서버로 배치하지 않는다. 선택됨
    3. 데이터 핸들러: JDBC, 선택됨
    4. 메시지 프로토콜: HTTP를 넘어 REST(웹 액세스) 및 SOAP, 선택됨

배치 가능한 WAR 파일은 워크스페이스의 디렉토리인 SampleDBService/DataServerWebServices/ContactDBService에 생성된다. 샘플 SCA 서비스에서 사용하기 위해 WebSphere Integration Developer V7과 함께 설치된 WebSphere Process Server V7 테스팅 환경에 배치한다.


샘플 SCA 서비스 작성

이 섹션에서는 WSDL 포트 유형 인터페이스와 Java™ 구현으로 샘플 서비스 컴포넌트를 개발하는 방법을 설명한다.

비즈니스 오브젝트와 인터페이스를 사용할 수 있다. ContactLib.zip 파일을 다운로드하고 이를 로컬 파일 폴더에 저장한다. 그 다음에 사전정의된 라이브러리 프로젝트를 WebSphere Integration Developer로 가져온다.

새 모듈 프로젝트를 작성하려면 다음을 수행한다.

  1. 새 모듈을 작성하려면 File > New >Module을 클릭한다. 마법사가 표시된다. ContactModule과 같은 모듈 이름을 입력하고 Finish를 클릭한다. 프로젝트가 Business Integration 뷰에서 작성되었음을 볼 수 있다.
  2. 라이브러리 종속성을 추가하려면 ContactModule에서 Dependencies를 클릭하여 편집기를 연다. Libraries 섹션에서 Add를 클릭하면 Library Selection 대화 상자가 표시된다. 그림 10과 같이 ContactLib를 선택하고 OK를 클릭한다.

    그림 10. 종속성 라이브러리 추가
    종속성 라이브러리 추가

  3. Dependencies 수정을 저장하려면 Ctrl+S를 누르고 Dependencies 편집기를 닫는다.

    이제 새 모듈 프로젝트를 작성했고 사전정의된 라이브러리에 대한 참조가 있으니 Java 컴포넌트를 계속하여 작성할 수 있다.

  4. 그림 11과 같이 Assembly Diagram 편집기를 열고 Java를 선택하여 편집기로 끌어서 컴포넌트를 ContactComponent로 이름을 바꾼다.

    그림 11. Assembly Diagram 편집기
    Assembly Diagram 편집기

  5. 인터페이스를 지정하려면 ContactComponent를 마우스 오른쪽 단추로 클릭하여 Add > Interface를 선택하고 ContactService를 선택한 후 OK를 클릭한다.
  6. Ctrl+S를 클릭하여 Assembly Diagram을 저장한다.

pureXML 웹 서비스 액세스

기존 pureXML 웹 서비스인 ContactDBService는 이전 섹션에서 준비가 되었다. 한 번 WebSphere Process Server로 배치되면 가져오기를 사용하는 모듈에서부터 이를 호출할 수 있다.

기존 웹 서비스에 액세스하려면 다음을 수행한다.

  1. 실행 중인 WebSphere Process Server에서부터 이를 저장하고 로컬 디렉토리에 압축을 해제하여 ContactDBService 웹 서비스의 WSDL 파일을 내보낸다.

    그림 12. 서버에서부터 WSDL 파일 내보내기
    서버에서부터 WSDL 파일 내보내기

  2. WSDL 파일을 모듈로 가져오려면 ContactModule 프로젝트를 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 Import를 선택한다. 가져오기 대화 상자가 표시되면 Business Integration 섹션 아래에 WSDL and XSD를 선택한다. 그림 13과 같이 Next를 클릭한다.

    그림 13. WSDL and XSD 파일 가져오기
    WSDL and XSD 파일 가져오기

  3. 로컬 파일을 찾으려면 Local WSDL or XSD file 옵션이나 둘 다를 선택하여 Next를 클릭한다. 방금 내보낸 파일을 저장한 소스 디렉토리를 찾아보자. 대상 모듈이나 라이브러리로 ContactDBService.wsdl 파일과 ContactModule을 선택한다. Finish를 클릭한다.
  4. 가져오기를 작성하려면 Assembly Diagram 편집기를 연다. Import를 선택하고 편집기로 끈다.
  5. 가져오기에 대해 인터페이스를 지정하려면 Import1을 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서부터 Add Interface를 클릭한다. ContactDBService를 선택하고 OK를 클릭한다.
  6. Import1에 대해 웹 서비스 바인딩을 생성하려면 Import1을 마우스 오른쪽 단추로 클릭하고 Generate Binding... > Web Service Binding을 선택한다. 그림 14와 같이 가져오기 세부사항 대화 상자가 표시된다. Use an existing web service port 옵션을 선택하고, Browse를 클릭하여 기존 포트인 ContactDBSerivceSOAPHTTP를 선택하고 OK를 클릭한다. 대화 상자에 웹 서비스 바인딩에 대해 Transport Protocol을 선택하라는 메시지가 표시된다. SOAP1.1/HTTP 옵션을 선택하고 Finish를 클릭한다.

    그림 14. 웹 서비스 바인딩
    웹 서비스 바인딩

  7. ContactComponent와 Import1 사이에 연결을 작성하려면 Assembly Diagram 편집기를 저장한다. 편집기는 그림 15와 모양이 비슷하다.

    그림 15. Assembly Diagram 편집기
    Assembly Diagram 편집기


ContactComponent에 대한 구현 작성

ContactComponent에 대한 Java 구현을 작성하려면 다음을 수행한다.

  1. Assembly Diagram 편집기를 연다. ContactComponent를 두 번 클릭하여 기본값을 유지하고 OK를 클릭한다.
  2. ContactComponentImpl라는 이름의 Java 클래스가 작성되어 코드 편집기에서 자동으로 열린다. 클래스에는 서비스 인터페이스에서 정의한 모든 메소드의 기본 폼을 제공한다.
  3. 비즈니스 오브젝트와 XML 문자열 사이에 변환을 수행하는 논리를 구현하려면 목록 4에서 코드를 ContactComponentImpl 클래스로 복사한다.

    목록 4. 비즈니스 오브젝트와 XML 문자열 사이에 변환을 위한 샘플 Java 코드
    /**
     * Serialize data object to xml string.
     */
    public String dataObjectToString(DataObject dataObject) {
    	ByteArrayOutputStream baos = new ByteArrayOutputStream();
    	try {
    		xmlSerializerService.writeDataObject(dataObject, 
            "namespace","ROOT", baos);
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	return baos.toString();
    }
    
    /**
     * Deserialize xml string to data object.
     */
    public DataObject stringToDataObject(String string) {
    	ByteArrayInputStream bais = 
    		new ByteArrayInputStream(string.getBytes());
    	BOXMLDocument boxmldoc;
    	try {
    		boxmldoc = xmlSerializerService.readXMLDocument(bais);
    		return boxmldoc.getDataObject();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	return null;
    }
    
    private static BOXMLSerializer xmlSerializerService = 
     (BOXMLSerializer) new ServiceManager()
    	.locateService("com/ibm/websphere/bo/BOXMLSerializer");

  4. saveContact와 queryContactByName 메소드를 구현하려면 목록 5와 같이 논리를 추가한다.

    목록 5. saveContact와 queryContactByName 메소드의 샘플 구현
    public Integer saveContact(DataObject contact) {
    	Service service = locateService_ContactDBServicePartner();
    	// Get the input of the partner service.
    	DataObject input = boFactory.createByType(service.getReference()
    			.getOperationType("saveContact").getInputType());
    	input.setString("contactdoc", dataObjectToString(contact));
    	// Invoke the partner service and get output.
    	DataObject output = (DataObject)service
    			.invoke("saveContact",input);
    	return output.getInt("updateCount");
    }
    
    public DataObject queryContactByName(String firstName, String lastName) {
    	Service service = locateService_ContactDBServicePartner();
    	DataObject input = boFactory.createByType(service.getReference()
    			.getOperationType("queryContactByName")
    			.getInputType());
    	input.setString("firstName", firstName);
    	input.setString("lastName", lastName);
    	DataObject output = (DataObject)service
    			.invoke("queryContactByName", input);
    	DataObject row = (DataObject)output.getList("row").get(0);
    	return stringToDataObject(row.getString("CONTACT"));
    }


WebSphere Integration Developer에서 샘플 애플리케이션 테스트

Universal Test Environment를 사용하여 WebSphere Integration Developer에서 샘플 애플리케이션을 테스트하려면 다음을 수행한다.

  1. 서버를 시작하려면 Servers의 뷰에서 WebSphere Process Server v7.0 at localhost를 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 Start를 선택한다.
  2. 모듈의 테스팅을 시작하려면 그림 16과 같이 ContactModule을 마우스 오른쪽 단추로 클릭하고 팝업 메뉴에서 Test > Test Module을 선택한다.

    그림 16. 모듈 테스트
    모듈 테스트

  3. Integration Test Client가 표시된다. 이는 모듈에서 정의한 모든 컴포넌트 서비스와 해당되는 서비스 조작을 나열한다. ContactService에 saveContactqueryContactByName의 두 가지 조작이 있다. 테스트하기 위해 이 중 하나를 아무거나 선택할 수 있다. 그림 17과 같이 saveContact를 예제로 취하여 각 필드의 값을 입력하고, 왼쪽 위 막대에서 Continue 단추를 클릭하여 테스트를 시작한다.

    그림 17. Integration Test Client
    Integration Test Client

  4. Deployment Location 대화 상자가 표시된다. WebSphere Process Server v7.0 at localhost를 선택한 후 Finish를 클릭한다. WebSphere Process Server에 로그온하는 사용자 이름과 비밀번호를 입력하라는 메시지가 표시될 수 있다.
  5. 이제 호출의 결과를 확인할 것이다. 그림 18을 보고 DB2에서 XML 문서로 저장된 비즈니스 오브젝트를 검토한다.

    그림 18. DB2에서 비즈니스 오브젝트의 샘플 XML 문서
    DB2에서 비즈니스 오브젝트의 샘플 XML 문서

  6. 2단계에서 4단계까지를 반복하여 다른 서비스 조작을 테스트한다.

결론

Service Component Architecture는 SOA 시스템을 빌드하는 데 널리 사용되어, 컴포넌트 사이에 메시지(비즈니스 오브젝트) 교환의 지속성은 문제를 야기할 수 있다. 이 기사에서는 pureXML 웹 서비스와 SCA 컴포넌트를 통합하여 솔루션을 소개하였다. 기사에서는 WebSphere Integration Developer를 사용하여 SCA 컴포넌트 애플리케이션을 개발하고 테스트하는 방법도 설명했다. 제공된 샘플 애플리케이션은 pureXML 웹 서비스와 SCA 컴포넌트 결합의 편의성과 유연성을 해설하였다.

감사의 인사

필자는 이 기사에 도움을 준 Xiang Cheng, Pei Jian Dong, Bian Yun Zhi에 감사의 말을 전하고 싶다.



다운로드 하십시오

설명이름크기다운로드 방식
Code sampleContactLib.zip6KBHTTP
Code sampleContactModule.zip10KBHTTP
Code samplepureXMLWebService.zip501KBHTTP

다운로드 방식에 대한 정보


참고자료

교육

제품 및 기술 얻기

토론

필자소개

Jun Xue photo

Jun Xue is a Software Engineer at the IBM China Development Lab, Shanghai. He has 3 years experience in SOA solution design and development using DB2, WebSphere Process Server, and WebSphere Portal Server. He holds a Master's degree in Computer Science and Engineering from Shanghai Jiao Tong University.

Song Nian Shao is a Software Engineer at the IBM China Development Lab, Shanghai. He has more than one year's experience in application development, especially in the field of middleware and data persistence.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=WebSphere, Information Management, XML
ArticleID=604195
ArticleTitle=WebSphere Integration Developer V7으로 SCA 컴포넌트 개발에서 pureXML 사용하기
publish-date=07282010
author1-email=xuejun@cn.ibm.com
author1-email-cc=crothemi@us.ibm.com
author2-email=shaosn@cn.ibm.com
author2-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.