○「PDFファイルでの帳票出力」について
PDFファイルでの帳票出力については、上記のExcel出力と同様なので、ここでは説明を割愛させて頂く。
図12は、建築業界で標準的な3枚貼りの工事写真台帳(報告書)作成画面と、それをPDFで再現し出力した例である。
○「各種の通知用としてメール送信」などについて
メール通知機能の実装にあたっては、まず、Windows Azure Platformには、現在メールサーバ(SMTPサーバ)が準備されていない。従ってメール送信する為には、外部にある何らかのメールサーバを利用する必要がある。
そこで今回の案件においては、オンプレミスの自社メールサーバを利用した。メール送信自体は、.NET Frameworkの標準機能として準備されており実装は比較的容易であるが、今回は決まった日時に送信するなどの時限的な要件が含まれていたので、バッチ処理的なアプリケーションの実装を行う必要があった。従って、画面等のアクションからオンデマンドで送信するような事は行わず、一旦SQL Azureにトランザクションデータとして保存した上で、それを処理・送信する方式を取っている。
もっとも、これについては、AzureのWorkerRoleでも実装は可能だ。それでも、オンプレミスを採用した理由としては以下の通りである。
- 通常、WorkerRoleでは、マルチスレッド化するなど特別な実装を行わない場合は、同時に1つのアプリケーションしか実行できない。今回はメール送信以外にもバッチ処理が複数必要であり、単純に展開した場合、1インスタンス当り最低でも約8,000円/月が掛かるというコスト上の問題があった。1アプリケーションで済ませる方法もなくはないが、解決するには複雑なアプリケーション実装と複雑な運用が伴うという問題があった(前回述べた通りスモールスタート・コストミニマムが前提となっている)。 -稼働モニタリングなど、運用管理が難しく、オンプレミスで稼働させているように、簡単に実マシンの前で稼働状況の確認やログを参照することが出来なかった。なお、現在は「Remote Desktop」が利用できるようになり、多様な管理形態に対応している。 -他にも複数のバッチ処理があると述べたが、これらにも定時起動などの時限的な要件がある。オンプレミスの場合には、タスクスケジューラ等を利用して簡単に運用管理を行えるが、Azure上では同様の手法が取れなかった。なお、現在は「Startup Task」という機能により、事前に作成したバッチファイルを実行できるようになっており、簡単に設定する事が可能だ。
下図は、インスタンスにRemote Desktop接続した例である。英語版である事を除けば、Windows Server 2008 SP2と同様である事がお分かり頂けると思う。
ただし、これはAzure Guest OS 1.xの場合である。2.xの場合は、Server 2008 R2相当となる。使用するOSの選択は設定ファイルにより行う事が出来る。
一つ注意しておきたいのは、ここで設定変更を行っても、それはあくまで一時的なものである点だ。再配置等のタイミングで初期化されてしまうので、必要であれば、前述した「Startup Task」を利用するなどして永続化する必要がある。
* * *
今回は、Windows Azure Platformの実際の利用方法について簡単ではあるが紹介させて頂いた。
駆け足になってしまったが、Azureの魅力が少しは伝わっただろうか?
ここで紹介した以外にもAzureには様々な魅力的な機能がそろっている。また、今年後半にかけても続々と新機能が追加されていく模様である。読者の方々もこの機会に是非Azureを体験してみてほしい。