クラウドで衆議院議員選挙立候補者支援システムつくって見た...その後@クラウド(画像あり)
そういえば、クラウドコンピューティングの特徴は、システムとしての資産を持たずに(PCやディスクなどの物理装置を持たず、そしてOSやソフトウェアそのものというソフトウェアを自前で持たず)に、アプリケーションを利用できる(時には開発・活用できる)ことである。
ってことで、実は1ヶ月ほど前に、作ったシステムがあります。本格的に作るつもりはなかったのですが、「開発者としての血が騒ぐ」ってことで、適当なところまではできたつもりです。
で、この時期、クラウドの特性を活かすなら!!、そう、衆議院議員選挙です。18日に公示。30日に投票ですからね。この時期だけの全国行事です。(行事ではないか...)
つまり、衆議院解散してから公示、そして投開票日、その後しばらくぐらいは使うであろうシステムと言えば「衆議院議員選挙立候補者支援システム」。必要な機能は、
・支援団体・後援者管理
・支援金、運営資金管理
・講演、遊説管理
・パート・アルバイト管理
・選挙日誌
・ニュースなどのRSS収集
・選挙情勢分析
などでしょうか。そんなに難しくないですね。データとしてはあっても数百件から数千件。しかも、複雑じゃなくってどれもマスタ入力系に近い。相互関係もちょっとだけ。
で、何で作るか...。はい、force.com で作ってみました。そして、Oracle の DaaS(といっても過言ではないサービス)、Oracle Application Express で作ってみました。この 2つのサービスを使って、「衆議院議員選挙立候補者支援システム」の簡単バージョンを作ってみました。すべては勉強のため。画面はこんな感じ。。。(Oracle Application Express 版、force.com も似たようなものがすぐにできあがります、しかも、かっこいい)
で、ぶっちゃけた話、force.com は評判通り、確かにクラウドコンピューティング上でアプリケーションを開発する良い環境であり、かつ、実行環境としても良い環境だと感じます。そして、Oracleがサービスしている、DaaSチックなOracle Application Expressも本番環境としてのサービスには使えませんが、開発という意味ではこちらもとってもわかりやすいですね。
両者を簡単に比較する前に、公示が終わって、選挙戦まっただ中、このシステム売り込んだけど(個人的にいろいろな人と話をしました)、どうだったんだ。。。って話ですが、ぶっちゃけ、選挙期間中にPCを使った管理をしている人はそれほど居ないようです(実話)。演説や講演、遊説ってのは、そんな管理する対象でもないらしく、しかも、資金管理は選挙事務所で帳面につけている(せいぜい Excelぐらい)らしいです。そのほかにも、「複数の人が見る、共有する」ってことも少ないようです。ただ、選挙期間中だけではなく選挙が終わっても使えるシステムである、ってことは理解いただけたようです。なので、「Excelの代わりに!、こんなに便利ですよ」って売り込みがよさげです。もうちょっとやってみようと思います。
さて、force.com と Oracle Application Express。
今までの私の経験がすぐに活きるのは、Oracle Application Express の DaaSみたいなサービス版。だって、テーブルのデザインをして、画面に貼り付けて、集計画面と入力画面を作って、でもって画面を区切って地図とかニュースとかだして、あとはPL/SQLでちょっとプログラムを作るだけ。ぶっちゃけ、いままでやってたことと同じことをクラウド上で実現できます(これってクラウドコンピューティングでとっても大切なメッセージだと思います)。でもって、これをクラウドから自分のPC(ノートPCでもなんでも可)に、ひょいと持ってこれる。って点も評価できます。
逆に、これからの経験で役に立ったのは、force.com。こちらは、テーブルのデザインから入るとは違い、どちらかというと逆方向。顧客管理を実現するSaelsforce.comのアプリケーション開発のためのひな形や用意されている部品(オブジェクトやらコンタクトリストっぽいものやら、ワークフローやら)は、ほぼそのまま活用できます。Javaライクな記述でカスタマイズもできるので、新しいことを覚えるのがイヤでなければ、すんなりと勉強できると思います。ただ、今回のようなアプリケーションだと、マスタ保守アプリケーションに近いわけで、どうしてもテーブルのデザイン中心に考えてしまう私の頭には、言葉の違いの吸収が必要ですね。いずれにしろ、作ったアプリケーションをクラウドコンピューティング上のサービスとしてすぐに展開できるのも魅力です。
これらの環境は、Windows Azure や Google App Engine などのクラウドコンピューティングのサービスとはことなり(もちろん、Amazon Web Serivces とも異なり)、すぐにアプリケーションを開発することができる、という世界を実現してくれます。今回、勉強と思って作成したアプリケーションですが、その域を超えて夢中になったのもこれらのサービスの魅力かもしれません。