"WSRR v7 Feature Pack for SFM(Service Federation Management)" 릴리스의 목적은 다중 및 이종 서비스 도메인 간 비즈니스 서비스의 재사용 프로세스를 단순화하는 것이다. SFM 콘솔은 Business Space에서 실행되는 웹 브라우저 GUI를 제공하며, 이 GUI는 원하는 서비스 공유 "의도"를 지정할 수 있는 기능을 사용자에게 제공하며, Service Connectivity Management Protocol(v7 WebSphere® Service Registry and Repository, WebSphere® Enterprise Service Bus 및 WebSphere® Message Broker에 구현됨)을 활용하여 기반 제품에서 손쉽게 서비스 메타데이터를 복사하고 서비스 프록시를 작성할 수 있도록 지원한다. 이 제품의 비즈니스 가치는 수동 작업으로 인한 복잡한 상황을 경험하지 않아도 된다는 것이다.
SCMP(Service Connectivity Management Protocol)는 연합과 관련된 연결성 개념을 정의하는 방법을 제공한다.
이 기사에서는 레지스트리 WSRR과 현재 지원되는 연결성 제공자인 WESB 및 WMB에 대해 SCMP를 사용하도록 설정하는 구성 단계를 자세히 설명한다. SFM 콘솔을 설정하는 단계도 설명할 것이며, 이는 간단한 두 개의 도메인 시나리오에 대한 구성 단계이기도 하다. 더 복잡한 시나리오를 구성할 수도 있지만 이 기사에서는 구성 및 설정의 기본 원칙에 중점을 두고 설명한다.
이 기사를 다 읽으면 다음과 같은 설정 작업을 수행할 수 있다.
- 두 개의 서비스 도메인을 작성하는 데 필요한 제품을 설정할 수 있다. 이 경우 각 서비스 도메인에는 레지스트리로 작동하는 WSRR 인스턴스와 연결성 제공자로 작동하는 WESB 또는 WMB가 포함되어 있다.
- WSRR에서 제공하는 Business Space 환경에서 실행 중인 SFM 콘솔을 설정할 수 있다.
SCMP(Service Connectivity Management Protocol) 요약
다른 기사에서 SMCP의 여러 고급 개념을 다루겠지만 여기에서는 이 기사에서 언급할 몇 가지 개념과 이러한 개념과 관련하여 각 제품이 수행하게 될 파트에 대해 간단히 살펴본다.
SCMP에는 네 가지 서버 개념이 있다.
- 연합 서버. 연합은 도메인의 목록 콜렉션이다.
- 도메인 서버. 도메인은 하나의 레지스트리와 0개 이상의 연결성 제공자로 구성된다. 조직의 다양한 부서나 지역을 나타내는 다양한 도메인이 존재할 수 있다. 각 도메인에는 해당 도메인에서 사용하는 고유 서비스 세트를 가지고 있으며, 이러한 서비스 세트는 레지스트리에 저장되어 있다. SFM을 사용하면 이러한 서비스를 다른 도메인과 공유 및 관리할 수 있다.
- 레지스트리 서버. 레지스트리는 서비스 레지스트리를 나타내며, 무엇보다도 여기에 서비스 엔드포인트가 저장된다. 각 도메인에는 하나의 레지스트리가 있어야 한다.
- 연결성 제공자 서버. 연결성 제공자는 서비스 그룹을 프록시할 수 있는 ESB를 나타낸다.
WSRR V7은 연합, 도메인 및 레지스트리 서버를 구현하는 데 필요한 모든 기능을 제공한다. 그리고 WESB 및 WMB V7도 연결성 제공자 서버로 사용할 수 있다. WESB, WMB 또는 둘 다를 연결성 제공자로 사용할 수 있다. SFM 콘솔은 서비스 문서 URL을 통해 정보에 액세스하는 방식으로 제품과 통신한다.
SFM에 사용되는 각 서버는 제품의 인스턴스에 맵핑해야 한다. 다시 말해서 하나의 레지스트리와 하나의 연결성 제공자가 포함된 도메인이 두 개 있을 경우 두 도메인의 레지스트리 인스턴스 및 연결성 제공자 인스턴스가 서로 달라야 한다. 예를 들어, 하나의 레지스트리와 하나의 연결성 제공자를 가지고 있는 두 개의 도메인을 설정하려면 두 개의 WSRR 인스턴스를 설치하고 WESB와 WMB, 두 개의 WESB 인스턴스 또는 두 개의 WMB 인스턴스를 설치해야 한다. 이 기사에서는 두 개의 서비스 도메인을 설정하며, 첫 번째 도메인에는 WSRR과 WESB가 포함되고, 두 번째 도메인에는 WSRR과 WMB가 포함된다.
SFM 기능 팩은 버전 7의 WSRR용으로 다운로드할 수 있다. 기능 팩에는 SCMP 인에이블먼트와 SFM 콘솔 실행에 필요한 파일이 들어 있다. SCMP를 사용하게 되면 WSRR이 SFM 환경의 연합, 도메인 및 레지스트리 서버로 작동할 수 있다. 서비스를 공유 및 관리하는 데 필요한 서비스 문서 및 아티팩트는 레지스트리 및 연결성 제공자에 의해 관리된다.
다음 단계는 WSRR의 구성 방법을 보여 준다.
이 섹션의 예제에서는 관리 또는 애플리케이션 보안이 사용되지 않는 환경에 중점을 두고 있다. WSRR에서 보안을 사용하기 위한 몇 가지 추가 단계는 '보안 구성하기' 섹션을 참조한다.
아래에서 다루지 않는 WSRR 구성 관련 추가 정보를 보려면 WSRR Information Center를 참조하기 바란다.
기존 버전의 WSRR v7에도 SCMP를 사용할 수 있지만 다음 단계에 따라 설치해야 한다. SFM 콘솔이 Business Space 환경에서 실행되므로 프로파일을 통해 이 기능을 사용하는 방법에 대해서도 설명한다.
- WSRR Information Center의 지시사항에 따라 WSRR을 설치한다.
- PMT 또는 profileManagement 명령행 도구를 사용하여 서비스 레지스트리 프로파일을 작성한다.
- WSRR을 시작하고 WSRR 관리 콘솔에 로그인한다. 이 관리 콘솔은 다음 위치에 있다.
- http://<hostName>:<port>/ServiceRegistry
- 다음과 같이 WSRR에서 구성 파일을 작성한다.
- Manage Profiles > Configuration Profiles 옵션을 선택한다(그림 1 참조).
- 'Load Configuration Profile' 단추를 사용하여 <WAS_HOME>/WSRR/Config' 디렉토리로 이동한 다음 원하는 프로파일을 선택한다. 이 예제에서는 'GovernanceEnablementProfile_v70.zip'을 선택한다.
- 이 파일을 적절한 이름으로 WSRR에 로드한다.
- 'Manage Profiles' 패널로 돌아가서 'Make Active' 단추를 사용하여 새 프로파일을 활성화한다(그림 2 참조).
그림 1. WSRR의 Configuration profile 옵션
- 서버를 중지한다.
그림 2. WSRR 콘솔의 Make Active 단추
이제 WSRR을 SCMP와 함께 구성할 수 있는 준비가 완료되었다.
다음으로 SFM 기능 팩의 내용을 WSRR에 설치할 차례이다. 이 작업은 분산 시스템에서 IBM IM(Installation Manager)을 통해 수행된다. z/OS 플랫폼의 경우에는 기능 팩이 tar 파일로 제공되며, 이 파일에 추출해야 하는 배치 아티팩트가 포함되어 있다.
시작하려면 먼저 SFM 기능 팩 zip 파일의 사본이 있어야 한다.
- IM에서 SFM 기능 팩을 저장소로 추가한다. 이 작업은 다음 단계를 통해 수행된다.
- File > Preferences...를 선택한다.
- 'Add repository'를 클릭한다.
- SFM 기능 팩 zip 파일이 있는 위치로 이동하여 해당 파일을 선택한다.
- 'OK'를 클릭하여 Preferences 창을 닫는다. 그림 3에서는 추가된 새 저장소를 보여 준다.
그림 3. Installation Manager에 추가된 저장소
- IM에서 Install을 클릭하고 이후 단계를 수행한다.
- 'Install Packages' 패널에서 'IBM WebSphere Service Registry and Repository Version 7.0 Feature Pack for Service Federation Management'를 선택한다. 그림 4에서는 SFM 패키지 옵션을 보여 준다.
- 적합한 WSRR 설치 위치를 선택한다.
그림 4. Installation Manager의 Service Federation Management 옵션
- 기능 팩에 포함된 사용 가능한 기능이 Feature 페이지에 나열된다.
- IBM Service Federation Management 콘솔
- IBM WebSphere Service Registry and Repository Service Connectivity Management enablement
SFM 콘솔을 이 WSRR 인스턴스에 설치하고 SCMP를 사용하려면 두 기능을 모두 선택한다. 콘솔을 다른 WSRR에 설치할 경우에는 'IBM WebSphere Service Registry and Repository Service Connectivity Management enablement'만 선택하면 된다. 이 예제에서는 콘솔이 필요하므로 두 옵션을 모두 선택한다(그림 5 참조).
그림 5. 설치 옵션
- 'Install'과 'Finish'를 차례로 클릭한다. 그림 6을 참조한다.
그림 6. 완료된 SFM 설치
설치 프로세스에 대한 자세한 정보는 WSRR InfoCenter(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_installing_fp.html)에서 볼 수 있다.
이제 SFM 기능 팩 파일이 파일 시스템의 다음 디렉토리에 추가되어 있어야 한다.
<WAS_HOME>\feature_packs\WSRR-SFM |
SCMP 인에이블먼트 및 구성 작업을 수행하려면 SFM 기능 팩에 제공된 일부 파일을 WSRR에 로드하고 WAS 설정을 구성해야 한다.
스크립트를 통해 파일을 로드하고 클러스터링하는 방법을 포함한 전체 지시사항을 WSRR Infocenter(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_configuringenablement.html)에서 볼 수 있다. 하지만 WSRR 관리 콘솔을 통해 단일 서버 WSRR을 구성하는 단계는 다음과 같다.
- WSRR 서버를 시작하고 관리 콘솔, http://<hostName>:<port>/ServiceRegistry(예: http://myHost:9080/ServiceRegistry)에 로그인한다.
- 'Configuration' Perspective가 선택되었는지 확인한다(그림 7 참조).
그림 7. WSRR의 Configuration Perspective 선택하기
- SCMP 비즈니스 모델 오브젝트를 로드한다.
- Active Profile > Business Model Systems > Load Business Model System으로 탐색한다.
- <WAS_HOME>\feature_packs\WSRR-SFM\owl로 이동한다.
- 다음 파일을 로드한다.
- scmpfdBusinessModel.owl
- scmpsdBusinessModel.owl
- scmpsrBusinessModel.owl
그림 8. 설치된 SFM Business Model 파일
- SCMP 플러그인 jar을 로드한다.
- Active Profile > Plug-in JARs > Load JAR Plug-in으로 탐색한다.
- <WAS_HOME>\feature_packs\WSRR-SFM\pluginJar로 이동한다.
- SCMPEnablement-1.0.0.jar 파일을 로드한다.
- 이 플러그인 jar에 의미 있는 이름을 제공한다.
그림 9. 설치된 플러그인 jar
- Atom 피드를 로드한다.
- Active Profile > Atom Feed Application > Load Atom Feed Application Configuration으로 탐색한다.
- <WAS_HOME>\feature_packs\WSRR-SFM\feedApp로 이동한다.
- SCMPFeedsApp.xml 파일을 로드한다.
- Atom 피드 구성에 의미 있는 이름을 지정한다.
그림 10. 로드된 Atom 피드
- WSRR을 레지스트리 서버로 작동하도록 설정한다. 이 작업은 ServiceRegistry 오브젝트의 인스턴스를 작성하여 수행한다.
- Administrator Perspective로 전환한다.
- 홈 페이지에서 "Business Objects" 상자 아래에 이름 목록이 표시되어야 한다.
- "ServiceRegistry"를 선택한다(그림 11 참조).
- 다음 페이지에서 "New"를 클릭한다.
- 이름(예: "My Service Registry")과 기타 세부사항(예: 연락처 및 조직)을 입력한다.
- "Finish"를 클릭한다.
그림 11. ServiceRegistry 비즈니스 오브젝트
WSRR에서는 WAS 환경 변수를 사용하여 SCM(Service Connectivity Management) 인에이블먼트의 URL 접두부로 사용되는 호스트 이름 및 포트를 지정할 수 있다. 이 환경 변수는 반드시 정의해야 한다. 이 작업은 WAS 관리 콘솔에서 수행해야 한다. 다음과 같이 이 WSRR 인스턴스를 가리킬 WSRR_ENDPOINT_URL_PREFIX라는 새 WAS 변수를 작성해야 한다.
- WAS 관리 콘솔, http://<hostName>:<port>/ibm/console에 로그인한다.
- Environment > WebSphere variables로 탐색한다.
- 적합한 범위를 선택한다. 이 예제에서는 서버 범위를 사용할 수 있다.
- "http://hostname:port" 또는 "https://hostname:port" 값을 사용하여 WSRR_ENDPOINT_URL_PREFIX라는 새 변수를 작성한다. 여기서, hostname 및 port는 WSRR의 설치 위치를 가리킨다(그림 12 참조).
- 변경 사항을 저장한다.
- WebSphere Application Server를 다시 시작한다.
그림 12. _ENDPOINT_URL_PREFIX WebSphere 변수
이제 SCMP 코드를 실행할 수 있도록 WSRR이 구성되었다. 앞에서 언급한 대로 WSRR은 SCMP 모델에서 연합, 도메인 및 레지스트리 서버로 작동한다. 레지스트리는 <host>:<port>/ServiceRegistryFeeds/servicedocument 형식의 서비스 문서 URL을 통해 SFM에 노출된다.
예를 들면, 다음과 같다. http://myHost:9080/ServiceRegistryFeeds/servicedocument.
이 URL은 SFM 콘솔을 사용할 때 필요하다. 앞에서 설명한 대로 각 레지스트리는 한 번에 하나의 도메인에서만 사용할 수 있다. 따라서 두 개의 서비스 도메인을 작성하려면 두 개의 WSRR 인스턴스가 필요하며, 각 인스턴스마다 위 단계를 수행하여 설정해야 한다.
WESB(WebSphere Enterprise Server Bus) V7에는 이미 SCMP 인에이블먼트 코드가 포함되어 있지만 WESB V7을 연결성 제공자로 사용하려면 몇 가지 구성 단계를 수행해야 한다.
SCMP와 함께 사용할 경우 WESB는 서비스 도메인의 연결성 제공자로 작동할 수 있다. 이는 곧, SFM에서 공유 중인 서비스 그룹을 나타내는 WEBS에 대한 프록시를 작성할 수 있다는 것을 의미한다.
이 섹션의 예제에서는 관리 또는 애플리케이션 보안이 사용되지 않는 환경에 중점을 두고 있다. WESB에서 보안을 사용하기 위한 몇 가지 추가 단계는 '보안 구성하기' 섹션을 참조한다.
WebSphere Enterprise Server Bus 설치하기
- WESB Information Center(http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wesb.doc/doc/welcome_wps_ins.html)의 설명에 따라 WESB를 설치한다.
- PMT 또는 manageprofiles 명령행 도구를 사용하여 WESB에 대한 default.esbserver 프로파일(예: 독립형 서버)을 작성한다. 클러스터링된 환경을 구성하는 방법에 대한 자세한 정보는 InfoCenter(http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wesb.doc/info/welcome.html)를 참조한다. 하지만 이 기사에서는 독립형 환경을 설정하는 방법에 중점을 두고 설명한다.
다음 단계에서는 WESB를 SFM과 함께 연결성 제공자로 작동하도록 설정한다.
- WESB 관리 콘솔, http://<hostName>:<port>/ibm/console(예: http://myHost:9060/ibm/console)을 시작하고 로그인한다.
- Services > REST Services > Rest service providers > REST Service Gateway로 탐색한다(그림 13 참조).
- 호스트 이름으로 지정된 이름이 소문자로 된 완전한 이름인지 확인한다(예: 단순한 myHost가 아닌 myhost.ibm.com).
- 프로토콜 및 포트의 값이 예상했던 보안 레벨과 일치한지 확인한다. 예를 들어, 프로토콜이 https일 경우에는 포트가 9443이어야 하고, 프로토콜이 http일 경우에는 포트가 9080이어야 한다. 포트는 보안 레벨에 따라 WC_defaulthost 또는 WC_defaulthost_secure에서 찾을 수 있다. 포트 정보는 Servers > Server Types > server1 > ports에서 확인할 수 있다(그림 14 참조).
그림 13. Rest Service Gateway 특성
그림 14. WAS 관리 콘솔의 서버 포트
- 새 SCM 연결성 제공자를 작성한다.
- Service Integration > SCM Connectivity Provider로 탐색한다.
- 새 연결성 제공자를 추가한다.
- 세부사항을 입력한다. 이 경우, 호스트 값은 완전한 호스트 이름이어야 하고, 포트 값은 WC_defaulthost 및 WC_defaulthost_secure에 있는 값이어야 한다. 그림 15를 참조한다.
- 변경 사항을 저장한다.
그림 15. SCM Connectivity Provider 작성하기
보안 기능과 함께 WESB를 실행하는 방법에 대한 자세한 정보는 보안 섹션을 참조한다. 이 연결성 제공자 서버의 서비스 문서 URL은 <hostName>:<port>/rest/scmp/servicedocument와 같은 형식이 된다.
예를 들면, 다음과 같다. http://myHost:9080/rest/scmp/servicedocument. 이 URL은 SFM 콘솔을 사용할 때 필요하다.
WMB(WebSphere Message Broker) V7에는 이미 SCMP 인에이블먼트 코드가 포함되어 있지만 WMB V7을 연결성 제공자로 사용하려면 몇 가지 구성 단계를 수행해야 한다.
SCMP와 함께 사용할 경우 WMB는 서비스 도메인의 연결성 제공자로 작동할 수 있다. 이는 곧, SFM에서 공유 중인 서비스 그룹을 나타내는 WMB에 대한 프록시를 작성할 수 있다는 것을 의미한다.
이 섹션의 예제에서는 관리 또는 애플리케이션 보안이 사용되지 않는 환경에 중점을 두고 있다. WMB에서 보안을 사용하기 위한 몇 가지 추가 단계는 '보안 구성하기' 섹션을 참조한다.
WMB에서 SCMP를 설정하는 방법에 대해 아래 제공된 내용보다 더 자세한 정보를 보려면 WMB Information Center(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bn19100_.htm)를 참조한다.
이 기사에서는 WMB와 WebSphere® MQ 등의 관련 컴포넌트가 설치되어 있는 것으로 가정한다. WMB를 가져와서 설치하는 방법에 대한 자세한 정보는 Information Center(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ax01445_.htm)를 참조한다.
- MQ 및 MB 탐색기를 시작한다.
- 브로커를 작성한다. 이 예제의 경우에는 기본 브로커 구성만으로도 충분하다. MB 탐색기에서 'Create the default configuration' 단추를 클릭한다.
이제 WMB를 설치하고 브로커를 작성했으므로 브로커를 SFM용 연결성 제공자로 사용하도록 설정할 수 있다.
이 예제에서는 기본 포트를 가정한다. 브로커 포트에 대한 자세한 정보는 WMB Information Center(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bn19020_.htm)를 참조한다.
- 메시지 브로커 명령 프롬프트를 열고 다음 단계를 수행한다.
- 다음 mqsichangeproperties 명령을 실행하여 HTTP를 통해 브로커의 SFM을 설정한다.
mqsichangeproperties brokerName -b servicefederation -o scmp -n enabled,enableSSL -v true,false - 브로커를 SFM 콘솔에 추가할 때 필요한 서비스 문서 URL의 호스트 이름 및 컨텍스트 루트를 설정한다. 신뢰할
수 있는 주소 지정을 위해 완전한 도메인 호스트 이름을 사용해야 한다.
mqsichangeproperties broker name -b servicefederation -o scmp -n hostname,contextRoot -v <fully_qualified_hostname>,/scmp - mqsichangeproperties 명령을 실행하여 사용할 HTTP와 관련한 특성을 구성한다.
mqsichangeproperties brokerName –b servicefederation –o HTTPConnector –n port –v 8085 - 실행 그룹의 SFM 기능과 관련된 특성을 구성한다. 지정된 호스트 이름은 완전한 이름이어야 한다. 이 예제에서는
기본 포트를 가정하고 있으므로, 기본 포트를 사용하지 않을 경우에는 WMB Information Center에서 자세한 정보를 확인한다.
mqsichangeproperties TEST -e exgroup1 -o ServiceFederationManager -n proxyURLHostName -v <fully_qualified_hostname> - 브로커를 중지한다.
- 브로커를 시작한 후 시스템 로그를 검사하여 Service Federation 리스너가 성공적으로 시작되었음을 알리는 메시지가
있는지 확인한다. 이 BIP3769 메시지는 SFM 콘솔에 구성되어야 하는 서비스 문서 URL 값도 확인한다.
Service Federation SCMP listener initialized. Additional information : "SCMP Service Document URL" "http://myHost.ibm.com:8085/scmp/servicedocument"
보안 기능과 함께 WMB를 실행하는 방법에 대한 자세한 정보는 보안 섹션을 참조한다.
이제 브로커가 SCMP와 함께 작동하도록 설정되었다. 브로커를 SCMP에 대해 설정하고 나면 브로커의 실행 그룹도 SCMP에 대해 설정되므로 이제 실행 그룹에서 서비스 가용성을 제공하는 프록시 인스턴스를 작성하고 호스트할 수 있다.
이 WMB에 대한 서비스 문서 URL은 <host>:<port>/scmp/servicedocument 형식이어야 한다. 예를 들면, 다음과 같다. http://myHost:8085/scmp/servicedocument. 이 URL은 SFM 콘솔을 사용할 때 필요하다.
이제 다양한 모든 제품이 SCMP에 대해 설정되었다. 다음 단계는 SFM 콘솔을 설치하는 것이다.
SFM 콘솔은 두 부분으로 구성되어 있다.
- WAS에 설치할
SFM-Coordinator-xxx.ear이라는 이름의 애플리케이션(SFM Coordinator 포함) - SFM 콘솔을 위한
SFM-Widgets-xxx.zip이라는 이름의 Business Space 위젯
SFM 콘솔을 사용하려면 일부 정보를 저장할 데이터베이스가 있어야 한다. 기능 팩 다운로드에 데이터베이스를 설정하는 데 필요한 ddl 파일이 있다. 이러한 파일은 <WAS_HOME>\feature_packs\WSRR-SFM\ddl\에 있다. z/OS에 데이터베이스를 작성하는 방법에 대한 자세한 정보는 Information Center를 참조한다. 이 기사에서는 분산 환경이라고 가정한다. 지원되는 데이터베이스에 대한 세부사항은 Information Center(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_configuringconsole.html)에서 볼 수 있다.
- 선택한 데이터베이스에 대한 ddl(
<WAS_HOME>\feature_packs\WSRR-SFM\ddl\에 있음)을 실행하여 SFM 테이블을 작성한다.
예제: Derby를 사용하여 필요한 데이터베이스 테이블을 작성하려면 다음 단계를 수행한다.
- <WSRR_HOME>\derby\bin\embedded로 탐색한다.
- ij.bat/.sh를 실행한다.
- 다음 명령을 실행한다.
Connect
'jdbc:derby:consoleDB;user=<username>;password=<password>;create=true';
run '<WSRR_HOME>\feature_packs\WSRR-SFM\ddl\derby\SFMConsole.ddl';
commit;
quit;
데이터베이스를 작성한 후에는 SFM 콘솔에서 데이터베이스를 사용할 수 있도록 하기 위해 이제 WAS 관리 콘솔에서 데이터 소스를 구성한다.
- WAS 관리 콘솔, http://<hostName>:<port>/ibm/console에 로그인한다.
- 데이터베이스를 작성할 때 사용했던 사용자 이름 및 비밀번호와 일치하는 인증 별명을 작성한다.
- Security > Global Security로 탐색한다.
- 오른쪽 인증 섹션에서 Java™ Authentication and Authorization Service 섹션을 펼치고 J2C authentication data 링크를 클릭한다(그림 16 참조).
- 별명 이름인 sfmAlias와 함께 작성된 데이터베이스와 일치하는 사용자 이름 및 비밀번호를 제공하여 새 인증 별명을 작성한다.
그림 16. WAS 관리 콘솔의 Global security 패널에 있는 J2C 인증 링크
- 앞에서 작성한 데이터베이스에 대한 JDBC 제공자를 작성한다.
- Resources > JDBC > JDBC Providers로 탐색한다.
- 노드 범위를 선택한다.
- 'New'를 클릭하여 새 JDBC 제공자를 작성한다.
- 앞에서 작성한 데이터베이스와 일치하는 데이터베이스 유형을 선택한다. 그림 17에서는 Derby 설정 중 이 작업에 해당하는 예제를 보여 준다.
- 나머지 단계를 수행하여 제공자에게 해당하는 값을 입력한다.
그림 17. WAS 관리 콘솔의 Global security 패널에 있는 J2C 인증 링크 - Derby 데이터베이스 구성 단계
- 변경 사항을 저장한다.
- SFM 데이터베이스에 대한 데이터 소스를 작성한다.
- 단계 3에서 작성한 JDBC 제공자를 선택한다.
- 'Additional properties' 아래에서 'Data sources'를 선택한다(그림 18 참조).
- 새 데이터 소스를 작성한다.
- 새 데이터 소스에 의미 있는 이름과 jndi/SFMDB라는 jndi 이름을 지정한다(그림 19 참조).
그림 18. JDBC 제공자 아래의 Data sources 링크
그림 19. 데이터 소스 작성하기
- 위 예제의 경우, 필요한 데이터베이스 이름은 'consoleDB'이다(그림 20 참조).
그림 20. 데이터 소스의 데이터베이스 이름 설정하기
- 필요한 경우 sfmAlias를 인증 별명으로 설정한다(그림 21 참조).
그림 21. 데이터 소스의 인증 설정 지정하기
- 마법사 단계가 완료되면 변경 사항을 저장한다.
- 새로 작성된 데이터 소스를 선택한 후 'Test connection' 단추를 사용하여 데이터베이스를 올바르게 연결할 수 있는지 확인한다(그림 22 참조).
그림 22. 데이터 소스에 대한 성공적인 연결 테스트
다음 단계에서는 SFM Coordinator 애플리케이션을 WAS에 설치하는 방법을 보여 준다. SFM Coordinator 애플리케이션은 SFM Business Space 위젯과 같은 서버에 설치해야 한다.
- WAS 관리 콘솔, http://<hostName>:<port>/ibm/console(예: http://myHost:9060/ibm/console)에 로그인한다.
- SFM Coordinator ear 파일을 로드한다.
- Applications > Enterprise application > New enterprise application으로 탐색한다.
- <WAS_HOME>\feature_packs\WSRR-SFM\installableApps로 이동한다.
- SFM-Coordinator-xxxx.ear을 선택한다.
- 'Next'를 클릭한다.
- 'Detailed'를 클릭한다.
- 'Next'를 클릭한다.
- "Map resource references to resources" 단계를 선택한 후 이전 섹션에서 작성한 데이터 소스를 찾는다(예제에 제공된 jndi 이름인 "jndi/SFMDB" 사용, 그림 23 참조).
- 마법사를 완료한다.
그림 23. SFM-Coordinator 설치 중 데이터 소스 jndi 이름 설정하기
- 변경 사항을 저장한다.
- 서버를 다시 시작한다.
이전 단계에서 언급한 대로 SFM Business Space 위젯과 SFM Coordinator 애플리케이션은 같은 서버에 설치해야 한다. SFM 콘솔은 WSRR과 함께 제공되는 버전의 Business Space에서 지원된다.
Business Space가 이미 설치되어 있는지 확인하기 위해 http://<hostName>:<port>/mum/enabler URL을 사용하여 Business Space 콘솔에 액세스한다. Business Space 콘솔이 표시되면(그림 24 참조) Business Space가 이미 설치되어 있는 것이다.
그림 24. 작동 중인 Business Space 콘솔
Business Space가 설치되어 있지 않은 경우에는 다음 단계를 수행하여 설치한다.
- Business Space의 설치 메커니즘은 WAS 확장이다. 이 확장은 PMT(Profile Management Tool)에서 사용할 수 없으며 명령행에서 <WAS install dir>/bin에 있는 'manageprofile'을 사용하여 수행해야 한다.
- 다음 명령을 사용하여 기존 WAS 프로파일을 확장한다.
manageprofiles -augment -profileName <profilename> -templatePath
<WAS_HOME>\profileTemplates\BusinessSpace\default.bspace -cellName <cellname> -nodeName <nodename>
이제 Business Space를 설치했으므로 이제 다음 단계를 수행하여 SFM Business Space 위젯을 설치할 차례이다.
- 명령 프롬프트에서 다음을 실행한다.
cd <WAS_HOME>/profiles/myProfile/binwsadmin.bat -conntype NONE$AdminTask installBusinessSpaceWidgets {-nodeName myNode01 -serverName server1 -widgets <WSRRHome>\feature_packs\WSRR-SFM\installableApps\SFM-Widgets-xxxx.zip}$AdminConfig saveexit
- WAS 서버를 중지하고(서버가 실행 중인 경우) 다시 시작한다.
- SFM 위젯을 Business Space 콘솔에 추가한다.
그림 25. Business Space 콘솔에서 공간 메뉴 옵션 작성하기
- Business Space(http://<hostName>:<port>/mum/enabler)에 로그인한다.
- Actions > Create Space로 탐색한다(그림 25 참조).
- 새 공간에 이름을 지정한다.
- "Create a new space using a template" 드롭 다운 아래에서 "Service Federation Management" 템플리트를 선택한다(그림 26 참조).
- "Save"를 클릭한다.
그림 26. Service Federation Management 템플리트 작성하기
- 새로 작성된 공간에 SFM 콘솔이 표시된다(그림 27 참조).
그림 27. Business Space에 성공적으로 설치된 SFM 콘솔
이제 SFM 콘솔이 Business Space에 추가되었으며 두 개의 서비스 도메인을 작성하는 작업과 관련된 제품이 SCMP에 대해 구성되었다.
SFM을 안전하게 사용하려면 다양한 관련 제품이 서로 신뢰할 수 있도록 구성해야 한다. 일반적으로 이 작업은 SSL과 기본 인증의 조합을 통해 수행된다.
SFM에서는 대상 제품이 서로 통신할 수 있는 권한을 가지고 있는 것으로 가정하므로 이러한 단계는 수동으로 수행해야 한다. SFM 보안에 대한 자세한 정보는 SFM Information Center(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/rsfm_security.html)를 참조한다.
WAS에서 가장 간단한 형태의 보안은 기본 인증이다. 이는 본질적으로 서버 및 애플리케이션에 액세스하기 위해 사용자 이름과 비밀번호를 제공해야 한다는 의미이다. 간단하게 설명하기 위해 이 기사에서는 WAS(WESB 또는 WSRR) 서버에서 관리, 애플리케이션 및 Java™ 2 레벨 보안을 사용하는 방법에 대해 살펴본다.
- WAS 관리 콘솔, http://<hostName>:<port>/ibm/console(예: http://myHost:9060/ibm/console)에 로그인한다.
- Security > Global security로 탐색한다.
- 'Security Configuration Wizard' 단추를 사용하여 서버에 대한 관리, 애플리케이션 및 Java™ 2 보안을 구성한다.
- 변경 사항을 저장한다.
- 서버를 다시 시작한다.
- 이제부터 관리 콘솔 URL은 https://<hostName>:<secure_port>/ibm/console(예: https://myHost:9043/ibm/console)이다.
WAS 보안에 대한 자세한 정보는 WAS Information Center(http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/welcome_nd.html)를 참조한다.
두 개의 WAS 기반 서버(예: WSRR 또는 WESB)에서 HTTPS를 통해 서로 통신하려면 먼저 각 서버에서 SSL 인증서를 교환해야만 서로를 신뢰할 수 있다. SFM 설정에서 이 작업은 일반적으로 관련된 각 서버와 SFM 콘솔을 호스트하는 서버 사이에서 발생해야 한다. 인증서를 교환하는 방법은 여러 가지이다. 세부사항은 WAS Information Center를 참조한다. 이 예제에서는 다음 단계를 통해 인증서를 교환할 수 있다.
- 각 서버의 콘솔로 이동한다.
- Security > SSL certificate and key management > Key stores and certificates로 탐색한다.
- NodeDefaultTrustStore > Signer Certificates를 클릭한다(그림 28 및 29 참조).
그림 28. WAS 관리 콘솔의 NodeDefaultTrustStore
그림 29. WAS 관리 콘솔의 Signer certificates
- 'Retrieve from port'를 클릭하고 다른 프로파일의 세부사항을 입력한다. 별명은 이 인증서의 이름이다.
- 'Retrieve signer information'을 클릭하고(그림 30 참조) OK와 Save를 차례로 클릭한다.
그림 30. 인증서 검색하기
- 두 번째 프로파일에 대해서도 동일한 단계를 반복한다.
- 두 서버를 중지하고 다시 시작한다.
WMB에서 보안을 구성하는 방법에 대한 자세한 설명은 WMB Information Center(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bp28220_.htm)를 참조한다. HTTPS를 사용하기 위해 WMB에서 SCMP를 구성하려면 몇 가지 추가 단계를 수행해야 한다.
- 다음 mqsichangeproperties 명령을 실행하여 브로커의 SFM을 설정한다.
mqsichangeproperties brokerName -b servicefederation -o scmp -n enabled,enableSSL -v true,true - 브로커의 키 저장소를 설정한다.
- WMB의 설치 디렉토리(예: /opt/ibm/mqsi/7.0/jre16/bin)에서 ikeyman 프로그램을 찾는다.
- ./ikeyman을 실행한다.
- 'Key Database File' > New를 선택한다.
- WMB 설치 경로에 없는 디렉토리를 찾아서 선택한다.
- 메시지가 표시되면 새 저장소에 대한 비밀번호를 제공한다. (이 비밀번호는 이후 명령에 사용된다.)
- 'New Self-Signed...'를 클릭한 다음 새 창의 맨 위에 있는 첫 번째 필드에 'broker'를 입력하고 OK를 클릭한다.
- 이제 'Extract Certificate...'를 클릭하고 저장된 키 저장소 파일과 같은 위치로 이동한 후 cert.arm이라는 이름과 지정된 유형을 승인하고 파일을 저장한다.
- SFM 콘솔이 실행되는 WAS 프로파일에서 cert.arm을 가져온다.
- WAS 관리 콘솔, https://<hostName>:<port>/ibm/console에 로그인한다.
- Security > SSL certificate and key management > key stores and certificates > NodeDefaultTrustStire > Signer certificates로 탐색한다.
- Add를 클릭하고 의미 있는 이름을 별명으로 입력한 후 파일을 복사해 놓은 위치에 대한 전체 경로를 입력하고 OK를 클릭한다.
- 다음과 같이 키 저장소를 사용하도록 브로커를 구성한다.
mqsichangeproperties brokerName –b servicefederation –o HTTPSConnector –n port,keystoreFile,keystorePass –v 8086,keys.jks,<password>(여기서, 8086은 사용된 포트이며, keys.jks는 키 저장소의 위치를 참조한다.)
- 브로커의 신뢰 저장소를 구성한다.
- '/tmp/key.jks'의 값은 단계 1에서 사용한 디렉토리로 바꿔야 한다.
mqsichangeproperties brokerName –o BrokerRegistry –n brokerTruststoreFile –v /tmp/key.jks
- '/tmp/key.jks'의 값은 단계 1에서 사용한 디렉토리로 바꿔야 한다.
- 신뢰 저장소에 사용할 비밀번호를 설정한다.
- <password>는 앞에서 키 저장소에 대해 설정한 비밀번호이다.
mqsisetdbparams brokerName –n brokerTruststore::password –u <user> –p <password>
- <password>는 앞에서 키 저장소에 대해 설정한 비밀번호이다.
- 다음 명령을 사용하여 SCMP에 사용할 사용자 ID와 비밀번호를 설정한다(예: admin/admin).
mqsisetdbparams brokerName –n sfm::scmp –u <user> –p <password> - 브로커를 중지하고 다시 시작한다.
- 프록시에 대한 정보를 설정한다.
- 다음 명령으로 프록시를 설정하여 호스트 이름, 불안한 포트 및 안전한 포트를 지정한다.
mqsichangeproperties brokerName –e default –o
ServiceFederationManager –n
proxyURLHostName,port,securePort –v myHost,8811,8844
- 다음 명령으로 프록시를 설정하여 호스트 이름, 불안한 포트 및 안전한 포트를 지정한다.
이제 SFM을 통해 관리할 수 있는 서비스 도메인의 설정과 관련된 모든 제품을 구성할 수 있다. 그리고 Business Space에서 실행되면서 서비스 도메인 간에 서비스를 관리 및 공유하는 데 사용할 수 있는 SFM 콘솔을 설정 및 액세스할 수도 있다.
교육
- developerWorks의 SOA 및 웹 영역에서 기술을 향상시키는 데 필요한 참고자료를 얻을 수 있다.
- 기술 서점에서
다양한 기술 주제와 관련된 서적을 살펴보자.
제품 및 기술 얻기
- IBM 제품 평가판을
다운로드하거나 IBM SOA Sandbox의
온라인 시험판을 살펴보고 DB2®,
Lotus®, Rational®, Tivoli® 및
WebSphere®의 애플리케이션 개발 도구 및 미들웨어 제품을 사용해 볼 수 있다.
토론
- developerWorks 포럼 & 블로그를 통해 developerWorks 커뮤니티에 참여하자.

Jonathan Roberts is a software engineer at IBM Hursley Laboratories. He has spent the last two years working on the Service Federation Management project. He has also worked on a number of WebSphere products, including working WebSphere Enterprise Service Bus and WebSphere Service Registry and Repository.