この章では、OCMS SCEで新しいプロジェクトを作成する、既存プロジェクトをインポートする、またはOCMS SCEに付属のサンプル・プロジェクトの1つをインポートする、のいずれかのやり方でSIPサーブレット・アプリケーションを作成する方法を示します。OCMS SCEのサンプル・プロジェクトおよびソース・コードを含む他のSIPサーブレットの詳細は、Oracle Technology Network(http://www.oracle.com/technology/index.html)でOracle Communication and Mobility Serverのドキュメントを参照してください。
この章の内容は次のとおりです。
SIPサーブレット・アプリケーションを作成する前に、次の前提となる手順を実行したことを確認してください。
Eclipse Web Tools Platform 1.5をインストールします。
インストール手順は、Oracle Communication and Mobility Serverのインストレーション・ガイドを参照してください。Eclipseの機能の詳細は、http://www.eclipse.org/webtools/community/communityresources.htmlのチュートリアルを参照してください。
OCMS Service Creation Environmentコンポーネントを含むOCMSをインストールします。OC4Jモード(Oracle Containers for J2EEがすでにインストールされている必要があります)またはスタンドアロン・モード(Oracle Containers for J2EEのスタンドアロン・バージョンがOCMSとともにインストールされます)のどちらかのインストール・モード・オプションを選択します。
インストール手順は、Oracle Communication and Mobility Serverのインストレーション・ガイドを参照してください。
OCMS Service Creation Environmentを初期化し、OCMS SCEにOCMSをサーバーとして追加します。Oracle Communication and Mobility Serverのインストレーション・ガイドを参照してください。
パブリック・ホストおよびプライベート・ホスト(JBossインストール用)を定義すると、デフォルトで2つのホスト(パブリック・ホストおよびプライベート・ホスト)が任意のサービスによって使用できるようにTomcat Webコンテナが構成されます。デフォルトでは、ホストはyourdomain.comおよびprivate.yourdomain.comに設定されます。これら2つのホストはネットワークのドメイン・ネーム・サービス(DNS)内にないため、定義する必要があります。
アプリケーション開発者は、次のタスクを実行して、OCMSを使用してSIPとHTTPを収束したアプリケーションを作成できます。
これらのタスクの実行については、第5章「SIPサーブレット・アプリケーションの作成」を参照してください。
SIPサーブレットの作成
SIPサーブレット・プロジェクトを作成します。
SIPサーブレットを作成します。
作成した各デプロイメント・ディスクリプタのSIPサーブレットのアプリケーションで、SIPサーブレットの初期化パラメータ(サーブレット定義)と起動ルール(サーブレット・マッピング)を定義します。
SIPアプリケーションを作成します。
SIPアプリケーション・プロジェクト(SSR)を作成します。
含めるサーブレットを選択します。
次を使用してデプロイメント・ディスクリプタを更新します。
サーブレット・コンテキストのinitパラメータ
セッション構成
アプリケーションのライフサイクル・リスナー・クラス
エラー・ハンドラ
ユーティリティ・クラス(ビジネス・ロジック)を作成します。
EJBプロジェクトを作成します。
EJBを作成します。
静的リソースとテキストや音声アナウンスなどのコンテンツを作成します。
Web機能を作成します。
Webアプリケーション・プロジェクトを作成します。
サーブレットとJSPを作成します。
エンタープライズ・アプリケーションを作成します。
エンタープライズ・アプリケーション・プロジェクトを作成します。
エンタープライズ・アプリケーションを構成するアプリケーションを選択します。SIPアプリケーション、ビジネス・ロジック、Webアプリケーションです。
アプリケーションをテストします。
アプリケーションをアプリケーション・サーバーにデプロイします。
アプリケーションをテストおよびデバッグします。
次の手順を実行して、EclipseでOCMSにデプロイする新しいプロジェクトを作成します。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Dynamic Web Project with SIP Support」の順に選択して、新しいプロジェクトを作成します。
プロジェクト名を入力します。
ドロップダウン・メニューからターゲット・ランタイムを選択します。
「前提条件」の説明に従って、OCMS Serverが追加されている場合は、このランタイムは事前に構成されます。
「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、OCMSにデプロイする既存のプロジェクトをEclipseにインポートします。
|
注意: EclipseにOCMS SCEで使用する新しいプロジェクトをインポートする場合、プロジェクトを作業ディレクトリに入れる必要があります。それ以外の場所に入れると、OCMSへのデプロイはうまくいきません。 |
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「Import」、「Web」、WARファイルの順に選択して、新しいプロジェクトを作成します。
Eclipseの作業ディレクトリに移動して、インポートするWARファイルを検索します。
プロジェクトを選択します。
ドロップダウン・メニューからターゲット・ランタイムとして「OCMS SipAS - OC4J 10.1.3.2」を選択します。
「前提条件」の説明に従って、OCMS Serverが追加されている場合は、このランタイムは事前に構成されます。
「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
この項では、OCMS SCEに付属のサンプル・プロジェクトをインポートおよび構成する方法について説明します。すべてのサンプル・プロジェクト(Basic Response SIP Application Example Projectを除く)には、プロジェクトをデプロイして使用するための手順を含むReadmeファイルがあります。詳細は、プロジェクトに付属のReadmeファイルを参照してください。
OCMS SCEには、6つのサンプル・プロジェクトが付属しています(図5-1)。
Basic Response SIP Application Example Project: このSIPサーブレットは着信MESSAGEを受信し、レスポンスを送信者に送り返します。
Call Forward SIP Application Example Project: このSIPサーブレットはCall Forward on No Answer(無応答時転送)機能を提供します。
Message Sender SIP/WEB Converged Application Example Project: このアプリケーションには、Message Sender SIPサーブレットとメッセージをSIPアドレスに送信できるWebページが含まれます。
Parlay X Web Services Client Example Project: Presence Supplierインタフェースを使用するParlay X Web Servicesクライアントのサンプル・プロジェクトです。
|
注意: Parlay X Web Servicesクライアントはクライアント側のプロジェクトであるため、サーバーにデプロイできません(WARまたはEJBとしてパッケージ化されません)。このプロジェクトは通常のJavaアプリケーションとして実行する必要があります。 |
Proxy/registrar SIP Application Example Project: このSIPアプリケーションでは、ユーザーの登録と認証、音声およびテレビ電話の設定、登録ユーザー間のインスタント・メッセージを実行できます。
Third Party Call Control SIP Application Example Project: このアプリケーションは、基本的なClick-to-Call機能の実行、RFC 3725のフローI(マンマシン・コール設定用の推奨コール・フロー)の実装、Webインタフェースの提供を行うサード・パーティ・コール・コントロールSIPサンプル・アプリケーションです。
次の手順を実行して、Eclipse SCEに「Basic Response SIP Application Example Project」をインポートします。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Example Projects」、「Basic Response SIP Application Example Project」の順に選択して、SIPサーブレットのサンプル・プロジェクトをインポートします。
プロジェクト名としてbasicresponseと入力し、「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、Eclipse SCEに「Call Forward SIP Application Example Project」をインポートします。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Example Projects」、「Call Forward SIP Application Example Project」の順に選択して、SIPサーブレットのサンプル・プロジェクトをインポートします。
プロジェクト名としてcallforwardと入力し、「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、Eclipse SCEに「Message Sender SIP/Web Converged Application Example Project」をインポートします。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Example Projects」、「Message Sender SIP/Web Converged Application Example Project」の順に選択して、SIPサーブレットのサンプル・プロジェクトをインポートします。
プロジェクト名としてmessagesenderと入力し、「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、Eclipse SCEに「Proxy/registrar SIP Application Example Project」をインポートします。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Example Projects」、「Proxy/registrar SIP Application Example Project」の順に選択して、サンプルSIPサーブレット・プロジェクトをインポートします。
プロジェクト名としてproxyregistrarと入力し、「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、Eclipse SCEに「Third Party Call Control SIP Application Example Project」をインポートします。
表示されている場合は、Eclipseの初期画面を閉じます。
「Window」、「Open Perspective」、「Java」の順に選択して、Eclipse Javaパースペクティブを選択します。
「File」、「New」、「Project」、「OCMS SCE」、「Example Projects」、「Third Party Call Control SIP Application Example Project」の順に選択して、SIPサーブレットのサンプル・プロジェクトをインポートします。
プロジェクト名としてtpccと入力し、「Finish」をクリックします。
Package Explorerに新しいJavaプロジェクトが作成されます。Package Explorerには、「Window」、「Show View」、「Package Explorer」の順に選択してアクセスします。プロジェクトをデプロイするには、「OCMSへのSIPアプリケーションのデプロイ」で説明する手順を実行してください。
次の手順を実行して、SIPアプリケーションをOCMSにデプロイします。
次の手順を実行して、デプロイするプロジェクトをサーバーに関連付けます。
「Servers」ビューで「OCMS SipAS - OC4J 10.1.3」を右クリックし、「Add and Remove Projects」を選択します(図5-2)。
「Add or Remove Projects」ダイアログ・ボックスでプロジェクトを選択し、「Add」ボタンを使用して、プロジェクトを右側の「Configured projects」というリストに追加します。
「Finish」を選択して、プロジェクトのOCMSサーバーへの関連付けを終了します。
「Servers」ビューでサーバーを右クリックし、「Publish」を選択して、SIPアプリケーションを起動し、デプロイします(図5-3)。
アプリケーションをテストする準備ができました。
アプリケーションの作成とデプロイが完了したら、その機能をテストする必要があります。OCMSを起動すると、アプリケーションが自動的に起動されます。システムのログ・ファイルを調べて、アプリケーションが正しく起動したことを確認してください。
|
ヒント: 頻繁に更新されるログ・ファイルを表示するためのツールを取得できます。まだ入手していない場合は、次のいずれかのログ・ビューア・ツールをインストールしてください。
|
ログ・レベルをDEBUGに設定すると、開発者に詳細なレベルの情報が提供されます。SIPServletContainerLogging MBeanを使用して、System属性の値にDEBUGと入力して、システムのログ・レベルをDEBUGに設定します。詳細は、『Oracle Communication and Mobility Server管理者ガイド』を参照してください。
ログ・ファイル・ビューアを起動し、システム・ログ・ファイルsystem.logを表示します。ログ・ファイルは、<ocms_home>/j2ee/home/log/sdpにあります。
「Server」ビューを開いて、サーバーを起動します。「Window」、「Show view」、「Other」、「Server」、「Servers」の順に選択し、「OK」をクリックします。「OCMS SipAS 10.1.3」サーバーを右クリックし、コンテキスト・メニューから「Debug」を選択して、サーバーをデバッグ・モードで起動します。
Eclipseがアクティブ・ビューからコンソール・ビューに変わります。このビューは、前の「Console」ビューにメッセージ(「Configuring from URL:...」)で示されるように、サーバーでログ出力がsystem.logファイルに変更されるまでアクティブです。
Eclipseは、サーバーが「Server」ビューに戻ると起動します。コンソールで、「<date> <time> Oracle Containers for J2EE 10g (10.1.3.3) initialized.」というメッセージを探してください。
|
注意: SIPサーブレットが起動に失敗しても、サーバーにはサーブレットが起動されたと表示されます。ログ・ファイルを表示して、SIPサーブレットが正しくデプロイされたかどうかを確認する必要があります。 |
アプリケーションをテストするには、Webブラウザを開き、OCMSサーバーでアプリケーションのURLに移動します。
たとえば、サード・パーティ・コール・コントロール・サーブレットをテストするには、次の手順を実行します。
http://localhost:8888/tpccというURLに移動します(図5-4)。
2つのSIPアドレスを入力します。
PSTNゲートウェイがある場合は、PSTNゲートウェイのアドレスとともに番号すべてを入力して、PSTN電話に電話をかけることができます。たとえば、sip:16505555555@<ip-address-of-gateway>と入力します。
「Connect」をクリックします。
電話がつながりました。Invitation 1(最初のアドレス/番号への招待)が、最初に送信されます。それからしばらくして、Invitation 2が送信されます。通信が確立したことを確認してください。