ORB概要
Novell exteNd Messaging PlatformのORBは、企業クラスのJavaTM CORBA ORBであり、業界トップのパフォーマンスとスケーラビリティを提供するサービスのセットです。大規模な分散Javaアプリケーションを開発、展開、および管理するために、小さなフットプリントと優れた機能を備えています。
ORBでは、CORBA 2.4のコアセクションと相互運用セクションが実装されます。これには、次の機能が含まれます。
-
Java言語マッピング(IDLからJavaへとJavaからIDLへ)
-
POA (Portable Object Adapter)
-
Objects by Value
-
サーバ起動
-
負荷分散およびフェイルオーバのためのクラスタリング
-
IIOP接続コンセントレータ
-
HTTPを通じたIIOPトンネリング
-
CSIv2 (Common Secure Interoperability)
-
相互運用ネームサービス
-
マルチキャストオブジェクト呼び出し
-
Object Transaction Serviceのプラグ可能性
相互運用性
既存のインフラストラクチャとアプリケーションは、さまざまなハードウェアアーキテクチャ、オペレーティングシステム、および言語の上に存在することがあります。OMGのオープンでベンダに依存しないアーキテクチャおよびインフラストラクチャのCORBAは、これらの多様なアプリケーションがネットワーク上で互いに機能できるようにします。任意のベンダ、コンピュータ、オペレーティングシステム、プログラミング言語、およびネットワークからのCORBAベースのアプリケーションは、標準プロトコルであるIIOPを使用して、他のシステムと相互運用できます。 CORBAは、信頼性が高く、スケーラブルな、実証済みの技術で、NovellのORBでは、CORBAによって提供される機能をすべて最大限に利用しています。
このリリースのORBは、J2EE (Sun Java 2 Enterprise Edition)リファレンス実装の1.3バージョンと相互に運用可能であることがテストされています。
柔軟性のあるランタイム&コンパイラ
ORBには、OMG IDLを使用してプログラミングをサポートしたり、さまざまなオブジェクトアダプタを使用するJava RMIを使用してプログラミングをサポートする機能豊富なコンパイラの完全なセットが含まれています。 ORBには、高パフォーマンスで柔軟性のあるCORBA/IIOP ORBランタイムが含まれます。これにより、いくつかのオブジェクトアダプタ、委任、転送、プロトコル、インタセプタ、および接続/スレッドポリシーが実装されます。
-
Java IDLおよびRMI/IIOP
-
POA (Portable Object Adapter)
-
Objects by Value
-
スレッドおよび接続管理ポリシー
-
マルチキャスト呼び出し
-
ドアトランスポート(Solarisのみ)
-
障害対策および負荷分散に対するPOAサポート
高いパフォーマンスおよびスケーラビリティ
ORBは、業界で最も高速なJava CORBA ORBの1つです。これには、高パフォーマンスで柔軟性のあるCORBA/IIOP ORBランタイムが含まれます。いくつかのオブジェクトアダプタ、委任、転送、プロトコル、インタセプタ、および接続/スレッドポリシーが実装されます。
IIOP接続コンセントレータ: ORBのIIOP接続コンセントレータの機能では、クライアント/サーバ通信(両方向)を通過して、サーバのリソースの利用を低減させます。この機能を使用すると、分散アプリケーションでは、同時に接続された何万ものクライアントを文字通りサポートできます。ゲートウェイは、フェイルオーバサポートを使用して静的または動的に設定できます。ゲートウェイは、ファイアウォールを移動するためにIIOPプロキシとして使用することもできます。この機能が使用されると、システムの全体的なスケーラビリティの増大のために、一部のラウンドトリップパフォーマンスが損なわれます。
ドアトランスポート(Solarisの場合のみ): ドアトランスポート機能は、Solarisオペレーティングシステムによって提供されるドア相互プロセス間通信APIを使用して、ORBでマシン間の通信をさらに最適化できます。平均的なメッセージサイズの場合、通常は、パフォーマンスが100%向上します。 他の一般的なJava CORBA ORBに対して比較したORBのパフォーマンスは、次の図のとおりです。
図1:JDK 1.2を使用したSolarisでのORBパフォーマンス比較
障害対策COSネーミング ORBでは、一時的および持続的な(プラグ可能なデータ保存付き)複数のCOSネーミングコンテキスト実装が提供されます。また、公開されたオブジェクトと名前空間自体の負荷分散および障害対策のために、オブジェクトとコンテキストグループの概念も提供されます。ネームサービスは、専用サーバ内、またはサーバの実装とともにインプロセスで開始できます。
サーバクラスタリング: ORBのPOA実装では、ORBの負荷分散およびフェイルオーバポリシーを使用して単一のクラスタに複数のマシンをまとめてプールするためのサポートが提供されます。アプリケーションは、複数のマシンで実行でき、プロセス、コンピュータ、およびネットワークエラーを容認して、常に利用可能な状態を保つことができます。
セキュリティサービス
ORBでは、CORBA標準のCSIv2 (Common Secure Interoperability v2.0) の仕様のレベル0が実装されます。これには、GSSユーザ名/パスワードとパブリックキー、ID表明、およびIIOP over SSLとTLSを使用するクライアント認証が含まれます。また、ユーザ/アプリケーションの認証のためのプラグ可能な保護スペース(領域)の概念もサポートしています。
相互運用ネームサービス
ORBでは、最新の相互運用可能ネームサービスの仕様をサポートしています。これには、初期オブジェクトを解決するための拡張されたネーミングコンテキストやさまざまなURLスキーム(corbalocやcorbanameなど)が含まれます。 一時的なネームサービスと持続的なネームサービスの両方が含まれます。 ORBでは、一時的および持続的な(プラグ可能なデータ保存付き)複数のCOSネーミングコンテキスト実装が提供されます。
ORBのネームサービスへは、Sun MicrosystemsのCOSNaming JNDIプロバイダを使用して、JNDI (Java Naming and Directory) APIを使用してアクセスすることもできます。
サーバ起動サービス
ORBでは、サーバ(Java VM)を定義、監視、起動、および起動解除するためのメカニズムとAPIを備えています。 メソッドがオブジェクトで呼び出されると、クライアントとサーバORBランタイムでは、ORB起動デーモンと通信し、オブジェクト実装を含むサーバのインスタンスを自動的に検索または再開します。
トランザクションサービスのプラグ可能性
ORBは、OTS (Object Transaction Service) v1.2に対応しています。これにより、トランザクションオブジェクトを作成するためのOTS POAポリシーが提供され、暗黙的なトランザクションコンテキストと明示的なトランザクションコンテキストの両方の伝達がサポートされ、またトランザクションサービスの送信側/受信側フックへのコールバックも行われます。
Novell exteNd Messaging PlatformのJTSトランザクションマネージャは、ORBにプラグ可能で、OTSおよびXAリソースを使用して分散トランザクションを提供します。
管理および監視
ORBでは、ORBサーバの管理、名前空間の参照、およびセキュリティ領域の管理を行うためのコマンドラインツールをいくつも装備しています。
また、さまざまなMessaging Platformテクノロジのランタイムプロパティを監視するAPIも含まれています。 GUIベースのコンソールは、ORB、JMS、およびJTSランタイムプロパティを表示するために使用できます。