| Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.0.1 E57592-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の形式は、次のとおりです。
url configured in adf-config.xml/id in maf-application.xml/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ファイル内にあります。