実運用環境展開時の注意点
開発環境にActiveReportsをインストールして開発を行っているときは、ActiveReportsのライセンスの付与や、ActiveReportsコンポーネントの配置などは特に意識する必要はありません。しかし、ASP.NETに作成したものを配置するときには、ライセンス付与とコンポーネント配置に関する作業が必要になります。
ライセンス付与
Webアプリに必要なライセンスはActiveReportsのライセンスだけですが、実行時ライセンス料は不要ですので、ライセンスを供与する設定を行うだけで済みます。また、今回のサンプルではPDFファイルを生成していますが、サーバ側へのAdobe Readerのインストールやライセンスは不要です。
WebアプリにActiveReportsのライセンスを供与するには、web.configのappSettingsセクションにkeyを追加します。
- 製品付属のweb.configキー生成ツール(図12)を使ってWebキーを生成
- web.configファイルを開き、appSettingsセクションに生成された部分をコピー&ペーストします。今回、ASP.NET Webサービスを参照設定しているため、リスト4のようにWeb参照が設定されているので、<add key="DataDynamicsARLic"・・・・・・ />の行だけを追記します。
- [Webサイトの配布]を実行し、リビルドと配布を行います。実運用サイトにいきなり配布せずに、配布先を開発機の別フォルダにして、そのフォルダの中身を実運用サイトにコピーすると、予期せぬ事態が発生しても運用が止まらずに済みます。
: <appSettings> <add key="WebBillBound.BillBound" value="http://localhost:9661/CZ0906Bound/BillBound.asmx" /> <!--ここに追加します --> </appSettings> :
ActiveReportsコンポーネントをアプリと同じフォルダに配置する方法
ActiveReportsコンポーネントは、作成したWebアプリをビルドしたDLLファイルが格納されている仮想フォルダのbinフォルダに配布すれば、実行することができます。どのファイルを配布するかは、web.configのassembliesセクションに書かれている内容を参考にするとよいでしょう。
次に、binフォルダの中にjaフォルダをつくって「ActiveReports3.resources.dll」「ActiveReports.Viewer3.resources.dll」を配置すれば、各種メッセージなども日本語化できます。こちらの作業も忘れずに、併せて実施するようにしましょう。
ActiveReportsコンポーネントをGACとして配置する方法
ActiveReportsは厳密な名前が付与されたコンポーネントなので、ASP.NETはGACに登録されていることが基本的な動作環境となります。アプリと同じフォルダに配置する方法でも動作はしますが、GACに登録するのがベストです。
GACに登録するならば、作成したアプリと同じ場所に配布する必要はないので、ASP.NETの稼働サーバでActiveReportsの専用のフォルダを作成し、コマンドラインから次のコマンドを実行します。
Gacutil -I 配布したDLLファイル名
1つずつ登録するのも大変ですから、必要なActiveReportsコンポーネントを参照設定したWindowsアプリを作成してからmsiファイルを作成し、そのmsiでActiveReportsコンポーネントをGACに登録するように定義しておくとよいでしょう。後は、このmsiファイルをASP.NETの稼働サーバで実行するようにしておくと、サーバが何台あっても少ない手間で済みます。
まとめ
今回は、ブラウザを限定しないためにPDFを使う方式を説明しましたが、ActiveReportsのProfessional EditionにあるWebビューアのActiveXコントロールを併用することで、プレビューなしの印刷なども実現できます。しかし、この方式は、対象ブラウザがInternet Explorerに限定されるので、システム全体の用途などを考えて、採用方式を決定する必要があります。