Comments
Transcript
開発インタフェースの差異と アプリケーションのパフォーマンスについて 内容 開発インタフェースの差異
移行時にフル活用!アプリ情報 開発インタフェースの差異と アプリケーションのパフォーマンスについて 2002年11月14日 日本アイ・ビー・エム株式会社 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 内容 開発インタフェースの差異 アプリケーションのパフォーマンス比較例 注意事項 本資料では、Lotus Notes/Domino R4.6、R5との開発インタフェースの差異、アプリケーションのパフォーマンス 比較について記述しており、その内容は、IBM Lotus Notes/Domino 6 (英語版)の開発中の社内ビルドを基に しております。そのため、正式な日本語版では内容が異なる可能性がありますので、ご注意ください。 また、本資料に含まれている情報は、正式な IBM のレビューを受けていません。ソフトウェア事業部 ロータス 技術部の独自の調査に拠る内容で、明記にしろ、暗黙的にしろ、何らの保証もなしに配布されるものです。こ の情報の使用またはこれらの技術の実施は、何れも使用先の責任において行われるべきものであり、また、 それらを評価し、実際に使用する 環境に統合する使用先の判断に依存しています。 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 1-2 機能差異: 式、LotusScript 開発インタフェースレベルでの比較表をご提供予定 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. Java JVM Javaアプリのインポート R4.6 R5 6 1.1.6 1.1.8 1.3.1 ○ ○ ○ ○ ○ IDEでのJavaコードの 編集/コンパイル ライブラリ化 ○ クラスライブラリの提供 ○ ○ ○ Servlet ○ ○ ○ JSPタグライブラリの提供 ○ * R4.6ではローカルアクセスのみ。リモートアクセスの場合はDominoのDIIOPタスクの起動が必要。 * JVMバージョンは R4.6、R5の最新版での情報。 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 3-4 JavaScript R4.6 R5 6 JavaScript仕様バージョン 1.3 1.4 ノーツでJavaScriptが有効 ○ ○ IDEでの編集 ○ ○ ライブラリ化 ○ * R4.6、R5、6のいずれでも、パススルーHTML内にJavaScriptを書くことは可能 C API Toolkit 6.0 API数 R4.6: 約600、R5: 約720、6: 約910 Notes/Domino R5 と 6 のAPIは互換 ただし、次の3関数は書き換えが必要。多言語対応になり、CLSファイルがなくなったため R5: MailAddBodyItem、MailAddMessageBodyText、ConvertItemToComposite 6: MailAddBodyItemExt、MailAddMessageBodyTextExt、ConvertItemToCompositeExt 実行は可能。ヘッダやライブラリからは削除のためビルドは不可 旧版ツールキットで作成の実行ファイル R5ツールキットで作成のC API アプリは動作保証 R4.6やそれ以前のツールキットで作成のC API アプリケーションは動作保証外 US Lotus Developer Domainサイトから提供 http://www-10.lotus.com/ldd 日本語ヘルプファイルは未定 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 5-6 アプリケーションのパフォーマンス比較例 次の3パターンをテスト 1.マスター文書の全削除・作成 2.Notesクライアントから文書オープン 3.Notesクライアントからマスター参照文書を新規作成 テスト環境 クライアントとサーバーは同一バージョン インストール時のデフォルト設定 クライアントとサーバーは各1台 テストマシンだけの閉じたネットワーク環境 ロースペックマシン(サーバー CPU 500MHz, Mem 256MB) * 限られた条件のため、一例としてのみ参考にしてください。 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. テスト内容と結果 テスト内容 パターン1: 10000文書の削除・作成 パターン2: 3種類のフォーム A) マスター参照の普通のフィールドを200個と、普通のフィールド50個を持つフォー B) マスター参照の共有フィールドを200個と、普通のフィールド50個を持つフォーム C) マスター参照の共有フィールドを200個と、1つのフィールドを持つサブフォームを 個持つフォーム パターン3: 5種類のフォーム A-Cは@dblookup、D-EはLotusScript A) ランダムな英語キー50個と日本語キー50個を作成し、マスター文書100文書にアク セス B) Aの内容 + フィールドはすべて共有フィールド C) Aの内容 + フィールドはすべて共有フィールド + 1行がサブフォーム D) ランダムな英語キーを50個作成し、マスターを検索した結果取得できた日本語キー 50個を利用し、マスター文書100文書にアクセス E) Dの内容 + UIDocument の Autoreload = False で値を設定後 Autoreload = True 結果 ロースペックマシンでも、6はR5よりもよい結果で、R4.6よりもよいケースもある。 RC(Release Candidate)以後のビルドで、パフォーマンスが向上している。 式は新エンジンになったが、DISK I/Oを伴う処理には効果は少ないようである。 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 7-8 参考: LZ1圧縮 US LDD Todayより 新しい圧縮アルゴリズムの採用 添付ファイルの圧縮 ネットワーク圧縮 圧縮率 R5 Huffman圧縮に比較して 5-40%効率がよい テキストはほぼ同じ バイナリの場合により効果がある LZ1圧縮による効果が期待できるアプリケーション 文書管理DB(MSオフィスファイル等の添付) US LDD Today - 式エンジンの担当技術者へのインタビュー記事 http://www-10.lotus.com/ldd/today.nsf /f01245ebfc115aaf8525661a006b86b9/b2b7a1612d8ced0c85256a7b0017fa2d?OpenDocument Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 参考: LZ1圧縮 US LDD Todayより テスト用データベースファイル: 1000文書 文書タイプ 文書数 合計(MB) -----------------------------------------------------10MB テキスト添付 5 47.69 50KB テキスト添付 42 5.56 50KB バイナリ添付 58 4.03 テキストのみ(添付なし) 895 35.98 デザイン、セッション他 -13.57 DB Network圧縮前(MB) 圧縮後(MB) -----------------------------------------------------圧縮なし 106 51 (52%) R5 Huffman圧縮 81 54 (34%) 6 LZ1圧縮 79 52 (35%) * 参照先: 前ページURLと同じ Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. 9-10 ■ @関数: R4.6に存在し、その後に追加や変更あり 1.拡張しただけで古いアプリケーションに対する互換性あり @関数 @Command @DbColumn (Domino data source) @DbColumn (ODBC data source) @DbCommand (ODBC data source) @DbLookup (Domino data source) @DbLookup (ODBC data source) @DialogBox 4.6.7 ○ ○ ○ ○ ○ ○ ○ 5.0.10 ○ ○ ○ ○ ○ ○ ○ 6RC ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ @Explode @Max @Min @Name @Now @PickList @Platform @REM @Set @SetDocField @SetField @Text @UserAccess @UserName @Version 2.互換性がない、もしくは、機能そのものがない 該当する@関数なし Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. Memo 新しい@コマンドの追加 R6では ReCacheパラメータを追加 R6では ReCacheパラメータを追加 R6では ReCacheパラメータを追加 R6では ReCacheパラメータを追加 R6では ReCacheパラメータを追加 R5でSIZETOTABLE、R6でNOOKCANCELと OKCANCELATBOTTOMパラメータを追加 R6でnewLineAsSeparatorパラメータを追加 R6ではパラメータが1つでも可 R6ではパラメータが1つでも可 R6ではLDAP変換を追加 R6でパラメータを新設 R5でcategorynameパラメータを追加 R5、6でリターン値を追加 R6では { } での指定が可 R6では変数宣言の省略可 R6で現文書の指定も可 R6では変数宣言の省略可 R6ではリッチテキストの変換を追加 R5以降、@V4UserAccessに自動変換 R5で別名かどうかのパラメータを新設 R5、R6でリターン値を追加 ■ @コマンド: R4.6に存在し、その後に追加や変更あり 1.拡張しただけで古いアプリケーションに対する互換性あり @コマンド AddDatabase AddDatabaseRepID CalendarFormat Folder RemoveFromFolder ViewCollapse ViewCollapseAll ViewExpand ViewExpandAll ViewRefreshFields WindowCascade WindowNext WindowTile 4.6.7 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 5.0.10 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ × × × 6RC ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Memo R5でbookmarkパラメータ追加 R5でbookmarkパラメータ追加 R5で1日の指定を追加 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 R5で"ブラウザでアプレットを使用"がONならばWebでの使用可 5.0.10 × ○ ○ ○ × × × × × × × × ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 6RC × ○ ○ ○ × × × × × × × × ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Memo 2.互換性がない、もしくは、機能そのものがない @コマンド AdminNewCertifier Compose FileExport FileImport Help HelpFunctions HelpIndex HelpKeyboard HelpMessages HelpRelease3MenuFinder HelpReleaseNotes HelpTableOfContents OpenDocument ReplicatorReplicateHigh ReplicatorReplicateNext ReplicatorReplicateSelected ReplicatorReplicateWithServer ReplicatorSendMail ReplicatorSendReceiveMail ReplicatorStart ReplicatorStop SmartIconsFloating SmartIconsNextSet 4.6.7 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. R5で幅/高さの設定は無効 R6でサポート対象ファイルの変更 R6でサポート対象ファイルの変更 R5で幅/高さの設定は無効 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6では複製のワークスペースがオープン時のみ使用可 R6ではツールバーになり、無効 R6ではツールバーになり、無効 ■ LotusScript: R4.6に存在し、その後に追加や変更あり 1.拡張しただけで古いアプリケーションに対する互換性あり Class NotesAgent P r o p e r t y / M e t h o d / E v e n t4 . 6 . 7 5 . 0 . 1 0 Run Method ○ ○ RunOnServer Method ○ ○ 6RC ○ ○ Memo R5.0.2でnoteID$パラメータを追加。省略可能なため互換性あり。 R5.0.2でnoteID$パラメータを追加。省略可能なため互換性あり。 NotesDatabase Create Method CreateCopy Method CreateFromTemplate Method ○ ○ ○ ○ ○ ○ ○ ○ ○ R5でmaxsize%パラメータを追加。省略可能なため互換性あり。 R5でmaxsize%パラメータを追加。省略可能なため互換性あり。 R5でmaxsize%パラメータを追加。省略可能なため互換性あり。 NotesDocumentCollection PutAllInFolder Method ○ ○ ○ R5でcreateonfailパラメータを追加。省略可能なため互換性あり。 NotesEmbeddedObject FitBelowFields property FitToWindow property RunReadOnly property ○ ○ ○ ○ ○ ○ ○ ○ ○ R4.6.2から追加 R4.6.2から追加 R4.6.2から追加 NotesRegistration RegisterNewUser Method ○ ○ ○ R5でusertype%パラメーター追加。省略可能なため互換性あり。 NotesRichTextItem AppendDocLink Method ○ ○ ○ R5でHotSpotText$パラメーター追加。省略可能なため互換性あり。 NotesSession GetDatabase Method ○ ○ ○ R5でcreateonfailパラメータを追加。省略可能なため互換性あり。 NotesUIDatabase OpenView Method ○ ○ ○ R5でkey$、newinstance$の2つのパラメータ追加。どれも省略可能なため互換性あり。 R5.0.4でreplaceViewパラメータを追加。省略可能なため互換性あり。 NotesUIWorkspace DialogBox Method ○ ○ ○ EditDocument Method ○ ○ ○ R5でsizeToTable、 noOkCancelの2つのパラメータ追加。どれも省略可能なため互換性あり。 6でokCancelAtBottomパラメータ追加。省略可能なため互換性あり。 R5でdocumentanchor$パラメータを追加。省略可能なため互換性あり。 R5.0.6でreturnNotesUIDocumentパラメータを追加。省略可能なため互換性あり。 6でnewInstanceパラメータ追加。省略可能なため互換性あり NotesView IsDefaultView Property Name Property ○ ○ ○ ○ ○ ○ 6で読み込みに加え、書き込みが可能になった。 6で読み込みに加え、書き込みが可能になった。 NotesViewColumn Formula Property IsHidden Property IsSorted Property Title Property ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 6で読み込みに加え、書き込みが可能になった。 6で読み込みに加え、書き込みが可能になった。 6で読み込みに加え、書き込みが可能になった。 6で読み込みに加え、書き込みが可能になった。 2.互換性がない、もしくは、機能そのものがない Class NotesDatabase P r o p e r t y / M e t h o d / E v e n t4 . 6 . 7 5 . 0 . 1 0 GetURLHeaderInfo Method ○ ○ 6RC × NotesOutline AddEntry Method MoveEntry Method ○ ○ × ○ △ ○ R5.0.2以降ではCreateEntry Methodを使用するのが望ましい。 R5.0.2でasChildパラメーターのデフォルト値をFalseに変更。 NotesOutlineEntry IsHidden Property ○ × △ R5.0.3で無効。 NotesUIWorkspace ComposeDocument method ○ ○ ○ windowWidth, windowHeightが無効。互換のために保持 R6でreturnNotesUIDocumentパラメータを追加。 Copyright (c) 2002 Lotus Technical Support, Software Group. All Rights Reserved. Memo ■シンプルアクションの比較 # アクション パラメータ 1 @関数式 実行時に、存在する文書を更新/新規文書を作成/文書を選択 ○ ○ 式 ○ ○ ○ ○ いずれかを選択 2 エージェント実行 エージェント ○ ○ ○ リストから選択 3 データベースから削除 (なし) ○ ○ ○ 4 データベースにコピー サーバー名 ファイル名 ○ ○ ○ ○ ○ ○ 5 ニュースレターの要約の送信 宛先(To:/Cc:/Bcc:) 件名 本文 ビューを使って各文書の要約を取り込 む ビュー ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 送信前に収集する文書数 ○ ○ ○ フィールド 更新値 値を置換する/値を追加する ○ ○ ○ ○ ○ ○ ○ ○ ○ リストから選択 リストから選択 6 フィールドの更新 R4.6 R5 6 7 フォームでのフィールドの更新 フォーム 更新内容 ○ ○ ○ ○ ○ ○ 8 フォルダから削除 対象のフォルダを指定 ○ ○ ○ 9 フォルダにコピー コピー先のフォルダを指定 ○ ○ ○ 10 フォルダへ移動 移動先のフォルダを指定 ○ ○ ○ 11 メールメッセージの送信 宛先(To:/Cc:/Bcc:) 件名 本文 文書のコピーを含む 文書のリンクを含む ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 送信者のみに返信する/全員に返信する 本文 文書のコピーを含む 各ユーザーに1度だけ返信する ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 12 送信者に返信 13 文書の送信 (なし) ○ ○ ○ 14 文書を既読に (なし) ○ ○ ○ 15 文書を未読に (なし) ○ ○ ○ ※比較に用いたビルド R4.67、R5.0.11、6.0 Copyright (c) 2002 Lotus Technical Support, Software Group, IBM Japan. All Rights Reserved. 備考 ON/OFFのチェッ ク リストから選択 ON/OFFのチェッ クと数値設定 いずれかを選択 ON/OFFのチェッ ク ON/OFFのチェッ ク いずれかを選択 ON/OFFのチェッ ク ON/OFFのチェッ ク