クライアント アプリケーション開発者ガイド

     前へ  次へ    新しいウィンドウで目次 を開く     
コンテンツに進む

クライアント アプリケーション向けのデータ サービスについて

BEA AquaLogic Data Services Platform は、サービス指向アーキテクチャ (SOA) に基づくデータ アクセスを実現します。 AquaLogic Data Services Platform を採用することにより、企業は必要に応じて社内に分散しているさまざまなデータ ソースの一括管理、統合、および変換が可能となり、企業データはアクセスが容易な再利用可能コモディティ、つまりデータ サービスとして利用できるようになります。

また、AquaLogic Data Services Platform は、統合された堅牢なインタフェースを提供するため、クライアント アプリケーション開発者はデータ サービスを構成する異種のバックエンド データ ソースへのアクセスおよび更新が可能となります。 この章ではクライアント アプリケーション開発者向けの AquaLogic Data Services Platform の概要について説明します。 内容は以下のとおりです。

注意 : BEA AquaLogic Data Services Platform の旧製品名は Liquid Data です。 製品、インストレーション パス、およびコンポーネントに旧製品名のまま表示されている場合があります。

 


アプリケーション データ プログラミングの簡略化

AquaLogic Data Services Platform は、クライアント アプリケーションによるデータへのアクセスおよび利用方法を大幅に簡略化します。 一般的な企業では、データは分散型データベース、さまざまなファイル、パートナー企業からのアプリケーションや E コマースのエクスチェンジ マーケットなど、さまざまなソースに由来します。 AquaLogic Data Services Platform では、クライアント アプリケーションは統合されたサービス レイヤを介して異種データを処理するため、多様な接続メカニズムやデータ形式を駆使して分散したデータソースを扱う必要はありません。

AquaLogic Data Services Platform は統合された堅牢なインタフェースを提供するため、異種のバックエンド データへのアクセスおよび更新が可能です。 SOA に基づく方法で、データ サービスを利用する情報アクセスを実現します。

クライアント アプリケーションの観点からすると、データ サービスは顧客や注文など、個別のビジネス エンティティを表すのが一般的です。 裏では、データを統合して複数のソースに由来するデータを単一ビューで構成し、それをさまざまな形式に変換します。 データ サービスは他のデータ サービスに関連付けられている場合がありますが、AquaLogic Data Services Platform ではこうした関連付けを簡単に追跡することができます。 クライアント アプリケーションはデータ サービスを利用することにより、各ビジネス エンティティを構成する詳細について処理する必要がなくなります。 クライアント アプリケーションで必要なのは、データ サービスの公開インタフェースを理解することのみです。

このマニュアルでは、AquaLogic Data Services Platform 対応のクライアント アプリケーションの作成方法について説明します。 AquaLogic Data Services Platform がサポートするさまざまなクライアント アクセス メカニズムや、SDO など、主なクライアント側データ プログラミング モデルについて説明します。 また、AquaLogic Data Services Platform 更新フレームワークを利用した更新可能なデータ サービスの作成方法についても紹介します。

このガイドでは、ご利用のアプリケーションでデータ サービスを活用する方法について紹介します。

データ サービス クライアントとは

一般的な企業では、データ は、分散型データベース、多様なファイル、パートナー企業からのアプリケーション、または E コマースのエクスチェンジ マーケットなど、さまざまなソースから双方向に流れます。

分散した多様なデータ ソースにアクセス、および更新するアプリケーションを作成するのは複雑かつ困難で、コストがかかることがあります。たとえば、さまざまな接続メカニズムおよびデータ形式の使用法や、各バックエンド データ ソースへのアクセスおよび更新に必要なさまざまな API の使用法についての知識が必要です。

AquaLogic Data Services Platform を利用すると、データ設計者は次のような特徴を持つデータ サービスを構築できます。

思いとおりのデータ処理

AquaLogic Data Services Platform クライアントとは、データ サービスを利用するプロセスのことです。 クライアント アプリケーションには、.NET アプリケーション、BEA WebLogic Workshop アプリケーション、または JDBC/ODBC クライアントなどの Java プログラムや非 Java プログラムなどがあります。 これらのアプリケーションすべてが クライアント API と考えられます。

このデータ資産を有効利用したいクライアント アプリケーション開発者向けに、AquaLogic Data Services Platform はさまざまなアクセス方法を提供します (図 1-1 を参照)。

AquaLogic Data Services Platform では、クライアント型にかかわらず、アプリケーション開発者は統合されたサービス指向メカニズムを利用し、外部ソースに由来する異種データへのアクセスおよび更新を実行できます。 開発者はさまざまなデータ ソースの接続や形式について理解する必要がなく、アプリケーションのビジネス ロジックにのみ集中できます。

WebLogic Server および WebLogic Workshop の役割

データ サービスはサーバ側、つまり WebLogic Workshop で作成されます。 Workshop は、ポータル、Web サービス、統合アプリケーションなどのさまざまなアプリケーションを構築、配備する BEA の統合開発環境です。

データ サービスとは

高レベルな観点から、データ サービスは顧客や顧客注文について説明するレポートなど、個別のビジネス エンティティを定義します。 データ サービスは、リレーショナル データベース管理システム (RDBMS)、Web サービス、企業アプリケーション、フラット ファイル、XML ファイルなど、さまざまなソースからのデータを統合し、単一ビューで表示します。 また、必要に応じてオリジナルのソースからデータを変換することもできます。

以下に示す点のみを理解するだけで、データ サービスの利用が可能です。

データ サービス クライアント アプリケーションは、Web サービスのクライアント アプリケーションが Web サービスのオペレーションを呼び出すのと同じ方法で、データ サービスを利用できます。 Java クライアント アプリケーションからオペレーションを呼び出す代わりに、データ サービス クライアント アプリケーションはデータ サービス ルーチンを呼び出します。

図 1-2 データ サービス レイヤはクライアント アプリケーション開発者に関数とプロシージャを公開する

クライアント アプリケーション開発者向けデータ サービス レイヤの公開される関数とプロシージャ

AquaLogic Data Services Platform クライアント アプリケーションとは

AquaLogic Data Services Platform クライアント アプリケーションとは、データ サービス ルーチンを呼び出すアプリケーションです。 クライアント アプリケーションには Microsoft ADO.NET アプリケーション、BEA WebLogic Workshop アプリケーション、または JDBC/ODBC クライアントなどの Java および非 Java プログラムが含まれます。

クライアント型にかかわらず、AquaLogic Data Services Platform を利用すると、統合されたサービス指向メカニズムを利用し、分散された異種データへのアクセスおよび修正を行うことができます。 開発者はさまざまなデータ ソースの接続や形式について理解する必要がなく、ビジネス ロジックにのみ集中できます。

クライアント アプリケーション コードで、データ サービス ルーチンを呼び出すと、AquaLogic Data Services Platform エンジンは次のタスクを実行します。

これらのデータ オブジェクトは、弊社と IBM が共同開発したデータ プログラミング用の Java ベースのアーキテクチャおよび API である、SDO (Service Data Object) 仕様に準拠しています。

クライアント アプリケーションにおけるセキュリティの考慮事項

AquaLogic Data Services Platform 管理者はロール ベースのセキュリティ ポリシーを介して、配備された AquaLogic Data Services Platform リソースへのアクセスを制御できます。 AquaLogic Data Services Platform は基礎となる WebLogic プラットフォームのセキュリティ機能を活用および拡張します。 ロールを WebLogic Administration Console で設定できます。 (AquaLogic Data Services Platform Console の詳細については、『管理ガイド』を参照してください。)

デプロイメント環境におけるすべてのデータ サービス、各データ サービス、各データ サービス関数、またはデータ サービス関数によって返された各要素においても、リソースへのアクセス ポリシーをあらゆるレベルで定義できます。

WebLogic セキュリティに関する詳細な情報は、以下を参照してください。

http://edocs.beasys.co.jp/e-docs/wls/docs81/security/index.html

 


データ サービス プログラミング モデルの選択

アプリケーション開発者は、AquaLogic Data Services Platform サービスへのアクセスに関し、複数のクライアント API モデルから選択可能です。 選択したモデルは、使用するアクセス メカニズムに依存します。 アクセス方法は以下のとおりです。

各アクセス方法には独自の利点と用途があります。表 1-3 に、それぞれのアクセス方法の説明と、AquaLogic Data Services Platform サービスにアクセスするためのさまざまなモデルの利点を示します。

表 1-3 AquaLogic Data Services Platform アクセス モデル
アクセス メカニズム
説明
利点および使用するケース
Data Service Mediator API
データ サービスを利用するための Java インタフェース。 データ オブジェクトとしてデータを返し、SDO プログラミングを完全サポート。
  • BEA WebLogic Workshop、Eclipse、IntelliJ、JBuilder など、標準 Java IDE で開発可能。
  • 外部データを扱う Java プログラムの開発が容易。
  • 汎用 SDO を利用する動的 (型なし) インタフェース、静的 (型付き) インタフェース、およびアドホック クエリ インタフェースなど、複数のアクセス モードを提供。
  • データ変更をシームレスに送信可能。
Data Service コントロール
AquaLogic Data Services Platform リソースにアクセスするための JCX (Java control extension) ファイル。
  • ポータル、ビジネス プロセスのワークフロー、ページフローなどの BEA WebLogic Workshop アプリケーションに最適。
  • ドラッグ アンド ドロップ操作や変数の生成など、コントロールを操作する BEA WebLogic Workshop 機能を活用。
  • 情報の問い合わせにダイナミックなアドホック クエリ インタフェースを提供。
  • データ変更を送信するシームレスな能力。
Web サービス
データ サービスを Web サービスとしてラップすることにより、データ サービスに Web サービス機能の利点を追加。
  • データ サービスは、WS-Security、WSDL 記述子など、多数の標準 Web サービス機能を利用可能。
  • .NET アプリケーション、またはその他の非 Java プログラムからデータ サービスを利用可能。
  • XML ベースの SOA アーキテクチャに最適
JDBC/ODBC
クライアント アプリケーションは SQL クエリを通じて AquaLogic Data Services Platform サービスにアクセスするために JDBC または ODBC を利用可能。 AquaLogic Data Services Platform JDBC ドライバは SQL-92 をサポート。
詳細については、「SQL を使用したデータ サービスへのアクセス」を参照。
  • Cognos ビジネス インテリジェンス ソフトウェアや Crystal Reports など、JDBC アクセス向けに設計されたアプリケーションで機能。
  • ユーザは既存の SQL 技術およびリソースを有効利用。
  • データのフラットなビューに制限。

 


サービス データ オブジェクト (SDO) について

サービス データ オブジェクト (SDO) とは弊社と IBM 社が共同提案した仕様で、データ プログラミング用の Java ベースのアーキテクチャおよび API です。 SDO は異種データ ソースに対するデータ プログラミングを統一します。 データ アクセスを簡略化し、データ利用者はデータベース、Web サービス、アプリケーション、その他のシステムなど、データ ソースにかかわらず、一貫性があり、統一された方法でデータを利用することができます。

SDO は非連結データ グラフの概念を使用します。 このアーキテクチャでは、クライアントはデータ グラフ (データ オブジェクトを保持するための構造) で外部的に永続化されたデータのコピーを取得します。 クライアントはリモートで (つまり、データ ソースから切り離された状態で) データを操作します。 データの変更をデータ ソースに保存する必要がある場合は、ソースへの接続が再取得されます。 接続時間を最小限に抑えることにより、アプリケーションのスケーラビリティとパフォーマンスを最大化します。

SDO クライアント側では、データはデータ ソースまたはデータ形式にかかわらず、統一した外観で表示されます。 SDO モデルにおけるこのようなデータの統一ビューを可能にするのが Data Service Mediator です。 Mediator はデータ クライアントとバックエンド システムの仲介を行います。 これによってクライアントはデータ サービスにアクセスし、データ取得またはデータ変更送信に関する関数を呼び出すことができます。 AquaLogic Data Services Platform は SDO Mediator としての機能を果たします。

クライアント側では、情報はデータ オブジェクト形式となります。 データ オブジェクトは SDO アーキテクチャによって規定された情報の基本単位です。 SDO はデータ オブジェクトで動作する静的 (型付き) および動的 (型なし) インタフェースの両方を備えています。

静的インタフェースは、データ オブジェクトにおけるプロパティの取得および設定のための、プログラミングしやすいモデルとして機能します。 たとえば、カスタマ データ オブジェクト向けの getCustomerName( ) および setCustomerName( ) など、データ サービスのデータ型の各プロパティに対してアクセッサが生成されます。 静的インタフェースは型情報のスキーマに依存します。

一方、動的インタフェースは、型が不明であるかまたは実行時に定義されていない場合に有効です。 動的インタフェースの呼び出しには次のような形式があります。

get("CustomerName")
set("CustomerName", "J. Dough")

サービス指向アーキテクチャ (SOA) の目的を維持するため、データ グラフは自己記述型です。 メタデータ API により、アプリケーション、ツール、およびフレームワークはデータ グラフに含まれるデータの情報を検証することが可能です。 データは XML スキーマで記述されています。XML スキーマはプロパティ名、プロパティ型などを記述します。

SDO の使用についての詳細は、「データ プログラミング モデルと更新フレームワーク」を参照してください。

更新フレームワークと Data Service Mediator

SDO 仕様では更新フレームワークを指定しませんが、データ オブジェクトの更新処理など、仲介サービスの必要性について全般的に検討しています。つまり、SDO 仕様ではその詳細を開発者に委ねています。

SDO 仕様では、特定タイプのクエリ言語またはバックエンド システムを対象としたさまざまな型の Mediator を利用できます。 AquaLogic Data Services Platform では Data Service Mediator を提供します。Data Service Mediator は AquaLogic Data Services Platform の XQuery プロセッシング エンジンのサーバ側コンポーネントで、データ サービスとクライアント アプリケーションまたはプロセスの仲介を行います。

Data Service Mediator (Mediator) はすべてのデータ サービスを構成するさまざまなデータ ソースの更新を円滑化します。 Mediator のサービスはデータ サービス更新フレームワークのコア メカニズムです。 Mediator は次のようなリレーショナルおよび非リレーショナルのデータ ソースの更新を処理します。

 


一般的なクライアント アプリケーション開発プロセス

AquaLogic Data Services Platform 対応のクライアント アプリケーションの開発には以下の手順があります。

  1. アプリケーションで使用したいデータ サービスを指定します。 Data Services Platform Console を使ってご利用の WebLogic Server で使用可能なサービスすべてを表示することができます。 AquaLogic Data Services Platform Console は AquaLogic Data Services Platform アーキテクチャのデータ サービス レジストリとして機能します。つまり、利用可能なデータ サービスを表示し、それには各データ サービスが提供する特定の関数とプロシージャが含まれます。
  2. ニーズに最も適したデータ アクセス方法を選択します。 (表 1-3 AquaLogic Data Services Platform アクセス モデルは、さまざまなアクセス メカニズムの利点について説明しています。) 選択する方法は、データ サービスが配備された方法によっても異なります。
  3. たとえば、データ サービスが Web サービスとしてホストされている場合、Java を当該サービスの WSDL ファイルと関連付けて使用し、Web サービス クライアント アプリケーションを開発できます。

    同様に、データ サービスがポータル、ビジネス プロセス、または Web アプリケーションに組み込まれている場合、クライアント アプリケーション開発プロセスは、ページフローまたは他のサーバ側アーティファクトのセットとしてサーバのコンテキスト全体で行われる場合があります。

  4. 必要な JAR ファイルを取得します (表 1-5 AquaLogic Data Services Platform Java アーカイブ ファイルを参照)。 型付けされたデータ サービスおよび SDO インタフェースを利用するには、AquaLogic Data Services Platform アプリケーションが生成した Mediator クライアント JAR ファイルを AquaLogic Data Services Platform 管理者またはデータ アーキテクトから取得します。 または「静的 Mediator API JAR ファイルの生成」に示す手順に従い、自身でファイルを生成してください。

図 1-4 はさまざまな方法の理念を表し、数多くのサブシステムおよびコンポーネントからいくつかの関係が強調表示されています。 このようなサーバ側のデータ サービス開発に関する詳細は、『データ サービス開発者ガイド』を参照してください。

図 1-4 AquaLogic Data Services Platform クライアント アプリケーションの型

AquaLogic Data Services Platform クライアント アプリケーションの型

開発リソース

一般的にクライアント アプリケーション開発者は、JAR ファイルに含まれるいくつかの API を使用します。 API は主に Javadocs を使用して記述されています (「AquaLogic Data Services Platform Mediator API Javadoc」を参照)。

実行時のクライアント JAR ファイル

AquaLogic Data Services Platform の API は 表 1-5 に記載されたパッケージに含まれます。

表 1-5 AquaLogic Data Services Platform Java アーカイブ ファイル
名前
説明
場所
[App]-ld-client.jar
データ サービスおよびそれらのデータ型に対して生成された型付きのインタフェース (静的データ API) を含む。 ファイル名には静的データ インタフェースが生成された AquaLogic Data Services Platform アプリケーションの名前により接頭辞が付けられる。
AquaLogic Data Services Platform ルーチンに対する唯一のインタフェースが汎用 SDO を利用する型なしのインタフェースを介する場合、このようなアプリケーション固有の JAR ファイルは必要がない。
(AquaLogic Data Services Platform 管理者から提供。)
ld-client.jar
汎用データ サービス インタフェースおよびアドホック クエリ インタフェースなど、動的、または型なしのデータ サービス API。
<bea_home>\weblogic81\liquiddata\lib\
wlsdo.jar
型なしのデータ インタフェースおよびデータ グラフ インタフェースなど、SDO 仕様で定義されたインタフェース。
<bea_home>\weblogic81\liquiddata\lib\
weblogic.jar
共通の WebLogic API。
<bea_home>\weblogic81\server\lib\
xbean.jar
xqrl.jar
wlxbean.jar
AquaLogic Data Services Platform の SDO 実装が依存する XML Bean クラスおよびインタフェース。 また、型なしのデータ アクセッサで XPath 式を有効にする。 1
<bea_home>\weblogic81\server\lib\

1XPath 式の実行時に xqrl.jarおよび wlxbean.jar ファイルが JVM の CLASSPATH に存在しない場合、「query too complex (複雑すぎるクエリ)」という例外が発生します。 このエラーが発生したときは、これら 2 つの JAR ファイルが CLASSPATH に存在するかを確認します。

AquaLogic Data Services Platform Mediator API Javadoc

AquaLogic Data Services Platform Mediator API は、AquaLogic Data Services Platform クライアント アプリケーションがさまざまな AquaLogic Data Services Platform ルーチンの呼び出しに必要とするルーチンを記述します。

Javadoc は、クライアント アプリケーション開発者がデータ サービス ルーチンを呼び出すクライアント アプリケーションを作成する際に便利です。 またデータ サービス開発者および構築者にとっては更新動作のカスタマイズ方法を理解する上で役立ちます。

AquaLogic Data Services Platform 2.5 および 2.1 Mediator API のための Javadoc は、以下の場所にあります。


http://edocs.bea.com/aldsp/docs25/javadoc/index.html

旧バージョンの AquaLogic Data Services Platform に構築されたクライアント アプリケーションは継続して 2.0.1 Mediator API ルーチンの利用が可能です。 これらは javadoc-dsp201 という名前の Javadoc で記述され、以下から入手できます。


http://edocs.bea.com/aldsp/docs25/javadoc-dsp201/index.html

Javadoc は ZIP ファイル形式でも提供されています。AquaLogic Data Services Platform の e-docs Web サイトからダウンロードが可能です。


http://edocs.beasys.co.jp/e-docs/aldsp/docs25/index.html

パフォーマンスの考慮事項

データ サービスのパフォーマンスはシステム全体を構成する以下のようなエンド ツー エンド コンポーネントによって決まります。

データ サービスに対するクライアント アプリケーションを作成する前に、基底となるそれぞれデータ ソースのパフォーマンスをベンチマークし、さらに開発中にもデータ サービスのパフォーマンスをベンチマークすることをお勧めします。 負荷テスト ツールを使用してデータ サービスがサポートできる最大クライアント数を決定します。

また、AquaLogic Data Services Platform の監査機能を利用してコードをインスツルメントすることにより、パフォーマンスに関して発生した問題を特定して解決するのに役立つパフォーマンス プロファイル情報を取得できます。 AquaLogic Data Services Platform の監査機能についての詳細は、AquaLogic Data Services Platform の『管理ガイド』を参照してください


  ページの先頭       前へ  次へ