웹 서비스 애플리케이션을 WebSphere Application Server에 배치한 경우 각 애플리케이션
또는 모듈에 대한 인스턴스가 작성됩니다. 인스턴스는 구현 범위, 클라이언트 바인딩, 배치 디스크립터 정보를 포함하여
웹 모듈 또는 엔터프라이즈 JavaBeans(EJB) 모듈에 대한 배치 정보를 포함합니다.
애플리케이션, 세션, 요청과 같이 세 가지 레벨의 범위를 설정할 수 있습니다.
시작하기 전에
엔터프라이즈 아카이브(EAR) 파일을 아직 배치하지 않은 경우
배치를 준비하거나 애플리케이션 서버에 미리 배치해야 합니다.
이 태스크 정보
이 태스크의 1차 목적은 웹 서비스 포트 범위의 구성을 사용하는 것입니다.
개발 프로세스 중에 웹 서비스로 JavaBeans 오브젝트를 사용할 때 처음에 지정된 범위는
WebServicesServerBindPort 명령으로 변경할 수 있습니다.
범위 속성은 JMS(Java Message Service) 전송을 사용하는 웹 서비스 또는 엔터프라이즈 Bean에
적용되지 않습니다.
J2EE(Java 2 platform Enterprise Edition)용
웹 서비스는 웹 서비스 구현이 Stateless이어야 함을 지정합니다.
따라서 스펙 규제를 유지보수하기 위해
범위는 애플리케이션 레벨로 남아 있을 수 있습니다.
개별 세션 레벨 또는 요청 레벨과 관련된 상태는 구현 시 유지되지 않기 때문입니다.
스펙에서 벗어나 다른 JavaBeans 인스턴스에 액세스하려면
사용자는 다른 JavaBeans에 있는 정보를 검색하기 때문에
범위 설정을 변경해야 합니다.
범위에 대해 구성된 설정은
모듈의 웹 서비스 포트에 대해 서비스 구현 클래스의 새 인스턴스를 작성하는 빈도를 판별합니다.
애플리케이션 범위를 사용하면
구현의 동일한 인스턴스를 애플리케이션의 모든 요청에서 사용합니다.
세션 범위를 사용하면 동일한 인스턴스를 각 세션의 모든 요청에서 사용합니다.
요청 범위를 사용하면 모든 요청에서 새 인스턴스를 사용합니다.
예를 들어, 애플리케이션으로 범위가 설정된 경우
서버에 오는 모든 메시지는 동일한 Java Bean 인스턴스에 액세스합니다.
wsadmin 도구를 통해 범위 설정을 변경하려면 다음을 수행하십시오.
프로시저
- 스크립트 명령을 실행하십시오. 자세히 학습하려면 wsadmin 스크립트 클라이언트 시작 정보를
참조하십시오.
- 웹 서비스 포트의 범위를 구성하십시오.
새 활성화 스펙을 사용하거나 작성하는 대신 기존 리스너 포트를 사용하려면
EJB JAR 버전이 2.1보다 이전 버전인지 여부를 판별하십시오. 애플리케이션을 배치하는 데
-usedefaultbindings 옵션을 지정하면 시스템이 자동으로 활성화 스펙을
작성하여 사용합니다. 활성화 스펙이 있는 경우, 시스템은
리스너 포트를 무시하고 활성화 스펙을 대신 사용합니다.
새 활성화 스펙 대신 정의된 리스너 포트를 사용하여 2.1 이상의 EJB JAR 버전으로 애플리케이션을 배치하려면,
관심있는 프로파일의 특성 디렉토리에 있는 wsadmin.properties 파일에서
com.ibm.websphere.management.application.dfltbndng.mdb.preferexisting 시스템 특성을 true로 설정하십시오.
install,
installInteractive, edit 또는 editInteractive
옵션을 사용하여 다음 구문에 나온 대로, 웹 서비스 포트 범위를
구성하십시오.
$AdminApp install app_name {-usedefaultbindings -deployejb
-WebServicesServerBindPort {{<module_name> <Web_service> <port><scope_setting>}...}
이전 예제에서는 하나의 WebServicesServerBindPort 명령을 사용하여
다중 포트 범위를 변경할 수 있음을 보여줍니다. 여기서, - app_name은 애플리케이션 이름(예: WebServicesSample.ear)임
- module_name은 모듈 이름(예: AddressBookW2JE.jar)임
- Web_service는 웹 서비스 이름(예: AddressBookW2JE
service/WSLoggerService2)임
- port는 포트 이름(예: AddressBook)임
- scope_setting은 범위에 대한 설정 레벨(예: Session)임
예
다음 예제는 명령행에 작성된 대로, 애플리케이션, 모듈, 웹 서비스, 포트, 범위를
보여줍니다.
$AdminApp install WebServicesSamples.ear {-usedefaultbindings -deployejb -deployws
-WebServicesServerBindPort {{AddressBookJ2WB.war AddressBookService AddressBook request}
{AddressBookW2JB.war AddressBookService AddressBook application}}}
다음에 수행할 작업
이제 기타 구성을 완료하고 애플리케이션을 시작 또는 다시 시작한 후
웹 서비스의 예상 동작을 확인할 수 있습니다.