참고! 이 정보와 이 정보가 지원하는 제품을 사용하기 전에
본 문서의 마지막 부분에 있는 "주의사항"을 읽으십시오.
2005년 3월 23일
이 개정판은 새 개정판에 별도로 명시하지 않는 한 WebSphere Product Center(5724-I68), 버전 5.2 및 모든 후속 릴리스와 수정에 적용됩니다.
© Copyright
International Business Machines Corporations 2001, 2005. All rights reserved.
US Government Users Restricted Rights
Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM
Corp.
제 1 장 WebSphere Product Center 모니터링
WebSphere Product Center 서비스
축약형 서비스 상태 확보
자세한 서비스 상태 확보
데이터베이스 모니터링 및 관리
1. 필요할 때마다 추가 공간 할당
2. 픽스팩/패치 세트 적용
3. 데이터베이스 관리자/DB 관리자 시작 및 시스템 종료
4. 데이터베이스 스키마 분석 및 통계 수집
5. 테이블 및 색인 재구성
6. 스케줄된 백업 작업 상태 확인
7. 데이터베이스 복원 및 복구
8. 데이터베이스 성능 조정
제 2 장 WebSphere Product Center 성능
디스크 공간 관리
임시 파일
웹 페이지 캐싱
하드웨어 스펙
데이터베이스 사용자
데이터베이스 백업
물리적 백업
논리 백업
데이터베이스 성능 상태 검사
DB2 Health Center 경보 설정
데이터베이스 관리 툴킷
디렉토리
아키텍처
테이블 공간 관리
파일 삭제
선택적 BLOB GZIPing
조각 모음
문서 저장소 FAQ
WebSphere Product Center 백업
데이터베이스 백업
복구
제 6 장 WebSphere Product Center 로거
WebSphere Product Center 서비스 로그 구성 파일
런타임 생성 로그
로그 파일 구성
위치 변경
파일 크기 변경
파일 백업 옵션 변경
변환 패턴 변경
변환 지정자
형식 수정자
변환 문자
WebSphere Product Center 로깅 설정 파일
제한사항
맞춤법 검사 기능
맞춤법 검사 사용 가능
요구사항
WinterTree Spelling Engine Runtime 구성에 맞게 WebSphere Product Center 구성
LDAP 통합
기능 개요
기능 개요
가정
제한사항
5.2 이전 버전 이주에 관한 영향
LDAP와 WebSphere Product Center 통합
1. 사용자 및 역할에 대한 LDAP 스키마 구성
2. LDAP 구성 파일 편집
3. 시스템 다시 시작
도구
응용프로그램 서버 문제
환경 문제
일반적으로 잘못된 구성 파일 설정
응용프로그램 서버 무응답
데이터베이스 문제
1. 데이터 내보내기/가져오기 중 문자 변환
2. 데이터베이스 공간 할당 문제점
3. 실행 중인 작업이 종료되면 WebSphere Product Center 속도 저하
4. 다시 실행 로그 전환 문제점
5. WebSphere Product Center 미들웨어 정지 및 GUI 고정
6. 스키마 작업 정지 분석
오류 로그 파일 모니터
연결성 문제
HTTP 게시 오류
FTP 페치 오류
Java 연결성 테스트
기타 문제
WebSphere Product Center 중지 및 다시 시작
4.2.0.x에서 5.2로 이주
회사 내보내기
회사 가져오기
이주에 관한 영향
4.2.1에서 5.1로 이주
WSDL(Web Services Definition Language) 지원
웹 서비스 사용자 인터페이스
웹 서비스를 지원하는 스크립트 조작
문서/리터럴 양식 지원
IBM Tivoli Workload Scheduler와 스케줄러 통합
명령행 인터페이스를 통해 스케줄러 제어
정의 및 약어
통합 특성
소스 또는 대상 시스템으로서의 WebSphere Product Center
제어 시스템
프로토콜
형식
데이터 크기
통신 유형
빈도
통합 스레드
약어
설계 원칙
재사용 가능성
정보 공유
정보 처리
이벤트 처리
변경사항 추적
재사용 가능한 커넥터
구현
구현 스케일링
성능 조정
유효성 검증
안정성
확장 가능한 테스트
표시 여부
보고
조각 모음
WebSphere Product Center 통합을 위한 최상위 10개 지침
명확한 공통 용어를 사용하여 통합 설명
재사용 가능성
표시 여부
소규모 통합
대표 환경 대 완전한 환경
확장 가능한 프로세스 테스트
성능
초기에 단일 스레드 설정
스펙 및 문서 설계
단일 소유자
EAI 플랫폼 통합
접근 방법
추가적인 이점
rootadmin 및 rmi_status 스크립트를 사용하거나 GUI를 통해 WebSphere Product Center 모니터링을 수행할 수 있습니다. WebSphere Product Center와 함께 제공된 독립형 모니터링 도구가 없습니다.
모니터링 도구 작성은 이 문서의 범위에 해당하지 않지만, 몇 가지 간단한 아이디어에 대해 언급하겠습니다.
- 응용프로그램 서버 또는 별도의 모니터링 서버에서 가상 호스트를 작성하십시오. rmi_status 및 rootadmin.sh는 시스템 로드를 작성하므로 별도의 모니터링 서버를 사용하는 것이 다수의 환경에 더 적합할 수 있습니다.
- Perl과 같은 스크립트 작성 언어를 사용하여 서비스 상태를 제어하고 표시하는 rootadmin.sh의 CGI 랩퍼를 작성하십시오.
- 로그 파일을 쉽게 찾아보기 위해 웹 서버에 $TOP/logs를 가리키는 별명을 작성하십시오.
- 예외 및 기타 오류에 대해 $TOP/logs의 로그를 구문 분석하고 선택적으로 서비스 상태를 확인하는 유틸리티를 작성하십시오. 이 유틸리티는 전자 우편을 보내거나 오류 발생 시 관리자의 다른 통지 수단을 제공합니다. 크론 외부에서 이 유틸리티를 실행하십시오.
축약형 상태의 서비스를 가져오려면, 다음 매개변수를 전달하십시오.
-cmd=check -svc=<서비스 이름>
축약형 상태는 다음 조건 중 하나를 리턴합니다.
실행 중 서비스가 실행 중이며 "하트 비트" 기능에 응답 중입니다. 찾을 수 없음 서비스를 찾을 수 없습니다. 서비스가 시작되지 않았거나 기능을 중지했을 수 있습니다. 찾았으나 응답하지 않음 RMI 레지스트리로 등록된 서비스를 찾았으나 "하트 비트" 기능에 응답하지 않습니다. 서비스를 다시 시작해야 할 수 있습니다.
상세 상태의 서비스를 가져오려면, 다음 매개변수를 rootadmin.sh로 전달하십시오.
-cmd=status -svc=<서비스 이름>
임의의 브라우저를 사용하여 볼 수 있는 HTML 파일이 생성됩니다. 터미널에서 Lynx(또는 유사 도구)를 사용하여 출력을 형식화하십시오.
상태는 서비스에서 실행 중인 다른 스레드의 개요와 서비스에서 현재 가져온 데이터베이스 연결 상태도 제공합니다.
예:
스케줄러 상태를 가져오려면 다음을 실행하십시오.
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx /tmp/sch_status.html
또는
rootadmin.sh -cmd=status -svc=scheduler > /tmp/sch_status.html; lynx -dump /tmp/sch_status.html
참고: 위의 예에서 사용된 ">"는 상태 세부사항을 파일 출력 위치에 지정합니다.
관계형 데이터베이스가 대량 제품 정보 내용을 위한 주 기억장치이므로, 성능 저하 및 유실을 방지하는 관리 조치를 제공하는 것이 중요합니다.
WebSphere Product Center에서 경보를 설정하면 발생할 수 있는 문제에 대한 공고를 제공할 수 있으며, 문제가 커지기 전에 해결할 수 있습니다. 모니터링 시스템은 WebSphere Product Center 데이터베이스를 계속적으로 모니터하도록 구현되어야 합니다.
다음 타스크를 규칙적으로 수행해야 합니다.
- 필요할 때마다 추가 공간 할당
- 필요하면 픽스팩/패치 세트 적용
- 필요할 때마다 데이터베이스 관리자, 데이터베이스 및 기타 서비스 시작 및 시스템 종료
- 성능 향상을 위해 필요할 때마다 데이터베이스 스키마 분석 및 통계 수집
- 성능 향상을 위해 규칙적인 시간 간격으로 테이블 및 색인 재구성
- 스케줄된 백업 작업 상태 확인
- 필요하면 데이터베이스 복원 및 복구
- 데이터베이스 성능 조정
1. 필요할 때마다 추가 공간 할당
공간 관리는 대부분의 사용자에게 진행 중인 타스크입니다. 완전히 정적인 데이터베이스가 아닌 경우, 테이블 및 색인은 크기가 규칙적으로 늘어나거나 줄어듭니다. 인터럽트없이 처리를 진행하려면 여기에 충분한 영역을 사용할 수 있어야 합니다. 또한 공간이 효율적으로 사용되고 있는지 확인해야 합니다. 필요할 경우 DB2 제어 센터를 사용하여 공간을 할당할 수 있습니다. 명령행 인터페이스를 사용하여 동일한 타스크를 완료할 수도 있습니다.
2. 픽스팩/패치 세트 적용
픽스팩/패치 세트는 일반적인 원칙으로 충분히 테스트되고 통합된 제품 픽스를 전달하는 데 필요한 데이터베이스 시스템 벤더의 메커니즘입니다. 버그 수정만 제공하며, 새 기능을 포함하지는 않고 대상 시스템에서 인증이 필요하지 않습니다. 데이터베이스 시스템의 알려진 모든 문제점을 피하는 데 사용 가능한 경우 픽스팩/패치 세트를 적용하는 것은 매우 중요합니다. 수정에 관한 자세한 정보는 데이터베이스 시스템 벤더에 문의하십시오.
3. 데이터베이스 관리자 및 데이터베이스 시작 및 시스템 종료
수정사항 적용, 한 서버에서 다른 서버로 데이터베이스 이동 등의 일부로 데이터베이스 관리자 및 데이터베이스를 시스템 종료해야 합니다. 필요한 만큼, 필요할 때 데이터베이스를 시작/종료해야 합니다.
4. 데이터베이스 스키마 분석 및 통계 수집
데이터베이스 스키마를 분석하여 데이터베이스의 테이블 및 색인에 대한 최신 통계를 수집하도록 합니다. 비용 기반 최적화 접근 방법은 통계를 사용하여 각 실행 계획 비용 추정치를 평가합니다. 최적화 프로그램에 스키마 오브젝트에 대한 최상의 정보를 제공하려면 규칙적으로 통계를 수집하십시오. 예를 들어 테이블에 상당한 수의 행을 로드한 후, 테이블에 대한 새 통계를 수집해야 합니다.
데이터베이스 스키마를 분석하려면, $TOP/src/db/schema/util 디렉토리에 위치한 쉘 스크립트 analyze_schema.sh를 실행하십시오.
5. 테이블 및 색인 재구성
더 나은 성능을 위해 규칙적인 시간 간격으로 테이블 및 색인을 재구성할 것을 권장합니다.
빠르게 성장하는 오늘날의 데이터베이스를 사용하려면, 일반 DBA는 최적의 성능을 성취하기 위해 공간 관리 및 재구성을 수행하는 데 상당한 시간을 소비해야 합니다.
최적의 성능은 최적의 응답 시간을 의미합니다. 그러나 여러 공간 관리 문제로 인해 성능이 저하될 수 있습니다. 이러한 문제는 대부분 정체된 색인 및 I/O 밸런싱 및 데이터 파티션의 세 가지 기본 영역 즉 테이블 관련 문제입니다.
테이블 관련 문제는 대부분의 DBA에 잘 알려져 있습니다. 여기에는 테이블 블록 내의 충분히 사용하지 않은 영역, 체인으로 연결된 행, 불충분한 데이터 근접 및 단편화된(확장된) 테이블이 포함됩니다.
성능 문제에 있어 두 번째 주요 문제는 침체된 ¾ 색인이며 이는 크기가 커지고 데이터 밀도가 낮아지게 됩니다.
이 조건은 색인 범위 스캔 성능을 심각하게 저하시킬 수 있습니다. 또한 상당한 양의 디스크 영역을 낭비할 수 있습니다.
성능 문제에 있어 세 번째 주요 문제는 I/O 밸런싱 및 데이터 파티션입니다. 자주 액세스하는 오브젝트가 동일한 데이터 파일에 있을 때, I/O 병목 현상이 발생할 수 있습니다. DB2의 reorgchk와 같은 도구는 재구성되어야 하는 오브젝트에 대한 정보를 제공합니다. 데이터베이스 오브젝트를 재구성하는 데 사용할 수 있는 다수의 메소드 및 도구가 있습니다. 테이블 및 색인 재구성에 대한 데이터베이스 시스템 벤더 고유 문서를 읽도록 하십시오.
6. 스케줄된 백업 작업 상태 확인
백업은 복원과 복구 프로세스에서 없어서는 안 될 부분입니다. 모든 백업 작업 상태를 검증하여 스케줄된 상태로 실행 중인지 확인하십시오.
백업 상태 확인은 백업 프로시저를 정의하는 방법과 백업을 가져오는 데 사용되는 도구에 따라 달라집니다. 자세한 정보는 백업에 대한 벤더 데이터베이스 시스템의 벤더 고유 문서를 자세히 검토하십시오.
7. 데이터베이스 복원 및 복구
데이터베이스 장애의 경우, 장애의 유형 및 범위를 판별하십시오. 분석은 시스템을 복구하는 데 수행한 단계를 규정합니다. IT 지원 그룹에서 정의한 대로 복원 및 복구 프로세스를 사용하십시오.
물리적 백업 복원은 백업을 재구성하고 데이터베이스 서버에 사용 가능하게 하는 것입니다. 복원된 데이터 파일의 복구는 것은 레코드(백업 수행 후에 데이터베이스에서 변경된 레코드)를 다시 실행하여 데이터 파일을 갱신하는 것입니다.
8. 데이터베이스 성능 조정
DBA의 가장 큰 책임 중 하나는 데이터베이스가 제대로 조정되었는지 확인하는 것입니다. RDBMS는 크게 조정할 수 있으며, RDBMS를 사용하면 데이터베이스를 모니터 및 조정하여 성능을 향상시킬 수 있습니다.
다음과 같은 이유로 성능을 조정해야 합니다.
- 계산 속도는 사용자의 귀중한 시간(사용자가 응답을 기다리는 시간)을 낭비할 수 있습니다.
- 시스템이 비즈니스가 수행되는 속도에 뒤쳐지지 않도록 해야 합니다.
비용을 절감하도록 하드웨어 사용을 최적화할 수 있습니다(회사에서는 하드웨어에 수백만 달러 소비).
데이터베이스 성능을 조정하는 데 사용할 수 있는 여러 방법에 대한 자세한 정보는 DB2 제품과 함께 제공된 제품 문서를 참조하십시오.
WebSphere Product Center 미들웨어 및 임시 파티션 모두에 사용되는 30-50기가바이트의 사용 가능한 공간을 소유할 것을 권장합니다.
- WebSphere Product Center 미들웨어 파티션: 30GB가 권장됩니다. 미들웨어 크기는 대략 65-70MB입니다.
- 임시 파티션: 2-4GB 사용 가능 디스크 영역(파티션은 작성되어 삭제된 다수의 대형 임시 작업 파일을 보유하는 데 사용됨)
클러스터된 구성에서 공유 기억장치는 응용프로그램 서버에 필수입니다. RSYNC와 같은 유틸리티를 사용한 정적 HTML 및 이미지 파일은 동기화될 수 있으나 웹 서버로 공유 기억장치도 권장됩니다.
응용프로그램 서버, $TOP의 경우, Apache와 같은 응용프로그램을 지원하는 동안 FTP 디렉토리 및 웹 서버의 문서 루트(정적 HTML 및 이미지 위치)는 일반적으로 공유 장치에 있으며 JDK 및응용프로그램 서버는 로컬 기억장치에 설치됩니다. 로그는 로컬 기억장치 또는 공유 기억장치에 보관될 수 있습니다. common.properties에 지정된 대로 temp 디렉토리는 로컬이어야 합니다.
임시 파일
다음 디렉토리는 임시 런타임 생성 파일을 보유하며 파일 시스템에 있습니다.
참고: 설치된 WebSphere Product Center 버전에 따라 임시 파일 디렉토리가 다를 수 있습니다.
$TOP/public_html/created_files/distributor
- 목적: 아웃바운드 FTP 분배의 경우, 대기열 관리자는 데이터베이스에서 이 디렉토리로 문서를 다운로드한 후 목적지에 파일을 FTP로 전송합니다.
- 지속 기간: 시스템 관리자는 스케줄된 모든 응용프로그램 중단 시간 동안 이 디렉토리의 모든 파일을 삭제합니다. 날짜별로 모든 파일을 정렬하여 회사에서 이 디렉토리의 모든 파일에 설정한 롤링 기간(권장되는 롤링 기간은 7일)보다 오래된 파일을 모두 삭제하십시오.
Linux 사용 예
cd $TOP/public_html/created_files/distributor
find . -type f -mtime +7 -exec ls -l {} \; <-- 삭제될 파일 보기
find . -type f -mtime +7 -exec rm -f {} \; <-- 파일 삭제
$TOP/public_html/suppliers/company code/aggregated_files/
- 목적: FTP 페치를 통해 페치된 업로드된 가져오기/내보내기 파일이 이 디렉토리에 보관됩니다.
- 지속 기간: 파일 시스템에서 디렉토리를 삭제하지 마십시오. 그러나 필요한 경우, 일부 WebSphere Product Center GUI에서 삭제하십시오.
$TOP/public_html/suppliers/company code/tmp_files:
- 목적: 이 디렉토리에 임시 작업 파일을 보관합니다.
- 지속 기간: 이 디렉토리에 파일을 저장하고 규칙적으로 파일을 제거할 것을 권장합니다. 필요에 따라 WebSphere Product Center 다시 시작할 경우 또는 정의된 스케줄에 따라 자동으로 파일을 제거하십시오(예: 2주 이상 된 파일).
$TOP/logs
- 목적: 이 디렉토리에 WebSphere Product Center 미들웨어 로그가 보관됩니다.
- 지속 기간: 로그 레벨에 따라 충분한 디스크 영역을 제공해야 합니다(오류 --> 디버그). 관리자는 이 디렉토리 크기를 완전히 제어할 수 있습니다. 디버그 모드가 필요할 때, 사용 가능한 2-3기가바이트의 디스크 영역을 확보할 것을 권장합니다. 일반 레벨의 일일 로그 값은 자동 제거로 설정될 수 있는 대략 30-40메가바이트의 로그를 생성합니다.
WebSphere Product Center의 기본 설치는 페이지를 캐시하지 않는 프록시 서버를 지정하도록 설정됩니다. 페이지 캐싱이 가능할 경우, 브라우저의 이전 단추를 사용할 수 있는 기능이 엄격하게 제한되며 오류 메시지 및 만기된 페이지가 생성됩니다. 캐싱이 필요하면 GUI 탐색 기능을 사용하고 이전 단추를 사용하지 마십시오.
파일 편집: common.properties
매개변수: no_cache_directive=on/off기본적으로 매개변수는 Off로 설정됩니다.
On으로 설정되면 페이지를 캐시하지 않는 프록시 서버를 지정하도록 응답에 매개변수를 설정하며 브라우저의 이전 단추 기능이 엄격하게 제한됩니다.
Off로 설정되면 브라우저의 이전 단추 기능이 작동하며 이로 인해 오류가 발생하지 않습니다.
하드웨어 스펙은 WebSphere Product Center에서 최적의 성능을 얻기 위해 최상의 실행 정보, 과거 경험 및 용량 요구사항에 따라 선택되어야 합니다.
응용프로그램 서버
WebSphere Product Center의 대부분의 데이터 오브젝트는 데이터베이스 서버 내에 저장됩니다. 이러한 이유로 응용프로그램 서버의 디스크 기억장치는 OS 구성요소, WebSphere Product Center 실행 파일, 써드 파티 구성요소, WebSphere Product Center 임시 작업 파일을 저장하는 데만 사용됩니다.
WebSphere Product Center 미들웨어는 각각 대량의 메모리를 가져올 수 있는 여러 개의 J2EE를 사용합니다. WebSphere Product Center에서는 일반적으로 WebSphere Product Center 미들웨어 인스턴스에 2.5GB를 사용하는 4GB의 메모리가 있는 응용프로그램 서버를 사용할 것을 권장합니다.
데이터베이스 서버
데이터베이스 서버의 크기는 여러 가지 요소에 따라 달라집니다. 여기에는 카탈로그 항목 수, 각 항목과 연관된 속성 수, 카탈로그 속성 크기가 포함될 수 있습니다.
첫 번째 안전 규칙은 속성마다 8KB의 영역을 할당하는 것입니다. 예를 들어, 각각 14개의 속성이 있는 500,000개의 항목이 포함된 카탈로그에는 최소한 56GB의 최소 데이터베이스 기억장치(500,000 항목 x 14 속성 x 8KB)가 필요합니다.
이 영역은 데이터베이스 2진, 세그먼트 실행 취소, 임시 테이블 공간 등에 필요한 영역을 포함하지 않습니다.
권장되는 아키텍처
WebSphere Product Center가 대형 일괄처리 작업을 처리하는 데 사용되는 경우, 백그라운드 트랜잭션을 처리할 선택적 스케줄러 서버 사용 옵션이 권장됩니다.
WebSphere Product Center 설치에 작성된 데이터베이스 사용자 및 암호는 common.properities에 정의되어 있습니다. common.properties 파일을 갱신하지 않고 데이터베이스 사용자의 암호를 변경하면 WebSphere Product Center 미들웨어가 파손됩니다. 데이터베이스 사용자의 암호를 변경해야 할 경우, common.properties에서 등록 정보 db_password를 갱신해야 합니다. 암호 인증은 DB2의 운영 체제 레벨에 있습니다.
데이터베이스 백업 및 복구는 데이터베이스 관리자(DBA)가 수행하는 가장 중요한 조작 중 하나입니다. 이러한 이유로 인해 잘 정의된 백업 및 복구 전략을 구현하는 것이 매우 중요합니다. 다음 백업 전략은 WebSphere Product Center의 최적의 성능을 유지하기 위해 제안됩니다.
물리적 백업
WebSphere Product Center에서는 매일 물리적인 데이터베이스 백업을 수행할 것을 권장합니다. 시스템 중단 시간의 가용도에 따라 오프라인 데이터베이스 물리적 백업(이미지 백업) 또는 온라인 데이터베이스 물리적 백업(최신 백업)을 수행할 수 있습니다. 대부분의 WebSphere Product Center 데이터베이스는 하루 24시간 내내 액세스됩니다. 즉, 데이터베이스의 오프라인 백업을 가져오는 데 필요한 중단 시간이 없을 수도 있습니다. 온라인 데이터베이스 백업을 수행하려면 DB2에서 데이터베이스를 로그 유지 모드로 실행해야 합니다. 온라인 데이터베이스 백업을 수행하여 특정 시간에 데이터베이스를 해당 상태로 복구할 수 있습니다. 자세한 정보는 DB2 제품 문서를 참조하십시오.
논리적 백업
논리적 백업은 데이터베이스에 작성된 스키마 오브젝트에 대한 정보를 저장합니다. DB2의 DB2MOVE 유틸리티를 사용하여 데이터베이스 백업 전략의 추가 보호 및 융통성을 위해 특정 오브젝트를 선택적으로 내보낼 수 있습니다. 데이터베이스 내보내기는 물리적 백업을 대신하지 않으므로 물리적 백업이 제공하는 것과 동일한 복구 장점을 모두 제공할 수는 없습니다. 때로는 논리적 백업은 QA를 설정하거나 프로덕션 데이터로 인스턴스를 테스트하기 매우 쉽습니다. WebSphere Product Center DBM 툴킷에는 WebSphere Product Center 데이터베이스 스키마의 논리적 백업 수행에 관한 WebSphere Product Center 고유의 지시사항도 있습니다.
규칙적으로 데이터베이스 시스템 성능 상태의 확인은 시스템 고가용성에 대한 핵심입니다.
DB2 Health Center 경보 설정
데이터베이스 환경 상태를 모니터하고 필요에 따라 변경하려면 DB2 Health Center를 사용하십시오. Health 모니터는 연속적으로 일련의 Health 표시기를 모니터합니다. 현재 Health 표시기 값이 경고 및 알람 임계값으로 정의된 허용 가능한 작동 범위를 벗어나면 Health 모니터는 Health 경보를 생성합니다. DB2는 나중에 조정할 수 있는 사전 정의된 일련의 임계값과 함께 제공됩니다.
다음은 Health Center로 수행할 수 있는 일부 핵심 타스크입니다.
데이터베이스 환경 상태 보기
인스턴스 또는 데이터베이스의 경보 보기
경보 및 권장 조치에 대한 자세한 정보 보기
특정 오브젝트의 Health 모니터 설정과 오브젝트 유형 또는 인스턴스 내의 모든 오브젝트의 기본 설정 구성
전자 우편 또는 호출기 메시지로 경보를 통지할 담당자 선택
인스턴스의 경보 히스토리 검토
WebSphere Product Center 데이터베이스를 관리하는 데 사용 가능한 여러 가지 DB 관리 스크립트가 있습니다. 이러한 스크립트는 모두 툴킷 양식으로 함께 저장됩니다.
DB2용 툴킷에서 처리하는 여러 타스크는 다음과 같습니다.
- WebSphere Product Center 데이터베이스에서 데이터 제거
- WebSphere Product Center 스키마 분석 및 통계 수집
- WebSphere Product Center 스키마의 논리적 백업 수행
- sysinfo.sql을 사용하여 WebSphere Product Center 데이터베이스의 구성 세부사항 수집
문서 저장소는 모든 수신 및 전송 파일이 저장되는 WebSphere Product Center 내의 영역입니다. 여기에는 가져오기 공급 장치, 스크립트, 보고서 및 스펙 파일이 포함됩니다.
GUI 구조는 데이터베이스에 저장된 파일에 하이퍼링크를 제공하며 이 하이퍼링크는 본질적으로 파일 위치에 대한 포인터입니다.
디렉토리
문서 저장소는 파일 구조 방식으로 표시됩니다. 파일은 다음 문서 저장소 디렉토리에서 액세스할 수 있습니다.
archives
public_html
eventprocessor
schedule_logs
feed_files
scripts
ftp
tmp
params
users
FTP 및 public_html은 문서 저장소로 마운트된 파일 시스템 디렉토리입니다. $TOP/etc/docstore_mount.xml에 정의됩니다. 이 파일은 다양한 OS 파일 시스템 마운트 지점의 위치를 제공합니다.
사용되는 변수는 "$ftp_root_dir" 및 "$supplier_base_dir"으로 common.properties 구성 파일에 정의되어 있습니다.
아키텍처
데이터베이스에는 문서 저장소에 저장된 파일에 대해 설계된 테이블 공간이 있습니다. 파일이 문서 저장소에 저장되면 DB의 새 레코드가 작성됩니다. 데이터베이스는 BLOB(Binary Large Object) 파일로서 파일을 저장합니다.
BLOB 파일은 그림 또는 소리 파일과 같이 데이터베이스에 저장되어야 하는 임의의 대형 비트 블록을 나타냅니다. BLOB에 대한 요점은 데이터베이스 자체 내에서 해석할 수 없는 오브젝트라는 것입니다.
데이터베이스는 데이터베이스 그 자체의 테이블 공간 내에 BLOB를 저장합니다. 이 메소드의 이점은 데이터베이스가 백업 및 복구와 보안 메커니즘과 같은 기타 모든 유형의 테이블 데이터를 보호하는 데이터베이스 서버 메커니즘의 사용입니다.
테이블 공간 관리
공간 관리는 진행 중인 타스크입니다. 문서 저장소 테이블의 크기는 확대되거나 축소됩니다. 인터럽트없이 처리를 진행하려면 대형 2진 파일을 지원하는 데 충분한 공간을 사용할 수 있어야 합니다. 공간이 효율적으로 사용되고 있는지도 확인해야 합니다.
파일 삭제
WebSphere Product Center가 BLOB 파일 및 해당 참조를 삭제하면, 데이터베이스 엔진은 할당된 영역을 해제하지 않고 새 파일의 영역을 재사용합니다.
따라서 파일이 삭제될 때 각 파일은 메모리 블록에 저장되며, 메모리 블록은 새 파일이 추가될 때 재사용됩니다.
선택적 BLOB GZIPing
BOLO에 저장된 문서를 압축하려면 다음을 수행하십시오.
편집할 파일: common.properties
매개변수: gzip_blobs=true/false
- 유효한 값은 true 및 false입니다.
- 값이 없으면 기본값은 false입니다.
- true이면 blob에 저장된 문서가 압축됩니다.
조각 모음
문서 저장소에서 여러 번의 파일 추가 및 삭제로 인해 메모리 블록이 단편화될 수 있습니다. 파일을 자주 작성, 삭제 및 수정하여 디스크를 사용하면 당연히 단편화가 발생합니다.
어떤 경우, 운영 체제는 연속되지 않은 클러스터에 파일의 일부를 저장해야 합니다. 이 경우는 사용자가 완전히 볼 수는 없지만 디스크 드라이브가 하나의 파일을 저장한 여러 부분의 디스크를 검색해야 하므로 데이터에 액세스하는 속도가 느려질 수 있습니다.
문서 저장소 성능을 향상시키려면, compress=y를 사용하여 DBL을 내보낸 후 가져오는 것이 가장 좋습니다. 이 경우는 모든 파일을 하나의 연속된 클러스터로 작성하므로 파일을 가져오는 시간이 증가됩니다.
참고: 테이블 공간 할당에 따라 조각 모음은 규칙적으로 필요하지 않을 수 있습니다. 디스크 속도를 규칙적으로 모니터하여 디스크 영역의 조각 모음이 필요한지 판별하십시오.
문서 저장소 FAQ
문제점: 일단 BLOB가 삭제되면 WebSphere Product Center 속도가 계속 영향을 받습니까?
아닙니다. 일단 행이 삭제되면 느린 문서 저장소 페이지 속도가 향상됩니다.
문제점: 내보내기/가져오기 속도가 느려지는 원인이 되는 공간 할당이 계속됩니까?
그렇습니다. 이를 수정하는 유일한 방법은 compress=y를 사용하여 DBL 테이블을 내보낸 후 가져오는 것입니다.
사용되는 특정 백업 방법 및 소프트웨어는 이 문서의 범위에 해당하지 않지만 백업 개념은 나와 있습니다.
WebSphere Product Center 백업은 WebSphere Product Center가 설치된 파일 시스템 디렉토리 백업과 데이터베이스 백업의 두 가지 구성요소로 구성됩니다.
WebSphere Product Center 백업
WebSphere Product Center를 백업하려면, common.properties에 정의된 대로 $TOP 디렉토리를 간단히 백업하십시오. 파일이 이러한 디렉토리를 변경하지 않으므로 일일 백업이 권장됩니다. 일반 전체 백업 및 일일 증가 백업으로 구성된 백업 스케줄 설정이 권장됩니다.
데이터베이스 백업
데이터베이스 백업 방식은 내보내기, 최신 백업, 콜드 백업, 미러링 등과 같이 사용 가능한 방법의 다양함으로 인해 이 문서에서는 다루지 않습니다. 선택한 방식이 무엇이든지 common.properties에 정의된 대로 WebSphere Product Center 데이터베이스 사용자의 스키마는 백업되어야 하는 모든 것입니다.
WebSphere Product Center 실행에 데이터베이스를 사용할 수 있어야 하므로, 일일 온라인 또는 '최신' 백업을 사용할 것을 권장합니다. 내보내기 또는 오프라인 백업도 규칙적으로 수행해야 합니다.
데이터베이스 백업에 대한 자세한 정보는 "데이터베이스 백업" 절을 참조하십시오.
복구
복구는 WebSphere Product Center 및 지원 파일 복구와 데이터베이스 복구의 두 가지 카테고리로 나눌 수 있습니다.
WebSphere Product Center 및 지원 파일을 복구하려면 간단히 누락 파일 및 디렉토리를 원래 위치로 복원한 후 WebSphere Product Center를 시작하십시오.
데이터베이스를 복구하려면 다음 단계를 수행하십시오.
- 응용프로그램 서버 종료
- WebSphere Product Center 미들웨어 종료
- 스키마 복원
- WebSphere Product Center 미들웨어 시작
- 응용프로그램 서버 시작
WebSphere Product Center는 WebSphere Product Center 내의 문제점을 해결하는 데 사용할 수 있는 로그를 생성하는 사전에 구성된 파일을 제공합니다. 이 문서에서는 로깅 메커니즘 개요를 제공하며 로그 파일 설정 방법을 설명합니다.
다음 파일은 전체 WebSphere Product Center 내의 다양한 서브시스템을 제어합니다. 생성된 로그 위치는 각 파일에 정의됩니다.
참고: 모든 경로는 $TOP에 상대적입니다.
/etc/logs/eventprocessor.log.xml
/etc/logs/scheduler.log.xml
/etc/logs/system.log.xml
/etc/logs/appsvr.log.xml
/etc/logs/workflowengine.log.xml
런타임 생성 로그는 오류를 볼 수 있으며, 문제점이 WebSphere Product Center 또는 내부 지원 하부 구조와 관련된 경우 문제점을 해결하는 데 도움을 줍니다.
WebSphere Product Center에서 생성된 로그 파일은 $TOP/logs/*.log에 저장됩니다.
WebSphere Product Center 로그 파일의 등록 정보는 필요에 따라 편집될 수 있습니다(예: 위치, 최대 크기, 형식). 다음 절은 로그를 구성하고 WebSphere Product Center 로그 파일을 구성할 때 사용할 수 있는 값 목록을 제공하는 데 사용되는 요소에 대해 설명합니다.
위치 변경
참고: 파일 및 롤링 추가에만 적용됩니다.
생성된 로그 파일 위치를 변경하려면 지정된 로그 구성 파일 매개변수를 변경하십시오.
예를 들어, 다음과 같습니다.
<param name="File" value="${TOP}/logs/webserver_db.log " />
파일 크기 변경
참고: 롤링 추가에만 적용됩니다.
로그 파일 크기는 출력의 최상의 순서의 출력 순환 및 제거를 시작하기 전에 지정된 기억장치 크기로 설정될 수 있습니다. 파일이 자르기를 시작하는 시기를 제어하려면 로그 파일 크기 매개변수 값을 변경하십시오.
예를 들어, 다음과 같습니다.
<param name="maxFileSize" value="10MB" />
파일 백업 옵션 변경
참고: 롤링 추가에만 적용됩니다.
로거는 로그 파일에 대해 지정된 수의 백업을 유지하도록 정의할 수 있습니다. 최대값에 도달하면 가장 오래된 파일이 버려집니다.
예를 들어, 다음과 같습니다.
<param name="maxBackupIndex" value="2" />
변환 패턴 변경
로그의 레이아웃 구성은 변환 패턴을 재정의하여 변경할 수 있습니다.
예를 들어, 다음과 같습니다.
<param name="ConversionPattern" value=
"%d [%t] %-5p %c (%F:%L) %x- %m%n"/>변환 패턴은 C의 printf 함수의 변환 패턴과 밀접한 관련이 있습니다. 변환 패턴은 리터럴 텍스트와 변환 지정자라고 하는 형식 제어 표현식으로 구성되어 있습니다.
참고: 변환 패턴 내에서 리터럴 텍스트를 마음대로 삽입할 수 있습니다.
각 변환 지정자는 퍼센트 부호 "%"로 시작되며 그 다음에 선택적으로 형식 수정자 및 변환 문자가 옵니다.
% (형식 수정자)(변환 문자)
예:
%-5p [%t]: %m%n
- 형식 수정자는 필드 너비, 채우기, 왼쪽 및 오른쪽 정렬 등을 제어합니다.
- 변환 문자는 데이터 유형(예: 카테고리, 우선순위, 날짜 및 스레드 이름)을 지정합니다.
기본적으로 관련 정보는 현상태대로 출력됩니다. 그러나 형식 수정자를 지원하면 최소 필드 너비, 최대 필드 너비 및 정렬을 변경할 수 있습니다.
선택적 형식 수정자는 퍼센트 부호와 변환 문자 사이에 위치합니다. 예에서 변환 지정자
%-5p는 로깅 이벤트 우선순위가 5자의 너비로 왼쪽으로 정렬되어야 함을 의미합니다.첫 번째 선택적 형식 수정자는 마이너스(-) 문자인 왼쪽 정렬 플래그입니다. 그 다음에는 선택적 최소 필드 너비 수정자가 옵니다. 이는 출력할 최소 문자 수를 나타내는 10진 상수입니다. 데이터 항목에 더 적은 수의 문자를 요구하면 최소 너비에 도달할 때까지 왼쪽 또는 오른쪽으로 채워집니다.
기본값은 왼쪽(오른쪽 정렬)으로 채우는 것이지만 왼쪽 정렬 플래그로 오른쪽 채우기를 지정할 수 있습니다. 채우기 문자는 공백입니다. 데이터 항목이 최소 필드 너비보다 더 크면 필드는 데이터에 맞게 확장됩니다. 값은 자르지 못합니다.
이 작동은 최대 필드 너비 수정자를 사용하여 변경될 수 있으며, 이 수정자는 10진 상수가 뒤에 오는 점으로 지정되어 있습니다. 데이터 항목이 최대 필드보다 길면 여분의 문자는 끝이 아니라 데이터 항목의 시작부터 제거됩니다.
예를 들어, 최대 필드 너비가 8자이고 데이터 항목이 10자이면 데이터 항목의 처음 2자가 제거됩니다.
참고: 이 작동은 끝부터 절단되는 C에서의 printf 함수에서 벗어납니다.
다음 페이지에는 변환 지정자를 정의하기 위해 사용되는 값이 나와 있습니다.
다음은 카테고리 변환 지정자에 대한 다양한 형식 수정자의 예입니다.
형식 수정자
왼쪽 정렬
최소
최대 너비
주석
%20c
False
20
없음
카테고리 이름 길이가 20자보다 짧으면 왼쪽이 공백으로 채워집니다.
%-20c
True
20
없음
카테고리 이름 길이가 20자보다 길면 오른쪽이 공백으로 채워집니다.
%30c
NA
없음
30
카테고리 이름이 30자보다 길면 시작부터 잘립니다.
%20.30c
False
20
30
카테고리 이름이 20자보다 짧으면 왼쪽이 공백으로 채워집니다. 그러나 카테고리 이름이 30자보다 길면 시작부터 잘립니다.
%-20.30c
True
20
30
카테고리 이름이 20자보다 짧으면 오른쪽이 공백으로 채워집니다. 그러나 카테고리 이름이 30자보다 길면 시작부터 잘립니다.
다음은 인식되는 변환 문자 목록입니다.
변환 문자
결과
c
로깅 이벤트의 카테고리를 출력하는 데 사용됩니다. 정밀도 지정자는 선택적으로 카테고리 변환 지정자 다음에 올 수 있으며, 이 지정자는 대괄호로 묶인 10진 상수입니다.
정밀도 지정자가 제공되면 카테고리 이름의 가장 오른쪽 구성요소에 해당하는 숫자가 인쇄됩니다. 기본적으로 카테고리 이름은 전부 인쇄됩니다.
예를 들면, 카테고리 이름 "a.b.c"의 경우 패턴 %c{2}는 "b.c"를 출력합니다.
d
로깅 이벤트의 날짜를 출력하는 데 사용됩니다. 중괄호 안에 들어 있는 날짜 형식 지정자는 날짜 변환 지정자 다음에 올 수 있습니다.
예: %d{HH:mm:ss,SSS} 또는 %d{dd MMM yyyy HH:mm:ss,SSS}. 날짜 형식 지정자가 제공되지 않으면 ISO8601 형식이 사용됩니다.
날짜 형식 지정자는 SimpleDateFormat의 시간 패턴 문자열과 동일한 구문을 허용합니다. 표준 JDK의 일부인 경우에도 SimpleDateFormat의 성능은 아주 부족합니다.
더 나은 결과를 위해서는 log4j 날짜 형식기 사용을 권장합니다. 이는 AbsoluteTimeDateFormat, DateTimeDateFormat 및 ISO8601DateFormat을 지정하기 위해 각각 "ABSOLUTE", "DATE" 및 "ISO8601" 문자열 중 하나를 사용하여 지정할 수 있습니다. 예: %d{ISO8601} 또는 %d{ABSOLUTE}.
이러한 전용 날짜 형식기는 SimpleDateFormat보다 훨씬 더 잘 수행됩니다.
m
로깅 이벤트와 연관된 WebSphere Product Center 제공 메시지를 출력하는 데 사용됩니다.
n
플랫폼 종속 행 분리 문자 또는 문자 세트를 출력합니다.
이 변환 문자는 실질적으로 "\n" 또는 "\r\n"과 같은 이동할 수 없는 행 분리 문자열 사용과 동일한 성능을 제공합니다. 따라서 행 분리를 지정하는 데 선호하는 방법입니다.
p
로깅 이벤트의 우선순위를 출력하는 데 사용됩니다.
r
로깅 이벤트를 작성할 때까지 WebSphere Product Center 시작 이후에 경과되는 밀리초 수를 출력하는 데 사용됩니다.
t
로깅 이벤트를 생성한 스레드 이름을 출력하는 데 사용됩니다.
x
로깅 이벤트를 생성한 스레드와 연관된 NDC(nested diagnostic context)를 출력하는 데 사용됩니다.
%
%% 조합은 하나의 퍼센트 부호를 출력합니다.
다음 예는 WebSphere Product Center 로그 파일이 정의되는 방법을 증명합니다. 굵은체의 항목은 WebSphere Product Center 로그 파일의 구성을 설정합니다.
<!-- basic ASYNC appender -->
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
<appender-ref ref="DEFAULT"/>
</appender>
<!-- basic CONSOLE appender. This is the same as doing system.out-->
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- simple FILE appender. The file will be opened and if append is true -->
<!-- it will not be truncated -->
<appender name="DEFAULT" class="org.apache.log4j.FileAppender">
<param name="File" value="${TOP}/logs/tomcat_default.log " />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- Rolling FILE appender. The file will be opened and if append is true -->
<!-- it will not be truncated -->
<!-- maxFileSize: How big before you rotate -->
<!-- maxBackupIndex: How many backups do you keep? -->
<appender name="DB" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="${TOP}/logs/tomcat_db.log " />
<param name="Append" value="true" />
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="2" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c (%F:%L) %x- %m%n"/>
</layout>
</appender>
<!-- For the austin.db category, you want to have only a few logs kept hence -->
<!-- the rollingappender -->
<category name="austin.db" additivity=" false">
<priority value="INFO" />
<appender-ref ref="DB" />
</category>
<!-- ROOT CATEGORY -->
<!-- MUST ALWAYS BE LAST ENTRY AND HAVE AN APPENDER-->
<!-- If a logging event is not caught by any other logger it will be handled by this-->
<!-- rule. -->
<root>
<priority value="error"/>
<appender-ref ref="DEFAULT"/>
</root>
</log4j:configuration>
WebSphere Product Center의 맞춤법 검사 기능은 써드 파티 제품인 WinterTree의 "Sentry Spell Checking Engine" 프레임워크를 사용하여 사용할 수 있습니다. 그러므로 WebSphere Product Center는 맞춤법 검사기 기능과 함께 번들로 제공되지 않으며 맞춤법 검사 기능을 사용 가능하게 하려면 WinterTree Software의 Spelling Service Engine 버전 5.10이 필요합니다.
참고: WebSphere Product Center에서 철자 검사 기능을 사용하려면 전제조건으로 Wintertree Sentry Spelling Checker Engine Java SDK 5.10이 필요합니다.
이 릴리스에서 맞춤법 검사기 기능을 사용 가능하게 한 경우, 사용자는 항목 세부사항 및 단일 편집 컨텐츠 권한 부여 화면 내에서만 맞춤법 검사를 수행할 수 있습니다. 다중 편집 또는 대량 편집 화면에서 맞춤법 검사기 기능에 대한 지원은 차후 릴리스에서 사용 가능합니다.
이 문서에서는 WebSphere Product Center가 런타임 시 WinterTree Software의 Spelling Service Engine 버전 5.10에 대해 작동하게 하는 데 필요한 구성 설정을 설명합니다.
WinterTree Spelling Engine Runtime 구성을 위해 WebSphere Product Center를 구성하려면 다음과 같은 세 가지 등록 정보 파일을 변경해야 합니다.
참고: 모든 등록 정보 파일을 변경했으면 WebSphere Product Center를 재시작하여 Runtime Spelling Engine 구성 매개변수를 적용하십시오.
common.properties
위치: <WPC5.2_INSTALL_DIR>/etc/default/common.properties 파일
값: 다음과 같은 등록 정보 값을 포함하도록 common.properties 파일을 편집하십시오.
spell_check=true (Spelling Engine을 사용 가능하게 함)
spell_check_vendor=wintertree (Spell Engine 벤더를 WinterTree
SSCE로 설정)
spell_check_vendor_class=common.plugins.wintertree.WinterTreePlugin (Wintertree SSCE
플러그인 설정)
spell_license=<license_key> (<license_key> 등록 정보에
WinterTree로부터 Spelling Engine 버전 5.10을 위해 구입한 소프트웨어의 라이센스 키 값 입력)
spellservice.properties
위치: <WPC5.2_INSTALL_DIR>/etc/default/plugins/wintertree/spellservice.properties 파일
값: MainLexicon<n> 등록 정보에 대해 <WINTERTREE_INSTALL_DIR>이 발생할 때마다 시스템에서 WinterTree Spelling Engine Software가 설치된 위치로 바꾸십시오. Lexicons/Dictionaries 및 Spelling Engine 런타임 등록 정보가 구성됩니다.
ccd.rc
위치: <WPC5.2_INSTALL_DIR>/setup/ccd.rc 파일
<WPC_INSTALL_DIR>/jars/ssce.jar에서부터 <WINTERTREE_INSTALL_DIR>/runtime/lib에 위치한 ssce.jar이라는 설치된 WinterTree jar 파일에 대한 기호 링크를 작성하십시오. 아래 예제에 표시된 대로 주석 기호가 해제된 행을 이 파일에 추가하여 이를 달성할 수 있습니다.
예:
- AddJar $JARDIR/ssce.jar
LDAP(Lightweight Directory Access Protocol) 통합은 WebSphere Product Center에 다음과 같은 세 가지 작동 포인트를 도입하여 WebSphere Product Center의 보안 하부 구조를 개선합니다.
LDAP 통합은 인증 목적으로 써드 파티 LDAP 시스템을 사용하는 기능을 제공합니다. 권한 부여에 써드 파티 LDAP 기능 사용과 관련하여 발생하는 복잡한 경우, WebSphere Product Center 5.2에서 사용 가능한 기존 권한 부여 하부 구조를 사용하여 LDAP 사용자를 권한 부여하는 반면 인증은 LDAP의 범주에 있게 됩니다. WPC에 LDAP 사용자 및 역할의 부여는 둘 다 런타임 조작이며 사용자/시스템 호출 스크립트 조작에 기반합니다. WebSphere Product Center의 LDAP 사용자는 LDAP 플래그를 사용하여 구분합니다.
LDAP를 WebSphere Product Center와 통합함으로써 다양한 (내부 및 외부) 역할에 대한 권한 부여가 필요한 1000여 명의 임시 사용자를 지원할 수 있는 개선된 보안 권한 부여 하부 구조가 제공됩니다. 예를 들어, 카테고리 관리자는 내부 역할이며 보조 브랜드 관리자는 외부 역할입니다.
WebSphere Product Center 5.2의 경우, LDAP 통합은 IBM Tivoli Directory Server 버전 5.2(LDAP v3을 지원하는)에서만 인증되었습니다. 그럼에도 구현은 확장 가능하며 다음과 같은 LDAP 서버에 대해 작동합니다. Sun Java System Directory Server 5.2, Weblogic 8.1 – Embedded LDAP Server 및 Novell® eDirectory™ 8.7.3.
참고: 이 릴리스에서는 단일 서명 기능을 지원하지 않습니다. 단일 서명은 차후 릴리스에서 구현할 예정입니다.
사용자가 세션에서 인증되는 경우 사용자는 세션이 끝날 때까지 사용자 ID가 해당 기간 동안 변경(예, 역할, 암호 등의 변경) 되더라도 계속해서 인증을 받습니다.
이 릴리스에서 LDAP 입력 검색의 로케일 특정 문자열 발췌는 아직 인증되지 않았습니다.
LDAP 사용자 및 Product Center 사용자를 구분하는 새 LDAP 플래그를 도입한 결과, WPC USER ENTITY의 스키마가 변경되었습니다.
이 섹션은 IBM Tivoli Directory Server 버전 5.2의 LDAP와 WebSphere Product Center 5.2를 통합하기 위해 수행해야 하는 작업을 설명합니다. IBM Tivoli Directory Server 버전 5.2가 제대로 설치되었다고 가정합니다. LDAP의 구성에는 IBM Tivoli Directory Server 버전 5.2의 사용자 및 역할에 대해 구성된 LDAP 스키마가 필요합니다.
LDAP를 WebSphere Product Center와 통합하려면, 다음을 수행하십시오.
1. LDAP 구성에 맞게 패키지된 구성 파일의 위치 확인
2. IBM Tivoli Directory Server 버전 5.2에 대한 사용자 및 역할에 맞게 LDAP 스키마 구성
3. LDAP 구성 파일 편집
4. WebSphere Product Center에서 LDAP 플랫 사용
5. WebSphere Product Center 재시작
<WPC5.2_INSTALL_DIR>/etc/default/ldap_config.xml
새 범주 작성
1. 범주 및 템플리트 > 범주 추가 메뉴 경로를 사용하여 IBM Tivoli Directory Server 웹 관리 도구로부터 새 범주를 작성하십시오.
2. 모든 필수 필드 작성을 완료하십시오.
3. 오브젝트 클래스 도메인을 상위 DN으로 선택하십시오.
예를 들어, 다음과 같습니다.상대 DN 상위 DN
cn=myrealm dc=wpcdomain.dc=isl.dc=com새 사용자 템플리트 작성
1. 범주 및 템플리트 > 사용자 템플리트 추가를 클릭하여 IBM Tivoli Directory Server 웹 관리 도구로부터 새 사용자 템플리트를 작성하십시오.
2. 위에서 작성한 범주 입력을 상위 DN으로 입력하십시오. 조직 오브젝트 클래스를 inetOrgPerson으로 선택하십시오.
3. 다음과 같은 필수 속성을 모두 포함하도록 필수 속성 탭을 편집하십시오.
- Cn
- Sn
- Uid (네이밍 속성)
- TelephoneNumber
- TelexNumber
- postalAddress
4. 범주 및 템플리트 > 범주 관리 > 편집 메뉴 경로를 사용하여 해당 사용자 템플리트를 위에서 작성한 범주와 연관시키십시오.
예를 들어, 다음과 같습니다.
상위 DN
dc=wpcdomain,dc=isl,dc=com
cn=mytemplate,dc=wpcdomain,dc=isl,dc=com
새 사용자 작성1. 사용자 및 그룹 > 사용자 추가 메뉴 경로를 사용하여 IBM Tivoli Directory Server 웹 관리 도구로부터 새 사용자를 작성하십시오.
2. 해당 사용자에 대한 범주로 위에서 작성한 범주를 선택하십시오.
3. 위에서 언급한 모든 속성을 포함하도록 "필수" 속성 탭을 입력하십시오.
새 그룹 작성
1. 사용자 및 그룹 > 그룹 추가 메뉴 경로를 사용하여 IBM Tivoli Directory Server 웹 관리 도구로부터 새 그룹을 작성하십시오.
2. 해당 그룹에 대한 범주로 위에서 작성한 범주를 선택하십시오. 그룹에 대한 오브젝트 클래스는 groupOfNames입니다.
3. 사용자를 그룹과 연관시키십시오.
LDAP를 WebSphere Product Center와 통합하려면 다음과 같은 LDAP 구성 파일이 필요합니다.
<WPC5.2_INSTALL_DIR>/etc/default/ldap_config.xml
괄호 안에 표시된 값을 해당하는 LDAP 설치 값으로 바꾸어 런타임 LDAP 인증에 대하여 ldap_config.xml 파일을 편집하십시오.
<?xml version="1.0" encoding="UTF-8"?>
<LdapConfiguration>
<connectionInfo>
<connectionParam name = "java.naming.provider.url"> (Enter the LDAP server URL)</connectionParam>
<connectionParam name = "java.naming.security.principal">(Enter username for logging into LDAP server)</connectionParam>
<connectionParam name = "java.naming.security.credentials">(Enter password for logging into LDAP server)</connectionParam>
<connectionParam name = "java.naming.security.authentication">simple</connectionParam>
<connectionParam name = "java.naming.referral">follow</connectionParam>
<connectionParam name = "java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</connectionParam>
<connectionParam name = "java.naming.ldap.version">3</connectionParam>
</connectionInfo>
<RoleMapping>
<Object name = "Role Class">groupOfNames</Object>
</RoleMapping>
<WPCUserCredentialMappings ParentDN="(Key in the base DN for the User Objects)" ObjectClass="inetOrgPerson">
이 예의 경우 기본 DN은 다음과 같습니다. cn=myrealm,dc=wpcdomain,dc=isl,dc=com
<WPCUserParam name = "UserName">uid</WPCUserParam>
<WPCUserParam name = "FirstName">cn</WPCUserParam> >
<WPCUserParam name = "LastName">sn</WPCUserParam> >
<WPCUserParam name = "Email">mail</WPCUserParam> >
<WPCUserParam name = "Address">postalAddress</WPCUserParam> >
<WPCUserParam name = "Phone">telephoneNumber </WPCUserParam>
<WPCUserParam name = "Fax"> TelexNumber</WPCUserParam> >
</WPCUserCredentialMappings>
</LdapConfiguration>
WebSphere Product Center common.properties 파일에서 LDAP 플래그를 사용 가능 상태로 만드십시오.
예를 들어, 다음과 같습니다.
enable_ldap=true
이전의 네 단계를 완료하여 LDAP를 구성한 후에는 WebSphere Product Center를 다시 시작하십시오.
- 로그 파일 분석
- netstat
- ps
- kill
- svrmgrl 또는 sqlplus
- telnet
- jar
- tar
- gunzip
- 웹 및 응용프로그램 서버에 대한 수퍼유저 액세스는 필수입니다.
환경 문제
응용프로그램 서버의 WebSphere Product Center 의사 사용자에게는 WebSphere Product Center를 시작하기 전에 구성된 다음과 같은 환경 변수가 있어야 합니다.
- TOP: WebSphere Product Center 설치의 맨 위 디렉토리
- DB2_HOME: DB2 클라이언트 2진에 필수
- JAVA_HOME: JDK에 필수
- PATH: $DB2_HOME/bin을 포함해야 하며 $JAVA_HOME/bin을 포함해야 합니다.
추가로 init_ccd_vars.sh 쉘 스크립트는 WebSphere Product Center가 시작되기 전에 출처를 명시해야 합니다. 사용자의 .bashrc 파일에서 수행됩니다.
CLASSPATH 환경 변수는 init_ccd_vars.sh 출처를 명시한 후에 수정되어야 합니다.
일반적으로 잘못된 구성 파일 설정
- common.properties
대부분의 공통 오류는 common.properties의 잘못된 데이터베이스 지정자입니다. 잘못 구성된 데이터베이스에는 다음과 같은 증상이 있습니다.
appsvr, eventprocessor, queuemanager, scheduler 및 workflowengine이 시작되지 않습니다.
로그 파일 logs/db_pool 및 logs/svc/에 오류
smtp_address. Smtp_address는 SMTP 릴레이와 localhost의 sendmail 또는 구성 외부로 전자 우편을 전송할 수 있는 또 다른 시스템을 가리켜야 합니다.
- 라이센스 파일
라이센스 파일(WPC_license.xml)이 누락되었거나 잘못된 경우 서비스는 시작되지 않습니다. 이 오류는 logs/svc 아래의 로그 파일에 반영됩니다.
응용프로그램 서버 무응답
시나리오
응용프로그램 서버가 완전히 무응답 상태가 됩니다. 서버를 핑할 수 있더라도 사용자가 환경으로 로그인할 수 없으며, 관리자는 응용프로그램 서버로 로그인할 수 없습니다.
확인할 사항:
사용자가 최근에 매우 큰 작업을 실행했는지 확인하십시오. 작업이 계획된 것인 경우, 작업에 사용된 스크립트를 확인하십시오.
1. 데이터 내보내기/가져오기 중에 문자 변환
2. 데이터베이스 영역 할당 문제점
3. 데이터 블록 손상 및 색인 손상 문제점
4. 오랜 기간의 시간 후에 상태 표시줄이 변경되지 않고 가져오기 또는 내보내기 정지
5. 실행 중인 작업을 종료(kill)시키면 응용프로그램이 매우 느려짐
6. 로그 전환 다시 실행 문제점
7. WebSphere Product Center 미들웨어 정비 및 GUI 고정
8. 스키마 작업 정지 분석
9. SQL 연결 자동 다시 시작
1. 데이터 내보내기/가져오기 중에 문자 변환
문제
데이터베이스 내보내기/가져오기 중에 데이터베이스 사본을 사용하여 테스트 환경을 작성할 때, 사용된 문자 세트에 관한 오류 메시지가 표시됩니다.
증상
예를 들어, US7ASCII 문자 세트를 사용하는 데이터베이스를 내보내면, 내보내기 로그에 다음 오류 메시지가 표시됩니다.
US7ASCII 문자 세트 및 UTF8 NCHAR 문자 세트, 서버에서 수행된 내보내기에서는 UTF8 문자 세트(가능한 문자 세트 변환)를 사용합니다.
해결책
데이터베이스를 내보내거나 가져올 때마다 NLS_LANG 매개변수를 american_america.utf8 문자 세트를 사용하도록 설정하십시오.
2. 데이터베이스 영역 할당 문제점
문제
이따금 내보내기 및 가져오기 작업은 테이블, 색인, 롤백 세그먼트 및 임시 세그먼트에 할당된 불충분한 영역으로 인해 실패합니다.
증상
롤백 세그먼트 또는 롤백 세그먼트 테이블 공간이 가득 차면, 아래에 표시된 다음 오류 메시지와 유사한 경보 로그 파일의 오류 메시지가 표시됩니다.
ORA-1650: 테이블 공간 RBS에서 롤백 세그먼트 RBS8을 512로 확장할 수 없습니다.
롤백 세그먼트 9 세트의 1650 조건 FULL 상태로 인해 롤백 세그먼트를 확장하지 못했습니다.
해결책
- 테이블 공간에 사용 가능한 공간이 있는지 확인하십시오. 더 큰 작업의 경우 롤백 및 임시 세그먼트에 추가 공간이 필요할 수 있습니다.
- 데이터베이스의 공간 문제와 관련된 오류가 생성되었는지 알려면 매일 데이터베이스의 경보 로그 파일을 확인하십시오.
3. 실행 중인 작업이 종료되면 WebSphere Product Center 속도 저하
문제
가져오기 또는 내보내기와 같은 작업을 종료시킬 때마다, 데이터베이스 시스템은 데이터베이스를 일관된 상태로 가져오기 위해 완전한 트랜잭션을 롤백해야 합니다. 이 롤백 프로세스는 CPU 시간 및 메모리와 같은 최대 시스템 자원을 사용합니다.
증상
WebSphere Product Center 미들웨어는 일단 실행 중인 작업이 종료되면 느려집니다.
해결책
롤백이 완료되어 시스템이 정상 상태로 돌아갈 때까지 기다리십시오. 필요한 경우를 제외하고는 실행 중인 작업을 종료시키지 마십시오.
4. 다시 실행 로그 전환 문제점
문제
로그 파일의 부적합한 수/크기로 인해 데이터베이스 시스템이 로그 전환을 위해 오랫동안 기다리게 될 수 있습니다.
증상
데이터베이스 시스템은 로그 전환 및 모든 다시 실행 로그 파일이 활성화된 경우 오랜 시간 기다리게 됩니다.
해결책
- 로그 파일 수를 늘리십시오.
- 다시 실행 로그 파일 크기를 늘리십시오.
5. WebSphere Product Center 미들웨어 정지 및 GUI 고정
문제
WebSphere Product Center 미들웨어에 액세스할 때 오류가 발생하는 경우, 데이터베이스에 대한 연결이 끊어졌을 수 있습니다.
증상
WebSphere Product Center 미들웨어가 멈췄거나 계속 대기 상태에 있습니다. WebSphere Product Center 미들웨어에 액세스하려면 오류가 나타납니다.
해결책
- 리스너 프로세스 상태를 확인하십시오.
- 데이터베이스 또는 WebSphere Product Center 미들웨어 화면에 대한 연결을 설정할 수 없을 때마다 데이터베이스 상태를 확인하십시오.
6. 스키마 작업 정지 분석
문제
대량의 데이터를 데이터베이스로 로드하거나 데이터베이스에서 테이블을 제거할 때 이따금 스키마를 분석할 것을 제안합니다.
WebSphere Product Center 미들웨어는 스키마 분석을 실행하기 전에 중지되어야 합니다. 미들웨어가 중지되지 않으면 스키마 분석 작업은 테이블을 미들웨어에서 사용하고 있으므로 정지될 수 있습니다.
증상
WebSphere Product Center는 스키마 분석을 실행할 때 정지됩니다.
해결책
스키마 분석을 정지하면, 분석 작업을 종료하고, WebSphere Product Center 미들웨어를 중지하며, 스키마를 다시 분석한 후 WebSphere Product Center를 시작하십시오.
규칙적인 간격으로 스키마를 분석하여 데이터베이스의 데이터 배포에 관한 최신 통계를 수집하십시오.
시스템 로그 파일을 모니터 및 검토하면 많은 문제점을 진단하고 해결하는 데 도움을 줄 수 있습니다.
참고: 이 장은 다음 문서 버전에서 확대될 예정입니다. 로그 파일 사용 및 문제점 해결 기술에 대한 자세한 정보가 제공될 예정입니다.
HTTP 게시 오류
HTTP 게시 오류가 발생하면 다음 사항을 확인하십시오.
1. WebSphere Product Center 상자에서 대상 목적지를 볼 수 있습니까?
- "Lynx"와 같은 Linux/Unix http 브라우저를 사용한 후 WebSphere Product Center 미들웨어 URL을 입력하여 대상에 액세스할 수 있는지 보십시오.
- WebSphere Product Center 서버에서 브라우저를 사용할 수 없으면, 목적지의 포트 80에 텔넷을 시도하십시오. 예를 들어, 목적지 URL이 http://myserver/<urlname>이면, "telnet myserver 80"를 입력하십시오(포트 80은 대부분 웹 서버의 기본 http 포트).
2. WebSphere Product Center에서 목적지를 볼 수 있는 경우, WebSphere Product Center 분배 프로그램이 제대로 작동합니까?
- $TOP/public_html/created_files/distributor에 새 파일이 있는지 확인하십시오. 파일을 넣으려고 할 때 파일에 근접한 시간 소인이 있는지 확인하십시오.
- 런어웨이 스크립트가 잘못된 출력 파일을 생성했을 수도 있습니다. 파일 크기를 확인하십시오. 파일 크기가 예상한 파일 크기와 일치합니까? 파일이 XML이거나 읽기 가능한 파일이면, 입력하십시오. 사용자가 예상했던 올바른 정보가 포함되어 있습니까?
3. 파일이 존재하는 경우, 전송이 진행 중입니까?
- 여러 도구를 사용하여 실제 전송이 진행 중인지 알 수 있습니다. 최소한, "netstat" 및 "snoop"(Solaris에서) 또는 "tcpdump"(Linux에서)의 조합을 사용해야 합니다.
- 기대값을 관리하십시오. 파일 크기가 300MB이고 인터넷을 통해 URL에 게시할 경우, 파일은 인터넷 연결의 최고 속도로만 이동할 수 있습니다.
FTP 페치 오류
WebSphere Product Center에서 대상 FTP 서버에 로그인을 시도했으나 지정된 디렉토리를 찾지 못해 실패한 경우 "원격 디렉토리로 변경할 수 없습니다" 오류가 발생합니다.
이 오류에는 두 가지 이유가 있습니다.
- WebSphere Product Center 서버에서 대상 FTP 주소에 액세스할 수 없습니다. WebSphere Product Center 서버에서 대상 FTP로 직접 FTP를 시도한 후 파일 전송을 검증하십시오.
- 사용된 파일 이름이 잘못되었을 수 있습니다. 대문자 사용 및 철자 오류를 확인하십시오.
Java 연결성 테스트
JDBC URL은 common.properties 파일에 정의되어 있습니다. WebSphere Product Center 미들웨어에서 JDBC URL로의 Java 연결성을 테스트하려면, 다음 스크립트를 사용하여 Java 연결성을 테스트하십시오.
$TOP/bin/test_java_db.sh
스크립트에서는 데이터베이스에 연결한 후 단순히 'select count(*) from dual'을 실행하려고 합니다. 연결이 설정되면, 테스트 스크립트의 결과가 표시됩니다.
WebSphere Product Center 중지 및 다시 시작
Linux/Solaris에서 일반 중지 스크립트를 사용할 때 문제가 보고되었습니다. WebSphere Product Center가 올바르게 중지되지 않습니다. 이 경우, 다음 단계를 수행하여 WebSphere Product Center를 중지한 후 시작하십시오.
1. 다음 스크립트를 실행하여 WebSphere Product Center를 천천히 정지하도록 하십시오.
$TOP/bin/go/stop_local.sh
2. 약 1분 정도 기다린 후에 다음 명령을 입력하십시오.
ps –u (USERNAMEWITHOUT THE PARANTHESIS)
3. 활성화된 Java 프로세스가 있으면, 스케줄된 작업은 여전히 진행 중일 수 있습니다. 필요한 경우, 작업을 완료하도록 하십시오. 그렇지 않으면 다음 스크립트를 사용하여 수동으로 중지하십시오.
$TOP/bin/go/abort_local.sh
4. 약 30초 정도 기다린 후에 다음 명령을 입력하십시오.
ps –u (USERNAMEWITHOUT THE PARANTHESIS)
5. 활성화된 Java 프로세스가 계속되면, JVM은 손상될 수 있습니다. 다음 명령을 사용하여 Java 프로세스를 수동으로 종료해야 합니다.
kill `ps -u (USERNAMEWITHOUT THE PARANTHESIS)
| grep java | cut -b10-15`참고: Java 프로세스가 여전히 존재하면 시스템을 다시 시작해야 할 수도 있습니다.
6. 일단 모든 Java 프로세스가 종료되었으면, 다음 스크립트를 사용하여 WebSphere Product Center를 다시 시작하십시오.
$TOP/bin/go/start_local.sh
7. 약 1분 정도 기다린 후에 WebSphere Product Center가 올바르게 시작되었는지 검증하십시오. 스크립트 $TOP/bin/go/rmi_status.sh를 실행하거나 WebSphere Product Center 환경에 로그인하십시오.
WebSphere Product Center 버전 4.2.0.x를 버전 5.2로 이주할 때 이주 프레임워크를 사용할 수 있습니다. WebSphere Product Center 5.0 및 5.1에서 5.2로 이주할 때 사용할 이주 프레임워크는 나중에 제공됩니다. 5.0 및 5.2 릴리스 간에는 알려진 핵심 변경사항이 거의 없으므로 필요한 경우 수동으로 이주를 수행할 수 있습니다. 자세한 정보는 WebSphere Product Center 담당자에게 문의하십시오.
4.2.0.x에는 WebSphere Product Center에서 특정 회사에 대한 모든 오브젝트의 내보내기 및 가져오기를 도와주는 웹 스크립트가 있습니다.
내보내기
가져오기
위의 스크립트는 4.2.0.x 버전의 모든 WPC 오브젝트를 zip 파일로 쉽게 내보내도록 합니다. zip 파일을 5.2로 가져와서 이주 활동을 수행합니다.
다음과 같은 두 가지 방법으로 WPC 4.2.0.x의 회사를 내보낼 수 있습니다.
1. $TOP/bin/exportCompanyAsZip.sh 쉘 스크립트 유틸리티 사용
사용법:
exportCompanyAsZip --company_code=<code> --script_path=<path/to/trigo/script>
여기서
다음과 같은 샘플 스크립트가 제공됩니다.
envObjList = new EnvObjectList();
envObjList.addAllObjectsToExport("CATALOG");
envObjList.addAllObjectsToExport("HIERARCHY_MAPS");
envObjList.addAllObjectsToExport("MAPS");
envObjList.addAllObjectsToExport("FEEDS");
envObjList.addAllObjectsToExport("LOOKUP_TABLE");
envObjList.addAllObjectsToExport("ATTRIBUTE_COLS");
envObjList.addAllObjectsToExport("CONTAINER_ACCESSPRV");
envObjList.addAllObjectsToExport("HIERARCHY");
envObjList.addAllObjectsToExport("COMPANY_ATTRIBUTES");
envObjList.addAllObjectsToExport("SPEC");
envObjList.addAllObjectsToExport("DATASOURCE");
envObjList.addAllObjectsToExport("USERS");
envObjList.addAllObjectsToExport("ACG");
envObjList.addAllObjectsToExport("ROLES");
envObjList.addAllObjectsToExport("CATALOG_CONTENT");
envObjList.addAllObjectsToExport("HIERARCHY_CONTENT");
envObjList.addAllObjectsToExport("LOOKUP_TABLE_CONTENT");
envObjList.addAllObjectsToExport("DOC_STORE");
envObjList.addAllObjectsToExport("MY_SETTINGS");
envObjList.addAllObjectsToExport("DISTRIBUTION");
envObjList.addAllObjectsToExport("DOC_STORE");
sDocFilePath = "archives/company.zip";
exportEnv(envObjList, sDocFilePath);
2. 위에 제공된 스크립트를 사용하여 WebSphere Product Center 스크립트가 사용 가능한 환경(즉, 가져오기 작업, 보고서 또는 스크립트 샌드박스에서 직접)에서 직접 실행.
또한 다른 환경에서 이들 스크립트의 실행으로 해당 WPC 오브젝트를 재작성할 수 있도록 오브젝트를 쉘 스크립트로 내보내는 $TOP/bin/exportCompany.sh 쉘 스크립트를 사용하여 확실히 사전 정의된 WPC 오브젝트를 WPC 환경에서 스크립트로 내보낼 수도 있습니다. 이주 성과의 일부로 해당 유틸리티가 WPC 오브젝트 컨텐츠(계층 구조의 항목 정보 또는 카테고리 정보)를 내보낼 수 없으므로 이 방법은 WPC 오브젝트를 내보내는 데는 사용되지 않습니다.
회사 가져오기는 세 가지 방법으로 수행할 수 있습니다.
1. $TOP/bin/importCompanyFromZip.sh 쉘 스크립트 사용
사용법: importCompanyAsZip --company_code=<code> --zipfile_path=<path/to/import/archive>
여기서
company_code는 가져올 회사의 회사 코드이며
zipfile_path는 회사의 zip 아카이브가 존재하는 문서 저장소의 위치입니다.
2. WPC 스크립트 조작 importEnv(String sDocFilePath) 사용
여기서
sDocFilePath는 회사의 zip 아카이브가 존재하는 문서 저장소의 위치입니다.
또한 exportCompany.sh의 결과를 사용하여 WPC 회사를 가져올 수도 있습니다. 그러나 이주 성과의 일부로 exportCompany.sh가 WPC 오브젝트 컨텐츠(계층 구조의 항목 정보 또는 카테고리 정보)를 내보낼 수 없으므로 이 방법은 사용되지 않습니다.
3. 응용프로그램 GUI의 "환경 가져오기" 옵션 사용
응용프로그램 GUI를 사용하여 데이터 가져오기
WPC 4.2.0.x에서 제공하는 기존 가져오기/내보내기 도구 프레임워크의 일부로
다음과 같은 WPC 오브젝트를 내보내지 않습니다.
선택사항:
4.2.0.x에서 제공하는 내보내기 기능은 해당 WPC 오브젝트의 내보내기도 지원하도록 갱신됩니다.
WPC 5.2에는 이전 버전에 이미 존재하는 RPC/인코딩된 양식에 추가하여 문서/리터럴 기반 SOAP 요청에 대한 지원이 제공됩니다. 해당 이주 활동은 테스트를 거쳐야 합니다.
4.2.1에는 공식 가져오기/내보내기 도구 릴리스가 포함됩니다. 이 기능은 WebSphere Product Center 버전에서 동일한 회사가 내보낸 데이터를 WebSphere Product Center 내의 다른 회사에 zip 파일로 가져오기 위한 "환경 가져오기"의 GUI 작동 위치를 제공합니다.
XML 제어 파일은 가져오기 순서를 정의합니다. 이 제어 파일은 내보내기 도중 작성되어 zip 파일에 패키지됩니다. 고객에 권장되는 이주 프레임워크는 4.2.0.x의 exportCompanyAsZip.sh를 사용하여 모든 회사 데이터를 내보내는 것입니다. 이 스크립트의 출력 zip 파일은 5.2의 "환경 가져오기" 또는 importCompanyFromZip.sh와 호환 가능해야 합니다.
WSDL(Web Services Definition Language) 지원 - 간단한 요청 메시지 형식의 WSDL 1.2 및 SOAP 1.2 요청/응답 지원. 협업 관리자 메뉴에는 웹 서비스 콘솔에서 서비스를 시작하는 웹 서비스 모듈이 들어 있습니다. 현재 SOAP over HTTP가 유일하게 지원되는 프로토콜입니다.
정의
WebSphere Product Center는 API 레이어로 사용할 수 있는 스크립트 레이어를 제공합니다. 이 스크립트는 웹 서비스로도 제공될 수 있습니다. 웹 서비스는 WebSphere Product Center가 제공해야 하는 모든 비즈니스 기능에서 작성됩니다. 이 웹 서비스와 상호작용하도록 해당 요청자 응용프로그램이 작성됩니다. 웹 서비스는 WebSphere Product Center에서 하나 이상의 스크립트를 실행하며 다른 웹 서비스와도 함께 작동하여 원하는 비즈니스 기능을 제공합니다.
다음 다이어그램에서는 WSDL 1.2 및 SOAP 1.2 요청/응답을 간단한 요청 메시지로 사용하는 사례를 보여줍니다.
웹 서비스는 웹 서비스 콘솔을 사용하여 설정됩니다. 다음 단계에서는 일반 WSDL 사용 사례를 활용합니다.
1. 웹 서비스 콘솔 – 새로 작성을 클릭한 후 다음 필드에 필수 정보를 입력하십시오.
- 웹 서비스 이름(예: Item_Request)
- 웹 서비스 설명(예: 외부 응용프로그램에서 GTIN 또는 UPC, GLN 및 대상 시장과 같은 항목의 ID 속성에 따라 항목의 세부사항을 요청할 수 있음)
- 웹 서비스 정의 파일(아래 설명됨)
- 웹 서비스 구현 스크립트(아래 설명됨)
2. 웹 서비스 정의 파일
웹 서비스 정의 파일은 웹 서비스 콘솔에서 업로드되며 WSDL 1.2 형식의 웹 서비스에 대한 설명을 포함합니다. 웹 서비스에서는 SOAP 1.2 요청/응답 인코딩을 사용합니다. WSDL 파일에는 다음 사항이 들어 있습니다.
- 요청 메시지의 XSD
- 응답 메시지의 XSD
- 결함 메시지의 XSD
- WSDL 1.2에 필요한 기타 모든 내용
참고: 웹 서비스 정의 파일은 WebSphere Product Center의 HTTP 서버에 해당하는 기본 HTTP 서버에 게시됩니다. 여기에 웹 서비스 정의 스크립트도 게시됩니다. 시스템에서는 도움말 단추를 통해 지원을 제공합니다.
3. 웹 서비스 구현 스크립트 - 웹 서비스 구현 스크립트는 위의 웹 서비스 정의를 준수하는 수신 SOAP 1.2 요청 메시지에서 호출됩니다. 웹 서비스 구현 스크립트에서는 다음을 수행합니다.
- 위의 각 웹 서비스 정의에서 SOAP 1.2 요청 메시지 구문 분석
- 일반적으로 하나 이상의 WebSphere Product Center 컨테이너에서 제품 정보 조회
- 제품 정보를 포함하는 SOAP 1.2 응답 메시지 작성
- SOAP 1.2 응답 메시지를 요청자 응용프로그램으로 전송
- 요청 및 응답 메시지를 문서 저장소에 기록하고 메시지 콘솔에서 액세스 가능한 방법을 사용하여 문서 저장소에 있는 메시지에 대한 링크를 기록합니다.
4. 요청자 응용프로그램 요청 메시지 - 요청자 응용프로그램 관리자는 2단계에서 설명한 웹 서비스 정의를 준수하면서 SOAP 1.2 메시지 작성 프로세스를 작성합니다.
5. 요청자 응용프로그램 응답 메시지 - 요청자 응용프로그램 관리자는 2단계에서 설명한 웹 서비스 정의를 준수하면서 SOAP 1.2 메시지 수신 및 처리 프로세스를 작성합니다.
웹 서비스를 설정한 후 다음 이벤트가 발생합니다.
1. 사용자가 요청자 응용프로그램의 SOAP 1.2 메시지를 WebSphere Product Center HTTP Server로 트리거하는 요청자 응용프로그램의 프로세스를 실행합니다.
2. 요청 메시지에는 GTIN 또는 UPC, GLN 및 대상 시장과 같은 ID 속성만 들어 있습니다.
3. WebSphere Product Center는 웹 서비스 구현을 실행하여 SOAP 1.2 요청 메시지를 구문 분석하고 제품 정보에 액세스하며 SOAP 1.2 응답 메시지를 작성하고 응답 메시지를 전송합니다.
4. (선택 사항) - 요청 메시지 및 응답 메시지는 문서 저장소에 기록됩니다. 메시지 콘솔에서 액세스할 수 있는 방법을 사용하여 문서 저장소에 있는 메시지에 대한 링크가 기록됩니다.
5. 요청자 응용프로그램에서 응답 메시지를 수신합니다.
6. 요청자 응용프로그램에서 응답 메시지에 대한 조치를 취합니다.
다음 파일은 전체 WebSphere Product Center 내의 다양한 서브시스템을 제어합니다. 생성된 로그 위치는 각 파일에 정의됩니다.
참고: 모든 경로는 $TOP에 대한 상대 경로입니다.
/etc/logs/eventprocessor.log.xml
/etc/logs/scheduler.log.xml
/etc/logs/system.log.xml
/etc/logs/appsvr.log.xml
/etc/logs/workflowengine.log.xml
웹 서비스 콘솔을 사용하여 WebSphere Product Center에서 제공하는 웹 서비스를 작성하고 관리할 수 있습니다. WSDL 문서를 작성하여 서비스를 정의할 수 있습니다. 구현 스크립트를 작성하여 서비스 실행 방법을 제어합니다.
웹 서비스 콘솔에는 다음 열이 들어 있습니다.
- 이름: 웹 서비스 이름. 웹 서비스의 세부사항을 보려면 이름을 클릭하십시오.
- 설명: 웹 서비스를 설명할 때 사용하는 간단한 설명.
- 프로토콜: 현재 SOAP_HTTP 프로토콜만 사용 가능합니다.
- 트랜잭션: 서비스의 트랜잭션 번호. 트랜잭션을 보려면 해당 번호를 클릭하십시오. 또는 콘솔에서 웹 서비스를 제거하려면 삭제 단추를 클릭하십시오.
웹 서비스 콘솔에 액세스하려면 다음 메뉴 경로를 사용하십시오.
협업 관리자 > 웹 서비스 > 트랜잭션 콘솔
새 웹 서비스를 작성하려면 다음 메뉴 경로를 사용하십시오.
협업 관리자 > 웹 서비스 > 새 웹 서비스
"웹 서비스 세부사항" 화면이 나타납니다. 새 웹 서비스를 정의할 때 필요한 정보를 입력하십시오.
이 절에서는 웹 서비스 세부사항 화면의 각 필드를 정의합니다.
참고: 웹 서비스의 문서/리터럴 양식을 지원하면서 변경된 사항은 다음 절을 참조하십시오.
웹 서비스 이름: 웹 서비스 이름을 입력하십시오. 이 이름은 SOAP 서비스의 URL 일부가 됩니다. 이름에는 공백이 포함될 수 없습니다.
웹 서비스 설명: 웹 서비스에 대한 설명을 입력하십시오.
프로토콜: 웹 서비스에서 사용하는 프로토콜. 현재 SOAP over HTTP가 유일하게 지원되는 프로토콜입니다. 기본값은 "SOAP_HTTP"입니다.
양식: 양식은 "DOCUMENT_LITERAL" 또는 "RPC_ENCODED"일 수 있습니다. 문서/리터럴 서비스를 구현하는 WPC 스크립트의 경우 전체 요청 본문을 전달한 후 전체 응답 본문을 리턴합니다. RPC/인코드 서비스 WPC 스크립트의 경우 문자열 매개변수의 배열을 전달한 후 단일 문자열을 리턴합니다. 간단한 응용프로그램에서는 RPC/인코드 서비스가 더 사용하기 쉽고 보다 복잡한 서비스에서는 문서/리터럴 서비스가 더 유연합니다.
URL: 서비스에 액세스할 수 있는 URL을 제공합니다. 이 필드는 웹 서비스를 저장한 후에 자동으로 채워집니다.
WSDL URL: 웹 서비스의 WSDL에 액세스할 수 있는 URL입니다. 이 필드는 웹 서비스를 저장한 후에 자동으로 채워집니다.
WSDL: 이 서비스의 WSDL을 입력하십시오. WSDL 문서는 인터페이스, URL 및 서비스 프로토콜을 XML 형식으로 설명합니다. 이 문서는 수동으로 입력해야 하지만 아래와 같이 샘플 WSDL 문서가 제공됩니다. 웹 서비스가 저장되도록 올바른 XML을 입력해야 합니다.
구현 스크립트: 이 서비스를 구현하는 WPC 스크립트를 입력하십시오. RPC/인코드 서비스의 경우 서비스의 수신 매개변수가 "soapParams" 배열 변수에서 사용 가능합니다. 이때 서비스의 리턴값은 "out" Writer 변수에 작성된 문자열입니다. 문서/리터럴 서비스의 경우 SOAP 요청 본문은 "soapMessage" 문자열 변수로 제공됩니다. 이때 응답 본문은 "out" Writer 변수에 작성됩니다. 두 양식에서 결함 코드는 "soapFaultCode" Writer 변수에, 결함 메시지는 "soapFaultMsg" Writer 변수에 작성하여 SOAP 결함을 리턴합니다. 샘플 구현 스크립트는 아래에 제공됩니다.
요청 저장?: 이 필드를 선택하면 WPC는 모든 수신 요청 매개변수를 docstore에 저장합니다. 이 매개변수는 트랜잭션 콘솔에서 사용할 수 있습니다.
응답 저장?: 이 필드를 선택하면 WPC는 모든 응답 내용을 docstore에 저장합니다. 이 매개변수는 트랜잭션 콘솔에서 사용할 수 있습니다.
전개됨: 이 필드를 선택하면 서비스가 전개됩니다. 그렇지 않으면 이 서비스를 사용할 수 없습니다.
다음 문서/리터럴 웹 서비스는 특정 티커 기호의 재고 시세를 리턴합니다. 이 제한된 예제에서는 "IBM" 티커의 값만 리턴합니다. 기타 모든 인수 때문에 soap 결함이 발생합니다.
이 웹 서비스 엔드포인트는 서명이 다음과 같은 Java 메소드와 동등합니다.
java.math.BigDecimal getStockQuote(String ticker);
구현 스크립트
// parse the request document
var doc = new XmlDocument(message);
// get the ticker parameter
var ticker = parseXMLNode("ticker");
// we only give out ibm quotes around here...
if (ticker == "IBM") {
out.println("<ibm:getStockQuoteResponse
xmlns:ibm=\"http://ibm.com/wpc/test/stockQuote\">");
out.println(" <ibm:response>123.45</ibm:response>");
out.println("</ibm:getStockQuoteResponse>");
}
else {
soap_fault_msg.print("Only quotes for IBM are supported");
}
WSDL
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:y="http://ibm.com/wpc/test/stockQuote"
targetNamespace="http://ibm.com/wpc/test/stockQuote">
<types>
<xs:schema targetNamespace="http://ibm.com/wpc/test/stockQuote"
elementFormDefault="qualified">
<xs:element name="getStockQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getStockQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="getStockQuoteRequest">
<part name="parameters" element="y:getStockQuote"/>
</message>
<message name="getStockQuoteResponse">
<part name="parameters" element="y:getStockQuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getStockQuote">
<input message="y:getStockQuoteRequest"/>
<output message="y:getStockQuoteResponse"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="y:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getStockQuote">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="y:StockQuoteBinding">
<soap:address
location="http://example.wpc.ibm.com/services/StockQuoteService"/>
</port>
</service>
</definitions>
모든 웹 서비스 트랜잭션을 검색하려면 다음 메뉴 경로를 사용하여 트랜잭션 콘솔을 보십시오.
협업 관리자 > 웹 서비스 > 트랜잭션 콘솔
1. 트랜잭션 콘솔의 웹 서비스 트랜잭션 테이블에서 트랜잭션 목록을 보십시오.
2. 응답 또는 요청 열에서 보기 단추를 클릭하십시오. 새 브라우저 창에 트랜잭션 세부사항이 표시됩니다.
1. 트랜잭션 콘솔에서 "웹 서비스 트랜잭션 검색" 테이블의 도착 시작 날짜 및 도착 종료 날짜 필드에서 날짜 범위를 선택하십시오.
2. 검색 단추를 클릭하십시오. 모든 트랜잭션 결과는 검색 테이블 아래 "웹 서비스 트랜잭션" 테이블에 나타납니다.
공급자 포털 통합을 통해 소매업자에게 다음과 같은 여러 이점을 제공합니다.
WebSphere Product Center는 웹 서비스 프레임워크를 제공하여 WebSphere Portal Server와 적절히 통합합니다. 이때 다음 기능이 포함됩니다.
웹 서비스 성능에는 WebSphere Portal Server와 통합하도록 다음 기능에 대한 지원이 들어 있습니다.
따라서 웹 서비스 프레임워크에는 다음 기능이 들어 있습니다.
다음의 스크립트 조작 목록은 스크립트 샌드박스에서 사용 가능한 웹 서비스의 WebSphere Product Center 지원을 지원합니다.
참고: 각 스크립트 조작에 대한 추가 세부사항(프로토타입 및 설명)은 WebSphere Product Center의 스크립트 샌드박스를 참조하십시오.
· createWebService
· deleteWebService
· getDesc
· isDeployed
· getLoginString
· getImplScriptPath
· getName
· getProtocol
· getStoreIncoming
· getStoreOutgoing
· getStyle
· getUrl
· getWebServiceByName
· getWsdlDocPath
· getWsdlUrl
· invokeSoapServer
· saveWebService
· setDeployed
· setDesc
· setImplScriptPath
· setName
· setProtocol
· setStoreIncoming
· setStoreOutgoing
· setStyle
· setWsdlDocPath
이 절에는 WebSphere Product Center에서 웹 서비스의 문서/리터럴 양식 지원에 대한 세부사항이 들어 있습니다. 웹 서비스의 RPC/인코드 양식은 이전 버전부터 이미 사용 가능했습니다. 하지만 RPC/인코드 웹 서비스는 간단한 문자열 유형만 지원했습니다. WebSphere Product Center는 복잡한 유형의 전송 및 수신을 지원하려는 요구를 충족시키도록 웹 서비스의 문서/리터럴 양식 지원을 포함합니다.
문서/리터럴 양식 웹 서비스를 전개하려면 서비스 스키마를 정의하는 WSDL 및 요청이 있을 때 호출할 Websphere Product Center 트리거 스크립트를 포함하는 웹 서비스를 작성해야 합니다. 웹 서비스를 저장할 때 전개할 위치를 명시적으로 선택해야 합니다. 전개 시 Websphere Product Center는 전개된 WSDL에 액세스할 수 있는 웹 서비스의 URL을 작성합니다. 웹 서비스의 URL 양식은 다음과 같습니다.
http://<application-webserver>:<application-port-number>/services/<stored-webservice-name>
URL 끝에 "?wsdl" 문자열을 추가하면 웹 서비스에 저장된 WSDL에 대한 경로가 생성됩니다.
문서/리터럴 웹 서비스에 대한 요청이 SOAP 인벨롭으로 묶이고 SOAP 메시지 본문에 요청 문서 전체가 포함됩니다. 이 요청 문서는 적합한 XML 양식으로, Websphere Product Center 웹 서비스 핸들러에 그대로 전달됩니다. 호출자는 호출할 웹 서비스의 저장된 WSDL에 있는 스키마 노드의 형식을 사전에 확인하도록 해당 요청을 작성할 수 있습니다.
Websphere Product Center 웹 서비스 처리 메커니즘에서 이 요청을 수신하여 문서/리터럴 양식을 요청하는 WSDL 스키마에서 해당 요청 내용의 유효성을 검증합니다. 요청이 WSDL 스키마에 추가되지 않은 경우 AxisFault가 발생합니다. 추가된 경우 Websphere Product Center는 요청 본문에서 네임 스페이스 참조를 제거하고 이 수정된 요청을 전개 시 저장한 Websphere Product Center 트리거 스크립트에 전달합니다. Websphere Product Center 스크립트 컨텍스트에서 네임 스페이스 사용 XML 문서를 처리할 수 없기 때문에 네임 스페이스를 제거해야 합니다. Websphere Product Center 트리거 스크립트는 요청 내용을 가져와 스크립트 작성자가 정의한 대로 사용합니다. 스크립트는 해당 결과를 수신 요청에 유효한 응답으로 출력해야 합니다. 따라서 출력으로 돌아가기 전에 먼저 WSDL에서 응답의 유효성을 검증합니다.
예:
문서/리터럴 스키마는 다음과 같습니다.
<element name="getStockQuote"/>
<complexType>
<sequence>
<element name="ticker" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getStockQuoteResponse"/>
<complexType>
<sequence>
<element name="response" type="xsd:decimal"/>
</sequence>
</complexType>
</element>
클라이언트가 getStockQuote("IBM")를 호출한 경우 플로우는 다음과 같습니다.
1. Websphere Product Center에서 Axis SOAP 스택의 SOAP 요청을 수신합니다.
2. Websphere Product Center에서 위 스키마로 요청 메시지를 검증합니다.
3. Websphere Product Center에서 요청 본문의 모든 네임 스페이스 접두부를 제거합니다. 이 경우 위 스키마에서 기본 네임 스페이스의 모든 사항을 정의하므로 네임 스페이스 접두부는 필요하지 않습니다.
4. Websphere Product Center에서 웹 서비스 트리거 스크립트를 호출합니다. 입력 변수는 다음과 같습니다.
- operationName = "getStockQuote"
- message =
"<getStockQuote>
<ticker>IBM</ticker>
</getStockQuote>"5. 트리거 스크립트에서 "out" Writer에 응답을 작성합니다.
- out =
"<getStockQuoteResponse>
<response>83.76</response>
</getStockQuoteResponse>"6. Websphere Product Center에서 위 스키마로 응답의 유효성을 검증합니다.
7. Websphere Product Center에서 Axis SOAP 스택을 통해 클라이언트에게 전체 SOAP 응답을 다시 전송합니다.
다음 목록은 문서/리터럴 양식을 지원하도록 변경된 사항입니다.
WebSphere Product Center 버전에 따라 데이터베이스(DB2/Oracle)를 조금 수정해야 할 수도 있습니다. 이주 문제는 WebSphere Product Center 담당자에게 문의하십시오.
http://java.sun.com/developer/technicalArticles/xml/jaxrpcpatterns/
Websphere Product Center(Xerces 버전 2.4.0에서 제공)와 함께 제공된 XML 구문 분석 구현으로 나타나는 제한사항 때문에 네임 스페이스 선언은 WSDL의 스키마 노드에서 로컬로 정의되어야 합니다. 주로 문서/리터럴 양식 웹 서비스를 전개할 때 공지됩니다. 예를 들어 다음은 유효한 WSDL이지만 Websphere Product Center에서 제대로 인식되지 않습니다.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://ibm.com/wpc/test/stockQuote" targetNamespace="http://ibm.com/wpc/test/stockQuote">
<types>
<xs:schema targetNamespace="http://ibm.com/wpc/test/stockQuote" elementFormDefault="qualified">
<xs:element name="getStockQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getStockQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="getStockQuoteRequest">
<part name="parameters" element="y:getStockQuote"/>
</message>
<message name="getStockQuoteResponse">
<part name="parameters" element="y:getStockQuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getStockQuote">
<input message="y:getStockQuoteRequest"/>
<output message="y:getStockQuoteResponse"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="y:StockQuotePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getStockQuote">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="y:StockQuoteBinding">
<soap:address location="http://localhost/axis/services/StockQuoteService"/>
</port>
</service>
</definitions>
WSDL은 다음과 같이 작성되어야 제대로 구문 분석됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://ibm.com/wpc/test/stockQuote" targetNamespace="http://ibm.com/wpc/test/stockQuote">
<types>
<xs:schema targetNamespace="http://ibm.com/wpc/test/stockQuote" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="getStockQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string" nillable="false"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getStockQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="getStockQuoteRequest">
<part name="parameters" element="y:getStockQuote"/>
</message>
<message name="getStockQuoteResponse">
<part name="parameters" element="y:getStockQuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getStockQuote">
<input message="y:getStockQuoteRequest"/>
<output message="y:getStockQuoteResponse"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="y:StockQuotePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getStockQuote">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="y:StockQuoteBinding">
<soap:address location="http://localhost/axis/services/StockQuoteService"/>
</port>
</service>
</definitions>
사례 ID: P16473
문제: 새 웹 서비스를 작성하고 WebSphere Product Center를 다시 시작합니다. 새로 작성된 웹 서비스를 호출할 경우 오류가 발생합니다.
해결 방법: "public_html/WEB-INF" 디렉토리의 축 구성 파일 "server-config.wsdd"에 대한 쓰기 액세스를 허용합니다. 또한 WebLogic을 사용하는 환경에서 WebSphere Product Center 인스턴스를 확장 디렉토리 형식으로 전개해야 합니다. 이 작업을 수행하지 않으면 축의 자동 재전개 기능이 WebSphere Product Center를 다시 시작할 때 WebSphere Product Center에서 작성한 웹 서비스를 전개하지 않으므로 오류가 발생합니다.
사례 ID: P16059
DOCUMENT-LITERAL을 사용하여 웹 서비스를 작성하십시오. 저장한 후 새로 작성한 웹 서비스로 다시 돌아가 양식을 RPC-ENCODED로 변경한 후 다시 저장하십시오. DOCUMENT-LITERAL 양식이 표시됩니다.
이 사례는 알려진 제한사항입니다. 사용자는 전개된 웹 서비스의 양식을 변경할 수 없습니다.
1. common.properties에서 "soap_company" 및 "soap_user"의 값을 정의하십시오. 이 값은 데이터베이스에 액세스하여 스크립트를 실행하는 수신 SOAP 요청에서 사용한 회사 및 사용자입니다. 또한 "wpc_web_url"의 값을 정의하십시오.
예를 들어 다음과 같습니다.
soap_company=acme
soap_user=Admin
wpc_web_url=http://myinstance.acme.com:1234/
2. WebSphere Product Center를 다시 시작하십시오. "협업 관리자->웹 서비스->새 웹 서비스"로 이동하여, 아래와 같은 값을 입력하거나 선택하십시오.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by Dave Marquard (IBM) -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:y="http://ibm.com/wpc/test/stockQuote" targetNamespace="http://ibm.com/wpc/test/stockQuote">
<types>
<xs:schema targetNamespace="http://ibm.com/wpc/test/stockQuote" elementFormDefault="qualified">
<xs:element name="getStockQuote">
<xs:complexType>
<xs:sequence>
<xs:element name="ticker" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getStockQuoteResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="response" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="getStockQuoteRequest">
<part name="parameters" element="y:getStockQuote"/>
</message>
<message name="getStockQuoteResponse">
<part name="parameters" element="y:getStockQuoteResponse"/>
</message>
<portType name="StockQuotePortType">
<operation name="getStockQuote">
<input message="y:getStockQuoteRequest"/>
<output message="y:getStockQuoteResponse"/>
</operation>
</portType>
<binding name="StockQuoteBinding" type="y:StockQuotePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getStockQuote">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="StockQuoteService">
<port name="StockQuotePort" binding="y:StockQuoteBinding">
<soap:address location="http://localhost/axis/services/StockQuoteService"/>
</port>
</service>
</definitions>
// parse the request document
var doc = new XmlDocument(soapMessage);
// get the ticker parameter
var ticker = parseXMLNode("ibm:ticker");
// we only give out ibm quotes around here...
if (ticker == "IBM") {
out.println("<ibm:getStockQuoteResponse xmlns:ibm=\"http://ibm.com/wpc/test/stockQuote\">");
out.println("<ibm:response>123.45</ibm:response>");
out.println("</ibm:getStockQuoteResponse>");
}
else {
// do I need to print to soapFaultCode too?
soapFaultMsg.print("Only quotes for IBM are supported");
}
3. 트랜잭션 콘솔에서 요청 히스토리를 볼 수 있도록 요청 저장을 선택하십시오.
4. 트랜잭션 콘솔에서 응답 히스토리를 볼 수 있도록 응답 저장을 선택하십시오.
5. 웹 서비스를 전개하려면 전개됨을 선택하십시오. 이 옵션을 선택하지 않으면 웹 서비스를 사용할 수 없습니다.
6. com.ibm.ccd.soap.test.StockQuoteTest.java를 사용하여 웹 서비스를 호출하십시오.
사용법: $JAVA_RT com.ibm.ccd.soap.test.StockQuoteTest <URL> <NUM_CASE>
예: $JAVA_RT com.ibm.ccd.soap.test.StockQuoteTest http://trillian:9099/services/DocumentWebServiceTest 0
<NUM_CASE>는 0 - 5 사이의 정수입니다.
0은 IBM의 재고 시세를 조회할 때 사용할 수 있습니다. 자세한
정보는 StockQuoteTest.java를 참조하십시오.
7. 응답은 다음과 같습니다.
URL 'http://trillian:9099/services/TestingDocumentStyle14'에서
SOAP 서비스를 호출합니다.
요청은 '<ibm:getStockQuote xmlns:ibm="http://ibm.com/wpc/test/stockQuote">입니다.
<ibm:ticker>SNM</ibm:ticker>
</ibm:getStockQuote>'입니다.
SOAP를 호출했습니다.
요청은 '<ibm:getStockQuoteResponse xmlns:ibm="http://ibm.com/wpc/test/stockQuote">입니다.
<ibm:response>123.45</ibm:response>
</ibm:getStockQuoteResponse>'입니다.
WebSphere Product Center의 스케줄러에 대한 명령행 인터페이스가 구현되므로 필요한 경우 자동화된 방식으로 외부 스케줄러와 통합할 수 있게 되었습니다. 현재, 이 기능은 IBM Tivoli Workload Scheduler를 통해 인증됩니다. 이 기능을 사용하면 명령 인터페이스를 사용하거나 Tivoli Workload Scheduler 사용자 인터페이스를 사용하여 WebSphere Product Center 가져오기 또는 내보내기를 트리거할 수 있습니다.
제한사항: 이 기능은 "영어" 로케일에만 지원됩니다. 서버의 언어로서 "US 영어"를 사용하여 설치하면 이 기능을 사용할 수 있게 됩니다. 기타 모든 언어는 완전히 지원되지 않으므로 출력 콘솔에 표시된 메시지는 모두 영어로 나타납니다. 기타 모든 그룹 1 로케일은 향후 WebSphere Product Center의 픽스팩 또는 주 릴리스에서 지원될 예정입니다.
WebSphere Product Center 가져오기 및 내보내기 작업을 실행하는 두 가지 방법이 있습니다. 첫 번째 방법은 WebSphere Product Center 스케줄러를 사용하여 작업을 트리거하는 데 명령 인터페이스를 사용하는 것이고 두 번째 방법은 Tivoli Workload Scheduler 사용자 인터페이스를 사용하는 것입니다. 두 번째 방법을 호출하려면 다음 전제조건이 충족되어야 합니다.
1. 응용프로그램 서버에 Tivoli Workload Scheduler 8.2, Tivoli Management Framework 4.1 및 Tivoli Management Framework 언어 지원 4.1이 설치되어 있어야 합니다.
2. 스케줄된 작업이 실행될 환경의 "$TOP/bin/”폴더 아래에서 쉘 스크립트 "run_job_template.sh"가 사용 가능한 상태인지 확인하십시오.
3. 작업을 실행 또는 스케줄링하는 데 사용하도록 데스크탑에 Tivoli Management Framework 4.1을 설치하십시오.
WebSphere Product Center의 스케줄러는 WebSphere Product Center 설치 $TOP/bin/run_job_template.sh에서 제공된 쉘 스크립트를 사용하는 방법으로 IBM Tivoli Workload Scheduler와 통합됩니다. 이 쉘 스크립트는 스케줄된 작업이 실행되고 각 작업에 자체 쉘 스크립트가 필요한 환경에서 사용 가능한 상태여야 합니다.
예를 들면 다음과 같습니다.
작업 이름 |
연관된 쉘 스크립트 |
Feed 1 |
run_job_feed1.sh |
Feed 2 |
run_job_feed2.sh |
DailyFeed3 | run_job_dailyfeed3.sh |
run_job_template는 실행될 작업마다 모든 테스트 또는 생산 환경에 대해 수정이 필요합니다.
예:
run_job_feed1.sh를 열고 다음을 확인합니다.
#export TOP=<Path to WPC Installation home directory> # E.g. /usr/appinstalls/wpc52
#WPC_INIT_VARS=$TOP/setup/init_ccd_vars.sh
#. $WPC_INIT_VARS# Set the job related variables as needed and do not modify anything else after this
# CCD_JOB_NAME=<Job Name> # [Required]
# CCD_JOB_TYPE=<Job Type> # [Required, Valid values are import|export]
# CCD_COMPANY_CODE=<Company Code> # [Optional, Default Value is trigo]
# CCD_USERNAME=<User Name> # [Optional, Default Value is Admin]
# CCD_DEBUG=<Debug on or off> # [Optional, Default Value is off]
참고: CCD_COMPANY_CODE의 기본값은 "trigo"로서, create_schema.sh를 실행할 때 작성되는 기본 회사입니다.
위의 매개변수 부분은 다음과 같이 바뀝니다.
export TOP=/usr/trigo/wpc52_41/bin
WPC_INIT_VARS=$TOP/setup/init_ccd_vars.sh
. $WPC_INIT_VARS# Set the job related variables as needed and do not modify anything else after this
CCD_JOB_NAME=Feed1 # [Required]
CCD_JOB_TYPE=import # [Required, Valid values are import|export]
CCD_COMPANY_CODE=test # [Optional, Default Value is trigo]
CCD_USERNAME=m # [Optional, Default Value is Admin]
CCD_DEBUG=on # [Optional, Default Value is off]
Tivoli Workload Scheduler 사용자 인터페이스는 WebSphere Product Center 가져오기 또는 내보내기를 트리거하는 데 사용할 수있습니다. 사용자 인터페이스에서는 쉘 스크립트를 사용하여 어떤 작업을 실행 또는 스케줄할 것인지 정의합니다. 이 섹션에서는 IBM Tivoli Workload Scheduler를 사용하여 작업을실행하는 방법에 대한 자세한 단계를 제공합니다.
Tivoli Workload scheduler를 사용하여 WebSphere Product Center 작업을 실행하기 전에 먼저 해당 작업을 정의하는 타스크를 작성해야 합니다.
타스크 작성
타스크 작성은 필요한 쉘 스크립트 파일에 스케줄된 작업과 경로를 실행하는 데 사용되는 호스트를 정의합니다.
1. Tivoli 데스크탑을 열고 "Tivoli 관리 환경" 대화 상자에서 병합 스케줄러 기능을 활용하는 데 필요한 응용프로그램이 들어있는 서버에 대해 정보를 입력하십시오. 이러한 필수 응용프로그램은 WebSphere Product Center 5.2, Tivoli Workload Scheduler 8.2, Tivoli Management Framework 4.1 및 Tivoli Management Framework Language support 4.1입니다. 완료한 후에는 확인을 클릭하십시오.
- 호스트 시스템 - 호스트 시스템의 IP 주소 입력
- 로그인 - 사용자 이름 입력
- 암호 - 사용자에 대한 암호 입력
2. Tivoli Workload Scheduler가 설치되어 있는 호스트 시스템의 이름을 두 번 클릭하십시오. "정책 영역" 대화 상자가 나타납니다.
3. 메뉴 표시줄에서 작성 > 타스크 라이브러리를 선택하면 타스크 라이브러리 작성 대화 상자가 나타납니다. 새 타스크 라이브러리의 이름을 입력하고 "작성 & 닫기"를 클릭하십시오.
4. 타스크 라이브러리를 두 번 클릭하여 타스크를 작성하십시오. 타스크 작성은 WebSphere Product Center에서 작업을 작성하는 것과 유사합니다.
5. 메뉴 표시줄에서 작성 > 타스크를 선택하고 타스크에 해당하는 이름을 입력하십시오. 예를 들어,“Feed 1용 작업”을 입력합니다.
6. 타스크를 편집할 때 타스크 수행에 필요한 역할을 선택하십시오.
7. 타스크가 수행되는 플랫폼을 선택하십시오. 타스크가 AIX 플랫폼에서 실행되는 경우, AIX 옵션을 선택하면 "타스크용 AIX 실행 파일"이 나타납니다. 필요한 쉘 스크립트“run_job_template”를 사용할 수 있는 위치에 필수 정보를 입력하십시오.
- 호스트에서: “run_job_template”를 사용할 수 있는 위치에 호스트 이름을 입력하십시오.
- 파일 경로: “run_job_template”를 사용할 수 있는 위치에 파일 경로를 지정하십시오.
참고: run_job_template.sh에 수행한 변경 사항은 타스크에 동적으로 반영되지 않습니다. "타스크 편집" 화면에서 플랫폼 옵션을 선택 및 선택 취소하고 업데이트된 쉘 스크립트의 경로를 지정하여 최신 변경 사항을 반영하십시오.
"run_job_template.sh"에 수행한 변경 사항에 대한 자세한 정보는 "run_job_template.sh 수정" 섹션을 참조하십시오.8. “작성 및 닫기”단추를 클릭하여 타스크에 편집한 내용을 저장합니다.
타스크 실행
타스크 라이브러리에서 타스크를 작성하고 나면 스케줄된 시간에 수동으로 실행할 수 있습니다. 타스크가 실행될 때, 정의된 호스트와 "run_job_template.sh" 스크립트 파일을 사용하여 WebSphere Product Center 가져오기/내보내기를 시작하게 됩니다.
1. 타스크 라이브러리 화면에서 사용할 타스크를 두 번 클릭하십시오.
2. "데스크탑에 표시”옵션을 선택하여 실행 세부사항과 작업 완료 상태를 확인하십시오.
3. "사용 가능한 타스크 종점"에서 적합한 호스트를 선택하여 "선택한 타스크 종점" 아래에서 사용 가능한 상태가 되도록 하십시오.
4. "실행” 을 클릭하고 포맷된 출력 화면에서 결과를 확인하십시오. 데스크탑에 작업 실행 세부사항을 표시하는데, 이는 "파일로 저장..."으로 파일에 저장할 수 있습니다.
작업이 스케줄되기 전에 스케줄되어야 할 WebSphere Product Center 작업에 대한 타스크를 작성하십시오.
타스크 작성
1. Tivoli 데스크탑에서 호스트를 클릭하고 원하는 타스크 라이브러리를 두 번 클릭하여 작업을 작성하십시오.
2. 작성 메뉴 옵션 아래에서 타스크를 선택하고 타스크 이름을 입력하십시오.
3. 작업이 스케줄되어야 할 타스크를 선택하십시오.
4. “데스크탑에 표시” 옵션을 선택하여 실행 세부사항과 작업 완료 상태를 확인하십시오.
5. "사용 가능한 타스크 종점"에서 원하는 호스트를 선택하여 "선택한 타스크 종점" 아래에서 사용 가능한 상태가 되도록 하십시오.
6. "작성 및 닫기"를 클릭하십시오.
타스크 실행
1. 타스크 라이브러리 페이지로 이동하여 데스크탑을 열어 두십시오.
2. “Feed 1용 작업”을 끌어 데스크탑의 “Scheduler”에 놓으십시오.
3. 작업 레이블을 입력하십시오.
사용자 요구사항에 따라 여기서 작업을 실행하는 옵션이 몇 가지 있습니다. 예를 들어, 작업을 무제한으로 실행되도록 스케줄할 수도 있고 사용자가 정기적인 시간 간격으로 작업을 실행하도록 할 수도 있습니다. 이러한 요구사항에 따라 사용자가 스케줄된 작업 추가 페이지의 설정을 변경할 수 있습니다.
예를 들어, 60분 간격으로 세 번씩 작업이 실행되도록 스케줄하려는 경우를 가정해 볼 수 있습니다. 이러한 시나리오에서는 시간대 설정마다 현재 시간이 정확한 서버 시간을 표시하도록 하는 것이 중요합니다.
4. "작업 반복"을 선택하고 "3"을 입력하십시오.
5. 분에 "60"을 입력하십시오.
6. 사용자가 특정 그룹에게 알리기를 원하는 경우에는 "Tivoli 알림 게시"를 선택하고 "사용 가능 그룹"을 클릭한 다음 사용 가능 알림 그룹 목록에서 그룹을 선택하고 설정을 클릭하여 창을 닫으십시오.
7. "데스크탑에 상태 대화 상자 게시"를 선택하십시오.
8. 전자 우편이 사용자 환경에 설치되도록 준비된 경우 통지에 사용할 전자 우편 ID를 지정하도록 선택하십시오.
9. "파일에 로그"를 선택하고 로그 파일 경로를 지정한 후 원하는 호스트 이름과 파일 경로를 지정하십시오.
10. 작업 스케줄 또는 작업 스케줄 및 닫기를 클릭하십시오.
IBM Tivoli Workload Scheduler의 통지 기능을 통해 작업 상태를 볼 수 있습니다. 원하는 경우, 사용자가 WebSphere Product Center로 로그인하여 작업 상태를 확인할 수도 있습니다.
1. 데스크탑 페이지에서 통지를 두 번 클릭하십시오.
2. 지정된 그룹을 선택하고 열기를 클릭하십시오.
필요한 경우, 사용자가 명령행 인터페이스를 사용하여 WebSphere Product Center 스케줄러를 사용하는 가져오기 또는 내보내기를 실행할 수도 있습니다. 이렇게 하려면 사용자에게 스케줄된 작업을 제어하는 서버에 액세스할 수 있는 특권이 있어야 합니다.
작업을 트리거하려면 다음 명령행을 사용하십시오.
$JAVA_RT com.ibm.ccd.scheduler.common.RunJob --job_name="aaaa" --job_type=import|export [--company_code=bbbb --username=cccc --debug=on / off]
- job_name - 스케줄된 가져오기/내보내기의 이름
- job_type - 가져오기 또는 내보내기 작업의 선택
- company_code - 스케줄된 작업이 링크되는 회사의 이름
- username - 스케줄된 작업을 트리거하도록 허용된 사용자의 이름
- debug - 작업이 실행될 때 디버그 세부사항 포함
예:
$JAVA_RT com.ibm.ccd.scheduler.common.RunJob --job_name="Item Feed " --job_type=import --company_code=test --username=user1 --debug=on
이 명령은 "test"라는 회사에서 "Item Feed"이라는 가져오기 작업을 트리거합니다.
이 장의 목적은 WebSphere Product Center 구현에 있어 최상의 통합 방법을 요약하는 것입니다. 이러한 최상의 실행 정보를 사용하면 시스템 간의 고품질의 종속 가능한 통합을 성취하는 데 도움을 줍니다. 통합의 모든 측면을 다루기 위해 이 문서는 통합의 이러한 각기 다른 측면과 연관된 최상의 실행 정보를 구별하도록 개발되었습니다.
통합의 핵심 요소는 다음과 같습니다.
- 설계 원칙
- 구현
- 유효성 검증
- 표시 여부
통합 특성: 아래에 나열된 특성을 사용하여 WebSphere Product Center 구현에서 발생하는 다양한 구현 유형을 이해할 수 있습니다. 나머지 문서에서는 구현의 크기 또는 종료에 적용 가능한 최상의 실행 정보 또는 지침을 강조표시합니다.
소스 또는 대상 시스템으로서의 WebSphere Product Center
가장 명백한 특성은 WebSphere Product Center가 교환 중인 정보에 대한 소스 시스템인지 또는 대상 시스템인지 여부입니다. 소스 시스템은 통합에 해당 제한조건을 두며, 그 중 가장 중요한 것은 (a) 델타 신디케이션을 수행하는 기능, (b) 통합을 시작하는 기능, (c) 전송된 데이터의 완료/실패에 대한 통지를 수신하고 적절한 조치를 취하는 기능 및 (d) 지원되는 프로토콜과 형식과 EAI 하부 구조의 지원입니다.
제어 시스템
통합의 내부 트리거에 따라 조치를 취하는 시스템으로 제어 시스템을 정의하게 됩니다. 예로는 스케줄에 따라 작업으로 신디케이션을 실행 중인 WebSphere Product Center가 있습니다. 또 다른 예로는 항목 추가 결과로서 WBI 어댑터를 트리거하는 SAP가 있습니다. WebSphere Product Center가 통합의 소스 또는 대상 시스템이든지 통합에서 제어 시스템인 시스템과는 완전하게 독립적입니다. 몇 가지 경우가 가능합니다. FTP 서버 또는 EAI 도구와 같은 중간 단계가 포함되면, 소스 및 대상 시스템은 모두 제어 시스템이 될 수 있습니다. 스케줄에 따라 레거시 시스템은 FTP 서버에 파일을 저장하는 반면, 스케줄에 따라 WebSphere Product Center는 파일을 가져옵니다. WebSphere Product Center가 제어된 목적지 시스템(데이터 가져오기를 트리거하기 위해 외부의 어떤 것을 대기)인 위치의 예로는 Transora의 항목 갱신이 전달하려는 메시지 내용과 함께 호출자를 통해 WebSphere Product Center에 메시지를 게시하는 IBM WBI가 있습니다. WebSphere Product Center가 제어된 소스 시스템(데이터 내보내기를 트리거하기 위해 외부 시스템 대기)인 위치의 예로는 가져올 준비가 되어 있는 파일이 있는지 보기 위해 정기적으로 IBM WBI가 WebSphere Product Center 대기열을 폴하는 위치가 있습니다.
프로토콜
프로토콜, 형식 및 메시지와 파일 기반 통합 간에 WebSphere Product Center 구현 팀과 고객 자원의 경우 많은 혼란을 겪고 있습니다. 따라서 이 문서의 목표는 이러한 개념에 대해 공통적인 명칭을 설정하는 것입니다. 프로토콜의 예로는 FTP(File Transfer Protocol), HTTP(Hyper Text Transfer Protocol), SMTP(Simple Message Transfer Protocol, 전자 우편), JMS(Java Messaging Service) 및 IBM WebSphere Message Queuing(IBM WebSphere MQ)이 있습니다. 프로토콜은 인벨롭과 같은 것, 번호 및 예상된 응답과 같은 인코딩을 정의하나 전송되고 있는 내용과는 아무런 관계가 없습니다. 모든 통합에서는 항상 최소한 하나가 있으므로 사용되고 있는 프로토콜에서 완전히 지원해야 합니다. 또한, 통합의 여러 단계는 실제로 여러 프로토콜을 사용 중일 수도 있습니다. SAP의 WBI 어댑터는 HTTP를 통해 SAP에서 WBI ICS(Inter Connection Server)로 데이터를 전송 중일 수 있으며, WebSphere Product Center가 MQ 클라이언트로서 연결된 또 다른 대기열 관리자에게 전송할 해당 데이터를 IBM MQ 대기열 관리자에게 넘겨줍니다.
형식
데이터가 배치된 형식은 프로토콜과는 관계가 없습니다. 형식의 예로는 CSV(Comma Separated Value), 파이프 구분, XML(eXtensible Markup Language) 또는 EDA(Electronic Data Interchage) 메시지와 같이 일부 사전 정의된 필드 및 레코드 구조가 있습니다. 각 형식은 위치/길이 매개변수 또는 태그를 통해 필드를 정의합니다. 특정 형식에 필요할 수도 있는 인코딩을 기억하는 것이 중요합니다. 예를 들면, 꺾쇠 괄호(<', '>')와 같은 문자는 XML에 없어야 한다거나 내용에 실제로 CSV의 쉼표가 포함될 수 있다는 사실을 구현할 때 자주 잊어버리게 됩니다.
데이터 크기
이 크기는 매우 자주 "메시지 기반" 또는 "파일 기반" 통신과 혼동되므로 이 권한을 가져오는 것이 중요합니다. "메시지 기반" 통합은 일반적으로 더 작은 데이터 교환 및 다음과 같은 등록 정보와 관련되어 있는 것으로 가정됩니다.
- 데이터는 변경사항이 내보내기/가져오기가 매주 발생할 수 있는 종래의 "일괄처리" 지향 시스템보다 훨씬 더 작은 어커런스 시간 간격 내에서 통신되도록, 더 빈번하게 및 더 작은 양으로 교환되고 있습니다.
- 두 시스템(소스 및 대상)은 서로 연결되어 있어 처리를 위해 가져오기 전에 FTP되거나 한 주 동안 파일 시스템에 저장되어 있을 수 있는 생성 중인 파일이 아니라, 전송된 메시지가 처리되고 있으며 다시 수신확인됩니다.
그러나 메시지 기반을 파일 기반 또는 일괄처리 통합과 구별하기 위해 그릴 수 있는 명확한 선이 없으므로, 명백한 특성을 정의하고 혼동하거나 겹치지 않도록 하는 것이 중요합니다. 따라서 전체 데이터 크기는 "메시지 기반" 또는 "일괄처리" 통합으로 레이블이 지정되어 있는지 여부보다 고려해야 하는 더 중요한 특성이어야 합니다.
통신 유형
고려할 또 다른 크기는 통합과 관련될 통신 유형입니다. 동기 통신은 특정 조치의 결과로 사용자나 시스템에 직접 피드백을 제공합니다. 예를 들어, 통신에 HTTP를 사용하면, 조치가 게시된 후 시스템 또는 사용자에게 자동 피드백이 제공됩니다. 이와는 반대로 비동기 통신은 "fire-and-forget" 전략을 더 사용합니다. 통합이 예를 들어 시스템에서 가져올 FTP 서버의 파일 저장과 관련되면, 해당 조치의 결과로 파일을 저장하는 시스템에 대한 자동 피드백이 없습니다.
빈도
"데이터 크기"와 함께 이 "빈도" 크기는 주기적으로 처리되어야 하는 총 데이터 양을 캡처합니다.
통합 스레드
이 중간 시스템 및 하부 구조 크기는 EAI 하부 구조가 사용되고 있는지 여부에 관계없이 캡처합니다. 또한 레거시 시스템과 통합 시, 중간 프로그램은 레거시 시스템으로 데이터를 업로드 또는 추출하도록 작성될 수 있습니다. 이러한 중간 시스템 또는 프로그램은 통합 체인에서 대부분 가장 약한 링크이므로 이러한 중간 시스템 또는 프로그램을 이해하고 문서화하는 것은 중요합니다.
특히 다중 홉을 필요로 하는 복잡한 통합에서(예: 목적지 시스템에 대한 WBI에 WebSphere Product Center) 비표준은 (직접 데이터베이스 갱신과 같은) 다중 프로토콜 또는 기타 통신 인증 확인(방화벽을 통한 통신과 같은)을 의미하며 이른 통합의 작업 중인 단일 스레드 또는 완전한 경로를 설정합니다. 이러한 연결성 문제를 동시에 해결하려면 문제를 판별하여 다른 부분(예: 네트워크 관리 또는 IBM WBI에서 작동하는 팀)에 충분한 시간을 할애해야 합니다.
위에 나열된 통합 특성은 WebSphere Product Center 구현에서 통합을 설명하는 표준 용어가 됩니다. 분석/설계 단계에서 PS 팀에서 제공한 문서는 이러한 크기를 명백하고 일관성있게 사용해야 합니다.
약어
약어
정의
EAI
엔터프라이즈 응용프로그램 통합
FTP
파일 전송 프로토콜
HTTP
하이퍼 텍스트 전송 프로토콜
MQ
IBM의 메시지 대기열 미들웨어. 모든 연결 솔루션이 현재 WebSphere 브랜드에 속하기 때문에 흔히 IBM WebSphere MQ를 가리킵니다.
ICS
IBM의 WBI Inter Connect Server
WBI
IBM의 WebSphere Business Integration suite, IBM의 EAI suite.
재사용 가능성
통합 구현 방법의 기초를 이루는 전체적인 토대는 재사용 가능성입니다. WebSphere Product Center가 확장되고 더 많은 클라이언트 구현이 수행되면, 이전에 통합되지 않은 시스템과 이전 구현으로 통합된 시스템 둘 모두와의 통합을 신속하게 확장하고 해결할 수 있어야 합니다. 이러한 요구사항을 해결하려면, 최고의 효율성으로 수행할 수 있는 또 다른 클라이언트에 대해 동일한 시스템과 통합해야 할 경우 재사용 가능성으로 모든 통합에 접근해야 합니다.
재사용 가능성은 (a) IBM WBL 및 일반 비즈니스 오브젝트의 해당 모델과 같은 EAI 도구 강화, (b) 데이터 모델과 독립적인 형식 선택, (c) 데이터 모델과 독립적이며 다른 구현에서 재사용할 수 있는 WebSphere Product Center 스크립트의 라이브러리 작성(수신확인, 폴링 등)을 통해 실행됩니다.
정보 공유
통합 수단으로 통신
개념적으로 통합은 단순히 제어 시스템 WebSphere Product Center과 제어된 시스템 간의 통신으로 트리거될 수 있는 일련의 이벤트로 간주될 수 있습니다. 이러한 이벤트는 시스템, 내용 또는 파일에 대해 폴하는 자동화된 프로세스 또는 다른 기본 통신 방법 사이에서 전달되는 메시지를 통해 트리거될 수 있습니다. 통신에는 변경된 유형(추가, 갱신, 삭제), 고유 통신 ID(추적/확인용) 및 WebSphere Product Center 또는 완전한 시스템 내에서 변경해야 하는 관련 내용이 포함됩니다.
신뢰도 측정
변경사항의 통신을 위해 시스템 간에 정보를 전달하는 것 외에도, 특정 트랜잭션의 완료 또는 실패를 통신할 적절한 방법도 있어야 합니다. 그러한 데이터 교환 통신은 통신의 동기 양식으로 가장 즉각적인 구현이 가능하며, 통합 시스템이 다른 한쪽 끝의 실패한 수신으로 인해 특정 트랜잭션을 다시 전송해야 할 수 있는지 추적할 수 있게 합니다. 이로 인해 통합의 신뢰도가 향상되며 궁극적으로는 보증됩니다.
정보 형식
이러한 통신의 특정 형식은 구현 시 재사용할 수 있는 주변의 형식 및 처리 기능 둘 모두에 충분한 일반적인 형식으로 설계되어야 합니다.
시스템 사이의 통신에 사용할 수 있는 일반 형식을 고려해 볼 때, 다음 요구에 만족하는 형식의 유용성을 기억하는 것이 중요합니다.
- 국제 문자 세트 및 특수 문자(쉼표, 따옴표, 꺾쇠 괄호 등)
- 복잡한 구조(예: 내용 및 관계 계층 구조)
- 내용 또는 항목 위치 표시기의 여러 인스턴스를 인스턴스당 여러 값으로 처리할 수 있음
정보 처리
시스템 사이에서 전송되고 있는 정보 형식을 어느 정도 일반적인 것으로 간주할 수 있는 경우 모든 구현이 사전 정의된 형식에 적합한 것은 아닙니다(특히, WebSphere Product Center와 완전한 시스템 사이의 직접 링크로서 통합을 볼 수 있는 경우). 데이터 모델과 같은 차이로 인해 모든 구현에서 형식과 WebSphere Product Center 스펙 사이의 형식 및 맵핑의 재툴링 요구를 피하려면, XML 형식과 WebSphere Product Center 스펙 사이의 재사용 가능한 맵핑 기능을 사용할 것을 권장합니다.
EAI 플랫폼 사용
이를 수행하는 한 가지 방식은 WBI 또는 webMethods 모음과 같은 EAI 플랫폼을 사용하는 것이며, WebSphere Product Center가 하나의 완전히 재사용 가능한 메시지 형식(예: 단일 XML DTD)을 통해 통신할 수 있는 재사용 가능한 커넥터를 빌드할 수 있게 합니다. 구현의 특정 사항으로 인해 발생하는 차이점은 정보를 처리하기 위해 WebSphere Product Center 기능을 재툴링하지 않고 WBI에서 변환될 수 있습니다. 필요한 WebSphere Product Center 기능을 재툴링하지 않고 구현을 통해 동일한 기능을 사용할 수 있습니다.
기타 옵션
그러나 고려할 또 다른 요소는 그 엔터프라이즈를 통해 다른 시스템에서 이미 사용 중인 형식을 특정 클라이언트에서 다시 사용해야 할 수도 있다는 점입니다. 이런 경우 WebSphere Product Center에서는 이미 존재하는 DTD를 사용하기 위해 WebSphere Product Center가 아닌 엔터프라이즈의 다른 시스템에서도 이해하도록 변환되어야 할 완전히 별개의 DTD를 도입하기 어려워집니다. 이러한 경우, WebSphere Product Center와 DTD 내의 스펙 사이를 변환하기 위해 재사용 가능한 기능을 사용해야 합니다.
사용 중인 EAI 플랫폼에서도 이와 같이 될 수 있으며, 이 접근 방법은 정보 통신을 위해 내부 DTD에 대한 WebSphere Product Center 관리 정보 맵핑을 이해하는 측면에서 특정 클라이언트에 더 유용할 수 있습니다.
이벤트 처리
WebSphere Product Center 내의 자동화된 프로세스는 이상적으로 이벤트를 처리합니다. 예를 들어, WebSphere Product Center 릴리스에 도입된 대기열 기능은 메시지 전송(아웃바운드 대기열)과 응답 및 수신 메시지(인바운드 대기열) 수신을 모두 처리하는 데 사용될 수 있습니다. 그러면 대기열 처리 스크립트는 메시지의 실제 처리를 처리하는 데 사용될 수 있으므로 실제로 특정 메시지의 결과로 트리거될 이벤트를 수행할 수 있습니다.
이벤트 처리는 특정 기능이나 특정 WebSphere Product Center 버전에 직접 연결될 필요는 없습니다. 그러나 기타 이벤트 처리 방법에는 FTP 서버를 폴하는 WebSphere Product Center 내의 스케줄된 작업, 파일의 로컬 파일 시스템을 확인하는 스케줄된 작업(문서 저장소를 통해), 게시된 정보에 따라 호출자 기반 트리거 스크립트 작동 이벤트 소유 또는 기타 방법이 포함될 수 있습니다. 궁극적으로 특정 통합의 데이터 크기 및 빈도 크기 요구사항을 주의 깊게 고려하여 방법을 선택해야 합니다.
변경사항 추적
시스템 사이의 완전한 동기화를 구현하려면, 완전한 시스템에 전달할 때 더욱이 효과적으로 태그가 지정될 수 있거나 그렇지 않을 수 있는 내용 및 항목의 변경사항을 추적하는 방법이 WebSphere Product Center에 있어야 합니다. 예를 들면, WebSphere Product Center(소스 시스템으로) 내에서 항목이 삭제되면, 동일한 항목의 삭제를 대상 시스템에 통지하는 메시지가 대상 시스템으로 전송되는데, 메시지를 트리거할 수 있습니다. 뿐만 아니라, WebSphere Product Center가 항목이 실제로 대상 시스템에서 삭제되었는지 여부를 인식할 수 있도록 특정 통신의 완료 또는 실패를 추적할 수도 있습니다.
재사용 가능한 커넥터
커넥터 저장소
구현 과정 및 협력이 발전함에 따라 점차적으로 다양한 시스템으로 재사용 가능한 커넥터의 저장소를 빌드하게 됩니다. 가능할 때마다, 이러한 커넥터를 통해 이동하는 처리 항목 등의 기능을 특정 구현 관점에서 거의 수정하지 않거나 수정하지 않고 재사용할 수 있으므로 이러한 커넥터 재사용에 온갖 노력을 기울여야 합니다. 물론 총괄적으로 구현 실행 시간의 속도가 상당히 빨라지며, 문제를 발견하여 시간에 따라 해결할 때 커넥터의 전체 신뢰도 및 안정성과 이러한 커넥터를 사용하는 구현이 향상됩니다.
아직 커넥터가 정의되지 않은 시스템과 통합할 때, 통합 전문가는 특정 구현에 대한 통합에 모두 사용될 수 있는 재사용 가능 커넥터를 신속하게 빌드할 수 있어야 하며, 다른 구현에서 시스템과 통합해야 할 경우 나중에 사용하기 위해 커넥터 저장소에 저장할 수도 있습니다.
커넥터 사용법
커넥터는 처리되어야 하는 모든 수정사항이 시스템 사이에서 전달되는 모든 정보의 EAI 레이어 처리 변환을 통해 사용해야 합니다. 다시 말해, EAI를 통해 전달된 정보를 처리하기 위해 WebSphere Product Center 내에 재사용 가능한 기능을 다시 작성하기 전에, WebSphere Product Center 내의 기능을 재작성할 필요가 없도록 모든 필수 변환을 수행할 수 있는 EAI 플랫폼의 기능을 사용해야 합니다.
구현 스케일링
소규모 통합
전체 통합의 대형 타스크는 더 작고, 더 쉽게 관리할 수 있는 타스크로 구분되어야 합니다. 예를 들면, 훨씬 더 작은 통합으로 하나의 완전한 통합을 구분하여 수행될 수 있습니다 – 각 항목 유형(스펙)마다 "별도의" 통합에서부터 각 컨테이너(카탈로그)마다 통합까지 속성 그룹의 통합 밑에 있는 모든 방법(필요한 경우). 이러한 각각의 "소규모 통합"이 완전하게 작동한다는 확신이 있으면, 하나의 완전한 통합을 구성하기 위해 조합할 수 있습니다.
기능 세분화
시스템 사이의 통합이 발생해야 하는 레벨에는 주의를 기울여야 합니다. 예를 들어, 대상 시스템으로 변경사항을 전송할 때 특정 날짜 이후의 모든 변경사항, 마지막 변경사항이 전송된 이후에는 특정 카탈로그의 변경사항만, 특정 항목 그룹에 발생한 변경사항만 또는 모든 항목을 통해 특정 속성에 발생한 모든 변경사항을 전송할 수 있습니다. 특정 요구사항은 구현에 따라 달라지나 요구가 적절하게 제공될 수 있도록 구현의 설계 프로세스에서 필요한 세분화를 고려하는 것이 중요합니다.
성능 조정
일반 성능 주석
결과적으로 성능 문제를 방치하지 마십시오. 게임에서 형식 및 최신의 다른 통합 관점을 변경 및 수정하는 것이 더 쉬우나 성능 병목 현상은 기본적으로 재설계되어야 하며 때로는 기술적 지원이 필요할 수 있습니다. 적절한 개발 과정에서 스크립트에 성능 측정 후크를 저장하십시오.
성능 측정
소규모 통합 접근 방법을 가정하면(구현 섹션에서 설명한 대로), 성능은 소규모 통합 타스크마다 필요한 총 시간을 측정하여 통합의 각 단계에서 측정해야 합니다. 그러면 가능한 낮은 성능 영역이 적절하게 세분화된 레벨에서 식별될 수 있으므로 훨씬 더 쉽게 성능 변경에 목표가 될 수 있습니다.
성능 변경
일단 성능 문제점 영역이 식별되면, 느린 조작의 근본적인 원인을 판별하기 위해 세부 분석이 수행되어야 합니다. 세부 분석은 WebSphere Product Center의 미들웨어 프로파일링 및 작업 세부 화면의 성능 탭과 같은 도구를 사용하여 수행될 수 있습니다. 그런 후 분석은 스크립트 또는 SQL 조회의 특정 영역에 초점을 맞추기 위해 적용될 수 있으며 스크립트 수정 또는 재작성이나 데이터베이스 조회를 향상시키기 위한 기술 포함 등의 적절한 조치를 취할 수 있습니다.
유효성 검증
안정성
소규모 통합의 장점
소규모 통합을 구현하면(구현 섹션에서 설명한 대로) 통합이 작동되는 것으로 표시된 모든 영역의 세부 목록을 제공하여, 통합이 완료된 훨씬 더 높은 레벨의 신뢰도가 제공되어야 합니다. 소규모 통합의 가시성 없이 작동 중인 통합의 세부사항을 증명하는 것이 더 어려울 뿐만 아니라 전체적으로 통합에는 식별, 진단 및 디버그하기 어려운 문제가 발생할 수 있습니다. 소규모 통합을 구현하면 전체적인 통합 안정성이 향상됩니다.
확장 가능한 테스트
소규모 통합의 장점
소규모 통합을 구현하면(구현 섹션에서 설명한 대로) 발생한 모든 오류 또는 문제점이 대량의(잠재적으로 무의미한) 복잡도로 인해 희미해지지 않도록 훨씬 더 세부화된 레벨에서 통합 테스트가 발생할 수 있습니다. 따라서 위에서 언급한 대로, 발견된 문제 진단, 디버깅 및 해결 프로세스는 이 접근 방법으로 인해 모두 현저하게 속도가 빨라집니다.
대표 환경 대 완전한 환경
통합 테스트는 최종 환경(동일한 스펙, 유효성 검사 규칙, 값 규칙, 보기)과 동일한 구성으로 그러나 가능한한 대표 엔티티(로케일, 카탈로그, 카테고리 트리, 항목, 카테고리, 조직, 사용자 및 역할)는 적게 대표 환경에서 수행되어야 합니다. 이렇게 하면 테스트 실행, 화면 로드에 소요되는 시간이 줄어들며 일반적으로 완전히 채워진 환경의 테스트에 비해 테스트에 소요되는 시간의 속도가 빨라집니다. 모든 테스트 및 디버깅은 이 환경에서 수행되어야 합니다.
대표 환경 및 모든 사항에서 테스트가 완료된 후에만 완료되고 완전히 채워진 환경에서 통합이 검증된 경우 작동 중인 것으로 나타납니다. 대표 환경에서 우연히 무시한 위험한 시나리오가 없는지 확인하고 통합의 프로덕션 레벨 성능을 테스트하기 위해 이 단계는 여전히 실행되어야 합니다.
확장 가능한 프로세스 테스트
스케줄 가능한 작업(예: 가져오기, 내보내기)은 먼저 매우 작은 수의 대표 항목(10 이하)에서만 실행되어야 합니다. 이 숫자는 실제로 이러한 항목을 처리 중인 스크립트에서 수집된 신뢰도 레벨에 비례하여 증가해야 합니다. 이 접근 방법은 전체 프로세스가 실행 중인 처음 몇 분 내에 곧 실패하지 않고, 결국 잘못 이동된 것을 찾기 위해 프로세스를 실행 중인 개인만이 시간에 관한 문제로 인해 대량 작업을 실행하지 않도록 합니다.
작업과 연관된 스크립트의 조작을 완전히 신뢰한 후에만 완전한 데이터 세트와 관련된 작업을 실행해야 합니다. 완전한 환경 권장사항에서와 마찬가지로, 우연히 무시한 위험한 시나리오가 없는지 확인하고 작업의 프로덕션 레벨 성능을 테스트하기 위해 이 단계는 여전히 실행되어야 합니다.
표시 여부
보고
소규모 통합의 장점
소규모 통합을 구현하면(구현 섹션에서 설명한 대로) 더 작고 더 빠른 구현 가능한 통합으로 인해 더 자세한 보고 레벨을 사용할 수 있습니다. 전체 통합 레벨에서 구현 진행 시 보고와 비교해 볼 때 이러한 보다 세부적인 보고 레벨은 더 명확한 구현의 수량 추적에 사용할 수 있습니다.
소규모 통합은 나열 가능하고, 완전한 통합에서 더 큰 그림과의 관계는 차트에 자세하게 나와 있습니다. 소규모 통합 타스크 진행의 보고로부터 전체 구현 진행의 정확한 그림이 쉽게 그려질 수 있습니다.
소유권
여러 팀으로 작업할 경우에도, 통합에서는 하나의 개인에게 소유권을 지정하십시오. 이 개인의 작업은 단일 스레드가 먼저 설정되어 있는지, 팀이 이 문서 지침에 따라 작동하고 있는지, (a) 소규모 통합, (b) 확장 가능한 프로세스 테스트 및 (c) 대표 환경 대 완전한 환경을 통한 증가하는 빌드/테스트 주기가 다양한 팀에서 동기화되는지 확인하는 것입니다.
문서
형식 및 접근 방법을 명확하게 식별
통합에서 작동 중인 여러 팀이 있을 때 실행할 명확한 경로를 결정하고 사용할 모든 형식을 명백하게 문서화하십시오. 대부분의 공통적인 예로는 WebSphere Product Center 팀이 WebSphere Product Center에서 데이터를 내보낼 때 작동 중인 위치와 고객 또는 SI 팀이 목적지 시스템으로 데이터를 업로드할 때 작동 중인 위치가 있습니다. 공통 형식의 스펙없이 작업을 시작하지 말고 매일 최신으로 이 문서를 보관하십시오. 프로젝트 관리자가 수행해야 하는 절대적인 요구사항입니다.
이 접근 방법은 대표 환경 사용 및 소규모 통합 수행과 일치합니다. 안정되고 가시적인 진행을 확실히 하려면, 두 팀 모두 점진적으로 빌드 및 테스트해야 합니다.
명확한 공통 용어를 사용하여 통합 설명
모든 구현은 통합 특성 섹션에 식별된 크기를 사용해야 합니다.
재사용 가능성
확장의 핵심은 이전 통합의 학습과 재사용 가능성 섹션에 설명된 재사용 가능성 원칙을 기억하는 통합 패키징에 있습니다.
표시 여부
보고 진행의 전체 메트릭을 설정하고 프로젝트 관리자에게 아무리 나빠도 수 일마다 명확한 상태 갱신을 제공하십시오.
소규모 통합
해당 통합을 인식하는 다양한 크기(카탈로그, 속성)에 따라 대형 통합의 복잡도를 분할하십시오. 한 번에 하나의 소규모 통합에 초점을 두고 가시성 메트릭에 직접 연결하십시오.
대표 환경 대 완전한 환경
디버그 및 테스트하기 쉬운 대표 환경을 유지보수하십시오. 스크립트 및 스펙의 유효성 검증을 신뢰할 수 있는 경우에만 완전한 환경으로 이동하십시오. 가시성 메트릭에 연결하십시오.
확장 가능한 프로세스 테스트
모든 작업을 작은 데이터 세트로 테스트하여 완전한 데이터 세트로 확장하기 전에 정확도를 확인하십시오. 가시성 메트릭에 연결하십시오.
성능
논리 또는 형식화의 정확성에 대해 걱정하지 말고, 개발 환경에서 그리고 이후에 문제를 식별하기 위해 규칙적으로 초기에 일부 성능 테스트를 실행하십시오.
초기에 단일 스레드 설정
특히 여러 홉, 여러 프로토콜 또는 비표준 방법을 필요로 할 수 있는 복잡한 통합에서 작동 중인 단일 통합 스레드를 초기에 설정하십시오.
스펙 및 문서 설계
특히 통합에서 작동 중인 여러 팀이 있을 때 실행할 명확한 경로를 정의 및 문서화하고 사용할 모든 형식을 명확하게 문서화하십시오.
단일 소유자
여러 팀으로 작업할 경우에도, 통합에서는 하나의 개인에게 소유권을 지정하십시오.
접근 방법
일반 통신 형식
가능할 때마다 일반 통신 형식은 이전 프로젝트에서 설계되거나 재사용되어야 합니다. 형식이 일반적일수록, 모든 시스템이 서로 통신하는 데 필요한 형식을 특별히 재작동하지 않고 통합에 더 많은 시스템이 포함될 수 있습니다. 물론 형식이 더 일반적이 되는 성능에서는 번갈아 사용할 수 있으므로, 한 프로젝트에 올바른 형식이 다른 프로젝트에서는 이상적인 선택이 아닐 수도 있습니다. 사용할 특정 형식을 판별할 경우 여전히 통합 특성을 고려해야 합니다.
컨텐츠 맵핑
가능한한 많이 WebSphere Product Center 내의 내용 모델과 통신 형식을 통해 표시된 모델 사이의 맵핑은 동적으로 갱신 가능한 방법을 사용하여 수행되어야 합니다. 통합 특성의 조사에 따라 특정 프로젝트 요구에서는 이러한 맵핑 작성이 완전히 동적으로 갱신될 수 없다고(예: 절대적인 최대 처리량의 높은 우선순위로 인해) 규정할 수 있습니다. 이를 수행하는 한 방법은 WebSphere Product Center 내 모델에서 카테고리 트리의 특정 노드가 맵핑된 속성의 스펙 노드 경로를 나타낼 수 있는 카테고리 트리(예: XML 구조 표시)를 이 트리와 관련된 단일 노드 스펙에 사용하는 것입니다. 그러면 반복적인 스크립트는 이 카테고리 트리와 정의된 맵핑에 따라 XML 파일로의 항목 맵핑을 처리하는 데 사용될 수 있으며 적은 노력으로 중첩된 다중 어커런스를 제공할 수도 있습니다.
정보 번역/변환
통합과 관련된 시스템에서는 통합에서 기타 시스템의 정보 또는 내용 제한사항 및 요구사항 자체를 처리할 필요가 없습니다. 내용 번역 및 변환을 처리하는 데 EAI 플랫폼을 손쉽게 사용할 수 있습니다. 예를 들어, WebSphere Product Center가 FLAG의 값을 "TRUE" 또는 "FALSE"로 저장하면 통합된 시스템은 값을 "Y" 또는 "N"로 저장할 수 있습니다. EAI 플랫폼은 WebSphere Product Center가 항상 TRUE/FALSE를 전송하고 TRUE/FALSE가 전송된다고 가정할 수 있는 반면, 통합 시스템에서는 항상 Y/N가 전송되며 전송될 것이라고 가정할 수 있습니다. 이로 인해 회선은 중단되며 통합에 추가 시스템이 포함되면 이 추가 시스템 입장에서는 레코딩이 필요없게 됩니다.
클라이언트 이해
클라이언트에서 이미 익숙해져 있는 플랫폼을 다시 사용할 수 있으므로, 클라이언트는 통합에서 알려진 기능을 사용하는 추가 신뢰도를 얻게 됩니다(예: EAI 플랫폼). 추가로 클라이언트 특정 통신 형식이 이미 존재하며 WebSphere Product Center 통합에 다시 사용되면, 클라이언트측 개발자에게는 WebSphere Product Center가 맵핑될 통신 형식을 이해하기 위한 추가 훈련이 필요없습니다.
통신 유연성 및 신뢰성
대부분의 EAI 플랫폼에는 다양한 프로토콜에서 통신이 발생할 수 있으며 통신이 브로커에 의해 전달되도록 하는 기본 기능이 있습니다. 이로 인해 WebSphere Product Center는 통신에 필요한 문서 생성에 초점을 두고, 이 문서를 다양한 시스템으로 전달하기 위한 잠재적으로 서로 다른 방법 지원에 대해 걱정할 필요가 없습니다. 그리고 각 시스템에서 문서를 수신했는지 여부 추적에 대해 걱정할 필요도 없습니다. 여기에는 EAI 레이어 및 플랫폼이 관련되며 WebSphere Product Center에서는 전체적인 통합 스레드 관점에서 이들을 인식하기만 하면 됩니다.
IBM은 다른 국가에서 이 책에 기술된 제품, 서비스 또는 기능을 제공하지 않을 수도 있습니다. 현재 사용할 수 있는 제품 및 서비스에 대한 정보는 한국 IBM 담당자에 문의하십시오. 이 책에서 IBM 제품, 프로그램 또는 서비스를 언급했다고 해서 해당 IBM 제품, 프로그램 또는 서비스만을 사용할 수 있다는 것을 의미하지는 않습니다. IBM의 지적 재산권을 침해하지 않는 한, 기능상으로 동등한 제품, 프로그램 또는 서비스를 대신 사용할 수도 있습니다. 그러나 비 IBM 제품, 프로그램 또는 서비스 운영에 대한 평가 및 검증은 사용자의 책임입니다.
IBM은 이 책에서 다루고 있는 특정 내용에 대해 특허를 보유하고 있거나 현재 특허 출원 중일 수 있습니다. 이 책을 제공한다고 해서 특허에 대한 라이센스까지 부여하는 것은 아닙니다. 라이센스에 대한 의문사항은 다음으로 문의하십시오.
135-270
서울특별시 강남구 도곡동 467-12
군인공제회관빌딩, 한국 아이.비.엠 주식회사
고객만족센터
전화번호: 080-023-8080
다음 단락은 현지법과 상충하는 영국이나 기타 국가에서는 적용되지 않습니다.
IBM은 타인의 권리 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하여(단, 이에 한하지 않음) 묵시적이든 명시적이든 어떠한 종류의 보증없이 이 책을 현상태대로 제공합니다. 일부 국가에서는 특정 거래에서 명시적 또는 묵시적 보증의 면책사항을 허용하지 않으므로, 이 사항이 적용되지 않을 수도 있습니다.
이 정보에는 기술적으로 부정확한 내용이나 인쇄상의 오류가 있을 수 있습니다. 이 정보는 주기적으로 변경되며, 이 변경사항은 최신판에 통합됩니다. IBM 이 책에서 설명한 제품 및/또는 프로그램을 사전 통고없이 언제든지 개선 및/또는 변경할 수 있습니다.
이 정보에서 비 IBM의 웹 사이트는 단지 편의상 제공된 것으로, 어떤 방식으로든 이들 웹 사이트를 옹호하고자 하는 것은 아닙니다. 해당 웹 사이트의 자료는 본 IBM 제품 자료의 일부가 아니므로 해당 웹 사이트 사용으로 인한 위험은 사용자 본인이 감수해야 합니다.
IBM은 귀하의 권리를 침해하지 않는 범위 내에서 적절하다고 생각하는 방식으로 귀하가 제공한 정보를 사용하거나 배포할 수 있습니다.
(1) 독립적으로 작성된 프로그램과 기타 프로그램(본 프로그램 포함) 간의 정보 교환 및 (2) 교환된 정보의 상호 이용을 목적으로 정보를 원하는 프로그램 라이센스 사용자는 다음 주소로 문의하십시오.
135-270
서울특별시 강남구 도곡동 467-12
군인공제회관빌딩
한국 아이.비.엠 주식회사
고객만족센터
이러한 정보는 해당 조항 및 조건에 따라(예를 들면, 사용료 지불 포함) 사용할 수 있습니다.
이 정보에 기술된 라이센스가 있는 프로그램 및 이 프로그램에 대해 사용 가능한 모든 라이센스가 있는 자료는 IBM이 IBM 기본 계약, IBM 프로그램 라이센스 계약(IPLA) 또는 이와 동등한 계약에 따라 제공한 것입니다.
본 문서에 포함된 모든 성능 데이터는 제한된 환경에서 산출된 것입니다. 따라서 다른 운영 환경에서 얻어진 결과는 상당히 다를 수 있습니다. 일부 성능은 개발 레벨 상태의 시스템에서 측정되었을 수 있으므로 이러한 측정치가 일반적으로 사용되고 있는 시스템에서도 동등하게 나타날 것이라고는 보증할 수 없습니다. 또한, 일부 성능은 추정치일 수도 있으므로 실제 결과는 다를 수 있습니다. 이 문서의 사용자는 해당 데이터를 사용자의 특정 환경에서 검증해야 합니다.
비 IBM 제품에 관한 정보는 해당 제품의 공급업체, 공개 자료 또는 기타 범용 소스로부터 얻은 것입니다. IBM에서는 이러한 제품들을 테스트하지 않았으므로, 비 IBM 제품과 관련된 성능의 정확성, 호환성 또는 기타 청구에 대해서는 확신할 수 없습니다. 비 IBM 제품의 성능에 대한 의문사항은 해당 제품의 공급업체에 문의하십시오.
이 정보에는 일상의 비즈니스 운영에서 사용되는 자료 및 보고서에 대한 예제가 들어 있습니다. 이들 예제에는 개념을 가능한 완벽하게 설명하기 위해 개인, 회사, 상표 및 제품의 이름이 사용될 수 있습니다. 이들 이름은 모두 가공의 것이며 실제 기업의 이름 및 주소와 유사하더라도 이는 전적으로 우연입니다.
IBM은 향후 방향 또는 의도에 관한 모든 언급은 별도의 통지없이 변경될 수 있습니다.
프로그래밍 인터페이스 정보(제공된 경우)는 이 프로그램을 사용하여 응용프로그램 소프트웨어를 작성하는 데 도움을 주기 위한 것입니다.
범용 프로그래밍 인터페이스를 사용하여 이 프로그램 도구 서비스를 확보하는 응용프로그램 소프트웨어를 작성할 수 있습니다.
그러나 이 정보에는 진단, 수정 및 성능 조정 정보가 포함될 수도 있습니다. 진단, 수정 및 성능 조정 정보는 사용자의 응용프로그램 소프트웨어를 디버그하는 데 도움을 주기 위해 제공됩니다.
경고: 이 진단, 수정 및 성능 조정 정보는 변경될 수 있으므로 프로그래밍 인터페이스로 사용하지 마십시오.
다음 용어는 미국 또는 기타 국가에서 사용되는 IBM Corporation의 상표 또는 등록상표입니다.
IBM
IBM 로고
AIX
CrossWorlds
DB2
DB2 Universal Database
Domino
Lotus
Lotus Notes
MQIntegrator
MQSeries
Tivoli
WebSphere
Microsoft, Windows, Windows NT 및 Windows 로고는 미국 또는 기타 국가에서 사용되는 Microsoft Corporation의 상표입니다.
MMX, Pentium 및 ProShare는 미국 또는 기타 국가에서 사용되는 Intel Corporation의 상표 또는 등록상표입니다.
Java 및 모든 Java 기반 등록상표는 미국 또는 기타 국가에서 사용되는 Sun Microsystems, Inc.의 상표입니다.
기타 회사, 제품 또는 서비스 이름은 타사의 상표 또는 서비스표일 수 있습니다.
IBM WebSphere Product Center에는 제외 구성요소가 포함되어 있으며
(관련된 라이센스 정보 문서에 명시), 이에 대하여 다음 추가 조항을
적용합니다. 본 소프트웨어에는 제외 구성요소 조항에 의거하여
국제 프로그램 라이센스 계약(IPLA)의 조건에 따른
라이센스가 부여됩니다. IBM은 귀하에게 본 소프트웨어와 함께
다음 주의사항을 제공합니다.
i.) IBM WebSphere Product Center에는 IBM이 Apache 2.0 라이센스 조건에 따라
Apache Software Foundation으로부터 라이센스를 취득한
다음 소프트웨어가 포함되어 있습니다.
- Apache Regular Expression v1.2
- Apache Axis v1.1
- Apache XML4J v3.0.1
- Apache Log4j v1.1.1
- Apache Jakarta Commons DBCP Package v1.1
- Apache Jakarta Commons Pool Package v1.1
- Apache Jakarta Commons Collections Package v3.0
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION,
AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement You may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of Your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to Your work.
To apply the Apache License to Your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with Your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
You may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
ii.) IBM WebSphere Product Center에는 다음 조건에 따라 IBM이
Scott Hudson, Frank Flannery and C. Scott Ananian으로부터 라이센스를 취득한
다음 소프트웨어가 포함되어 있습니다.
- Cup Parser Generator v0.10k
CUP Parser Generator Copyright Notice,
License, and Disclaimer
Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the names of the authors or their employers not be
used in advertising or publicity pertaining to distribution of the software
without specific, written prior permission. The authors and their employers
disclaim all warranties with regard to this software, including all implied
warranties of merchantability and fitness. In no event shall the authors or
their employers be liable for any special, indirect or consequential damages
or any damages whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action, arising out of
or in connection with the use or performance of this software.
iii.) IBM WebSphere Product Center에는 다음 조건에 따라 IBM이
Elliot Joel Berk and C. Scott Ananian으로부터 라이센스를 취득한
다음 소프트웨어가 포함되어 있습니다.
- JLex v1.2.6
JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted, provided that
the above copyright notice appear in all copies and that both the copyright
notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the authors or their employers not be used
in advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors and their employers disclaim
all warranties with regard to this software, including all implied warranties
of merchantability and fitness. In no event shall the authors or their
employers be liable for any special, indirect or consequential damages or any
damages whatsoever resulting from loss of use, data or profits, whether in an
action of contract, negligence or other tortious action, arising out of or in
connection with the use or performance of this software. Java is a trademark
of Sun Microsystems, Inc. References to the Java programming language in
relation to JLex are not meant to imply that Sun endorses this product.
iv.) IBM WebSphere Product에는 다음 조건에 따라 IBM이
International Business Machines Corporation 및 기타 회사로부터 라이센스를 취득한
다음 소프트웨어가 포함되어 있습니다.
- ICU4J v2.8
ICU License - ICU 1.8.1 and later
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1995-2003 International Business Machines Corporation and others
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, and/or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, provided that the above
copyright notice(s) and this permission notice appear in all copies of
the Software and that both the above copyright notice(s) and this
permission notice appear in supporting documentation.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in this Software without prior written authorization
of the copyright holder.
상기 언급된 모든 상표 및 등록상표는 각 소유권자의
재산입니다.