SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

5分でわかるActiveReports帳票(AD)

5分でわかるActiveReports帳票-ActiveReports Server(運用編)

ActiveReports for .NET 9.0Jで作るサンプル帳票(7)

  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、帳票コンポーネント「ActiveReports for .NET 9.0J」の新機能を使用して帳票アプリケーションを作成する方法を解説します。第7回の今回は、9.0Jで追加された新機能である「ActiveReports 9.0J Server」を運用していく上で必要な、ユーザーやロールなどのセキュリティ設定やスケジュール実行の方法について説明します。なお、ActiveReports 9.0J ServerはProfessional版のみの機能です。

  • X ポスト
  • このエントリーをはてなブックマークに追加

備考

 ActiveReportsを使用した帳票アプリケーションの基本的な作成方法については、これまでの連載記事も併せてご参照ください。特に、1つ前のバージョンである7.0Jをもとに解説した2013年度版の記事は、9.0Jでもそのままご利用いただける内容となっています。また、2007/2008年度版の記事は3.0Jをもとに解説していますが、3.0Jのレポートと9.0Jのセクションレポートは名前空間や一部のAPIを除いて同じレポート形式であるため、セクションレポートの概念や基本的な使い方についてはこちらもご活用ください。

はじめに

 ActiveReports 9.0J Server(以下、ActiveReports Server)はActiveReportsで作成した帳票の運用、管理環境として動作するサーバー製品です。第6回ではActiveReports Serverのインストールや初期設定の方法について説明しましたが、今回は帳票のセキュリティ管理、スケジュールによる帳票の定期配信など、ActiveReports Serverで利用できる主要機能について、以下の構成で説明していきます。

  • ユーザーとロールの作成
  • カテゴリとパーミッションの設定
  • スケジュールの設定
  • まとめ

 記事の中で「管理者ポータル」および「利用者ポータル」へアクセスする手順が登場しますが、それぞれへのアクセス方法は第6回の記事をご覧ください。

対象読者

  • 帳票作成ツールに興味のある方
  • 帳票の運用管理基盤を手軽に構築したい方
  • iPad/iPhoneで帳票を閲覧したい方
  • ActiveReportsで帳票開発を行っている方

必要な環境

  • Windows Server 2008/Server 2008 R2/Server 2012/Server 2012 R2
  • .NET Framework 4.5/4.5.1/4.5.2/4.6/4.6.1
  • IIS

備考

 上記のサーバーOSを準備するのが困難な場合は、Windows Vista/7/8/8.1などのクライアントOS上にインストールして動作を試すことも可能です。インストール前の準備として、上記に示したバージョンの .NET Frameworkをインストールし、「Windowsの機能の有効化と無効化」から、「インターネットインフォーメーションサービス」⇒「アプリケーションの開発機能」⇒「ASP.4.5」を設定してください。Windows 8.0以降の場合は、「Windowsの機能の有効化と無効化」から「.NET Framework 4.5」の「WCFサービス」⇒「HTTPアクティブ化」も設定してください(サーバーOSにおける事前準備は第6回に記載しています)。インストールの手順は、第6回で紹介する手順と相違ありません。

 ただし、実際に運用を行う際のサポート環境は、上記のサーバーOSのみとなりますのでご注意ください。

ユーザーとロールの作成

 ActiveReports Serverをインストールした直後は、第6回の「サーバー構成ウィザード」で作成した管理者アカウントしか存在しません。ActiveReports Serverの運用にあたり、一般ユーザーとそれらが所属するロールを作成してみましょう。

ロールの作成

 ActiveReports Serverでは、各帳票に対するパーミッションは個々のユーザーではなく、ロールに割り当てられます。ロールには帳票に対するパーミッションのほか、以下の操作に対するパーミッションを設定可能です。

レポートのアップロードを許可

 この権限を設定した場合、帳票デザイナより帳票を新規作成しActiveReports Serverにアップロードすることが可能になります。

レポートのスケジューリングを許可

 この権限を設定した場合、利用者ポータルから帳票をスケジュール実行することが可能になります。

レポートのシステムカテゴリ変更を許可

 この権限を設定した場合、利用者ポータルから帳票に設定されている「システムカテゴリ」を変更することが可能になります。

 まずは、異なるパーミッションを持つ2つのロール「営業部」と「総務部」を作成します。管理者ポータルの左メニューから「ロール」を選択し、「新しいロール」の[作成]をクリックします。

ロールの作成
ロールの作成

 「ロールの作成」ダイアログが表示されるので、以下の値を設定して[作成]ボタンをクリックし、「営業部」のロールを作成します。

「営業部」ロールの設定値
ロール名 営業部
レポートのアップロードを許可 オフ
レポートのスケジューリングを許可 オン
レポートのシステムカテゴリ変更を許可 オン

 同様に、「ロールの作成」ダイアログから以下の値を設定して、「総務部」のロールを作成します。

「総務部」ロールの設定値
ロール名 総務部
レポートのアップロードを許可 オフ
レポートのスケジューリングを許可 オフ
レポートのシステムカテゴリ変更を許可 オフ

 ロールが作成されると以下のようにロールの一覧画面に「営業部」と「総務部」のロールが表示されます。

作成されたロール
作成されたロール

ユーザーの作成

 ロールを作成したら、次はActiveReports Serverを利用する2人のユーザーアカウント「営業部のtaro」と「総務部のhanako」を作成し、それぞれが所属するロールを設定します。管理者ポータルの左メニューから「ユーザー」を選択し、「新規ユーザー」の[作成]をクリックします。

ユーザーの作成
ユーザーの作成

 「ユーザーの作成」ダイアログが表示されるので、以下の値を設定して[次へ]ボタンをクリックします。

ユーザー「taro」の設定値
ユーザー名 taro
パスワード 任意のパスワードを入力
パスワードの確認入力 パスワードを再入力
E-mail taro.grape@grapecity.com
説明 葡萄太郎 営業部
「ユーザーの作成」ダイアログ
「ユーザーの作成」ダイアログ

 次に「新規ユーザーのロール選択」ダイアログが表示されるので、「営業部」のチェックをオンに設定して[終了]ボタンをクリックします。

「新規ユーザーのロール選択」ダイアログ
「新規ユーザーのロール選択」ダイアログ

 以下の様に、ユーザーの設定画面に「taro」のユーザーアカウントが追加されます。

追加された「taro」のユーザーアカウント
追加された「taro」のユーザーアカウント

 ユーザー「taro」と同様の手順で、ユーザー「hanako」を作成し、「総務部」のロールに所属させます。設定値は以下の通りです。

ユーザー「hanako」の設定値
ユーザー名 hanako
パスワード 任意のパスワードを入力
パスワードの確認入力 パスワードを再入力
E-mail hanako.grape@grapecity.com
説明 葡萄花子 総務部
所属するロール 総務部
追加された「hanako」のユーザーアカウント
追加された「hanako」のユーザーアカウント

カテゴリとパーミッションの設定

 次に製品付属のサンプル帳票を利用して、帳票ごとにカテゴリとパーミッションを設定します。

カテゴリの作成

 ActiveReports Serverでは、帳票にカテゴリ(Gmailのラベル機能に相当)を付けて整理できます。1つの帳票に複数のカテゴリを付与できるため、フォルダよりも柔軟できめ細やかな整理ができます。

 まず、カテゴリを追加します。左メニューより「カテゴリ」をクリックしカテゴリ一覧画面を表示し、[カテゴリの追加]ボタンをクリックします。

カテゴリの追加
カテゴリの追加

 「カテゴリの作成/更新」ダイアログが表示されるので、「営業部」のカテゴリを作成します。ここでは「場所」に「ルート」を指定しますが、階層的にカテゴリを作成することも可能です。

カテゴリの作成/更新ダイアログ
カテゴリの作成/更新ダイアログ

 同様に「総務部」のカテゴリも作成します。

追加されたカテゴリ
追加されたカテゴリ

帳票のカテゴリ設定

 次に帳票に対してカテゴリの設定を行います。ここでは製品に付属しているサンプル帳票を使用して、以下のようなカテゴリの設定を行います。

各帳票に設定するカテゴリ
レポート名 設定するカテゴリ
顧客名簿 営業部
社員一覧 総務部
請求書 営業部、総務部

 左メニューより「管理」⇒「レポート」をクリックして帳票の一覧画面を表示し、一覧画面から「顧客名簿」の横のチェックボックスにチェックを入れ、[カテゴリ]ボタンをクリックします。

カテゴリの設定
カテゴリの設定

 「カテゴリの設定」ダイアログが表示されるので、「営業部」にチェックを付け、[設定]をクリックします。

「カテゴリの設定」ダイアログ
「カテゴリの設定」ダイアログ

 同様に「社員一覧」と「請求書」にも、前述の「各帳票に設定するカテゴリ」の表の内容にしたがってカテゴリを設定していきます。

「社員一覧」と「請求書」のカテゴリの設定
「社員一覧」と「請求書」のカテゴリの設定

帳票のパーミッション設定

 次に各帳票に対してパーミッションの設定を行います。パーミッションはロール単位で設定します。以下のパーミッションが設定可能です。

読み取り

 このレポートのプレビューが可能になります。

読み取りと変更

 このレポートのプレビュー/編集/削除が可能になります。

フルコントロール

 このレポートのプレビュー/編集/削除に加え、パーミッションの変更が可能になります。

なし

 このレポートはポータル画面のレポート一覧に表示されなくなります。

各帳票に設定するロールごとのパーミッション
レポート名 ロール名
営業部 総務部
顧客名簿 読み取りと変更 なし
社員一覧 なし 読み取りと変更
請求書 読み取りと変更 読み取り

 左メニューより「管理」⇒「レポート」をクリックしてレポートの一覧画面を表示し、一覧画面から「顧客名簿」の横のチェックボックスにチェックを入れ、[パーミッション]ボタンをクリックします。

パーミッションの設定
パーミッションの設定

 「パーミッションの変更」ダイアログが表示されるので、「営業部」に対して「読み取りと変更」、「Everyone」に「なし」をそれぞれ設定し、「適用」をクリックします。

「パーミッションの変更」ダイアログ
「パーミッションの変更」ダイアログ

 同様に「社員一覧」と「請求書」にも、前述の「各帳票に設定するロールごとのパーミッション」の表の内容にしたがってパーミッションを設定していきます。

「社員一覧」と「請求書」のパーミッションの設定
「社員一覧」と「請求書」のパーミッションの設定

利用者ポータルの操作

 カテゴリとパーミッションの設定が完了したら、実際に利用者ポータルにログインして、レポートのアクセス制御の動作を確認してみましょう。前述の手順で作成したユーザー、「taro」のアカウントでログインします。

 「taro」のアカウントは「営業部」のロールに属しているので、左ペインから「営業部」のカテゴリを選択してみます。「営業部」のカテゴリには、「営業部」のカテゴリに属している帳票、かつ「taro」(「営業部」のロールに属しているアカウント)からアクセス可能な帳票が表示されます。

ユーザー「taro」で「営業部」カテゴリを開いた場合
ユーザー「taro」で「営業部」カテゴリを開いた場合

 同様に「hanako」のアカウントでログインして「総務部」のカテゴリを選択すると、「総務部」のロールに属しているアカウントからアクセス可能な帳票が表示されます。この時「請求書」は両方のアカウントから参照できていますが、「hanako」が所属する「総務部」のロールにはこの帳票の「読み取り」の権限しかないので、「削除」ボタンが表示されません。

ユーザー「hanako」で「総務部」カテゴリを開いた場合
ユーザー「hanako」で「総務部」カテゴリを開いた場合

スケジュールの設定

 ActiveReports Serverでは、あらかじめ作成したスケジュール定義をもとに、定期的に帳票を配信することが可能です。配信の種類は、以下のいずれかを選択できます。今回は「Windowsファイル共有」の手順について説明します。

  • Windowsファイル共有
  • E-mail送信(添付ファイルまたはリンク)

備考

 E-mail送信の場合の手順については、「クイックスタートガイド」の「5. スケジュールの設定」をご覧ください。

共有スケジュールの作成

 ActiveReports Serverで帳票をスケジュール配信するには、まず「共有スケジュール」と呼ばれるスケジュールのテンプレートを作成します。管理者ポータルの左メニューから「スケジュール」をクリックして共有スケジュール画面を表示し、「新しい共有スケジュールの追加」をクリックします。

新しい共有スケジュールの追加
新しい共有スケジュールの追加

備考

 共有スケジュールには、「毎日」「毎週」「毎月」というテンプレートがあらかじめ用意されています。これらをカスタマイズしてスケジュール配信を行うことも可能です。

 スケジュールテンプレートの設定画面が開くので、以下の値を設定します。今回は月初のAM10:00に実行されるようにスケジュールを設定します。各設定項目の詳細については製品ヘルプの「スケジュールの管理」を参照してください。

スケジュールテンプレートの設定値
名称 月次請求書作成
説明 月次で請求書を作成します
パーミッション 「営業部」のチェックをオン
開始 スケジュール配信を開始する日時(ここでは2016/2/1 10:00を設定します)
間隔 1月間
曜日 全てにチェック
結果の保存期間 14日間
フォーマット PDF文書
配信種別 利用者に選択させる
スケジュールテンプレートの設定
スケジュールテンプレートの設定

 設定が完了したら[保存]ボタンをクリックします。スケジュールテンプレートが追加されて以下のように表示されます。

追加されたスケジュールテンプレート
追加されたスケジュールテンプレート

帳票にスケジュールを設定

 共有スケジュールのテンプレートを作成したら、次はそのテンプレートを使用して、帳票にスケジュールタスクを設定します。スケジュールタスクの設定は利用者ポータルの「スケジュール」タブから行います。

 前述の手順で「レポートのスケジューリングを許可」にチェックを入れた「営業部」のロールに所属する「taro」のアカウントで利用者ポータルにログインし、左ペインから「営業部」カテゴリを開き「請求書」を選択して、「スケジュール」タブを開きます。

「スケジュール」タブ
「スケジュール」タブ

 「スケジュール」タブから[スケジュールの追加]ボタンをクリックすると、「スケジュール1」という名前のスケジュールタスクが追加されるので、以下の値を設定して保存します。

スケジュール1の設定値
使用するスケジュール 月次請求書作成
配信種別 Windowsファイル共有
ファイル名 請求書_&{ExecutionTime:yyyyMM}
拡張子の有無 はい
ファイルパス ファイルを出力するネットワーク上のフォルダのUNCパス(ここでは「\\arserver\filesv」というパスにファイルを出力します)
ユーザー名 「ファイルパス」で指定したフォルダにアクセス可能なWindowsのユーザー名
パスワード 「ユーザー名」で指定したユーザーのパスワード
上書き 上書き保存

スケジュールタスクの設定

スケジュールタスクの設定

 あとはスケジュールの開始時刻になれば、自動的にタスクが実行されます。利用者ポータルで対象の帳票を選択し、「履歴」タブを開くと実行結果が確認できます。[開く]ボタンをクリックすると、生成したPDFのキャッシュデータを直接開けます。

スケジュールタスクの実行結果
スケジュールタスクの実行結果

 出力先として指定したフォルダを開くと、以下のように正常にPDFが出力されています。

出力されたPDFファイル

出力されたPDFファイル

まとめ

 今回はActiveReports Serverを運用していく上で重要となる、レポートのセキュリティ管理、スケジュール配信の方法について紹介しました。次回は、APIを使用した他システムとの連携方法や、監査データベースの設定方法について紹介します。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9281 2016/04/22 10:44

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング