| Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.1.1.0.0 E64867-01 |
|
![]() 前 |
![]() 次 |
この章では、構成サービスを使用して、MAFアプリケーションで使用できるエンド・ポイントを構成する方法について説明します。
この章の内容は次のとおりです。
構成サービスは、Webサービス、ログイン・ユーティリティおよびMAFアプリケーションのその他の部分で使用されるエンド・ポイントを構成できるツールです。
エンド・ポイントURLは、connections.xmlファイルに定義されており、新しい接続エントリはそのファイルに追加する必要があります。この新しい接続はタイプをHttpURLConnectionにし、そのurl値は構成サーバーのエンド・ポイントURLを指し、そのnameは最終的にJava Beanコードで参照される任意の値に設定されている必要があります。
例16-1は、connections.xmlファイルに構成サービスのエンド・ポイントを定義する方法を示しています。
例16-1 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"/>
<injectCookiesToRestHttpHeader value="true"/>
<includeBasicAuthHeader value="true"/>
<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を共有する必要があります(例16-1を参照)。
多くの場合、エンド・ポイントURLはエンド・ユーザーから取得する必要があります。このユース・ケースに対処するには、エンド・ユーザーからエンド・ポイントURLの値を取得するためのユーザー・インタフェースを作成し、それをアプリケーション・プリファレンスに設定します。その後、取得した値をJava Beanメソッドで使用して、接続URL値をオーバーライドできます(例16-2を参照)。
例16-2 接続定義のオーバーライド
AdfmfJavaUtilities.clearSecurityConfigOverrides(<ConfigService_ConnectionName>);
AdfmfJavaUtilities.overrideConnectionProperty(<ConfigService_ConnectionName>, "urlconnection",
"url", <ConfigService_EndpointURL>);
AdfmfJavaUtilities.addWhiteListEntry(AdfmfJavaUtilities.getFeatureId(),
<ConfigService_EndpointURL>, false);
// Required if Config Service is secured and the authentication endpoints are input by the user
AdfmfJavaUtilities.clearSecurityConfigOverrides(<ConfigService_AuthenticationConnectionName>);
AdfmfJavaUtilities.overrideConnectionProperty(<ConfigService_AuthenticationConnectionName>,
"login", "url", <Login_EndpointURL>);
AdfmfJavaUtilities.overrideConnectionProperty(<ConfigService_AuthenticationConnectionName>,
"logout", "url", <Logout_EndpointURL>);
AdfmfJavaUtilities.addWhiteListEntry(<Login_EndpointURL>, false);
AdfmfJavaUtilities.addWhiteListEntry(<Logout_EndpointURL>, false);
// Final step to apply the changes
AdfmfJavaUtilities.updateApplicationInformation(false);
構成サービス・ユーザー・インタフェースの要件がある場合は、それを新規または既存のアプリケーション機能に作成する必要があります。
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",
<ConfigService_ConnectionName>);
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);
ConfigServiceDemoサンプル・アプリケーションは、これらのAPIを使用して構成サーバーと通信する方法を示しています。ConfigServiceDemoアプリケーションは、開発コンピュータ上のjdev_install/jdeveloper/jdev/extensions/oracle.maf/Samplesディレクトリ内のPublicSamples.zipファイル内にあります。
oracle.adfmf.config.client.ConfigurationServiceクラスの詳細は、Oracle Fusion Middleware Oracle Mobile Application Framework Java APIリファレンスを参照してください。
構成サービスは、ユーザーが指定した、またはconnections.xmlファイルに指定されているエンド・ポイントURLを取得し、それを使用してconnections.xmlファイルをダウンロードするためのURLを構築します。
たとえば、アプリケーションIDの値がcom.mycompany.appnameのアプリケーションに対して、ユーザーが次のエンド・ポイントURLを指定している場合、
http://my.server.com:port/SomeLocation
構成サーバーは、次のURLを構築してconnections.xmlファイルをダウンロードします。
http://my.server.com:port/SomeLocation/com.mycompany.appname/connections.xml
構成サービスは、HTTP GETリクエストを受け入れてconnections.xmlファイルを返すサービスとして実装できます。
構成サービス・クライアントによって使用されるURLの形式は、次のとおりです。
url configured in /connections.xml
構成サービスのエンド・ポイントは、HTTPおよびHTTPSを経由する基本認証(BASIC_AUTH)を使用して保護できます。
ADFモバイルを使用して作成したアプリケーションをMAFリリース2.0以降に移行する場合は、構成サービスを手動で移行する必要があります。
MAFリリース2.0では、構成サービスの機能を有効にする次のAPI、プロパティおよびユーティリティのサポートが解除されました。
use-configuration-service-at-startupプロパティを設定して構成サービスを有効にしたり、adfmf-configuration-service-seed-urlプロパティを使用してエンド・ポイントURLを指定するために、adf-config.xmlファイルを使用できなくなりました。
構成サービスの更新のチェック機能を提供していたcheckForUpdates APIは非推奨になりました。
構成サービスは、ADFモバイルに用意されているUIから開始しました。
第16.2項「構成サービスのエンド・ポイントの定義」の説明に従って、エンド・ポイントURLをadf-config.xmlファイルからconnections.xmlファイルに移動し、新しい接続要素をconnections.xmlファイルに追加する必要があります。
このMAFリリースへの移行では、ユーザーからエンド・ポイントURLを取得するためのユーザー・インタフェースの作成や、構成サービスAPIを起動するためのバッキングBeanの追加を行います。詳細は、第16.3項「構成サービスのユーザー・インタフェースの作成」を参照してください。
ConfigServiceDemoという名前のMAFサンプル・アプリケーションは、APIを使用して構成サーバーと通信する方法を示しています。ConfigServiceDemoアプリケーションは、開発コンピュータ上のjdev_install/jdeveloper/jdev/extensions/oracle.maf/Samplesディレクトリ内のPublicSamples.zipファイル内にあります。