| Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.1.2 E64870-01 |
|
![]() 前 |
![]() 次 |
この章では、構成サービスを使用して、MAFアプリケーションで使用するエンド・ポイントを構成する方法について説明します。
この章には次の項が含まれます:
構成サービスは、Webサービス、ログイン・ユーティリティ、MAFアプリケーションのその他の部分によって使用されるエンド・ポイントを構成できるツールです。
エンド・ポイント(またはシード) URLはconnections.xmlファイルで定義され、新しい接続エントリをそのファイルに追加する必要があります。新しい接続は、HttpURLConnection型で、url値が構成サーバー・エンド・ポイント(またはシード) URLを指し、nameが最終的にJavaBeanコードで参照される任意の値に設定されている必要があります。
次の例は、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の値を取得してアプリケーション・プリファレンスに設定できます。アプリケーション・プリファレンスの値は、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から開始されました。
移行を始めるには、第17.2項「構成サービス・エンド・ポイントの定義」に記載されているように、エンド・ポイント(またはシード) URLをadf-config.xmlファイルからconnections.xmlファイルに移動させ、新しい接続要素をconnections.xmlファイルに追加する必要があります。
現在のリリースのMAFでは構成サービスのユーザー・インタフェースは提供されていないので、ユーザー・インタフェースが必要だと想定して、新規または既存のアプリケーション機能内でユーザー・インタフェースを作成する必要があります。詳細は、第17.3項「構成サービス用のユーザー・インタフェースの作成」を参照してください。