企業のモバイル・アプリもJavaで作る! Oracle Mobile Application Framework--【後編】使い慣れたIDEでサクサク開発。豊富なUIコンポーネントで業務データを可視化

Oracle Java & Developers編集部
2015-06-25 11:00:00
  • このエントリーをはてなブックマークに追加

業務アプリケーションのモバイル化を推進するために誕生したオラクルの「Oracle Mobile Application Framework」では、どのようにしてモバイル・アプリケーションを開発するのか? 今回は、その手法を具体的に見ていきたい。

既存のJava資産を生かしたコンポーネント・ベース開発により、業務システムをスピーディにモバイル化

日本オラクルFusion Middleware事業統括本部ソリューション本部 シニアセールスコンサルタントの智野潤子氏
日本オラクルFusion Middleware事業統括本部ソリューション本部 シニアセールスコンサルタントの智野潤子氏

 本企画では、オラクルが提供するJavaベースのモバイル・アプリケーション開発フレームワーク「Oracle Mobile Application Framework(MAF)」によるモバイル・アプリケーション開発の全容を前後編の2回にわたって紹介している。前編では、Oracle MAFの全体像を説明したが、後編となる今回は、日本オラクルの智野潤子氏(Fusion Middleware事業統括本部ソリューション本部 シニアセールスコンサルタント)の説明を基に、Oracle MAFを用いたアプリケーション開発の手法を具体的に見ていこう。

 前編の内容からもおわかりいただけるように、Oracle MAFはJavaの"Write Once, Run Anywhere(一度書いたプログラムは、どこでも動く)"というコンセプトをモバイル・アプリケーションで具現化するフレームワークだ。Javaで記述された単一のソースとして、iOSやAndroidなど複数のモバイル・プラットフォームに対応したハイブリッド型のモバイル・アプリケーションを作ることができる。また、モバイル・アプリケーションの開発にはJDeveloperやEclipseなどの標準的な統合開発環境(IDE)を利用でき、「Java開発のスキル・セットを、そのままモバイル・アプリケーション開発に生かせる」という大きな魅力がある。

 そんなOracle MAFが開発者に提供する第一のメリットは、「ユーザー・インタフェース(UI)開発の生産性の高さ」だと智野氏は語る。同フレームワークには80種以上のUIコンポーネント群「Application Mobile XML Components(AMX)」が用意されており、マルチデバイス(iOSやAndroidを搭載したスマートフォン、タブレットなどのモバイル・デバイス)対応のUIをコンポーネント・ベースで作ることができる。

 「また、Oracle MAFによる開発では、オラクルが提供する業務アプリケーション開発フレームワーク『Oracle Application Development Framework』のデータ・コントロールやデータ・バインディングの技術を利用することもできます。具体的には、既存のJavaコンポーネントやSOAP/RESTベースのWebサービスをデータ・コントロールとして抽象化し、データ項目としてUIコンポーネントにバインドするのです。これも、UI開発の生産性向上に大きく寄与する仕組みだと言えるでしょう」(智野氏)

 さらに、前回取り上げたサービス連携基盤「Oracle Service Bus」やセキュリティ・ソフトウェア群「Oracle Mobile Security Suite」を利用することで、例えば既存の業務アプリケーション/Webサービスのデータや機能を切り出してモバイルに展開したり、バックエンドの業務システムに対するセキュアなモバイル・アクセスの仕組みを構築したりするのも容易となる。

豊富な支援機能でカンタン開発。Oracle MAFによるモバイル・アプリケーション作成の実際

 それでは、Oracle MAFによるモバイル・アプリケーション開発は、具体的にどのようなスタイルで行うのか。ここでは、次に示すような人材管理系モバイル・アプリケーションのUIをJDeveloperで開発することを想定し、「Oracle MAFによるUI開発の実際」を簡単に紹介する。


※クリックすると拡大画像が見られます

※クリックすると拡大画像が見られます

 上の画面からもわかるように、このアプリケーションは、あるチームを構成するスタッフの一覧や詳細情報を、顔写真やパフォーマンス・グラフなどによってグラフィカルに可視化するというものだ。Javaで書かれた単一のソースでiOS/Androidベースのモバイル・デバイス上で動作させることができる。また、このアプリケーションではカメラやメール、ショート・メッセージ(SMS)といったデバイス機能との連携も実現されている。

モバイルUIの画面遷移をビジュアル・エディタでグラフィカルに定義

 まず、Oracle MAFとJDeveloperによるUI開発では、こうしたアプリケーションの画面遷移をグラフィカルに定義することができる。要はビジュアル・エディタ上でタスク・フローのダイアグラムを簡単に描けるわけだ。


※クリックすると拡大画像が見られます

 また、画面が遷移する際、どのようなビジュアル・エフェクト(例えば、スライドやフリット、フェードなど)を適用するのかも、ビジュアル・エディタ上で併せて設定することが可能だ。


※クリックすると拡大画像が見られます

 こうして画面遷移を定義した後は、個々の画面の構成と業務処理ロジックを、それぞれの画面を担当する開発者が分担して作っていけばよい。

データ・コントロール&バインドによるドラッグ&ドロップ開発

 先述のように、Oracle MAFはデータ・コントロールとバインドの技術をサポートしている。そのため、既存のJavaアプリケーション(Javaクラス)やWebサービスに対してデータ・コントロールを生成すると、JDeveloperのパレット上に使用可能なデータ項目が一覧表示される。UI開発者は、この一覧により、自身が開発しているモバイル・アプリケーションで使えるデータ項目(データやメソッド、機能)を一目で把握できる。

 そして、この一覧から必要なデータ項目をドラッグ&ドロップ操作でUIにバインドしながら、モバイル・アプリケーションの開発を進めていく。例えば、データ項目がWebサービスから取得したものであれば「リスト」や「フォーム」にバインドし、サービスのメソッドであれば「ボタン」や「リンク」にバインドするといった具合だ。


※クリックすると拡大画像が見られます

 JDeveloperは、データ・コントロールとUIコンポーネントのバインディングに必要なオブジェクトやコードを自動生成し、アプリケーションのソースに組み込んでくれる。そのため、当該データ項目をUIコンポーネントにバインドすると即座に、iOS/Androidのエミュレータを使ってJDeveloper上で表示や動作の確認が行える。


※クリックすると拡大画像が見られます

 「Oracle MAFとJDeveloperの組み合わせなら、UIの開発を迅速に行えますし、開発中にUIの表示や動作を確認でき、手戻りも少なくなります。また、アプリケーションのモックアップをスピーディに作れることから、UIの使用感をユーザーと確認しながらアプリケーションを洗練させていくことも可能となるのです」(智野氏)

 さらに、JDeveloperのデータ・コントロール・パネルでは、画面を構成するUIコンポーネントのデータ・バインディング定義をビジュアルに確認することもできる。


※クリックすると拡大画像が見られます

 Oracle MAFでは、モバイル・デバイスの機能をアプリケーションに組み込むのも容易だ。デバイスの機能(カメラ撮影やGPS、メール、SMSなど)を操作するためのデータ・コントロールが標準で用意されており、これらを使うことで、デバイス機能を利用するUIをドラッグ&ドロップ操作で簡単に開発できるのである。


※クリックすると拡大画像が見られます

 なお、前編でも触れたように、Oracle MAFではApache Cordovaを通してデバイス機能にアクセスする仕組みとなっており、最新版ではApache Cordova Pluginの組み込みもサポートしている。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]