웹 서비스 트랜잭션, 고가용성, 방화벽 및 매개체 노드
WS-AT(Web Services Atomic Transactions) 메시지 컨텍스트 및 WS-BA(Web Service Business Activities) 메시지 컨텍스트가 방화벽을 통과하거나 WebSphere® Application Server 도메인 외부로 전파될 수 있도록 시스템을 구성할 수 있습니다. 이러한 구성을 사용하면 WS-AT 또는 WS-BA를 사용하는 웹 서비스 애플리케이션을 여러 시스템으로 분배할 수 있습니다. 사용하는 토폴로지는 트랜잭션의 고가용성 및 유사성 동작에 영향을 미칠 수 있습니다.
웹 서비스 트랜잭션(WS-AT 또는 WS-BA)은 모든 트랜잭션 고가용성 기능을 사용할 수 있습니다. 이 과정에는 동일한 클러스터에 있는 다른 활성 서버에서 실행하는 서버의 피어 복구와 실패한 서버의 작업 단위를 완료하기 위해 프로토콜 메시지의 경로를 피어 서버로 재지정하는 활동이 포함됩니다. 웹 서비스 트랜잭션의 고가용성을 사용하도록 하려면 피어 복구에 대한 트랜잭션 특성 구성 주제를 참조하십시오. WebSphere Application Server의 고가용성 및 피어 복구에 대한 일반적인 정보는 트랜잭션 고가용성 주제를 참조하십시오.
웹 서비스 트랜잰션이 다른 서버 또는 클러스터의 애플리케이션 사이에서 분배되거나 WebSphere Application Server 시스템이 아닌 시스템으로 분배될 때, WebSphere Application Server의 트랜잭션 서비스 고가용성에 대한 영향뿐만 아니라 웹 서비스 요청의 트랜잭션 라우팅 유사성도 고려해야 합니다. 원격 클라이언트가 일련의 트랜잭션 요청을 클러스터에서 배치된 대상 서비스로 전송하는 경우, 보통 첫 번째 요청이 클라이언트 애플리케이션의 트랜잭션 유사성을 대상 서버로 설정하게 하여 동일한 트랜잭션의 후속 요청이 동일한 대상 서버로 전달되게 합니다. 트랜잭션이 완료되면, 트랜잭션 고가용성 장애 복구가 발생하지 않는 경우와 발생할 때까지 트랜잭션 프로토콜 메시지가 이 동일한 대상 서버로도 전송됩니다.
- 직접 연결
이 토폴로지는 비클러스터 구성용으로 사용하십시오. 이 토폴로지에는 매개체 노드가 없습니다. 클라이언트는 대상 서비스가 호스트되는 특정 WebSphere Application Server와 직접 통신합니다. 이 토폴로지는 트랜잭션 유사성 및 고가용성을 지원하나 대상 서비스와 동일한 관리 셀에서 클라이언트가 WebSphere Application Server 버전 6.0.2 이상에서 실행되는 경우에만 지원합니다.
- WebSphere Application Server 프록시 서버
클라이언트가 대상 서비스와 동일한 관리 셀의 일부가 아니며 트랜잭션 유사성 또는 트랜잭션 고가용성이 필요한 경우 이 토폴로지를 사용하십시오. 이 토폴로지에서 클라이언트는 클라이언트 요청 및 웹 서비스 트랜잭션 프로토콜 메시지를 WebSphere Application Server 클러스터의 해당 서버에 동적으로 라우트하는 IBM® WebSphere Application Server용 프록시 서버와 통신합니다. 프록시 서버는 대상 서비스와 동일한 관리 셀에서 구성됩니다.
문제점 방지: WebSphere Application Server에서는 이 시나리오에 대한 ODR(on demand router) 지원을 제공하지 않습니다. WebSphere Application Server 프록시 서버만이 웹 서비스 트랜잭션 엔드포인트에 대한 프록시로 작동할 수 있습니다. gotcha
프록시 서버는 관리 셀의 에지에서 트랜잭션 고가용성 및 유사성에 대한 라우팅을 지원합니다. HTTP 프록시 구성의 경우, HTTP 엔드포인트 URL 정보를 제공해야 합니다. 즉, 대상 웹 서비스 모듈에 대한 HTTP Server URL 접두부를 구성해야 합니다.
또한 해당 WebSphere Application Server로 웹 서비스 트랜잭션 프로토콜 메시지를 전달하도록 웹 서비스 트랜잭션에 대한 프록시 서버도 구성해야 합니다. 이를 수행하려면, 트랜잭션 서비스 HTTP 프록시 접두부를 구성하십시오(WebSphere Application Server가 웹 서비스 트랜잭션에 매개체 노드를 사용하도록 설정 주제에 설명됨).
- HTTP Server(예: IBM HTTP Server)
클라이언트에서 트랜잭션 고가용성 및 유사성 라우팅이 필요하지 않은 경우(예: 대상 서비스가 클러스터되지 않은 서버로 배치되므로), 이 토폴로지를 사용하십시오.
이 토폴로지에서 클라이언트는 클라이언트 요청 및 웹 서비스 트랜잭션 프로토콜 메시지를 항상 특정 WebSphere Application Server로 라우트하는 HTTP Server와 통신합니다. HTTP 프록시 구성의 경우, HTTP 엔드포인트 URL 정보를 제공해야 합니다. 즉, 대상 웹 서비스 모듈에 대한 HTTP Server URL 접두부를 구성해야 합니다. 또한 일반적으로 웹 서비스 트랜잭션에 대한 HTTP Server도 구성해야 합니다. 즉, 해당 WebSphere Application Server로 웹 서비스 트랜잭션 프로토콜 메시지를 전달하도록 구성해야 합니다. 이를 수행하려면, 트랜잭션 서비스 HTTP 프록시 접두부를 구성하십시오(WebSphere Application Server가 웹 서비스 트랜잭션에 매개체 노드를 사용하도록 설정 주제에 설명됨).
HTTP 서버는 트랜잭션에 대해 유사성 또는 고가용성을 제공할 수 없습니다. 그러나 실패한 서버가 다시 시작된 후 복구 처리가 발생하기 때문에 트랜잭션 무결성이 보증됩니다.참고: 여전히 WebSphere Application Server에서 고가용성을 사용 가능하도록 할 수 있습니다. HTTP Server를 통해 이 서버에 액세스하는 비WebSphere Application Server 클라이언트는 트랜잭션의 고가용성을 이용할 수 없지만 동일한 서버에 액세스하는 다른 클라이언트는 이용할 수 있습니다. 클라이언트가 WebSphere Application Server에 있을 때 클라이언트로 작동되는 서버가 해당 프로토콜 메시지를 라우팅하는 HTTP 프록시를 사용하지 않고 트랜잭션 프로토콜 메시지를 애플리케이션 서버에 직접 보내도록 지정할 수 있는 경우 전체 고가용성 기능을 여전히 사용할 수 있습니다. 이 특정 시나리오에서는 트랜잭션 서비스 HTTP 프록시 접두부를 지정하지 않아야 합니다.트랜잭션 프로토콜 메시지를 포함하여 수신된 모든 메시지에 대해 역방향 프록시인 기존 HTTP 서버가 있을 수 있습니다. 이 서버가 IBM WebSphere Application Server용 프록시 서버에 대한 고가용성 및 워크로드 관리 기능을 보유하도록 하려면, 다음 시나리오와 같이 IBM WebSphere Application Server용 프록시 서버를 작성하고, 모든 요청을 프록시 서버로 라우트하도록 HTTP Server를 구성하십시오.
- HTTP Server 및 IBM WebSphere Application Server용 프록시 서버
클라이언트가 대상 서비스와 동일한 관리 셀의 일부가 아니며 트랜잭션 유사성 또는 트랜잭션 고가용성이 필요한 경우 이 토폴로지를 사용하십시오. 토폴로지는 IBM WebSphere Application Server용 프록시 서버 토폴로지와 비슷하나 외부 역방향 프록시로 HTTP 서버 사용을 지원합니다.
이 토폴로지에서 클라이언트는 IBM WebSphere Application Server용 프록시 서버로 클라이언트 요청 및 웹 서비스 트랜잭션 프로토콜 메시지를 전달하도록 플러그인에서 프록시 서버로 요청을 라우팅하여 구성하는 HTTP Server와 통신합니다. 그런 다음, 프록시는 WebSphere Application Server의 해당 서버로 요청을 동적으로 라우트합니다. 프록시 서버는 대상 서비스와 동일한 관리 셀에서 구성됩니다.
프록시 서버는 관리 셀의 에지에서 트랜잭션 고가용성 및 유사성에 대한 라우팅을 지원합니다. HTTP 프록시 구성의 경우, HTTP 엔드포인트 URL 정보를 제공해야 합니다. 즉, 대상 웹 서비스 모듈에 대한 HTTP Server URL 접두부를 구성해야 합니다.
웹 서비스 트랜잭션에 대한 프록시 서버 및 HTTP Server도 구성해야 합니다. 즉, 해당 WebSphere Application Server로 웹 서비스 트랜잭션 프로토콜 메시지를 전달하도록 구성해야 합니다. 이를 수행하려면, 트랜잭션 서비스 HTTP 프록시 접두부를 구성하십시오(WebSphere Application Server가 웹 서비스 트랜잭션에 매개체 노드를 사용하도록 설정 주제에 설명됨).