SIP 애플리케이션 작성 설정

SIP 애플리케이션에 대한 JSR 116 표준은 동일한 SIP 요청에서 다중 애플리케이션을 호출할 수 있음을 섹션 2.4에서 언급하고 있습니다. 이 표준을 준수하도록 애플리케이션을 설정하는 프로세스를 애플리케이션 작성이라고 합니다.

이 태스크 정보

애플리케이션 작성을 수행하려면 구현에서 계단식 서비스 모델을 사용해야 합니다. 계단식 서비스 모델의 경우 다른 호스트에서 트리거되는 것처럼 같은 호스트에서 트리거된 서비스 애플리케이션이 순차적으로 트리거되어야 합니다. 따라서 응답 플로우는 상향식으로 진행되며 해당 요청의 역순으로 애플리케이션을 히트합니다.

JSR 116 표준에서는 애플리케이션 작성을 구현하는 방법은 지정하지 않으므로 이 표준을 준수하는 많은 방법이 있습니다. WebSphere® Application Server의 경우 애플리케이션 작성은 배치된 애플리케이션 순서 및 각 애플리케이션의 배치 디스크립터 내의 맵핑 규칙 순서에 따라 달라집니다.
  • 초기 수신 요청에서 SIP 컨테이너는 순서대로 잠재적인 각 규칙을 준수하려고 합니다. 컨테이너가 n번째 일치사항을 찾으면 컨테이너는 해당 서블릿을 호출합니다.

  • 서블릿이 요청 프록시를 수행해야 하는 경우 컨테이너는 다시 규칙을 스캔하여 추가 일치사항을 검색합니다. 컨테이너가 (n+1)번째 일치사항을 찾으면 컨테이너는 해당 서블릿을 호출합니다.

  • 이전에 호출한 서블릿과 같은 애플리케이션의 모든 서블릿은 일치사항을 찾는 프로세스에서 제외됩니다. 서블릿은 같은 SIP 요청에서 두 번 호출할 수 없습니다.

시작 시 로드 우선순위를 지정할 수 있습니다. sip.xml<load-on-startup>은 서블릿이 시작에서 초기화되는 순서를 정의합니다. 이 값이 0보다 작으면 일치 규칙 및 작성 순서에 따라 첫 번째 요청이 일치할 때 서블릿이 초기화됩니다. 0은 시작 초기화 순서에 적합한 가중치입니다. 이 태그가 존재하지 않거나 음수 값을 포함하는 경우에는 서블릿이 시작 시에 초기화되지 않습니다.

또한 수동으로 변경하는 경우에는 web.xml 내의 동일한 태그에 <load-on-startup>을 추가해야 합니다. 서블릿 및 siplets를 로드하는 것은 웹 컨테이너이며 web.xml에서만 찾습니다. SAR을 배치하는 경우 sip.xml만 변경하면 됩니다. web.xml은 배치 후에 자동으로 적절히 구성됩니다.

서블릿에 대한 SIP 배치 디스크립터 태그에 임베디드 load-on-startup 태그는 애플리케이션이 서버의 시작 시에 로드되는 순서를 지정합니다. 애플리케이션이 들어오는 새 메시지를 처리하기 위해 규칙을 일치시키는 애플리케이션 작성 체인의 멤버인 경우 애플리케이션이 호출되는 순서를 지정하지 않습니다.

애플리케이션 및 해당 모듈에 대한 시작 가중치는 deployment.xml 파일에 지정됩니다. 모듈이 작성에서 요청을 픽업하는 순서는 먼저 애플리케이션 가중치에 의해 평가된 다음 모듈 가중치에 의해 평가됩니다. 관리 콘솔에서 애플리케이션 가중치 또는 모듈 가중치를 지정하려면 다음 단계를 완료합니다.

프로시저

  1. 애플리케이션(EARs) 가중치를 지정하려면 Enterprise Applications > applicationName > 시작 동작을 펼치고 시작 순서를 설정하십시오.
  2. 모듈(WAR) 가중치를 지정하려면 엔터프라이즈 애플리케이션 > 애플리케이션 이름 > 모듈 관리를 펼치고 시작 가중치를 설정하십시오.
  3. 변경된 애플리케이션을 다시 시작하십시오.

load-on-startup 우선순위 지정 예제:
sip.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sip-app
PUBLIC "-//Java Community Process//DTD SIP Application 1.0//EN"
"http://www.jcp.org/dtd/sip-app_1_0.dtd">
<sip-app>
		<display-name>SIPSampleProxy</display-name>
	
		<servlet>
				<servlet-name>SIPSampleProxy</servlet-name>
				<servlet-class>sipes.test.container.proxy.SIPSampleProxy</servlet-class>
				<load-on-startup>1</load-on-startup>
		</servlet>

		<servlet-mapping>
				<servlet-name>SIPSampleProxy</servlet-name>
				<pattern>
						<equal>
								<var>request.uri.user</var>
								<value>SIPSampleProxy</value>
						</equal>
				</pattern>
		</servlet-mapping>
	
		<proxy-config>
				<sequential-search-timeout>1000</sequential-search-timeout>
		</proxy-config>
		<session-config>
				<session-timeout>12</session-timeout>
		</session-config>
</sip-app>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp">
		<display-name>SIPSampleProxy</display-name>
		<servlet>
				<servlet-name>SIPSampleProxy</servlet-name>
			<display-name>SIPSampleProxy</display-name>
				<servlet-class>sipes.test.container.proxy.SIPSampleProxy</servlet-class>
		</servlet>
		<servlet-mapping>
				<servlet-name>SIPSampleProxy</servlet-name>
				<url-pattern>/SIPSampleProxy</url-pattern>
		</servlet-mapping>
		<welcome-file-list>
				<welcome-file>index.html</welcome-file>
				<welcome-file>index.htm</welcome-file>
				<welcome-file>index.jsp</welcome-file>
				<welcome-file>default.html</welcome-file>
				<welcome-file>default.htm</welcome-file>
				<welcome-file>default.jsp</welcome-file>
		</welcome-file-list>
</web-app>
시작 가중치 지정 예제:

다음 예제는 독립형 서버를 위한 것입니다.

deployment.xml

<?xml version="1.0" encoding="UTF-8" ?> 
- <appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1137951186883">
- <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1137951186883" deploymentId="0" startingWeight="1" binariesURL="$(APP_INSTALL_ROOT)/OrangeNode08Cell/SipContainerTestSuite.ear" useMetadataFromBinaries="false" enableDistribution="true" createMBeansForResources="true" reloadEnabled="false" appContextIDForSecurity="href:OrangeNode08Cell/SipContainerTestSuite" filePermission=".*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755" allowDispatchRemoteInclude="false" allowServiceRemoteInclude="false">
  <targetMappings xmi:id="DeploymentTargetMapping_1137951186883" enable="true" target="ServerTarget_1137951186883" /> 
  <classloader xmi:id="Classloader_1137951186883" mode="PARENT_FIRST" /> 
- <modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1137951186883" deploymentId="1" startingWeight="10000" uri="sipunit.war">
  <targetMappings xmi:id="DeploymentTargetMapping_1137951186884" target="ServerTarget_1137951186883" /> 
  <classloader xmi:id="Classloader_1137951186884" /> </modules>
  <properties xmi:id="Property_1137951186883" name="validateinstall" value="warn" /> </deployedObject>
  <deploymentTargets xmi:type="appdeployment:ServerTarget" xmi:id="ServerTarget_1137951186883" 
name="server1" nodeName="OrangeNode10" /> </appdeployment:Deployment>

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsip_appchain
파일 이름:tsip_appchain.html