プライマリ・コンテンツに移動
Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発
リリース2.1.3
E67371-01
  目次へ移動
目次

前
 
次
 

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

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

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

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

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

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

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

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

 <RefAddresses>
      <XmlRefAddr addrType="ConfigServiceConnection">
        <Contents>
          <urlconnection name="ConfigServiceConnection" url="http://127.0.0.1"/>
        </Contents>
      </XmlRefAddr>
    </RefAddresses>
  </Reference>
  
<!-- Login Server connection for secured configuration service -->
  <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"/>
          <authenticationMode value="remote"/>
          <idleTimeout value="300"/>
          <sessionTimeout value="28800"/>
          <maxFailuresBeforeCredentialCleared value="3"/>
          <rememberCredentials>
            <enableRememberUserName value="true"/>
            <rememberUserNameDefault value="true"/>
            <enableRememberPassword value="false"/>
            <enableStayLoggedIn value="false"/>
          </rememberCredentials>
          <accessControl/>
          <userObjectFilter/>
        </Contents>
      </XmlRefAddr>
    </RefAddresses>

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

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

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

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

18.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リファレンスを参照してください。

18.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

18.5 サーバーでの構成サービスの設定

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

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

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

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

18.6 構成サービスAPIの移行

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

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

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

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

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

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

このMAFリリースへの移行では、ユーザーからエンド・ポイントURLを取得するためのユーザー・インタフェースの作成や、構成サービスAPIを起動するためのバッキングBeanの追加を行います。詳細は、第18.3項「構成サービス用のユーザー・インタフェースの作成」を参照してください。

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

ConfigServiceDemoという名前のMAFサンプル・アプリケーションは、APIを使用して構成サーバーと通信する方法を示しています。ConfigServiceDemoアプリケーションは、「ファイル」→「新」→MAFサンプルにあります。