★阿修羅♪ 現在地 HOME > 掲示板 > IT4 > 936.html
 ★阿修羅♪
次へ 前へ
次世代コミュニケーションサービスを担うJAIN(前編) −  マルチメディアを操るためのJava API登場 (@IT)
http://www.asyura2.com/0311/it04/msg/936.html
投稿者 シジミ 日時 2004 年 2 月 08 日 00:27:34:eWn45SEFYZ1R.
 

http://www.atmarkit.co.jp/fjava/special/jain01/jain01.html



高山義泉
2003/12/25



Javaは1995年に発表されて以来、インターネットとともに進化を遂げました。現在では単なる「コンピュータ言語」と表現されるにとどまらず、「Java=マーケット」であると表現できる地位を確立したといえるでしょう。

 

ところで、Javaはネットワーク環境におけるサービスを実現するためのテクノロジともいえますが、このネットワーク上のサービスを実現するための仕様として「JAIN」の策定が進められてきました。JAINはまだ広く知られていませんが、今後注目されるテクノロジです。すでに、いくつものAPI仕様が策定されていて、それに準じた製品があります。


次世代コミュニケーションサービスを担う


1985年ごろ、それまでハードウェアで制御されていた公衆電話回線網にコンピュータとソフトウェアが導入され、いままでにないサービスが実現可能になりました。それが、例えば、いま私たちが当然のように使用しているフリーダイヤルであり、VPN、ダイヤルQ2サービスです。

 

このようにコンピュータを導入し高度なサービスを実現している公衆電話回線網を、IN(インテリジェント・ネットワーク)といいます。その後INは進化を続け、公衆電話回線網によるサービスはますますリッチになり、さらにそれを実現するためのソフトウェアもサービスプロバイダにとって拡張性が高く、メンテナンスの行いやすいものへと変わってきました。

 

さらにいま、VoIP(Voice over IP)技術が注目され、いままでの電話網の常識が変わりつつあります。@IT Master of IP Network「第10回 読者調査結果」のデータからも分かるように、VoIPは非常に注目されているテクノロジです。そして、VoIPを実現するネットワークとして、インターネット網が期待されています。ネットワークサービスプロバイダのいくつかは、サービスの品質を高めるためにVoIPサービス用の専用網を構築しサービスを開始しているところもあります。このようにインターネット網に期待する背景には、なんといってもコストメリットがあるのでしょう。

 

既存の公衆電話回線網とインターネット網の使用コストを考えると、その差は一目瞭然でインターネット網を利用する方が圧倒的にコストダウンできます。もちろん、既存の公衆電話回線網システムをすべて取り替えるとすると、新規システムへの初期投資コストや運用管理技術面で検討すべき項目は多くありますが、長期的視野に立ってこれらの課題をクリアした企業が、すでに導入を行っています。

 

また、@ITのアンケート結果から分かるように、VoIPを検討する多くの方が期待しているサービスは、いわゆる「既存の電話サービス」のみではありません。コストの削減のみならず、テレビ会議やeラーニング、業務アプリケーションなどのこれまでインターネット網上で提供されているサービスとの統合です。

 

ネットワークには図1のようにインターネット網や既存の公衆電話回線網、ケータイ電話網にCATV網などさまざまなものがあります。これらのネットワーク上では多くのサービスが提供されており、私たちはそれぞれのアクセス手段でいろいろなサービスを利用しています。


図1 現在のネットワーク構成

それを図2に示すように共通のネットワーク上に、あらゆるサービスを実現することで、ユーザーはPCや固定電話、ケータイ電話、FAX、冷蔵庫やテレビなどのデバイスからさまざまなサービスを使うことができ、またサービス同士が連携することで新たなサービスが生まれます。これを次世代コミュニケーションサービスといいます。そして、この新しいサービスの実装を担うJava APIがJAINなのです。


図2 次世代のネットワーク像

 

JAINは、次世代のコミュニケーションサービスをサポートするためのAPI群です。以下のような多くのAPIで構成されています。

Final Release/Maintenance Public Review
JSR 011 − JAIN TCAP 1.1 JSR 125 − JAIN SIP Lite
JSR 018 − JAIN OAM JSR 141 − JAIN SDP
JSR 021 − Java Call ContrJSR 122 − JAIN CAT (JCAT)ol 1.1
JSR 023 − JAIN MGCP JSR 123 − JAIN PAM
JSR 032 − JAIN SIP 1.1 JSR 165 − JAIN SIMPLE Instant
JSR 035 − JAIN INAP Messaging
JSR 116 − SIP Servlets JSR 164 − JAIN SIMPLE Presence

Proposed Final Draft Community Review
JSR 029 − JAIN MAP JSR 100 − JAIN SCE (XML)
JSR 022 − JAIN SLEE JSR 161 − JAIN ENUM
JSR 079 − JAIN MEGAC JSR 186 − JAIN PresenceO
JSR 180 − SIP for J2 JSR 187 − JAIN Instant Messaging ME
In Expert Group
JSR 103 − JAIN UI
JSR 136 − JTSP
JSR 182 − Java Payment (JPAY)
JSR 192 − JAIN SCE (Java)

本稿では、この中でも現在最も注目されているJAIN SIPとJAIN SLEEを取り上げましょう。

セッションの確立「JAIN SIP」


JAIN SIPについて触れる前に、SIP(Session Initiation Protocol)について簡単に解説します。SIPの詳細は@IT Mastar of IP Nework「【トレンド解説】マイクロソフトがIP電話を面白くする!? 〜いま注目を集める「SIP」の最新トレンドと概要〜」 で触れているので参考にしてください。ここではJAIN SIPを理解するために必要な付加情報を説明しましょう。

SIPは、マルチメディアセッションの確立や終了をつかさどるアプリケーション層のシグナリングプロトコルです。SIPはIETF(Internet Engineering Task Force)のワーキンググループで提案され、現在はRFC3261で標準化されています。SIPがカバーする範囲は、セッションの確立、変更、終了のみで、セッション確立後のアプリケーションの動作には一切関与しません。そのため、既存のアプリケーションを含むさまざまなアプリケーションと柔軟に組み合わせることができます。

それではSIPの動作を見てみましょう。図3のようにTomがBobと会話をするとします。そのときに、Tom(200.0.0.1)はBob(00.1.1.5)に対して呼び出しを行います。下図で表現すると、「お〜い、いますか?」になります。ここでBobが応答可能であれば下図のように「うん、いるよ!」と返答します。これで、実際にアプリケーションを動作させるためのセッションは確立されます。SIPの役割はここまでになります。



図3 SIPの動作

この後、実際のアプリケーションの動作は、アプリケーションがそれぞれのプロトコルを用いてやりとりを行います。

しかし次世代コミュニケーションサービスを考慮した場合、先の例のように相手のIPアドレスが分かっているというケースは少ないでしょう。セッションを確立したい相手のほとんどは人間ですので、当然移動します。クライアントツールも自宅のPCであったり電車の中で使用しているPDAであったり、さまざまです。さらには、オフィス内でもDHCP(Dynamic Host Configuration Protocol)を使用している場合もあります。セッションを確立したい相手のIPアドレスがその時々で変わるということは多くあるはずです。このような場合に備えて、SIPは「SIPモビリティ」という機能を提供しています。

SIPモビリティの役割


それでは、図4を用いてSIPモビリティの動作を見てみましょう。まずBobは、自分のマシンをIPネットワークに接続したときに、自身のIPアドレスをレジストラサーバに登録します。TomはBobとセッションを確立する場合、BobのIPアドレスは分からないため、直接IPアドレスを用いるのではなく、SIPアドレスを用い、ロケーションサーバに問い合わせます。そうして取得したBobのIPアドレスを用い、Bobにセッションを確立するよう要求します。このようにSIPでは、SIPアドレスを用いることで柔軟にセッションを確立できる環境を提供しています。


図4 SIPモビリティの動作

さらに、SIPの拡張機能では次のような機能を提供しています。



このようにSIPを用いることで、SIPの本質でもある「セッションの確立」に加えて、インスタントメッセージ(チャット)を実現することも可能です。

SIPを操るためのAPI


すなわちJAIN SIPは、SIPをJavaで操るためのAPIです。JAIN SIP(JSR032)は、NISTおよびサン・マイクロシステムズが中心となって仕様策定が進められ、現在JAIN SIP Ver1.1がリリースされています。JAIN SIP 1.1は、API、RI(Reference Imprementation:参考実装)、インターフェイス、ドキュメンテーション、テストキットからなります。RIは現在NISTからリリースされており、「https://jain-sip.dev.java.net/」からダウンロードすることができます。



図5 JAIN SIP 

前述したとおりSIPはセッションの確立や終了をつかさどるプロトコルであり、アプリケーションには一切依存しません。もちろん、OSやハードウェアに依存することなく動作します。よって、その柔軟性に加え、いまやケータイ電話から家電、PC、基幹系のサーバまで、どこでも動く「Java」と連携することで、次世代コミュニケーションサービスに期待される多機種間での、それもユーザーモビリティを実現するセッションの確立を容易に実現することが可能になります。

JAIN SLEEとは


冒頭でINの登場について触れましたが、そのソフトウェアサービスを実現するアプリケーションの実行環境、それがSLEE(Service Logic Execution Environment)です。これは図6に示すように青枠で囲った部分で必要とされるものです。SIPユーザーモビリティでは、BobがレジストラサーバにIPアドレスを登録するためのサービスや、TomがSIPアドレスからBobのIPアドレスを取得するためのサービスが必要になります。



図6 JAIN SLEEが必要とされる場所

現在のIN上で提供されている、フリーダイヤルやダイヤルQ2で使用される番号変換サービス、課金サービスなどを実現するソフトウェアの実行環境がSLEEです(SLEEとは論理的概念であり、SIPのように標準化団体で仕様が決められているものではありません)。

SLEEとは前述したようにサービスを実行するための環境=アプリケーションサーバであり、JAIN SLEEは、JavaでSLEEの実行環境を提供するものと定義付けすることができます。

JAIN SLEEの仕様(JSR022)は、Open Cloudおよびサン・マイクロシステムズが中心になり策定を行っています。現在、JAIN SLEEはProposed Final Draftの段階で、API、テストキット、ドキュメントが提供されており、アプリケーションサーバRIは2004年初めにOpen Cloudから提供される予定です。また、Open Cloudでは、すでに実装製品を提供しており、JAIN SLEEを取り囲む状況は完全に整備されたといえます。

 JAIN SLEE仕様では、アプリケーションのデザイン定義を行っています。一方で外部インターフェイスに関する仕様定義は行っておらず、さまざまなデバイスやプロトコルにも対応できる柔軟なアプリケーションを構築することができ、次世代コミュニケーションサービスの実行環境として最適な環境といえるでしょう。

JAIN SLEEの仕様策定に至った経緯は、J2EEのそれと非常に似ており、INの進化とともに高度なサービスが要求されたとき、それとともにサービスの拡張性や保守性、およびアプリケーション開発の容易性(=APIの充実、開発者コミュニティの拡大、開発ツールの用意、再利用性)が必要とされたためです。それでは、なぜこの分野にもJ2EEアプリケーションサーバを適用しなかったのでしょう? それはJ2EEアプリケーションを実行するために要求される環境とテレコミュニケーションの分野で要求されるアプリケーションを実行するための環境があまりにも違うことにあります。

もちろん、サービスの拡張性や保守性、アプリケーション開発の容易性は、Java、J2EEで培われたものをそのまま有効に活用でき、実際にそれを行っています(すでにJAIN SLEEの開発ツールは、J2EE開発環境であるNetBeansのプラグインとしてOpen Cloudから提供されています)。

今回は、JAIN SIPとJAIN SLEEの概要に触れました。次回は、それぞれの仕様の詳細に踏み込み、どのような機能が提供されているのかを説明します。

Java Solution全記事一覧

 次へ  前へ

IT4掲示板へ



フォローアップ:


 

 

 

 

  拍手はせず、拍手一覧を見る


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/  since 1995
 題名には必ず「阿修羅さんへ」と記述してください。
掲示板,MLを含むこのサイトすべての
一切の引用、転載、リンクを許可いたします。確認メールは不要です。
引用元リンクを表示してください。