LongRangeを使用したネイティブアプリ開発
LongRange のしくみ
LongRange はサーバーサイドの管理サービス(LongRange サーバー)とモバイルデバイス上でネイティブに動くアプリ(LongRange モバイル・アプリ)から成っています。ユーザーはアプリをモバイルデバイスにダウンロードしてサーバーに接続すれば、ビジネス・アプリケーションを使用する準備が完了します。携帯ネットワークまたは Wi-Fi 接続が使用できない場合に、アプリをオフラインで実行することができます。
モバイルデバイスのユーザーがLongRangeモバイル・アプリのフォームビューを起動する際、LongRange サーバーに要求を送り、アクションが関連するRPG/COBOL/CLプログラムを呼び出します。これらのプログラムは他のRPG 、COBOL 、Java 、CLプログラム、Webサービス、メッセージ待ち行列なども呼び出すことができます。プログラムは処理を行ない、画面を送るコマンドを発行します。LongRangeサーバーはアプリに画面を送り、モバイルデバイス上で画面を表示します。LongRangeモバイル・アプリは、画面を表示したり、ユーザーアクションに応答する際、ブラウザベースのモバイル・アプリよりも処理が速いです。
LongRange アプリの見た目
LongRange アプリは、IBM i プログラムからの入出力を、Apple iOS (iPhone 及び iPad) や Android などのモバイルデバイス上でかなり拡張されたユーザー・インターフェースを使用して処理します。
- ユーザー・インターフェースはモバイルデバイス上での使用の為に、タッチ入力に対応し、視覚的にも機能拡張されています。
- アプリはモバイルデバイスとサーバー間でファイルをやり取りすることができます。
- IBM i プログラムはモバイルデバイスによって提供されている機能、例えばカメラ、位置情報のサービスを利用することができます。
LongRange 画面レイアウトはナビゲーション、タブ、コマンド、開発者がフォームビュー(IBM i プログラムで生成した画面)、 HTML アプリケーション (ページやサイト) 、ドキュメントビューをスナップ・インするコンテンツ・エリアから成っています。
- ナビゲーションはメニューのようなもので、モバイルデバイスからアクセス可能なオプションを表示します。
- タブは複数のプログラムからの情報を同時に表示でき、それらのビューを簡単に切り替えることができます。
- コマンドは、例えば、保存やキャンセルなどのユーザーアクションです。
- フォームビューは、LongRangeネイティブ・アプリ内で表示するRPG/COBOL/CL、プログラムによって生成された画面です。
- Web ビューはHTML アプリケーション、Webページやサイトです。
- ドキュメントビューはドキュメントファイルやフォルダをリモートサーバー上、もしくはモバイルデバイス上で表示します。
開発者はフォームビュー内でIBM i プログラムのみを使用したビジネス・アプリケーションや、フォームビュー、Webビュー、ドキュメントビューを組み合わせた複合ビジネス・アプリケーションを構築できます。
LongRange アプリ
ネイティブ・モバイルアプリの中身
LongRange はナビゲーション、タブ、フォームビュー、コマンドのコンポーネントから成っています。IBM i サーバー上にLongRangeサーバーのインストールが必要です。
これはアプリケーションのインフラを提供します。開発者はプログラムを作成し、LongRange スタジオを使用してそれをアプリケーション・スキーマにスナップ・インします。LongRange で作成したビジネス・アプリケーションは簡単に保守・拡張することができ、開発者はアプリケーション全体に影響を及ぼすことなくプログラムを変更したり追加したりできます。
アプリケーション・スキーマ
アプリケーション・スキーマはビジネス・アプリケーションの静的パーツを定義します。それには、メニュー(メニュー項目のキャプションやアイコン)、フォームビュー(タブ)、Webビュー、ドキュメントビュー、ユーザーがメニュー項目を選択したりアクションを要求した場合に呼び出すプログラムなどが含まれます。
画面管理
プログラムはモバイルデバイス上でLongRange モバイル・アプリが表示する画面レイアウトやデータ・コンテンツを提供します。画面レイアウトはモバイルデバイスの向きを変えるたびに、水平から垂直へ、垂直から水平へと調整されます。小さな画面(スマートフォン)や大きな画面(タブレット)サイズにあわせて表示される際に画面レイアウトとコンテンツは調整されます。
フォームビュー
フォームビューはデータやラベル(データを説明するテキスト)を含む典型的なフォームです。
フォームビューはRPG/COBOLやCLプログラムによって生成された画面です。
Web ビュー
Webビューを使用すると、開発者はHTMLアプリケーション、ページ、サイトを複合アプリケーションの一部として含むことができます。
ドキュメントビュー
ドキュメントビューはモバイルデバイス上もしくはサーバー上のフォルダのドキュメントやファイルを表示します。ユーザーは写真を撮ってフォルダに格納したり、モバイルデバイス上の他のアプリからドキュメントを受け取って、デバイス上もしくはサーバー上のフォルダに保存したりできます。
サンプル・アプリケーションとテンプレート
LongRange は幅広いサンプル・ビジネスアプリケーションやプログラム・テンプレートを含んでいます。サンプル・アプリケーションには初歩的な「Hello World」スタイルのアプリケーションから完全に機能するアプリケーションまで含まれています。サンプル・アプリを動かすと、画面やユーザー・アクションだけでなく、プログラムコードやデータ記述の仕様まで見ることができます。
LongRange スタジオ
LongRange スタジオを使って、メニュー、メニュー項目のキャプションやアイコン、フォームのキャプション、メニューが選択されたときに呼び出されるプログラム、などのアプリケーションの静的パーツを定義します。
アプリケーション・スキーマは以下を含みます:
- ナビゲーション – 階層型のメニュー構造とメニュー項目アイコン
- フォームビュー – ラベルやテキストボックスなど、ユーザーに情報を提示する視覚的なコントロールを表示する典型的なフォーム
- Web ビュー – HTML 、CSS 、JavaScript ページ
- ドキュメントビュー- アプリケーションに関連するドキュメントやプレゼンテーション、画像や映像(ビデオ)などを含むファイルやフォルダの一覧を表示する、ファイルやフォルダーのエクスプローラー
- コマンド – 保存やキャンセルなどのユーザーが使用可能なアクション
開発ツール
開発者はモバイルデバイス上で使用するビジネス・アプリケーションを開発するのに、既存のIBM i 開発ツールとLongRange スタジオを使用することができます。
RPG/COBOL/CL プログラミング言語LongRangeを使ってビジネス・アプリケーションを開発します。プログラムはIBM i サーバー上の他のプログラムを読んだり、データ待ち行列を使用したり、データベースとやり取りすることができます。開発者の視点から見ると、プログラムは他のIBM i プログラムと全く同じです。
プログラミング開発マネージャ(PDM)やソース・エントリー・ユーティリティ(SEU)を使い慣れている開発者の方は、開発用ワークステーション、LongRange スタジオ、PDMやSEUへのターミナル・アクセスが必要です。
IBM Rational Developer for Power Systems を使い慣れている開発者は、開発用のワークステーション、LongRangeスタジオ、及びIBM Rational ツールが必要となります。
開発者はプログラムをテストする為に、iPhone/iPad もしくは Android デバイス が必要です。
プログラムがモバイルデバイスの機能にアクセス可能
LongRange はIBM i プログラムの機能を画面上で表示可能な情報以外にも拡張することができます。カメラ、地理位置情報サービス、モバイルデバイス上に格納されているファイルを含めたモバイルデバイスの機能にアクセスして、IBM i プログラムは画面だけでなく、写真、ドキュメント、地図、モバイルの地理位置情報をキャプチャー、管理、表示をすることができます。
例えば、保険申告システムのビジネス要件が破損した自動車車両の写真だとします。査定人はモバイルデバイスで写真を撮り、アプリを使ってIBM i サーバー上のデータベースに写真を保存したり、サーバーのファイルシステム上のフォルダにファイルを保存することができます。
LongRangeを使って、 IBM i プログラムはサーバーからモバイルデバイスへファイルを送ることもできます。
ネットワーク接続なしでオフラインで動作
開発者は、ネットワーク接続がある場合にオンラインで動作、またはネットワーク接続がない場合にオフラインで動作するアプリを設計することができます。オフラインモードでは、アプリはモバイルデバイスに格納されたデータやフォームを使用し、ユーザがデータを参照したり編集したりすることができます。ネットワーク接続が使用可能な場合には、アプリはサーバーにデータを送ったり、サーバーからデータを受け取ったりすることができます。
ビジネス要件により、常時接続がよいのか、随時接続のアプリケーションがよいのか、どちらが適しているのかを決定することができるでしょう。常時接続のアプリでは、リアルタイムでサーバー上のデータにアクセスする必要があります。随時接続のアプリケーションでは、スタンドアロンで実行でき、サーバーに送るデータがあるときだけ接続することができます。
プロトタイプとアジャイル開発
LongRange スタジオを使って、ユーザーに見せられるビジネス・アプリケーションのプロトタイプを迅速に作成することができます。プロトタイプの作成は、必要なプログラムの定義や、プロジェクトの大きさの見積、及び設計時に漏れた機能の確認を助けます。
開発者は、一度に1つずつプログラムを作成し、プログラムが出来上がるたびにプロトタイプにスナップ・インし、段階的にそれを実用的なアプリケーションへと変えていく、といったようにビジネス・アプリケーションを構築することができます。この開発手法は機動的で段階的なものです。ユーザーは出来上がったアプリケーションを動かせるようになるために何カ月も、もしくは何年も、待つことはありません。その代わり、どんどん成長し、要件の変更にすぐに対応していくアプリケーションを見ることになります。
デバッグ
既存のデバッグツールを使用できます。その為、LongRangeで開発されたプログラム内でエラーを見つけたりデバッグするのは他のプログラムと全く同じです。
開発者のエラー発見を助ける為に、LongRangeは2つのレベルのトレースを提供しています。1つ目はプログラムレベルで、2つ目はシステムレベルです。開発者はテスト中にトレースを使用したり各プログラムのアクティビティをトラックするためにデバッグを使用したりできます。システムレベルのトレースはプログラムレベルのトレースよりもより大きな範囲を対象とし、より多くのトレースデータを生成します。
配布
LongRange モバイル・アプリの配布はシンプルで、アプリのストアからアプリをダウンロードし、IBM i サーバーとの通信を構成するだけです。
モバイルアプリの更新は、他のIBM i プログラムの拡張・保守と同じです。実稼働環境にプログラムの更新を反映したら、LongRangeのユーザーはすぐにそれを使用できるようになります。ダウンロードしたり、モバイルデバイス上で何かを更新したりする必要はありません。
セキュリティ
セキュリティは製品の不可欠な部分であり、モバイルデバイスでリモートユーザーに対してデータやビジネス・アプリケーションを使用可能にする際、それらを保護するように設計されています。LongRange はリバースプロキシを含めた多くの物理的な実装をサポートいます。それぞれ色々なレベルのスケーラビリティとパフォーマンスの提供を目的としており、セキュリティを危険にさらすことなく、以下を提供しています:
- 最高セキュリティレベル(レベル 50)までのIBM i のセキュリティと認証メカニズムをサポート
- ユーザーIDとパスワードは送信の前に暗号化され、ブラウザでキャッシュ不可能
- 特定の IP アドレスからのログインをサポート
- 特定のデバイス名からのログインをサポート
LongRange サーバーはセキュアな認証、暗号化、否認防止、VPN 技術などを使用可能にするセキュア・ソケット・レイヤー(SSL)と トランスポート・レイヤー・セキュリティ (TLS) プロトコルをサポートしています。SSL と VPN がリスニングからの盗聴やブラウザとサーバー間のトラフィックの妨害を防止しています。
モバイルデバイスとサーバーとの間の通信トラフィックは圧縮されており、これにより主に2つのメリットをもたらします。1つ目は、トラフィックをスニファー・デバイスから監視することが難しくなります。2つ目は、SSLやVPN技術を使用している場合、SSLやVPNの暗号化/解読が行なわれる前にサーバーとモバイルデバイス間でやり取りされるデータ量が減ります。通信トラフィックの圧縮は、 処理能力とCPUサイクルの大幅な節約を実現します。
アプリケーションはサーバー上で動き、モバイルデバイス上で動くビジネス・ロジックはありません。そのため、アプリケーションとデータベースはインターネットや社内ネットワークに晒されることはありません。
機能
- LongRange ネイティブ・モバイルアプリ
- LongRange サーバー
- LongRange スタジオ
- ネイティブ・モバイルアプリの構築
- ビジネス・アプリケーションの開発に使い慣れたRPG/COBOL/CL プログラミング言語を使用
- モバイルアプリ画面を自動的に生成
- IBM i プログラムで、カメラや位置情報を含めたモバイルデバイスの機能を使用可能
- ネットワーク接続があるときにはオンラインで、ネットワークが使用できない時にはオフラインでアプリ実行
- モバイルデバイスのストレージを使用可能
- モバイルデバイス – サーバー間でファイルのやり取りが可能
- アプリのテンプレートと豊富なサンプル
- 複数言語/DBCS サポート
- 既存のIBM i インフラを使用
- IBM i の強力なセキュリティの使用
- TLS/SSL 暗号化
要件
LongRange には IBM i V5R4 以降が必要です。
ドキュメントビューには LongReach のインストールが必要です。
LongReach にはIBM i V5R4 以降が必要です。
LongRange スタジオにはWindows 7 、 Windows 8 、Windows 8.1 及び .NET Framework 3.5以降が必要です。