ヘッダーをスキップ
Oracle Communication and Mobility Server管理者ガイド
10gリリース3(10.1.3)
B50835-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

13 アプリケーションのデプロイ

ここでは、SIPサーブレット・アプリケーションのアプリケーション・サーバーへのデプロイについて説明します。

SIPサーブレット・アプリケーションの概要

SIPアプリケーションは、サーブレット、クラス・ファイル、静的なリソースとコンテンツ、およびこれらの要素を統合する記述的なメタ情報によって構成できます。JSR-116で指定されているように、SIPサーブレット・アプリケーションは、ディレクトリの構造化された階層です。複合アプリケーション(HTTPとSIPの両方で構成されるアプリケーション)の場合、階層のルートは、Webサーバーから公開されるファイルのドキュメント・ルートとして機能します。脚注1 SIPサーブレット・アプリケーションの階層内で、WEB-INFディレクトリには、sip.xmlデプロイメント・ディスクリプタ・ファイルを含むディレクトリ(/WEB-INF/sip.xml)、アプリケーション・ローダー・クラスが利用できるユーティリティ・クラスを含むディレクトリ(/WEB-INF/classes)およびJARファイル、サーブレット、Bean、Webアプリケーションに役立つユーティリティ・クラスを含むディレクトリ(/WEB-INF/lib)が格納されます。

デプロイメント・ディスクリプタ・ファイル

SIPアプリケーションのデプロイメント・ディスクリプタ・ファイルsip.xmlは、次の要素で構成されます。

<sip-app>
   <context-param>...</context param>
   <display-name>...</display-name>
   <distributable>...</distributable>
   <session-config>...</session-config>
   <servlet>...</servlet>
   <servlet mappings>...</servlet mappings>
   <listener>...</listener>
   <security-constraint>...</security-constraint>
</sip-app>

アプリケーションの共通パラメータは、<context-param>要素内で設定されます。<session-config>要素は、アプリケーションのセッションを定義します。<servlet>要素は、子要素<servlet-name><servlet-class>でコンテナのサーブレットを定義します。<servlet mappings>要素は、アプリケーションのサーブレットがリクエストに応答する方法を定義します。アプリケーションのライフサイクル・リスナー・クラスとエラー処理は、<listener>要素で定義されます。セキュリティは、<security-constraint>要素を使用してサーブレットごとに宣言されます。sip.xmlファイルの要素の詳細は、『Oracle Communication and Mobility Server開発者ガイド』を参照してください。

開発からデプロイへ

SIPサーブレット・アプリケーションの開発からデプロイまでのサイクルは次のようになります。

SIPサーブレット・アプリケーションのデプロイとOC4Jでの起動が成功したら、ログ・ファイルを確認し、Oracle Communicatorクライアントなどのソフトフォン・クライアントを使用してテストします。

SIPアプリケーションのデプロイ

OCMSは、EAR(Enterprise Archive)ファイルとWAR(Web Application Archive)ファイルは受け付けますが、SARファイルは受け付けません。したがって、SIPアプリケーションをOC4Jにデプロイできるようにするには、WARファイルをEARファイルとしてパッケージングする必要があります。

次に示すように、EARファイルには、SARファイル、JARファイル、WAR(Web Application Archive)およびEJBモジュールを含めることができます。

J2EEAppName.ear
   META-INF/
   application.xml
   orion-application.xml (optional)
WebModuleName.war
   static HTML files, such as index.html
   JSP pages
   images
   WEB-INF/
      web.xml (Standard J2EE descriptor)
      orion-web.xml (optional OC4J Web descriptor)
      classes/
         servlet classes, according to package
      lib/
         JAR files for dependency classes
SIPApplicationName.sar
   WEB-INF/
      sip.xml (deployment descriptor)
      web.xml (for converged applications)
      classes/
         servlet classes, according to package
      lib/*.JAR
         JAR files for dependency classes

デプロイおよびEARアプリケーションの構造の詳細は、『Oracle Containers for J2EE開発者ガイド』を参照してください。

Oracle Application Server Controlを使用したSIPアプリケーションのデプロイ、アンデプロイおよび再デプロイ

Application Server Controlでは、JSR 88ベースのデプロイ・ウィザードが提供されています。このウィザードには、「アプリケーション」ページの「デプロイ」ボタンをクリックしてアクセスします。このウィザードを使用すると、J2EEアプリケーションのデプロイおよび再デプロイを行うことができます。また、デプロイ時に共通のデプロイメント・ディスクリプタの割当てとマッピングを行うためのタスク指向のデプロイ・プラン・エディタと、すべてのデプロイメント・ディスクリプタにアクセスして詳細な構成を行うことができる汎用デプロイ・プラン・エディタの両方が含まれています。アプリケーションのアンデプロイと再デプロイの詳細は、Application Server Controlを使用したSIPアプリケーションのデプロイ、アンデプロイおよび再デプロイに関する項を参照してください。


注意:

Application Server Controlを使用して、デプロイ・プランを変更することはできますが、sip.xmlデプロイメント・ディスクリプタ・ファイルを変更することはできません。デプロイ・プランについては、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。

アプリケーションの下にデプロイされたエンタープライズ・アプリケーションは、セキュリティ・インフラストラクチャおよび認証関連のEJB(Enterprise JavaBeans)を継承します。OCMS JAASセキュリティ・プロバイダに対する認証をサポートするには、このインフラストラクチャが必要です。


注意:

アプリケーションをアンデプロイすると、MBeanもアンデプロイされます。

OC4J SIPサーバー・インスタンスにアプリケーションをデプロイすると、次のコマンドを実行し、admin_client.jarユーティリティを使用してアプリケーションを起動または停止できます。

java -jar admin_client.jar uri adminId adminPwd -start|-stop appName

Oracle Application Serverの場合、URIパラメータには次の形式があります。

deployer:oc4j:opmn://host.example.com:6003/ocms

OC4Jスタンドアロンの場合、URIパラメータには次の形式があります。

deployer:oc4j:localhost:23791

ここでは、これらの方法の概要を説明します。

詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。


注意:

SIPアプリケーションは、J2EE準拠のEARファイルにパッケージングされている場合にのみ、OC4Jにデプロイできます。詳細は、「アプリケーションのデプロイ」を参照してください。

Application Server ControlでのSIPサーブレット・アプリケーションのデプロイ、アンデプロイおよび再デプロイ

Application Sever Controlコンソールでは、SIPアプリケーションをデプロイ、アンデプロイおよび再デプロイできるウィザードが提供されています。


ヒント:

すべてのアプリケーションが完全にデプロイされ、サーバーが再起動するまで、ファイアウォールを使用してすべての着信SIPトラフィックを遮断してください。

次に示すLinuxスクリプトblockport.shのようなシェル・スクリプトを使用して、SIPトラフィックをフィルタ処理できます。このスクリプトでは、iptablesツールを使用しています。

 #!/bin/bash

 if [ $# != 1 ]
 then
   echo "blockport.sh <port>"
   exit
 fi

 iptables -A INPUT -p tcp -m tcp --dport $1 -j DROP
 iptables -A INPUT -p udp -m udp --dport $1 -j DROP
 service iptables save

 echo "Port "$1" blocked."

サーバーが稼働し、すべてのアプリケーションが完全にデプロイされると、同じようにシェル・スクリプトを使用して、SIPトラフィックのフローを有効にできます。次のLinuxスクリプトunblockport.shは、SIPトラフィックを有効にするスクリプトの例です。

#!/bin/bash

 if [ $# != 1 ]
 then
   echo "unblockport.sh <port>"
   exit
 fi

 iptables -D INPUT -p tcp -m tcp --dport $1 -j DROP
 iptables -D INPUT -p udp -m udp --dport $1 -j DROP
 service iptables save

 echo "Port "$1" unblocked."

詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』のApplication Server Controlコンソールを使用したデプロイに関する項を参照してください。

デプロイ・ウィザードを使用したアプリケーションのデプロイ

「アプリケーション」ページの「デプロイ」ボタンをクリックすると起動されるデプロイ・ウィザードの誘導に従って、デプロイ・プロセスを実行できます。

  • 「アーカイブの選択」ページ(図13-1)が、ウィザードの最初のページです。このページでは、OC4Jに対して、SIPアプリケーションを含むEAR(Enterprise Archive)ファイルの場所を指定します。また、このページでは、デプロイ・プランの作成または適用を選択できます。デプロイ・プランは、OC4Jにアーカイブをデプロイするために必要なすべての構成データをクライアント側で集約したものです。既存のデプロイ・プランを使用する場合は、その場所を入力します。新しいデプロイ・プランを作成する場合は、「新規デプロイ・プランを自動的に作成します。」オプションを選択します。EARファイルの構造およびデプロイ用にSIPアプリケーションをパッケージングする方法については、「アプリケーションのデプロイ」を参照してください。


    ヒント:

    既存のプランの場所を入力しないと、ウィザードは自動的に新しいデプロイ・プランを作成します。

    図13-1 アプリケーションのデプロイ: アーカイブの場所の入力

    デプロイ・ウィザードでの場所の入力
    「図13-1 アプリケーションのデプロイ: アーカイブの場所の入力」の説明

    • 「次へ」をクリックすると、「アプリケーション属性」ページ(図13-2)が表示されます。このページでは、アプリケーション名を入力し、親アプリケーションを選択できます。アプリケーション名にはスペースを含めることはできません。

      認証を必要とするOCMSアプリケーションの場合は、親アプリケーションとしてSubscriber Data Servicesを選択します。


      注意:

      親アプリケーションを指定しないと、SIPアプリケーションはデフォルト・アプリケーションの子になります。

      「アプリケーション属性」ページでは、Webサイトを定義するname-web-site.xml構成ファイルの名前部分を指定することで、WebサイトへのWebアプリケーションのバインディングを設定することもできます。J2EEアプリケーションの一部としてデプロイされるWebアプリケーションは、アクセスで使用するWebサイトにバインドする必要があります。

      Webブラウザでアプリケーションにアクセスするときに使用するURLに付加されるWebモジュールのコンテキスト・ルートも、Webアクセスを可能にするプロセスの一部として設定されます。この値は、通常、アプリケーションとともにパッケージングされるapplication.xmlデプロイメント・ディスクリプタから読み込まれます。

    図13-2 アプリケーションのデプロイ: アプリケーション名と親アプリケーションの入力

    図13-2の説明が続きます
    「図13-2 アプリケーションのデプロイ: アプリケーション名と親アプリケーションの入力」の説明

  • 「デプロイ設定」ページ(図13-3)では、デプロイ・プランを編集できます。

    図13-3 アプリケーションのデプロイ: デプロイ設定の構成

    図13-3の説明が続きます
    「図13-3 アプリケーションのデプロイ: デプロイ設定の構成」の説明

    必要に応じてデプロイ・タスクを完成させた後に、「デプロイ」をクリックします。確認ページが表示されます(図13-4)。

    図13-4 デプロイの確認

    図13-4の説明が続きます
    「図13-4 デプロイの確認」の説明


注意:

着信リクエストに対してOCMS SIPサーブレット・コンテナに適切に応答させるには、リクエストを処理するデプロイ対象アプリケーションをApplication RouterのSIPUriList属性に追加する必要があります。この属性を構成すると、OCMS以外(すなわち、OCMS Communicator以外)のSIPクライアントからの着信リクエストINVITEMESSAGEPUBLISHREGISTER、またはSUBSCRIBEのROUTEヘッダーにアプリケーションが追加されます。Proxy Registrarは常に、SIPUriList属性でリストされる最終項目になるようにしてください。

デプロイ・ウィザードを使用したアプリケーションのアンデプロイ

アプリケーションを選択してから「アンデプロイ」ボタンをクリックすることで、アプリケーションを削除(アンデプロイ)できます。アプリケーションをアンデプロイすると、アプリケーションに登録されているMBeanもアンデプロイされます。

同様に、親アプリケーションをアンデプロイすると、子アプリケーションもアンデプロイされます。したがって、親アプリケーションとそれに関連するすべてのアプリケーションを再デプロイする必要があります。アプリケーションをアンデプロイするときのOC4Jの再起動については、『Oracle Containers for J2EEデプロイメント・ガイド』を参照してください。

デプロイ・ウィザードを使用したアプリケーションの再デプロイ

「再デプロイ」ボタンを使用すると、OC4Jを再起動しないでアプリケーションをアンデプロイできます。EARファイルにパッケージングされているSIPアプリケーションを再デプロイすると、OC4Jに対して以前のインスタンスをアンデプロイするよう指示されますが、アプリケーションを選択して「アンデプロイ」をクリックする必要はありません。

アプリケーションのデプロイと同様に、ウィザードで示される3つの手順のプロセスに従って、アプリケーションを再デプロイします。OC4Jに対してEARファイルを指示し、デプロイ・プランを選択または作成し、親アプリケーションとWebバインディングを選択し、デプロイメント・ディスクリプタの構成作業を行います。

admin_client.jarユーティリティを使用したアプリケーションのデプロイ、アンデプロイおよび再デプロイ

Oracle Application Serverクラスタ環境およびスタンドアロンOC4JサーバーのアクティブなOC4Jインスタンスでデプロイ関連の操作を実行するには、admin_client.jarコマンドライン・ユーティリティを使用します。

admin_client.jarユーティリティは、OC4JインスタンスのORACLE_HOME/j2ee/homeにデフォルトでインストールされます。このユーティリティを使用するには、先にOC4Jを起動する必要があります。

admin_client.jarを使用したアプリケーションのデプロイ

EARをデプロイするには、次に示すように、EAR固有のコンテキストで-deployコマンドを使用します。

java -jar admin_client.jar uri adminId adminPassword -deploy -file
path/filename -deploymentName appName [-bindAllWebApps [webSiteName]]
[-targetPath path] [-parent appName] [-deploymentDirectory path]
-enableIIOP [-iiopClientJar path/filename]

admin_client.jarを使用したアプリケーションのアンデプロイ

アプリケーションをアンデプロイするには、次のようにします。

java -jar admin_client.jar uri adminId adminPassword -undeploy appName

admin_client.jarを使用したアプリケーションの再デプロイ

以前にデプロイしたアーカイブを再デプロイするには、-redeployコマンドと次の構文を使用します。

java -jar admin_client.jar uri adminId adminPassword -redeploy -file
path/filename -deploymentName appName [-keepSettings] [-sequential]

-redeployコマンドのサブスイッチの詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』のadmin_client.jarユーティリティを使用したデプロイに関する項を参照してください。

admin_client.jarコマンドライン・ユーティリティを使用したSIPアプリケーションのデプロイ

次に示すように、admin_client.jarユーティリティを使用して、コマンドラインからEARファイルをデプロイできます。

java -jar admin_client.jar uri adminId adminPassword -deploy -file
path/filename-deploymentName appName [-bindAllWebApps [webSiteName]]
[-targetPath path] [-parent appName] [-deploymentDirectory path]
-enableIIOP [-iiopClientJar path/filename][-deploymentPlan path/filename]

admin_client.jarユーティリティを使用したアプリケーションのアンデプロイおよび再デプロイの詳細は、admin_client.jarユーティリティを使用したアプリケーションのデプロイ、アンデプロイおよび再デプロイに関する項を参照してください。また、『Oracle Containers for J2EE構成および管理ガイド』と『Oracle Containers for J2EEデプロイメント・ガイド』も参照してください。


注意:

admin_client.jarユーティリティは、OC4JインスタンスのORACLE_HOME/j2ee/homeにデフォルトでインストールされます。このユーティリティを使用するには、先にOC4Jを起動する必要があります。



脚注

脚注1: SIPサーブレットAPI、バージョン1.0