|
ISAPI対応
|
DSM Ver5.0以降でISAPIをサポートしています。
ISAPIの機能を利用することにより、Webアプリケーション実行時のパフォーマンスが向上します。ここでは、その使用方法について説明します。
ISAPI
ISAPI(Internet Server API)は、Microsoft社のIIS(Internet Information Service)上で動作するサーバーアプリケーションを作成するための拡張APIです。
この機能を内包した「DSMAPI.DLL」を使用することにより、NOMADを使用したWebアプリケーションを実行したときのパフォーマンスが向上します。
※DSM Ver6.0より、「DSMAPIS.DLL」が追加されました。これはSOAPリクエストを処理するためのモジュールで、配備方法は「DSMAPI.DLL」とまったく同じです。DSM-SOAPの動作については「SOAP機能外部関数」を参照してください。
使用方法
「DSMAPI.DLL」は、ISAPIをサポートしているWebサーバーで使用できます。
Microsoft社のIIS(Internet Information Service)などでの実行が可能です。
この機能は、インターネットサーバー拡張(ISA)方式で提供されます。したがって、Webサーバー起動前の設定などは不要です(詳細は、ISAPIに関するドキュメントを参照してください)。
サーバー側での設定として、Webサーバーで実行権限のあるディレクトリ(例: "C:\inetpub\scripts")へ「DSMAPI.DLL」を配置します。
また、アプリケーション側でのDSMCGIを使用する場合との相違点は、<FORM>タグのACTIONパラメータの値へ「DSMAPI.DLL」を指定する点だけです。
その他は、通常のDSMCGIと同じです。また、動作についてもDSMCGIと同じです。
したがって、CGI形式のアプリケーションをISAPI形式のアプリケーションに移行するときは<FORM>タグ部分のみを変更するだけで対応できます。
例:
<FORM METHOD="POST" ACTION="/cgi-bin/dsmapi.dll">
...
</FORM>
上記の例の場合、Webサーバーの「cgi-bin」ディレクトリ(エイリアス)へ、「DSMAPI.DLL」を配置してください。
注意事項
ISAPIはリクエストのあったライブラリ(DLL)を実行することにより、サービスを提供します。
一度ロードされたライブラリは、Webサーバー(IISなど)が終了するまでアンロードされません。従って、ライブラリのバージョンアップのときや「dsmsrv quit」などDSM情報のクリアを行うときには、Webサーバーを終了する必要があります。
Webサーバーが終了していない場合は、正常にクリアできません。
制限事項
- ブラウザ(クライアント)から送信されるデータが4GB以上の場合は、エラー(エラー2)となります。
- DSM Ver5.0からDSM Ver5.1にバージョンアップするにあたって、ISAPI用のライブラリ名を「DSMCGI.DLL」から「DSMAPI.DLL」に変更しました。
DSM Ver5.1以降の「DSMCGI.DLL」はDSM関連の機能のみを持つモジュールになります。