[製品紹介]
オープン化とミッションクリティカルを目指す
WebSphere Appliaction Server V5
2. WAS V5のプログラミング・インターフェイス |
J2EE 1.3のサポート |
WAS V5はJ2EE 1.3に完全準拠すると同時に、加えてJ2EEコンポーネントが稼働する環境の拡張も行っている。
その1つにEJBのアクセス・インテントのサポートがある。アクセス・インテントとは、コンテナ管理パーシスタンスのEntity Beanがリソースにアクセスする際の振る舞いを規定するもので、具体的にはコンカレンシー・コントロールのタイプ、読み取り/更新のタイプ、そして分離レベルをEntity Beanのメソッド単位で特定するものだ。例えば、アクセス・インテント「wsPessimisticUpdate」を指定すると、ペシミスティック・コンカレンシー・コントロール(ペシミスティック・ロック)で更新ロック(SELECT FOR UPDATEが発行される)を取ってトランザクションが処理される。読み込みしかしないEntity Beanにおいて無駄なejbStore()発行を抑制してパフォーマンスを上げたければ、wsOptimisticReadなどの読み取りのためのアクセス・インテントを指定すればよい。アクセス・インテントの設定はIBM拡張のDeployment Descriptorに指定するので、コードのポータビリティを損なうことはない。要件や環境にデプロイ時に柔軟に対処できる便利な機能といえる。
WebサービスではWSIFをサポート |
WASはV4で、SOAP、UDDI、WSDLをサポートし、Webサービス対応を表明したが、WAS V5では新たなAPI、ツール、そして現在策定中の標準仕様にまで、そのサポートの範囲を広げている。
ベースのAPIとして、SOAP 1.1、UDDI 2.0、WSDL 1.1はもちろんのこと、新たにWSIF (Web Services Invocation Framework)1.0とSOAP-SEC 1.0も提供する。WSIFとはIBMとMicrosoftが作成した仕様で、下位プロトコル(WSIFプロバイダ)に依存しない、動的なサービスの呼び出しを規定するフレームワークの実現を目指すものだ。PMEのWebSphere Process Choreographyにおける呼び出しインターフェイスとしてすでに使われている。
APIに加えてWAS V5 NDは、Web Services Gateway、IBM WebSphere UDDI Registryを同梱する。Web Service Gatewayとは、イントラネットとインターネットの間でWebサービスを仲介するミドルウェアで、SOAP/JMSをSOAP/HTTPへ、といったように下位プロトコルを変換するものだ。IBM WebSphere UDDI RegistryはUDDI V2に準拠しており、Private UDDI Registryとして利用できそうだ。
現在さまざまなWebサービス連の仕様の標準化が進められている。WAS V5はTechnology Previewではあるが、JAX-RPC(JSR-101)、Enterprise Web Services(JSR-109)、Apache-AXISをサポートする予定である。
次世代のAPI「Programming Model Extension」 |
J2EEの進化に伴って、サーバ・サイドの基幹業務構築が容易になりつつあるが、いまだ十分とはいえない。そのためJCPで多くのJSRが議論されていることは周知のとおりである。JCPなどオープンな標準策定の場で議論中の、またオープンな場への提案前のホットなプログラミング・インターフェイスがWAS Enterpriseが提供するその名もProgramming Model Extension (以下PME)(表1)である。いますぐ役立つ実用的な機能が満載だが、中でも目玉はWebSphere Process ChoreographyとAsynchronous Bean(以下AsynchBean)だ。
表1 WAS V5がサポートするJ2EE1.3、およびその他の標準仕様 |
WebSphere Process Choreographyはワークフローの実行環境で、同期的なトランザクションから成るマイクロ・フローと、ヒューマン・インターフェイスによる判断やメッセージングが介在する非同期的なマクロ・フローの処理が可能である。マイクロ・フロー、マクロ・フロー共に開発環境WebSphere Studio Application Developer Integrated Edition V5(以下WSAD IE V5)で、ビジュアルに開発することができる。
もう1つの目玉、AsynchBean(図4)はEJBコンテナを含むJ2EE環境で非同期処理を可能にするフレームワークだ。多くのトランザクション処理の集中するJ2EEの世界ではThreadを利用した非同期処理の設計には注意を要するし、EJBの仕様にはThreadの利用を制限する記述もある。そのため、J2EEアプリケーション設計に頭を悩ます開発者の数は少なくなかった。このような状況を背景に登場したのがAsynchBeanである。一言でいえば、AsynchBeanは、そのライフタイムを完全に管理されたThread(正確にはRunnable)で、J2EEコンテクストに基づいた動作(例えば認証ユーザーを引き継いだアクセス制御)を強いることができる。利用形態としては、EJBから、AsynchBeanに実装されたビジネス・トランザクションを複数起動して処理を非同期的に実行させ、処理結果を後からもらうような、これまで危険を伴うとされたユースケースを安全な環境で実現可能だ。さらにAsynchBeanフレームワークは、インスタンスのプールを管理するオブジェクト・プール、高速で繰り返し可能なアラーム、そしてシステムの生死を判別するためのサブシステム・モニタを作成するためのツール・キットを提供する。
図4 Asynchronously Beanの動作イメージ |
3. 開発環境 ―WSAD V5の特徴― |
WebSphere Studio Application Developer(以下WSAD)は、WAS V4とともに登場したJ2EEとWeb
Serviceアプリケーションの統合開発環境だ。Javaクラス、サーブレット、EJBといったJavaのコード開発から、ビジュアルなHTML/JSPの作成まで幅広いサーバ・サイド・アプリケーション開発でその威力を発揮する。今回のWAS
V5の発表に伴って、WSADをはじめとするWebSphere Studioファミリはエディションを充実させてV5にバージョンアップする。WSAD
V5の機能拡張は次のとおりだ。
・Java 2 SDK 1.3.1 ・J2EE 1.3サポート ・テスト環境の拡張(Application Serverプラットフォームの拡充) ・連携可能なRDBの拡張 ・ログ・アナライザの提供 ・チーム開発の改良 ・Struts Builderの提供 ・Eclipse 2.0対応 |
WAS V5に合わせてJ2EE 1.3に対応したことがWSAD V5の特徴の1つだが、同時にJ2EE 1.2サポートも継続して提供される。同一のコードを操作によって、エクスポートされるJ2EEモジュールの形式を、J2EE 1.2対応あるいはJ2EE 1.3対応と選ぶことができる。開発者にとってうれしい機能だ。
WSADの利点は、開発環境内でコード開発からユニット・テストを実施可能な点にある。テストにおいて重要な意味を持つのが、そのテスト環境はどのApplication Serverをシミュレートしているかだ。WSAD V5ではWAS V5テスト環境を提供するのはもちろんのこと、WAS V4テスト環境もサポートする。また、Tomcat 4.0と3.2にも対応しており、マルチ・バージョンの開発とテストの便宜が図られている。
ユニット・テストで気になるのが連携可能な外部リソース、特に対応するDBの種類だ。WSAD V5では、DB2、DB2 for 400、DB2 for 390をはじめ、Oracle、Sybase、MySQL、Informix、SQL Serverをサポートしている。V5では、Oracle 9iとCloudscapeが新たにサポートされるようになった。
新たに付け加えられた機能としてはStruts Builderがある。StrutsとはJakartaプロジェクトが開発しているJ2EEフレームワークで、Struts BuilderはStrutsアプリケーションの開発を支援するWebSphere Studioのツールだ(WebSphere Studioのすべてのエディションで提供される)。インターフェイスは基本的にGUIとなっており、要件に応じてStrutsのコンポーネント(ActionやActionForm)や関係をビジュアルに配置すると、それを基にしたソースのひな型とXML形式のStruts構成ファイルを作成してくれる。Struts構成ファイルをエディタで作成するのは手間がかかるので、この機能は開発やメンテナンスの生産性向上に寄与するものといえよう。現在正式リリースされているStrutsのバージョンは1.02だが、Struts BuilderはStruts 1.02と次期バージョン1.1のbeta2に対応している。
もう1つの新機能としてログ・アナライザがある。これはWebSphereが出力するさまざまなログを見やすく解析するツールだ。また、WSADに限らずWebSphere Studioファミリ全体にいえることだが、ベースの機能がEclipse 2.0対応に改められた。それによってポップ・アップ・メニューから選べる操作の充実や、パースペクティブとエディタの操作感の向上といった機能の改良に加えて、Eclipse 2.0対応のプラグインによる機能追加も期待できる。
なお、WAS Enterprise と親和性の高いエディションとしてWSAD IEが提供されており、前節の「次世代のPI「Programming Model Extension」で紹介したWebSphere Process Choreographyのフローをビジュアルに開発するためのエディタなどが提供される。
|
[関連記事]
「Webサービスの統合/相互運用性を強化」
「Sun
ONEの基盤を提供するAPサーバ」
「キャッシュ技術によるパフォーマンスの実現」
「業界標準の技術で構成」
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|