Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.0 E56274-01 |
|
![]() 前 |
![]() 次 |
この章では、構成サービスを使用して、MAFアプリケーションで使用されるエンド・ポイントを構成する方法について説明します。
この章には次の項が含まれます:
構成サービスは、Webサービス、ログイン・ユーティリティおよびMAFアプリケーションのその他の部分で使用されるエンド・ポイントを構成できるツールです。
エンド・ポイント(またはシード) URLは、connections.xml
ファイルに定義されており、新しい接続エントリはそのファイルに追加する必要があります。この新しい接続はタイプをHttpURLConnection
にし、そのurl
値は構成サーバーのエンド・ポイント(またはシード) URLを指し、そのname
は最終的にJava Beanコードで参照される任意の値に設定されている必要があります。
例9-1は、connections.xml
ファイルに構成サービスのエンド・ポイントを定義する方法を示しています。
例9-1 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の値を取得するためのユーザー・インタフェースを作成し、それをアプリケーション・プリファレンスに設定できます。その後、例9-2に示すとおり、プリファレンスの値をJava Beanメソッドで使用して、接続URL値をオーバーライドできます。
構成サービス・ユーザー・インタフェースの要件がある場合は、それを新規または既存のアプリケーション機能に作成する必要があります。
MAFでは、サーバー上での新たな変更をチェックし、更新をダウンロードできるAPIセットがoracle.adfmf.config.client.ConfigurationService
クラス内に用意されています。これらのAPIをJava Beanで使用すると、構成サービス・アプリケーション機能を介して該当するメソッドをアクティブ化できます。
次の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);
ConfigServiceという名前のMAFサンプル・アプリケーションは、これらのAPIを使用して構成サーバーと通信する方法を示しています。ConfigServiceアプリケーションは、開発コンピュータ上のjdev_install
/jdeveloper/jdev/extensions/oracle.maf/Samples
ディレクトリ内のPublicSamples.zip
ファイル内にあります。
詳細は、Oracle Fusion Middleware 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/adf-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
プロパティを設定してサービスを有効にし、adfmf-configuration-service-seed-url
プロパティを設定してエンド・ポイントURLを提供することで、adf-config.xml
ファイルから構成サービスを操作する手段が用意されていました。
checkForUpdates
APIには、構成サービスの更新をチェックする手段が用意されていました。
構成サービスは、MAFに用意されているUIから開始しました。
移行を開始するには、第9.2項「構成サービスのエンド・ポイントの定義」の説明に従って、エンド・ポイント(またはシード) URLをadf-config.xml
ファイルからconnections.xml
ファイルに移動し、新しい接続要素をconnections.xml
ファイルに追加する必要があります。
現在のリリースではMAFに構成サービス用のユーザー・インタフェースが用意されていないため、そのユーザー・インタフェースの要件があることを前提にして、新規または既存のアプリケーション機能にユーザー・インタフェースを作成する必要があります。詳細は、第9.3項「構成サービスのユーザー・インタフェースの作成」を参照してください。
ConfigServiceという名前のMAFサンプル・アプリケーションは、APIを使用して前回のリリースのMAFに含まれていた構成サーバーと通信する方法を示しています。ConfigServiceアプリケーションは、開発コンピュータ上のjdev_install
/jdeveloper/jdev/extensions/oracle.maf/Samples
ディレクトリ内のPublicSamples.zip
ファイル内にあります。