...

開発インタフェースの差異と アプリケーションのパフォーマンスについて 内容 開発インタフェースの差異

by user

on
Category: Documents
73

views

Report

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