ヘッダーをスキップ

Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.1.2 E64870-01 |
| 目次

前 | 次 |

# 17 MAFアプリケーションで使用するエンド・ポイントの構成

この章では、構成サービスを使用して、MAFアプリケーションで使用するエンド・ポイントを構成する方法について説明します。

この章には次の項が含まれます:

- 第17.1項「エンド・ポイントの構成の概要」

- 第17.2項「構成サービス・エンド・ポイントの定義」

- 第17.3項「構成サービス用のユーザー・インタフェースの作成」

- 第17.4項「URLの構造について」

- 第17.5項「サーバーでの構成サービスの設定」

- 第17.6項「構成サービスAPIの移行」

## 17.1 エンド・ポイントの構成の概要

構成サービスは、Webサービス、ログイン・ユーティリティ、MAFアプリケーションのその他の部分によって使用されるエンド・ポイントを構成できるツールです。

## 17.2 構成サービス・エンド・ポイントの定義

エンド・ポイント(またはシード) URLは`connections.xml`ファイルで定義され、新しい接続エントリをそのファイルに追加する必要があります。新しい接続は、`HttpURLConnection`型で、`url`値が構成サーバー・エンド・ポイント(またはシード) URLを指し、`name`が最終的にJavaBeanコードで参照される任意の値に設定されている必要があります。

次の例は、`connections.xml`ファイルでの構成サービス・エンド・ポイントの定義方法を示しています。

    <Reference name="ConfigServiceConnection"
                    className="oracle.adf.model.connection.url.HttpURLConnection"
                    credentialStoreKey="ConfigServiceConnection"
                    adfCredentialStoreKey="ConfigServerLogin"
                    xmlns="">
       <Factory className="oracle.adf.model.connection.url.URLConnectionFactory"/>
       <RefAddresses>
          <XmlRefAddr addrType="ADFMFSecuredConfigServer">
             <Contents>
                <urlconnection name="ADFMFSecuredConfigServer"
                               url="http://127.0.0.1"/>
                   <authentication style="challange">
                     <type>basic</type>
                     <realm>myrealm</realm>
                   </authentication>
                </urlconnection>
             </Contents>
          </XmlRefAddr>
          <SecureRefAddr addrType="username"/>
          <SecureRefAddr addrType="password"/>
       </RefAddresses>
    </Reference>
    <Reference name="ConfigServerLogin"
               className="oracle.adf.model.connection.adfmf.LoginConnection"
               adfCredentialStoreKey="ConfigServerLogin"
               partial="false"
               manageInOracleEnterpriseManager="true"
               deployable="true"
               xmlns="">
       <Factory className="oracle.adf.model.connection.adfmf.LoginConnectionFactory"/>
       <RefAddresses>
          <XmlRefAddr addrType="adfmfLogin">
             <Contents>
                <login url="http://127.0.0.1"/>
                <logout url="http://127.0.0.1"/>
                <accessControl url=""/>
                <idleTimeout value="300"/>
                <sessionTimeout value="28800"/>
                <authenticationMode value="remote"/>
                <rememberCredentials>
                   <enableRememberUserName value="true"/>
                   <rememberUserNameDefault value="true"/>
                   <enableRememberPassword value="false"/>
                   <enableStayLoggedIn value="true"/>
                   <stayLoggedInDefault value="true"/>
                </rememberCredentials>
                <userObjectFilter/>
             </Contents>
          </XmlRefAddr>
       </RefAddresses>
    </Reference>

構成サーバーに対するセキュリティが有効な場合は、`connections.xml`ファイルに次の追加の定義を含める必要があります。

- URL接続と同じエンド・ポイント(またはシード) URLを指すログイン接続が必要です。ログイン接続と`HttpURLConnection`は同じ`adfCredentialStoreKey`を共有する必要があります。

エンド・ポイントURLは、エンド・ユーザーからの取得が必要になり、`connections.xml`に設定できない場合があります。その場合は、ユーザー・インタフェースを作成し、エンド・ポイントURLの値を取得してアプリケーション・プリファレンスに設定できます。アプリケーション・プリファレンスの値は、JavaBeanメソッドで使用して接続URLの値をオーバーライドできます(次の例を参照)。

    AdfmfJavaUtilities.overrideConnectionProperty("ConfigServerConnection",
                                                  "login",
                                                  "url",
                                                  <Endpoint_URL>);

## 17.3 構成サービス用のユーザー・インタフェースの作成

構成サービスのユーザー・インタフェースが必要な場合は、新規または既存のアプリケーション機能内に作成する必要があります。

MAFでは、`oracle.adfmf.config.client.ConfigurationService`クラス内で一連のAPIが提供され、サーバー上の新しい変更を確認して更新内容をダウンロードできます。JavaBeanでこれらのAPIを使用して、構成サービスのアプリケーション機能を介してそれぞれのメソッドをアクティブ化できます。

次のAPIの一覧とその使用例では、`_configservice`変数は`oracle.adfmf.config.client.ConfigurationService`クラスのインスタンスを表しています。

- `setDeliveryMechanism`メソッドは構成サービスの配信メカニズムを設定します。旧リリースの構成サービスとの通信はHTTPを使用することで可能になるので、このメソッドの引数として`http`が渡されます。

      _configservice.setDeliveryMechanism("http");

  注意: メソッドの引数は構成サービスに使用するWebトランスポートを参照するため、HTTPまたはHTTPSと混同しないでください。エンド・ポイントがHTTPS URLの場合でも、トランスポートをhttpに設定することはできます。

- setDeliveryMechanismConfigurationメソッドは、構成サービスに追加の属性を設定し、構成サーバー接続とエンド・ポイントURLを関連付けできます。

      _configservice.setDeliveryMechanismConfiguration("connectionName",
                                                       "ConfigServerConnection");
      _configservice.setDeliveryMechanismConfiguration("root", <Endpoint_URL);

- `isThereAnyNewConfigurationChanges`メソッドは、サーバーにダウンロードできる変更内容がないか確認し、ある場合は`true`を返します。

      _configservice.isThereAnyNewConfigurationChanges(<APPLICATION_ID>, <VERSION>);

- `stageAndActivateVersion`メソッドは、構成サービスによる更新のダウンロードをトリガーします。このメソッドの引数としてアプリケーション・バージョン(ハードコード化された値または`Application.getApplicationVersion` APIを使用して取得)が渡されます。

      _configservice.stageAndActivateVersion("1.0");

      _configservice.stageAndActivateVersion(Application.getApplicationVersion);

- `addProgressListener`メソッドは、更新メッセージと進捗ステータスを受け取るために、構成サービスで更新進捗リスナーを登録します。基となるクラスは`ProgressListener`インタフェースと、構成サービスから呼び出される`updateProgress`メソッドを実装する必要があります。`updateProgress`メソッドは、進捗更新メッセージと更新完了率を受け取ります。

      _configservice.addProgressListener(this);

- `removeProgressListener`メソッドは、更新進捗リスナーを登録解除します。

      _configservice.removeProgressListener(this);

詳細は、Oracle Mobile Application Framework Java APIリファレンスを参照してください。

## 17.4 URLの構造について

構成サービスの各管理対象リソースへのURLが構築されています。これには、次のようにアプリケーションIDとファイル名が含まれています。

URLの`http://my.server.com:port/SomeLocation`とアプリケーションIDの`com.mycompany.appname`がユーザーによって指定されている場合は、次のURLを使用して構成ファイルをダウンロードします。

    http://my.server.com:port/SomeLocation/com.mycompany.appname/connections.xml
    http://my.server.com:port/SomeLocation/com.mycompany.appname/maf-config.xml
    http://my.server.com:port/SomeLocation/com.mycompany.appname/maf-config.xml

## 17.5 サーバーでの構成サービスの設定

構成サービスは、HTTP `GET`リクエストを受け入れて`connections.xml`ファイルを返すサービスとして実装できます。

構成サービス・クライアントによって使用されるURLの形式は、次のとおりです。

`adf-config.xml/アプリケーション・バンドルIDで構成されたURL``/connections.xml`

構成サービスのエンド・ポイントは、HTTPおよびHTTPSを経由する基本認証(`BASIC_AUTH`)を使用して保護できます。

## 17.6 構成サービスAPIの移行

アプリケーションがMAFの旧リリースを使用して作成されていて、そのアプリケーションが構成サービスを使用する場合、手動で移行を行う必要があります。

移行の主な理由は、MAFの現在のリリースでは、構成サービスの機能の有効化で重要な役割を果たした次のAPI、プロパティ、ユーティリティがサポートされなくなったからです。

- MAFでは、サービスを有効化するための`use-configuration-service-at-startup`プロパティとエンド・ポイントURLを指定する`adfmf-configuration-service-seed-url`プロパティを設定することで、`adf-config.xml`ファイルから構成サービスを操作できました。

- `checkForUpdates` APIでは構成サービスの更新を確認できました。

- 構成サービスはMAFが提供するUIから開始されました。

移行を始めるには、`第17.2項「構成サービス・エンド・ポイントの定義」`に記載されているように、エンド・ポイント(またはシード) URLを`adf-config.xml`ファイルから`connections.xml`ファイルに移動させ、新しい接続要素をconnections.xmlファイルに追加する必要があります。

現在のリリースのMAFでは構成サービスのユーザー・インタフェースは提供されていないので、ユーザー・インタフェースが必要だと想定して、新規または既存のアプリケーション機能内でユーザー・インタフェースを作成する必要があります。詳細は、第17.3項「構成サービス用のユーザー・インタフェースの作成」を参照してください。