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のチェッ
ク