質問: WEBで帳票を出力したく思います。 帳票は日本語(明朝体)で、提携部分+コードでの文字記載あり ebサーバー自体は他の通常のレンタルサーバーで受ける(A) APIの形で帳票出力用のデータをPOSTで受取り(原則テキストのみの予定)、PDFを作成して返す。Azure(B) ユーザーとのやりとりは(A)サーバーでやって、帳票出力部分のみを(B)で待ち受けして(A)からのAJAX等でデータを受け取ってPDFを出力すると言う流れを考えました。 絶対に動作自体は出来るのは帳票の部分だけを自社サーバーとか大げさで無く、通常のWindowsServerをローカルにおいて光を一本別で引いてそこで待ち受けするのも良いかな?と思ったんですがライセンスやコスト的に大丈夫なのかわからず・・ アクセス数的にはそこまでではない予定なので(多くてせいぜい月に数百枚程度?)まずは従量制であるAzureでやってみようかと思いました。 その際にこういう使い方だとどの選択が正解か、ご指導頂きたく思いました。 1. VirtualMachineで通常のC#アプリを動作させる 2. ASP.NetのWebFormsでレポートを作成して出力 3. ASP.NET WebApiでASP.Netで作成になるのか?? を思いつきました。 そもそも動作としてはWebApiがドンピシャの動作になると思うんですがコードが全く変わるみたいなのでReportがそもそも出来るのかが調べた限りでは不明でした。 System.Web.MVCがSystem.Web.Httpになる? WinFormsが待ち受け出来るのであればそれが良さそうですが・・・ 間違いなく出来そうなのはデスクトップアプリのWinFormで作ってVirtualMachineで動作させて待ち受けして出力できれば良さそうかと思ったのですが、外からの待ち受けが可能なのか?ライセンスの問題も分からず。 そもそもPHPでのPDF出力を春先頃に調査してみたところフリーのライブラリは全く思い通りにならず線を引くことすら、日本語も難しい状況。 既に構築済みの枠にテキストをはめるのなら・・と思いましたが位置がきっちり決まらない・・・(ズレる?) これがAzureなら解決できるかな?と思った次第です。 この辺、どこか資料類ありませんでしょうか? もしくは当然有料で構いませんが、これを使えば解決するみたいのはありませんでしょうか?? 雑な質問なのは承知してますが、過去のteratailとかも質問はいくつかありましたが結局皆さんがどう解決したのがわからず・・ よろしくお願い致します。
回答: 仕様がよくわかりませんが、Azureでいろいろなサービスを組み合わせると、思ったよりもお金がかかります。 現状はWebアプリを処理できるサーバだけが必要なように見えますが、DBが必要になったりするとさらにコストがかかります。 「よくわからないので、とりあえず試しに作ってみたい」、というのであれば、(御社にあるのかわかりませんが)余っているWindows10のPCにIISを入れてWebアプリを動かしてみてはいかがでしょうか。 少なくとも、レンタルサーバ+Azureのような複雑な組み合わせはやめるべきです。 私には、自社サーバが大げさとおっしゃっていますが、レンタルサーバ+Azureの組み合わせの方が大げさに見えます。 ちなみに、上記は「すでに何らかのアプリケーションがあり、それを動かしたい」という前提で記載しています。 今後新たに仕様を決め、アプリケーションを構築するところから行いたいのであれば、要件定義を行いアプリケーション作成会社に依頼した方が良いです。 その場合、そのアプリケーションが「社内だけで動くのか」「社外からもアクセスできるのか」、「ブラウザで動作するのか」「Windows等のアプリケーションを作成して動作するのか」などを決めましょう。 ちなみに、WindowsFormのようなアプリケーションを使って、社外からもアクセスする、というような無茶な仕様だと法外な見積もりが出てくると思いますので、現実的な仕様を作成ください。 ただ単に帳票を出力したい、なら個人的にはExcelとかWordで作ってしまえば良いと思います。 (好きな様にレイアウトでき、好きなところに文字が入りますし) (文字は手書きになるでしょうけど)