[プロダクトレビュー]


CORBA基盤の優位性と開発効率がアドバンテージ
Borland AppServer 4.5


藤井等
ボーランド
2001/2/24

2月27日に出荷予定のBorland AppServer 4.5は、Inprise Application Server 4.1の次期バージョンである。ボーランドはDelphi、JBuilderなどの代表的な製品に象徴されるように、ビジュアルツールとコンポーネント技術によって開発の効率化と簡素化を目指してきた。今回のAppServer 4.5も例外ではない。アプリケーションサーバでありながら敷居を高く感じさせないビジュアルな管理ツールと、CORBAベースの実装が特長だ。ここでは、実際の製品の到着前に、この最新バージョンの新機能と特長についてボーランドのマーケティング部 部長 藤井等氏に紹介していただく。(編集局)


内容
CORBA技術を基盤としたJ2EE完全対応
高速なEJB処理の実現

オブジェクトクラスタリング
開発から配布、管理までを簡素化
Borland AppServerが提供するソリューション

   CORBA技術を基盤としたJ2EE完全対応

 Borland AppServer 4.5は、J2EEバージョン1.2 CTS(互換性テスト)にパスし、最新のJ2EE仕様に対応している。EJB、JDBC、JNDI、JMS、JavaMailなどの機能を利用できるのはもちろんであるが、これらの技術がCORBA技術と統合されているのが大きな特長だ。

 Borland AppServerの基盤技術には、実績あるCORBA ORB製品のVisiBrokerが使われている。VisiBrokerは、CORBA 2.31仕様に準拠した分散オブジェクト間の通信基盤を提供するものだが、VisiBrokerによってアプリケーションサーバを実装することで、CORBA技術の上にJ2EE機能を実装することが可能になった。

 VisiBrokerを用いると、ハイパフォーマンスで信頼性の高い分散アプリケーションを構築できるが、インターネットアプリケーション特有の処理を実装するには、J2EEのフレームワークを利用した方が生産性や再利用性に優れている。Borland AppServerは、VisiBrokerを基盤としているため、J2EEのアプリケーション開発の高い生産性、再利用性を享受しながら、CORBAベースの性能を維持できるのである。

 また、CORBAは言語やプラットフォームに依存しないという特長もある。そのため、Borland AppServerで稼働するEJBは、Java以外の言語からも透過的にアクセスできる。これは、Borland AppServer上のEJBオブジェクトは、CORBAオブジェクトでもあるからだ。ほかのアプリケーションサーバと異なり、クライアントおよびサーバサイドの異種言語との接続に、専用のブリッジクラスなどを必要としない。

図1 Borland AppServerのクライアント

   高速なEJB処理の実現

 Borland AppServerのEJBコンテナは、インターネットアプリケーションの実行に最適化されたパフォーマンスが発揮できるように、多くの機能が搭載されている。

■コネクションリサイクリング

 有限のコネクション数で、最大の効果が得られるように、洗練されたコネクションリサイクリング機能が搭載されている。カスタマイズ可能な接続数の上限を超えた接続要求があると、過去に最も使用されていない接続が解除されて新しい接続に割り当てられる。これによって、限られたリソースを活用しながら、インターネットアプリケーションの特長であるランダムな処理要求を膨大に処理することが可能になる。

■スレッドプーリング

 クライアントリクエストは、あらかじめサーバに作成されたスレッドに割り当てられる。サーバには、少なくとも最小スレッド数のスレッドが用意されており、これをリサイクルすることで、スレッドの生成、破棄のオーバーヘッドを解消できる。また、一時的に処理要求が増加しても、最大スレッド数までスレッドを追加作成して対応する。追加作成したスレッドは、アイドル状態になってから破棄される。

■最適化されたセッションBeanプール

 セッションBeanは、CORBAのPOA機能を使用した洗練されたライフサイクル管理によって最適化されている。メモリ使用量、Beanインスタンスの必要数を最小に抑え、膨大なクライアント処理要求に対応できるようになっている。

■EJB 1.1仕様準拠のエンティティBeanキャッシュ

 エンティティBeanのパフォーマンスを最大化するために、EJB 1.1仕様で定められたすべてのキャッシュモードをサポートしている。これによって、アプリケーションの形態、配布形態などに応じて、最大のパフォーマンスを発揮できるデータベースキャッシュ機構を利用できる。

■データ更新を最適化する洗練されたCMPエンジン

 Borland AppServerのCMPエンジンは、データ更新の最適化機能を持っており、データ更新のために最小限のRPCのみを生成するようになっている。膨大なデータに対する一部のデータ更新に対して、CMPエンジンは、更新されたレコードの更新されたフィールドのみを判別して更新する。これによって、特別なコードを記述することなく、最適化されたデータ更新アプリケーションの実装が可能になる。

 さらに、EJBコンテナの可用性を高める、次のような機能が搭載されている。

■セッションステートサービス

 EJB仕様では、ステートフルセッションBeanは、コンテナがダウンすると、そのステート情報は失われる。しかし、実際のアプリケーションで、例えば、商品購入中のショッピングカートの情報が失われてしまうと、クライアントは障害の影響を受けてしまう。Borland AppServerのEJBコンテナには、独立して動作可能なセッションステートサービスが搭載されており、この問題を解決する。セッションステートサービスを複数コンテナで共有することによって、障害が発生したコンテナで稼働していたBeanの情報をほかのコンテナで復元できるようになる。これによって、クライアントはサーバ側の障害に一切気付くことなく、処理を継続できる。

■透過的なフェイルオーバー

 EJBコンテナに障害が発生したときには、クライアントを透過的にフェイルオーバーする。クライアントは、EJB参照またはIOR文字列を使用することで、同一のインスタンスに継続してアクセスできる。この機能は、クッキーを使用できないモバイルクライアントなどにも有効である。

■分散トランザクションマネージャ

 JTS/OTS準拠の分散トランザクションマネージャVisiTransactが提供されており、2フェーズコミットに対応する。EJBコンテナ自身も、1フェーズコミットのみに対応したJTS準拠の高速な軽量トランザクションサービスを搭載しており、構成に応じた最適なトランザクションサービスの選択が可能である。

 アプリケーション開発者は、これらの機能を業界標準のEJB実装方法によって利用でき、なおかつCORBAの性能によって実行させることが可能なのだ。

   オブジェクトクラスタリング

 Borland AppServerを特長づける機能の1つに、オブジェクトクラスタリングがある。Borland AppServerの各機能は、VisiBrokerによって実装されており、その上で稼働するオブジェクトもJ2EE準拠でありながらCORBAオブジェクトである。そのため、すべての機能は、VisiBrokerアプリケーションの完全な位置透過性という特長を備える。クライアントアプリケーションは、EJBコンテナやトランザクションサービス、さらにはネーミングサービスの位置もあらかじめ知っている必要はなく、サーバの位置を特定するコードを記述しなくてよい。クライアントは、必要な機能を提供するサーバを動的に知り、これにアクセスするのである。

 このような位置透過性を備えていることで、極めて柔軟なシステム構成が可能になるのである。例えば、アクセスが集中する機能のみをレプリケートしたり、高可用性が求められる機能を物理的に分散させたりできる。もちろん、パフォーマンスを高めるために、頻繁に呼び出される機能同士は、同じサーバに配置するなどの配慮も行われている。

   開発から配布、管理までを簡素化

 Borland AppServerの魅力は、なんといっても効率的な開発、配布、管理機能である。特に、業界標準のJava開発ツールとの緊密な統合は、単一ベンダならではの機能である。Borland AppServerには、J2EE XML形式の配布ディスクリプタをビジュアルに編集できる配布ディスクリプタエディタが用意されている。この機能は、JBuilderに完全に統合され、JBuilderのビジュアル機能のように利用できる。

図2 配布ディスクリプタエディタの統合 (クリックすると拡大)

 また、Borland AppServerのEJBコンテナは、JBuilder環境内でスタンドアロンEJBコンテナとして実行できる。もちろんJBuilderのビジュアルデバッガを使って、ソースコードレベルのデバッグが可能だ。この機能を用いれば、開発者は開発したEJBをサーバに配布する前に、ローカル環境で容易に実行、テストできる。

 Borland AppServerは、JAR、WAR、EARなどのJ2EEアーカイブファイルに対応しており、EJB、サーブレット、JSP、HTML、データソース、ライブラリなどをパッケージ化して、ビジュアル操作で簡単に配布できる。

図3 J2EE配布ウィザード (クリックすると拡大)

 サーバの管理には、AppServerコンソールを用いる。AppServerコンソールは、ローカルおよびリモートで稼働するBorland AppServerを検出し、ビジュアル表示する。コンソールでは、Borland AppServerの各サービスの起動、停止、稼働状況のモニタ、実行ログ/エラーログの表示、パラメータの設定などが行える。

図4 AppServerコンソール (クリックすると拡大)

 AppServerコンソールでは、EJBの詳細な稼働状況もモニタできる。コンテナに配布されたBeanの参照関係、各Beanの状態遷移、メモリの使用状況などをビジュアルに表示する。

図5 Bean状態のモニタ  (クリックすると拡大)

 AppServerコンソールやJ2EE配布ウィザードは、100%ピュアJavaで実装されており、Borland AppServerの実行をサポートするすべてのプラットフォームで、同じ操作性によって利用できる。

   Borland AppServerが提供するソリューション

 Borland AppServerは、J2EEやCORBAといった業界標準仕様に準拠し、高いオープン性を備えている。こうしたオープン仕様の上に、実用的なソリューションが用意されており、迅速なシステム構築が可能になっている。

 eWins for Javaは、eビジネスアプリケーション構築のためのEJBコンポーネント群を提供する。顧客管理やEC機能、暗号化、検索などの機能を再利用可能なEJBとして提供し、短期開発を可能にする。さらに、コンサルティング、設計、構築、運用、サポートまでのサービスを一貫して提供するeWinsサービスを、ボーランドのビジネスパートナーである株式会社シーイーシーを通じて実施する。

図6 eWins for Javの構成

 WebWorkBenchは、Webアプリケーションの構築に必要な基本機能を、分散アーキテクチャを使用して提供するフレームワークである。これらの基本機能の上に、携帯電話コンテンツ提供サービスや帳票機能など、実用的な機能が実装されている。WebWorkBenchは、株式会社テンアートニが提供し、Borland AppServerのバンドル製品のほか、ソースコードの販売やヘルプデスクサポートなども行う。

[関連リンク]
ボーランド株式会社
テンアートニ(WebWorkBench紹介ページ)

[関連記事]
EJBアーキテクチャの基礎(Java Solution)
サーバーサイドJavaテクノロジの重点キーワード「EJB」(Java Solution)


  Application Server Center
アプリケーション・サーバ情報へのリンク集 (2001/12/3更新)
    各社アプリケーション・サーバ製品紹介
BEA
WebLogic
Borland
AppServer
IONA
iPortal
IBM
WebSphere
Oracle
Oracle9iAS
Macromedia
JRun
(旧Allaire)
hp
bluestone
日立製作所
Cosminexus
iPlanet
Application
Server

 



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間