新しいデータベース コントロールを作成する
データベース コントロールは、データベース処理との Java インタフェースを提供し、Web サービスの Java コードから簡単にデータベース処理にアクセスできるようにします。目的の処理を含むデータベース コントロールの特定のインスタンスを作成する必要があります。カスタマイズしたデータベース コントロールは CTRL ファイルで定義されます。
このトピックでは、データベース コントロールを作成する手順を説明します。
コントロールの詳細については、コントロール : Web サービスからリソースを使用するを参照してください。
データベース コントロールの詳細については、データベース コントロール : Web サービスからデータベースを使用するを参照してください。
データベース コントロールを設計する際に考慮すべき問題については、データベース コントロールの設計の問題を参照してください。
新しいデータベース コントロールを作成し、Web サービスに追加するには、[データベース コントロールの追加] ダイアログを使用します。[データベース コントロールの追加] ダイアログにアクセスするには、メニュー バーの [サービス] メニュー、デザイン ビューのサービスの上で右クリックしたときのコンテキスト メニュー、またはデザイン ビューの右上隅の [コントロールの追加 ] オプション メニューを使用します。
[データベース コントロールの追加] ダイアログの手順の説明については、[データベース コントロールの追加] ダイアログを参照してください。
データベース コントロールの CTRL ファイルを手動で作成するという方法もあります。たとえば、既存のデータベース コントロールの CTRL ファイルをコピーしてから変更することができます。
新しいデータベース コントロールへのメソッドの追加方法については、データベース コントロールにメソッドを追加するを参照してください。
WebLogic Workshop で新しいデータベース コントロールを作成する場合、CTRL ファイルは次のようになります。
import weblogic.jws.*; import weblogic.jws.control.*; import java.sql.SQLException; /** * Defines a new database control. * * The @jws:connection tag indicates which WebLogic data source will be used * by this database control. Please change this to suit your needs. You can * see a list of available data sources by going to the WebLogic console * in a browser (typically http://localhost:7001/console) and clicking * Services, JDBC, Data Sources. * * @jws:connection data-source-jndi-name="cgSampleDataSource" */ public interface CustomerDBControl extends DatabaseControl { // Sample database function. Uncomment to use // static public class Customer // { // public int id; // public String name; // } // // /** // * @jws:sql statement="SELECT ID, NAME FROM CUSTOMERS WHERE ID = {id}" // */ // Customer findCustomer(int id) throws SQLException, ControlException; }
このデータベース コントロールに指定した名前は CustomerDBControl です。CTRL ファイルの名前の末尾には「Control」を付けるのが一般的です。WebLogic Workshop が CTRL ファイルを作成すると、指定した名前の末尾に「Control」が追加されます。Java では、ファイル内のメイン クラスまたはメイン インタフェースはファイルと同じ名前でなければなりません。したがって、この場合のインタフェース名は CustomerDBControl となります。
データベース コントロールに関連する CTRL ファイルには 3 つの特性があります。
ファイル内のメイン インタフェースは、weblogic.jws.control.DatabaseControl を拡張したものとなる。
メイン インタフェースの Javadoc コメントには、データベースに接続する方法を指示する @jws:connection タグが含まれる。
ファイルには、このコントロールを通じて実行可能なデータベース処理を定義する @jws:sql タグを使用してコメントを付けたメソッドが含まれる。
新しいデータベース コントロールへのメソッドの追加方法については、データベース コントロールにメソッドを追加するを参照してください。
データベース処理は、Web サービスの各メソッド呼び出しをラップする暗黙的なトランザクションのコンテキスト内で実行されます。WebLogic Workshop のデフォルト トランザクションのセマンティクスの詳細については、WebLogic Workshop の暗黙的なトランザクションを参照してください。
データベースの処理を実行する前に、データベースに接続する必要があります。データベース接続の管理の細部はデータベース コントロールがすべて処理しますが、データベースにアクセスするために必要な情報に基づいてコンフィグレーションされているデータ ソースの名前を指定する必要あります。
WebLogic Workshop のインストール時にコンフィグレーションされる cgSampleDataSource というデフォルト データ ソースは、PointBase データベースを使用します。
データ ソースを作成、コンフィグレーション、および登録する方法については、SQL Server や Oracle などのデータベースにデータベース コントロールを接続するにはを参照してください。
データ ソースをコンフィグレーションして JNDI レジストリに登録したら、データ ソース名を @jws:connection タグの data-source-jndi-name 属性で使用できます。
@jws:connection タグの詳細については、@jws:connection タグを参照してください。
データベース コントロール : Web サービスからデータベースを使用する