パート2:RESTサービスの構築

JDeveloper 12cに付属しているEclipseLinkまたはTopLink JPAの実装を使用してバックエンド永続性レイヤーを構築する場合は、そのまま使用できる無料のRESTful APIを入手します。この項では、新しいアプリケーションを作成し、REST Webサービス経由でアクセスできるTopLink JPAエンティティを開発します。

RESTサービスの開発手順には関心がなく、RESTサービスをデプロイできればよい場合は、こちらをクリックしてHRRestアプリケーションの完成版をダウンロードしてください。ファイルをダウンロードしたら、次の3つのステップを実行してください。
1:ハード・ドライブにファイルを解凍し、JDeveloperでHRRest.jwsアプリケーションを開きます。
2:各自のHRスキーマ仕様が使用されるようにHRRESTConn接続を変更します。
3:最初の2つのステップはスキップしてステップ3:サービスのデプロイとテストに進みます。

HRスキーマに接続するJavaクラスの構築方法を学習する場合はステップ1に進み、ステップ1の手順を実行してください。

ゼロから作成したものかダウンロードした完成版かに関係なく、RESTサービスをデプロイする必要があります。

ステップ1:Javaクラスの作成

このステップでは、Employees表とDepartments表をサポートするJava EEアプリケーション追加のクラスを作成します。

  1. メニューから「File」→「New」を選択します。
    New GalleryGeneralカテゴリを開き、「Applications」ノードを選択します。
    次に、「Java EE Web Application」をダブルクリックします。

    alt text

  2. アプリケーション名をHRRestに設定し、他のプロパティはデフォルトのままにします。
    次に、「Next」をクリックします。

    alt text

  3. ウィザードの他の値はデフォルトにしたまま、「Finish」ボタンをクリックします。Applicationsウィンドウに、アプリケーションとアプリケーションの2つのプロジェクトが表示されます。

    alt text

  4. Departments表およびEmployees表とのやり取りに必要な2つのエンティティを作成します(このタスクを完了するには、アクセス権のロックを解除しておく必要があります)。
    Applicationsウィンドウで「Model」プロジェクトを選択します。

    次に、New Galleryを起動し、Business Tierカテゴリを開いて「EJB」ノードを選択します。
    続いて、「Entities from Tables」アイテムをダブルクリックします。

    alt text

  5. Persistence Unitステップでは、デフォルトのまま「Next」をクリックします。
    Step 3Type of Connection)では、接続のタイプとしてOnline Database Connectionが選択されていることを確認して「Next」をクリックします。

    alt text
  6. Database Connection Detailsで緑色のプラス記号「alt text」をクリックし、HRスキーマへの新しい接続を作成します。

    次のプロパティを設定します。
    Connection Name = HRConn
    Username = hr
    Password = hr(または各自が設定したパスワード)

    次に、「Test Connection」ボタンをクリックして、データベースに接続できることを確認します。
    接続できた場合は「OK」をクリックしてウィザードに戻ります。

    alt text
  7. Database Connection Detailsステップに戻り、ConnectionHRConnに設定されていることを確認します。
    次に、「Next」をクリックします。

    alt text

  8. Step 5のSelect Tablesでは、「Query」ボタンをクリックして、HRスキーマに含まれるすべての表を表示します。

    DEPARTMENT表とEMPLOYEES表を選択して右側に移動します。

    次に、「Next」をクリックします。

    alt text

  9. ウィザードのStep 6では、デフォルト値のまま「Next」をクリックします。

    Step 7Specify the Entity Detailsでは、HR.DEPARTMENTS表のEntity NameDepartment(単数)に設定し、Entity Classmodel.Department(単数)に変更されることを確認します。

    alt text


  10. 次に、HR.EMPLOYEES表を選択して、Entity NameEmployeeに設定し、Entity Classも単数の値
    model.Employee)に変更されることを確認します。

    次に、「Next」をクリックします。

    alt text


  11. Step 8Relationshipsでは、値をデフォルトにしたまま「Finish」をクリックします。

    alt text

  12. Modelプロジェクトには、データベースへのアクセスをサポートするjavaファイルとxmlファイルが含まれています。

    alt text

ステップ2:サービス・ファサードでのエンティティのラッピング

この項では、サービス・ファサードで2つのエンティティ(DepartmentとEmployee)をラップします。

  1. Modelプロジェクトを作業対象にしたまま、New Galleryから「EJB」カテゴリを選択し、「Java Service Facade (JPA/TopLink)」をダブルクリックします。

    alt text

  2. Step 1Java Service Classでは、デフォルト値のまま「Next」をクリックします。

    alt text

  3. Step 2Create Persistence Unitでは、エンティティの作成時に使用したものが接続に設定されていることを確認します。
    Persistence Unitの値(Model-1)を確認します。この値は、RESTサービスにアクセスするためのURLを構成するときに使用します。

    次に、「Next」をクリックします。

    alt text

  4. Step 3Java Service Facade Methodsでは、すべてデフォルト値のまま「Finish」をクリックします。

    alt text

  5. この時点で、Applicationsウィンドウにはサービス・ファサードをサポートする2つのクラスが含まれています。

    作業内容を保存します。

    alt text

ステップ3:RESTサービスのデプロイとテスト

このステップでは、ライブラリが含まれるようにプロジェクトを変更し、URLをわかりやすいものにして、サービスをデプロイしてテストします。

  1. データ・サービスを有効化するライブラリを追加します。Applicationウィンドウで、「ViewController」プロジェクトをダブルクリックします。続いて、Libraries and Classpathノードをクリックします。

    alt text
  2. Add JAR/Directory...」ボタンをクリックし、<JDEV_HOME>\oracle_common\modules\oracle.toplink_12.1.3\ディレクトリにナビゲートして「Toplink-dataservices-web.jar」ファイルを選択します。

    ここで「Open」をクリックすると、jarがCLASSPATHに追加されます。

    alt text
  3. 次に、サービスを起動するためのURLをわかりやいものにします。
    引き続きViewController Project Propertiesで「Java EE Application」ノードを選択し、Java EE Web Context RootプロパティをHRRestに設定します。

    OK」をクリックして、すべての作業を保存します。

    alt text
  4. 使用するWebサーバーが起動していることを確認します。

    ViewControllerプロジェクトのデフォルトのデプロイ・プロファイルを使用してプロジェクトをデプロイします。
    Applicationウィンドウで「ViewController」プロジェクトを右クリックし、「Deploy」→「HRRest_ViewController_webapp...」の順に選択します。

    alt text
  5. Deploy Actionダイアログで、「Deploy to Application Server」を選択して「Next」をクリックします。

    alt text
  6. デプロイするサーバーとしてIntegratedWebLogicServerが選択されていることを確認し、「Next」をクリックします。

    alt text
  7. Weblogic Optionsダイアログで、「Deploy to selected instances in the domain」を選択して「DefaultServer」を選択します。

    次に、「Finish」をクリックしてサービスをデプロイします。

    alt text
  8. Deployment - Logウィンドウで、サービスがデプロイされたことを確認します。

    alt text
  9. 次は、ブラウザを開いて、サービスが使用できるかどうかをテストします。
    サービスへアクセスするには次のURLを使用します。IPアドレスは各自のものに置き換えてください。後でサービスからデータを使用するときに使用するため、このURLを保存します。

    http://<your_ip>:7101/HRRest/persistence/v1.0/Model-1/query/Department.findAll

    HRスキーマに含まれる他のすべての部門とともに、最初の部門(10 - Administration)が返されることを確認します。

    alt text
  10. 上に表示されているとおり、出力はXML形式です。ToplinkのRESTfulデータ・サービスAPIは、XMLとJSONの両方をサポートしています。ペイロードをJSON形式で取得する場合は、Content-Typeヘッダー・パラメータを含める必要があります。

    サービスをテストし、結果をJSON形式で確認するには、Postman RESTクライアントを使用します。これは、どのようなRESTfulサービスのテストにも適していて、Chrome Web Storeから入手できます。

    こちらをクリックしてアプリケーションをインストールしてください。

    alt text
  11. 拡張をインストールしたら、ブラウザでPostmanクライアント・アプリケーションを起動します。

    alt text
  12. アプリケーションが起動したら、各自のRESTサービスのURLを入力します。

    http://<your_ip>:7101/HRRest/persistence/v1.0/Model-1/query/Department.findAll

    次に、青色の「Send」ボタンをクリックして、データをJSON形式で表示します。

    alt text
  13. 部門の属性に関係が含まれていることを確認します。これは、リソースが自己記述的なRESTfulサービスの場合によく見られるパターンで、後続のリソース・パスがペイロードとともに返されるため、このパスをたどって他のデータを取得できます。

    employeesList1」リンクをクリックして部門10に含まれる従業員を取得します。

    alt text

    これで、Persistence Acceleratorを使用して利用できるREST/JSONサービスの用意ができました。次のパートでは、MAFアプリケーションを作成し、このサービスを使用してユーザー・インタフェースを開発します。

 


ブックマーク 印刷 Expand all | Hide all
Back to top
Copyright © 2015, Oracle and/or its affiliates.All rights reserved.