作業を開始する前に
目的
このチュートリアルでは、Mobile Cloud Service(MCS)のモバイル・バックエンドに接続し、APIを使用する操作について説明します。スクリーンショットは、MacでiOSシミュレータを使用したものです。手順に従い、Androidエミュレータを使用することもできます。
このチュートリアルでは、まずOracle Enterprise Pack for Eclipse(OEPE)を構成して起動し、機能とAMXページを含むMAFアプリケーションを作成します。次に、MCSインスタンスに接続し、カスタムのAPI定義をインポートします。OEPEからAPIをテストし、データを取得できることを確認したら、APIへのアクセスをサポートするためにアーチファクト・クラスを作成します。続いて、AMXページを容易に開発できるよう、データ制御を作成します。APIではセキュリティが定義されているため、認可機能をMAFアプリケーションに追加します。最後に、アプリケーションをシミュレータ/エミュレータにデプロイし、インシデント・レコードを取得するかどうかをテストします。
必要事項
このチュートリアルを完了するには、Oracle Enterprise Pack for Eclipse、およびAndroid SDKまたはXcode 6(iOSを使用する場合)のいずれかをインストールし、構成する必要があります。
iOS環境を使用する場合は、次のチュートリアルを使用して開発環境を設定できます。iOS環境の設定と構成
Android環境を使用する場合は、次のチュートリアルを使用できます。Android環境の設定と構成
| 必要なファイル | ダウンロード・ファイル
|
|---|---|
最終的なアプリケーションを確認するには、「Download」ボタンをクリックして最終的なアプリケーションのzipファイルをダウンロードし、OEPEのドキュメント・フォルダに解凍してください。 |
手順1:Eclipseを起動し、Mobile Application Frameworkアプリケーションと連動するように構成する
このセクションでは、Eclipse(OEPE)を起動し、Mobile Application Frameworkアプリケーションと連動するように構成します。
-
Eclipseを検索し、起動します。
-
OEPEで、「Eclipse」 > 「Preferences」の順にクリックします。
-
iOSを使用している場合は、Preferencesダイアログで「Oracle」 > 「Mobile Application Framework」 > 「iOS」の順に選択し、「Add」をクリックします。ポップアップ・ダイアログで、参照アイコンを使用してXcodeインストールへのパスを選択します。

Androidを使用している場合は、Preferencesダイアログで「Oracle」 > 「Mobile Application Framework」 > 「Android SDK」を選択し、「Add」をクリックします。ポップアップ・ダイアログで、参照アイコンを使用してAndroidインストールへのパスを指定します。
-
SDKを指定すると、OEPEでは自動的に残りのフィールドが次のように指定されます。「OK」をクリックして構成を完了します。
iOS構成:
Android構成:
-
引き続きPreferencesで「Java」ノードを展開し、「Installed JREs」を選択します。
「Add」ボタンをクリックします。
-
JRE Typeで「Standard VM」を選択し、「Next」をクリックします。
-
JRE Definitionダイアログで「Directory」ボタンをクリックします。
ルートJDK 1.8ディレクトリを検索し、選択します。「Open」ボタンをクリックします。
-
JRE Definitionダイアログに戻り、「Finish」をクリックします。
-
Installed JREsで、新たに追加したJREを選択してデフォルトにします。
「Apply」 > 「OK」を順にクリックします。
手順2:モバイル・アプリケーション、機能、データを保持するページを作成する
このセクションでは、MAFアプリケーションを作成し、アプリケーションのエントリ・ポイントとなる機能を定義し、インシデント・データを保持するための空のページを作成します。
-
メニューから、「File」 > 「New」 > 「Other」 > 「MAF Application」を順に選択します。
-
MAF Applicationダイアログ・ボックスでApplication display nameをFiFに設定します。
「Next」をクリックします。
-
ここはデフォルト値のままで構いません。「Next」をクリックします。
-
ここでは、使用したい適切なデプロイメント・ターゲットを確認します。一覧のオプションは、プリファレンスで定義されている内容と一致しています。
「Finish」をクリックします。
-
次に、MAFアプリケーションのエントリ・ポイントとなる機能を定義します。
Project Explorerで「FIFView」 > 「MAF」ノードを順に展開し、「MAF Feature Editor」をダブルクリックします。エディタでは、エクスプローラの右にmaf-feature.xmlファイルが表示され、編集できるようになっています。
-
エディタで、Outlineヘッダーの隣の緑のプラス・サインをクリックします。
New ObjectポップアップでIdをincidentsに設定します。
「OK」をクリックします。
-
「Incidents」ノードが選択された状態で、緑のプラス・サインを再度クリックします。
New Objectポップアップで「Content」ノードを展開し、「AMX page」ページを選択します。
デフォルトのId値のままで「OK」をクリックします。
-
空のページを素早く作成します。「Incident.1」が選択された状態で、右の3つの黄色い星をクリックします。星の上にマウスオーバーすると、「Create」ツールチップが表示されます。
-
New MAF PageダイアログでFile nameをincidents.amxに設定し、「header」ファセットのみ選択します。
「Finish」をクリックします。
-
エディタでIndidents.amxが開きます。
「header facet」を検索し、outputText値をIncidentsに設定します。
すべての作業を保存します。
手順3:MAFアプリケーションをMCSインスタンスに接続する
チュートリアルのこの部分では、MAFアプリケーションをMCSインスタンスに接続し、RAMLドキュメントを調査してREST APIとしてインポートします。
-
新たなクラウド接続を確立するには、「Oracle Cloud」タブを、次に「Connect」テキストを順にクリックします。
-
MCS識別ドメイン、ユーザー名、パスワードを入力します。「Finish」をクリックします。
-
MCSとの接続が確立されると、インスタンスが問合せを受け、コンポーネントがエクスプローラに表示されます。
ノードを展開し、開発API、モバイル・バックエンド、コネクタを表示させます。

-
「Backends」 > 「OEPE_FIF_Technician 1.0」 > 「API」ノードを順に展開し、「OEPE FIF IncidentReport 1.0」を選択します。
-
「FIF_IncidentReport 1.0」を右クリックし、「Open Definition」を選択します。

-
API向けのRAMLドキュメントがフェッチされ、エディタに表示されます。

-
次に、RAMLドキュメントをOEPEにインポートします。
「OEPE FIF IncidentReport 1.0」を右クリックし、「Import Definition」を選択します。

-
Backend Informationページでは、このAPIが匿名アクセスをサポートしていないことが分かります。APIでは、このプロパティとその値はMCSで定義されます。
このステップは、セキュアなAPIにのみ適用されます。匿名アクセスの場合は省略できるため、「Next」をクリックします。
-
RAMLプレビューでは、インポートに含めたいリソースとメソッドを選択できます。
すべて選択し、「Finish」をクリックします。

-
エディタにREST APIが表示されます。
エディタで「connection://OEPE_FIF_IncidentReport_1_0」を選択します。
次に、IDEで「Connections」ビューを検索します。
「FIF」ノードを展開し、「OEPE_FIF_IncidentReport_1_0」ノードをダブルクリックします。

-
Manage Connectionダイアログでは、MCS定義を確認できます。
「Show/Hide Policies」ボタンをクリックし、すべての定義を表示させます。先ほど述べたように、これらのプロパティはMCSのAPI定義で設定されています。
-
「Next」をクリックし、コネクションを確認するか、新たに作成します。
-
「Next」を再びクリックし、コネクション・プロパティを確認します。
-
「Next」をもう一度クリックし、ログインURLとモバイル・バックエンドIDを確認します。
「Cancel」をクリックしてダイアログを閉じます。

手順4:REST APIをサポートするクラスを調査し、生成する
このセクションでは以下を行います。
-
エディタで、「connection://FIF_IncidentReport_1_0」 > 「incidents」 > 「Requests」を順に展開します。
REST APIの仕様とエンドポイントが表示されます。
「(GET) getIncidents」リクエストを選択します。
-
「Query Parameter」タブに移動します。
「contact」および「gps」パラメータを削除し、technicianのみ維持します。
次に、technicianを編集してValueをjoe@fixit.comに設定します。
変更を保存します。
-
右上隅にある世界のアイコンをクリックしてRESTクライアントにコピーします。
-
アドレスとクエリ・パラメータを含むgetIncidentsリクエストのデータが、RESTクライアント・ページにコピーされます。この例では、(GET) getIncidentsリクエストは自動的にAddressフィールドにコピーされます。
右上隅にある「Send Request」をクリックして「getIncidents」を実行します。
-
APIは匿名認証を許可しないため、APIを実行する権限を持つユーザーのユーザー名とパスワードを入力する必要があります。
プロパティを入力し、「OK」をクリックします。

-
リクエストが送信され、レスポンスが右側に表示されます。ステータス200が返されるはずです。

-
「Raw Content」タブをクリックし、返されたデータを確認します。

データを詳しく表示するには、Responseヘッダーの最大化アイコンをクリックします。
データの確認を終えたら、リストア・アイコンをクリックして表示を戻します。

-
エディタの下部にある「REST API」タブをクリックします。
右側にある「Output」タブをクリックし、「Incidents」を選択します。

ここで、インシデントの出力で使用されるデータ・タイプを調査します。
エディタの下部にある「Data Types」タブをクリックし、「Incidents」ノードを展開して選択します。属性を含むインシデントの詳細が表示されます。

-
次に、APIをサポートするクラスを作成します。エディタの下部にある「REST API 」タブを再度クリックします。
APIの右上にアイコンが表示されています。左から2番目のアイコン「Artifact Generator」をクリックします。これにより、RESTサービスをサポートするために必要なすべてのJavaクラスを作成するプロセスが開始されます。

-
Artifact Generatorが開かれ、作成するアーチファクトのタイプを選択できます。この例では、デフォルトのJava 1.8 REST Client POJOです。
「Next」をクリックします。

-
ここでは、クラスの作成中に使用されるリソースのパス、名前、URLを確認できます。
「Next」をクリックします。

-
ここでは、クラスとパッケージの名前を変更できます。分かりやすいように、Java Nameをfiftechに設定します。
「Next」をクリックします。

-
Generatorの設定で「Next」をクリックします。

-
Service ClassページでClassをFiFRESTServiceに設定し、右側の「Add」ボタンをクリックします。

-
Select Requestsポップアップで「(GET) getIncidents」ノードを選択し、「OK」をクリックします。

-
publicメソッドとして公開できるリクエストがあるため、「Finish」をクリックします。

-
これから行われることを表示するConfirm Changesダイアログが現れます。
このダイアログでは、上部で各クラスを選択すると、作成されるコードを下部で確認できます。
「OK」をクリックします。

-
「Project Explorer」タブを再びクリックし、「FIFView」 >「src」 >「mobile.model.datatype」 >「mobile.model.service.fiftech」ノードを順に展開し、生成されたコードを確認します。

-
次の2つのステップでは、ページからサービスにアクセスするためのデータ制御を作成します。
「FiFRESTService.java」を右クリックし、「Model Components」 > 「Create Data Control…」を順に選択します。

-
Data Control Detailsペインはデフォルト値のままで構いません。「Finish」をクリックします。

-
どのファイルが影響を受けるかが通知されます。
「OK」をクリックして通知を閉じます。

-
Data Controlsエリアでは、「FiFRESTService」データ制御を展開して、使用可能なコレクションとメソッドを確認できます。

手順5:データとセキュリティを追加してIncidentページを構築する
このセクションでは、インシデントを表示するページにデータ・コンポーネントを追加します。また、セキュリティを使用するように機能を有効化し、アプリケーションが認証を行うログイン・サーバーを定義します。
-
Project Explorerで、「FiFView」 > 「ViewContent」ノードを順に展開し、「Incidents.amx」ファイルをダブルクリックします。
エディタにAMXファイルが表示されます。
-
「Palette」タブ > 「Data」サブ・タブを順にクリックします。Data Controlsが表示されます。
「FiFRESTService」 > 「incidents」ノードを順に展開し、コレクションとメソッドを表示させます。

-
「items」コレクションをエディタのAMXページにドラッグし、
AMXページの</amx:facet>と</amx:panelPage>の間にドロップします。
ポップアップ・メニューで「List View」を選択します。

-
Component Galleryで「Start-End」フォーマットを選択します。
「Next」をクリックします。

-
List View Configurationページで、ドロップダウンを使用してStart textをタイトルに、End textをステータスに設定します。
残りの値はデフォルトのままにし、「Finish」をクリックします。
すべての作業を保存します。

-
このステップは、セキュアなAPIにのみ適用されます。匿名アクセスを使用するAPIの場合は、このセクションの残りのステップは省略し、「手順6:構成ファイルを作成し、アプリケーションをデプロイおよびテストする」に進みます。
APIにはセキュリティが採用されているため、機能の一部としてセキュリティを含む必要があります。
MAF Feature Editor(maf-feature.xml)を再度開き、「Incidents」機能を選択します。
「Enable security」チェックボックスを選択し、作業内容を保存します。
-
機能がセキュアになるようフラグ付けされたため、アプリケーションのセキュリティを構成します。maf-application.xmlファイルでアプリケーションのセキュリティを有効化します。
Mobile Featuresページで、アプリケーション名(この例ではFIF)の上にマウスを移動すると、ファイルのロケーションが表示されます。

-
アプリケーション名の左のアイコンをクリックすると、Mobile Application(maf-application.xml)ページに移動します。

セキュリティを含む、アプリケーションの詳細を確認できます。Registered Featuresに赤いXが表示されています。これは、機能にセキュリティが必要であるものの、アプリケーションで定義されていないことを表します。

-
「Security」タブをクリックしてサーバーの詳細を設定します。
-
Default Login Serverプロパティの隣の「Browse」ボタンをクリックします。認証が行われる、MCSまたは任意の別のサーバーへの接続を選択できます。
「OEPE_FiF_IncidentReport_1_0_http」接続を選択し、「OK」をクリックします。

-
すべての作業内容を保存します。
手順6:構成ファイルを作成し、アプリケーションをデプロイおよびテストする
チュートリアルのこの部分では、シミュレータ/エミュレータのデプロイメント構成ファイルを作成し、アプリケーションをデプロイし、テストします。
-
デプロイメント・プロセスの最初のステップでは、構成ファイルを作成します。ここでは、デバッグ構成を使用します。
OEPEツールバーで、左から5番目のアイコン「Debug」をクリックします。
ドロップダウン・メニューで「Debug Configuration」を選択します。

-
Debug Configurationで「MAF Application」ノードを選択し、右クリックします。
メニューで「New」を選択します。
-
名前をmcs-fifに設定し、iOSを使用している場合は「Simulator Name」を指定します。
「Apply」をクリックします。

Androidを使用している場合は、エミュレータが設定されていることを確認します。
-
「Debug」ボタンをクリックし、デプロイメント・プロセスを開始します。
プロセスが完了するまで、Consoleで進捗状況をモニタリングできます。
-
シミュレータ/エミュレータが起動され、続いてFiFアプリケーションが起動されます。
通知を送信するよう促される場合があります。「OK」をクリックして続行します。

-
先ほどRESTクライアントを使用してテストしたように、APIを実行するアクセス権を付与されているFiF専門技術者のユーザー名とパスワードが必要です。
ユーザー名とパスワードを入力します。
続いて「Sign In」をクリックします。
iOSシミュレータの場合:
Androidエミュレータの場合:
-
アプリケーションがMCSに接続され、実行したいAPI(この場合はIncidents)に対して認証されます。
APIは、APIを使用してデータを取得し、データ制御を使用して作成されたページに表示します。
iOSシミュレータの場合:

Androidエミュレータの場合:
これでチュートリアルは終了です。Mobile Cloud Serviceコンポーネントを使用し、使用するMobile Application Frameworkアプリケーションが作成されました。

