Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ビジネス・ユニットの名前 IBM Lotus Expeditor V6.1 Lotus Expeditor for Devices 日本アイ・ビー・エム株式会社 ソフトウェア事業 Lotusテクニカル・セールス&サービス 元木 章夫 IBM Corporation 8/3/05 この文書のデータの利用または公開には、 最終ページに記載されている制限事項が適用されます。 © 2007 IBM Corporation ビジネス・ユニットの名前 特記事項 本資料の記載内容は、正式な IBM のテストやレビューを受けておりませ ん。内容について、できる限り正確を期すよう努めてはおりますが、いか なる明示または暗黙の保証も責任も負いかねます。本資料の情報は、使 用先の責任において使用されるべきものであることを、あらかじめご了承 ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で 転載する事はご遠慮ください。 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人 利用の場合において、自由に使用してもかまいませんが、営利目的の使 用は禁止させていただきます。 IBM、AIX、WebSphere、DB2、Lotus、Rational、IBM Lotus Expeditor は IBM Corporation の商標。 その他、記載された社名および製品名は、それぞれ各社の商標または登 録商標です。 2 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 本書の目的 本文書は、 IBM Lotus Expeditor for Devices v6.1の概要について理解する ことを目的としている。 内容 – デバイスとは? – ランタイム概要 – インストールと設定 – 開発手順とデバッグ – アプリケーション設計/実装のポイント – デバイスの選択 – まとめ 3 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Devicesとは? モバイル・デバイス用小型のIBM Lotus Expeditor メリット: モバイル・システム構築の様々な考慮点を解決 アプリケーション開発 接続性 デバイス固有のスキル不要な オープン標準 様々な接続形態をサポートする接続性 アプリケーション Web サービス SyncML Libraries MQe アプリケーション Webサービスの利用 オブジェクトの同期 セキュアなトランザクションの送受信 {SyncML Libraries} MQe サーバー DB2e 同期サーバー エンタープライズ 管理エージェント サーバー管理の ソフトウェアの導入と保守 DMS アプリケーション ・マネージャー ユーザー主動の ソフトウェアの導入と保守 Eclipse更新サイト ISync Managed Client Services Lotus Expeditor サーバー Web サービス リレーショナル・データの同期 DB2e Lotus Expeditor Client for Device DB WebSphere App Server サーバー セキュリティー データ保管暗号化と通 信経路暗号化 4 Lotus Expeditor for Devices IBM Corporation I 8/4/05 管理要件 小さい/持出せるデバイスを管理 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Devices ランタイム概要 デバイス上で動 作するメッセージ ング・サービス デバイス上で動作 するリレーショナ ル・データベース デバイス上で動作 する Web アプリ ケーション・サーバ WebServicesの利 用者・提供者実現 のためのプロキシ ソフトウェアの 配信およびデ バイス管理 アプリケーション Nativeの Look&Feel の高速GUI eWorkbench eWorkbenchUI eJFace eSWT JMS MQTT/ Micro Broker JNDI MQe Seamless Application Launcher/Switcher UI Mobile Extensions Application Manager (eUpdate) Transaction Container Web Container (Servlet/JSP) Enterprise Mgmt Agent Provisioning JDBC (JSR 169) DB2e Web Services (JSR 172) SyncML Framework OSGi Services Embedded Rich Client Platform Framework MicroXML OSGi R4 Java Class Library (IBM “jclDevice”) Virtual Machine (IBM J9 Technology) Windows Mobile 2003 SE Hardware & Operating System 5 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Devices ランタイム概要 モバイル・デバイス向けにコンパクトに最適化 Eclipse RCP eRCP ETC MQ Everyplace JavaME Webサービス Web コンテナー コンパクトにチューニング デバイス向けに必要な機能に割切り J9 (jclDevice) Lotus Expeditor for Devices 6 IBM Corporation I 8/4/05 Webサービス (AXIS) Web コンテナ Webフレームワーク Portlet コンテナ Device Agent Device Agent DB2 Everyplace ETC MQ Everyplace J9 jclDevices : 4.6MB CloudScape or DB2 Everyplace DRE (Java SE) or J9 jclDesktop : 14.6MB J9 (jclDesktop) 例えば、JVM JavaSE 1.5 : 41 MB Lotus Expeditor for Devices © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 利用できるAPI&サービス比較 アプリケーションタイプ Lotus Expeditor 6.1 Client for Device Lotus Expeditor 6.1 Client for Desktop Java jclDevice (Foundation+) jclDesktop or Java SE 5.0 OSGi OSGi R4 OSGi R4 Eclipse eRCP 1.0 RCP 3.2 Web Servlet 2.4 JSP 2.0 Servlet 2.3/2.4 JSP 1.2/2.0 JSF, JSTL, Struts Embedded Transaction EJB 2.0 subset EJB 2.0 subset Portlets ---- JSR 168 Property Broker Database Access JSR 169 (DB2e) JDBC 3.0 (DB2e or Cloudscape) Database Sync ISync (DB2e) ISync (DB2e or Cloudscape) JMS 1.1 (MQe) JMS 1.1 (Micro Broker) JMS 1.1 (MQe) JMS 1.1 (Micro Broker) JSR 172 JSR 172, JSR 101 OSGi OASIS SyncML4J 2.6 SyncML4J 2.6 Messaging Point-to-Point Pub-Sub Web Services Client Provider Security Data Sync 7 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Devices ランタイム概要: VMの比較 javax.microedition.io 8 javax.naming java.sql javax.sql javax.rmi JavaME CDC/Fdn 1.1 4.0MB IBM Corporation I 8/4/05 java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.security java.util java.util.zip javax.accessibility javax.sound java.beans javax.swing java.util.regex javax.transaction java.util.logging org.omg java.util.prefs jclDevice 4.6MB jclDesktop 14.5 MB JavaSE 5.0 41 MB java.security.interfaces java.security.acl java.applet java.security.cert java.awt java.security.spec java.nio java.text java.util.jar © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Desktopと共通のアプリケーションの考慮 Devicesに合わせることで共通化 Java・・・ (J9 jclDevice)基本言語セット+一部ネットワークに限定 GUI・・・eRCP(Embedded RCP)+Mobile Extension+eJFace DB・・・JSR169(JDBC3.0のサブセット)でアクセス – DriverManagerを使えない Web・・・JSP 1.2 & Servlet 2.4で構築 – Struts, JSF, JSTLは使えない – JavaScript等、ブラウザーの互換に関係する機能は極力使わない 9 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 IBM Lotus Expeditor for Devicesパッケージ内容 ランタイム – Lotus ExpeditorクライアントCD • ¥devices – Install ・・・・インストール用 Expeditor for Devices – update・・・・Lotus Expeditor for Devices用追加プラグインとサンプ ル・アプリケーション • ¥utils – デバッグ用J9, リソース・チェッカー ツールキット – ツールキットCD • ¥Expeditor_Toolkit_install (デスクトップ用ツールキットと共通) 10 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 インストールと設定 (1) コア・ランタイムのインストール まず最小限のプラグインのセット(Lotus Expeditor for Devicesワークベンチ + Device Agent)を以下のいずれかの方法でインストール インストール方法①PCデスククトップでActive Sync (Windows Mobile)を利用 (26MBのファイル・システムの空き容量が必要) • PC側Active Syncをインストールと起動する • PCとPocketPCを接続 • PocketPCのActive Syncは自動起動する • ¥device¥install¥Device-Setup.exeを実行 PC上に表示されるインストーラの指示に従ってインストールする インストール方法② Expeditor-Core.cabをコピー&解凍する方法 (12MBのファイルシステムの空き容量が必要) • ¥device¥install¥Expeditor-Core.cabを本体にコピー – リムーバブル・メディア or ActiveSync経由 – コピー先はどこでも良い • Expeditor-Core.cabをダブルクリック • PocketPC内に表示される指示に従ってインストールする インストール方法③ : Network Client Install – Webブラウザー上でサーバーをアクセスしネットワーク経由でインストール 11 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 インストールと設定 (1) コア・ランタイムのインストール インストールが成功すると、Windowsメニュー(プログラム -> Lotus Expeditor)に、 IBM Lotus Expeditorのアプリケーションが表示される。 – 追加のアプリケーションもここに追加される。 (ネイティヴ・デスクトップとシームレスに統合) IBM Lotus Expeditorコンポーネント(またはアプリケーション)を追加するためには、 アプリケーション・マネージャー使う 12 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 インストールと設定 (2) プラグインの追加セットアップ アプリケーション・マネージャーの「アプリケーション/フィーチャーのインストー ル」から、更新サイト(¥device¥updates をコピーしたフォルダー)を指定し、ア プリケーションまたはフィーチャーをインストール インストールするフィーチャーを選択 13 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 インストールと設定 (2) リモート・プロビジョニングを使い管理する リモート・プロビジョニング – デバイス管理サーバーは登録済みのデバイスにジョブを配布し、フィー チャー、バンドル、ネイティヴ・ファイルをインストール/削除可能。 – ネイティヴ・アプリケーションのインベントリー/管理やハンドラーのインス トール/アンインストールは未サポート。 – Does not support native application inventory/management or install/uninstall handlers 14 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発手順とデバッグ – 開発/テストの流れ 全体の流れ 開始 (※) ※前提環境: Lotus Expeditor Toolkit (Desktopと共通)がセットアップ済み Device用設定済み Rational (or Eclipse) IDE 上でコーディング Win32開発ランタイム上でデバッグ 実機 (or エミュレーター)での最終動作確認 終了 15 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発手順とデバッグ - 開発環境のセットアップ 開発環境(Desktopと共通のものを利用) 開発環境をDevice用に設定する必要あり • • • インストール済みJRE クライアントサービス - デフォルト・ターゲット ターゲット (開発用プラグインをDevice用へ切替え) プラグイン数Device用に(901個Æ75個) 16 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発手順とデバッグ – テスト用Win32ランタイム ほとんどのテストはPC上のテスト用ランタイム (Expeditor for Devices Win32/x86版)で実施可能。 – 実機への展開は、Eclipse Updateサイト経由 • Plug-In Developmemt -> Feature Project で作成 • 現バージョンでは、プラットフォーム・ビルダーは未対応 17 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 開発手順とデバッグ – デバッグについて IDE上でのデバッグ(Rational/Eclipseのトレース実行) – 実行 -> 構成およびデバッグ – IDEからブレーク・ポイントやステップ実行を利用してテスト ログ機能の利用 – Deviceでログ機能を使う場合は、OSGiログ機能の選択を推奨 (JSR 48/Javaログは現在のjclDeviceでは利用可能だか、非推奨) OSGiコンソールの利用 – VMをデバッグ用のモジュールに置き換えることで、標準入出力を使った メッセージ出力やコマンド入力、もしくはOSGiコマンドを使った管理が可能 • ¥eclipse¥plugins¥com.ibm.pvc.wece.device.win32.arm_6.1.0¥jre¥bin¥j9.exe をデバッグ用j9console.exeで置き換する。 • 詳細は、クライアント・ランタイムCDの¥utils¥DebugPackage.zipを参照のこと。 18 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 アプリケーション設計/実装のポイント デザイン上の考慮点 – 狭い画面で効率良く操作できるよう、一覧性を持たせるため、アプリケー ションの画面のレイアウトや画面遷移を心がける – PCと比べ入力操作は困難なため、配慮する事(選択の利用や自動入力等) • GUIの特徴を活かす(リッチGUI部品は次ページで解説) マルチ・デバイスに向けた配慮 多くのデバイスに展開する事を考慮し、できれば以下の点を心がける – デバイス固有の設定は、ハード・コーディングせずpropertyファイルを使う • 例:外部メディアの名前: SD Card, SD カード, CF Card, SD カード,メモ リー・ カード, microDrive, Storage Card – メッセージや文字列もハード・コードせずに property/メッセージ・ファイル等 を利用する。 – 固定座標を使わず、レイアウト・マネージャーを使う (別途説明) 19 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 アプリケーション設計/実装のポイント - リッチGUI部品の説明 eSWT Core – 最低限のウィジェット・セット eSWT Expanded – 組込みブラウザー – 表 – ツリー – 追加レイアウト – 追加のグラフィック・サポート Mobile Extensions (for devices and Win32® desktop) – ユーザー入力用 • TextExtension • DateEditor • ConstrainedText – デバイス取り扱い用機能 • MobileDevice • Screen eJFace – Device向けにチューンしたJFaceのサブセット 20 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 アプリケーション設計/実装のポイント – レイアウトの考慮 フロー系のレイアウトを使うこと – RowLayout やGridLayout のようなレイアウトは、画面サイズに関係なくWidgetを 配置します。 絶対座標は使わないこと – ディスプレイ・サイズと縦横比は著しく異なる場合がある。ウィジェット全体を確実に 表示するには、プログラマーはそれぞれ異なるディスプレイ・サイズごとに適切な 座標を計算する 異なる画面サイズに対応する上でレイアウトが役に立つ場合でも、すべてのデバイス で効果的に実行されるプログラムは以下のステップを実行する必要がある。 – 計算されたレイアウトが使用可能な画面サイズより大きいかどうかをチェックし、大 きい場合は、内容をスクロールできるようスクロール・バーを追加する。 – レイアウトを制限する可能性のある高い縦横比になっていないかどうかを確認する か、追加の内容を許容する • 例えば、ディスプレイが細長い横長のモバイル・デバイスの場合、2 列に表示するかまた は横並びのペインに表示するほうが、コンテンツはより見やすくなる場合あり 21 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 デバイスの選択 – IBM Lotus Expeditor for Devices デバイス要件 ハードウェア要件 (導入時点で利用可能なリソース*) – ファイル・システム空間・・・最小:12MB, 推奨:16MB – メモリー・・・最小:12MB, 推奨:16MB – 仮想アドレス空間* ・・・最小:10MB, 推奨:16MB 上記に加え、追加するフィーチャーやユーザー・アプリケーションの分、ファイ ルシステムやメモリーの余裕を考えておく – 参考:Expeditor for Devices 6.1での必要メモリー参考値 • コア・ランタイム10MB – J9 & jclDevice(4.6 MB)+eRCP(5.0 MB)+Device Agent(1.0 MB) • Web Container 0.9 MB (オプション) • Client Services 3.8 MB (オプション) *デバイス・メーカーが提供しているカタログ値ではなく実際の容量 リソースが足りない場合、実行に不要なプリインストールのアプリケーションを 削除する Windows Mobileには、プロセス毎のメモリー使用の制限等、メモリー・アーキテクチャーに制限があ る。日本語環境のデバイス(アジア圏言語も同様)では、フォントやカナ漢字変換等の常駐プログラム により、更にリソースが圧迫されている可能性がある。 22 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 デバイスの選択 – リソース・チェッカーによる事前調査 デバイスの能力を判断するためのプログラム – Lotus Expeditor クライアント・ランタイム CDの¥util¥ResourceChecker.zip – ファイルシステム・スペース、物理メモリー、仮想メモリーを評価し、レポート: ファイル・システム IBM Lotus Expeditor/追加プラグイン/アプリケーショ ン/データ インストールするために利用可能なストレージ容量 物理メモリー OSや他のアプリケーションが利用していない RAMの合計 仮想メモリー プログラムに対し最大利用可能なRAM バー・グラフ “高い” – 大きなアプリケーションを動かすのに最適。 “可能” – 大部分のアプリケーションを稼動可能う “低い” –小さなアプリケーションを実行可能 23 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考 – Windows CE系のメモリー管理について 理論的なメモリー・マップ DLL 1 実際のメモリー・マップ DLL 1 DLL 2 DLL 2 FREE FREE HEAP HEAP 24 STACK STACK EXE EXE IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 まとめ 本資料ではIBM Lotus Expeditor for Devicesの以下について整理した – デバイスとは? – ランタイム概要 – インストールと設定 – 開発手順とデバッグ – アプリケーション設計/実装のポイント – デバイスの選択 25 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 おわり 26 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考 – Windows CE系のメモリー管理について Total Memory – Many device manufacturers show this value in the general Features – Total Memory = Flash ROM + RAM – Check detailed specifications to determine the ROM and RAM values – Architected by each device manufacturer, no common standard Flash ROM – Storage area for Operating System and System Files • Think of Flash ROM as the Hard Disk Drive for Mobile Device – Battery life not affected by size – Can be written to only a finite number of times (approximately 1 million) – Adding a Compact Flash or SD Card increases Flash ROM (storage) not RAM RAM – Execution area for all Programs (where all programs run) – Battery life affected by size • Doubling (2X) the size of RAM doubles the power drain on battery life 27 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考 – Windows CE系のメモリー管理について Memory allocations rarely fail on Win32 PC but are common in Windows Mobile No support for a page file (swapper) to swap virtual pages in/out of RAM Each running program (process) may consume no more than 32 MB RAM A maximum of 64 processes may be running at any one time – 32 processes reserved for Operating System use only – Up to 32 processes available for user programs – Actual maximum user processes is usually less, limited by available free RAM Each native program runs in a separate process and consumes RAM but does not necessarily reduce the Virtual Memory available to other processes – Expeditor Client runs in a different process than Lotus Mobile Connect (WECM) Native DLLs do consume Virtual Memory that affects every process – Carves virtual memory away from the 32 MB limit in all processes 28 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考 – Windows CE系のメモリー管理について Native program memory allocations are aligned on 4 KB boundary Native DLLs are loaded and aligned on 64 KB boundaries – Three DLLs that are each 20 KB requires 192 KB RAM (3 X 64 KB) – Combine code for all three into one DLL 60 KB requires 64 KB RAM DLLs reserve Memory Address Space when loaded – Even when the DLL is unloaded the address space is still reserved and unavailable for reuse by other DLLs or Applications – Operating System reboot (hard reset) is typically required to clear the Address Space Memory fragmentation is a serious and real problem in Windows Mobile! 29 IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。 ビジネス・ユニットの名前 参考 – Windows CE系のメモリー管理について Similarities between Windows Mobile 2003 and Windows Mobile 5 – Operating System and System Files are stored in Flash ROM – All programs must be loaded into RAM to run – All programs allocate memory required to run from RAM – 32 MB per process limit still applies Differences between Windows Mobile 2003 and Windows Mobile 5 – Windows Mobile 2003 • User installed applications and data are stored in RAM • User installed applications and data are lost if battery is drained dead • Programs and data stored in Flash ROM are compressed – Windows Mobile 5 • • • • 30 User installed applications and data are stored in Flash ROM User installed applications and data are preserved if battery is drained dead Programs and data stored in Flash ROM are not compressed A fixed size portion of RAM is reserved by the OS as a lazy write cache IBM Corporation I 8/4/05 © 2007 IBM Corporation この文書のデータの利用または公開には、最終ページに記載されている制限事項が適用されます。