Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.1.3 E67371-01 |
|
![]() 前 |
![]() 次 |
この章では、構成サービスを使用して、MAFアプリケーションで使用するエンド・ポイントを構成する方法について説明します。
この章には次の項が含まれます:
構成サービスは、Webサービス、ログイン・ユーティリティ、MAFアプリケーションのその他の部分によって使用されるエンド・ポイントを構成できるツールです。
エンド・ポイント(またはシード) 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>);
構成サービスのユーザー・インタフェースが必要な場合は、新規または既存のアプリケーション機能内に作成する必要があります。
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リファレンスを参照してください。
構成サービスの各管理対象リソースへの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
構成サービスは、HTTP GET
リクエストを受け入れてconnections.xml
ファイルを返すサービスとして実装できます。
構成サービス・クライアントによって使用されるURLの形式は、次のとおりです。
adf-config.xml/アプリケーション・バンドルIDで構成されたURL
/connections.xml
構成サービスのエンド・ポイントは、HTTPおよびHTTPSを経由する基本認証(BASIC_AUTH
)を使用して保護できます。
アプリケーションが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サンプルにあります。