Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

減災ソフトウェア開発に関わる一日会議2016

641 views

Published on

発災後に必要となるシステム開発での技術選定

Published in: Social Media
  • Be the first to comment

減災ソフトウェア開発に関わる一日会議2016

  1. 1. 発災後に必要となる システム開発での技術選定 及川卓也 (takuya.oikawa@gmail.com) IT DART
  2. 2. 前提 発災後でのITの役割は、Webサイトやアプリケーションなどの開 発に留まらない。むしろ、それ以外での対応がメインであることが 多い。 それを踏まえた上で、この発表では、「開発」が必要になるニーズ があった場合の技術選定について考察する。
  3. 3. システム要件 ターゲットユーザー ● 他支援団体および個人 ● 自治体関係者 ● 一般市民(主に、被災地以外の市民) 内容 ● 情報発信 ● 支援作業へのIT支援 ● 他IT支援で使われる汎用技術
  4. 4. 例)熊本地震での支援活動 プロジェクト ターゲットユーザー 内容 自治体HPレスキュープロジェクト 1) 自治体関係者 2) 一般市民 情報発信 Excel Geo 他支援団体および個人 他IT支援で使われる汎用技術 マークシートを用いた 災害ボランティア 登録システム(検討のみ) 他支援団体および個人 支援作業へのIT支援 物資管理帳システム 他支援団体および個人 支援作業へのIT支援 り災証明発行システム(未使用) 自治体関係者 支援作業へのIT支援
  5. 5. 共通の要件 1. 迅速に提供する必要がある 2. 提供後にも仕様変更の可能性が高い 3. 利用者が使うプラットフォームで利用できる必要がある 「利用者が使う」=「利用者が使える」 ● 普段使っているのと同じプラットフォーム ● 普段使っているのと同じ操作性
  6. 6. プラットフォーム Windows ● バージョンに注意 ● すでにあるWindowsを使う場合 ○ どのバージョンのWindowsが入っているか不明 ● 支援用に新たにWindowsが提供されている場合 ○ Microsoftの中古PC用のライセンスを利用する場合、最新バージョンで無い可能性あり スマートフォンやタブレット(=AndroidかiOS) ● バージョンに注意することはWindowsと同じだが、次に述べる理由でWindowsほど バージョンを意識しなくても良い
  7. 7. システム提供に要求される「迅速性」に応えるため 要件:「迅速に提供する必要がある」&「提供後にも仕様変更の可能性が高い」 技術 Windows スマートフォン/タブレット ネイティブアプリケーション ◯(更新時の方法は要検討) × Web ◯ ◯ ネイティブアプリケーション ● WindowsではWindows Store以外からでもインストールは可能だが、スマートフォンやタブレットでは、App StoreやPlay Storeからの みインストール可能であり、ストアには審査があるため、迅速な提供や変更は期待できない。Play Storeは厳密には任意のアプリケー ションを利用するように設定可能であるが、セキュリティを考慮すると、推奨できない。 Web ● WebはURLにアクセスしてもらえさえすれば、常に最新版を利用してもらえる。
  8. 8. システム提供に要求される「操作性」に応えるため 要件:「普段使っているのと同じ操作性」 技術 Windows スマートフォン/タブレット ネイティブアプリケーション ◯ ◯ Web △ △ Web技術の限界 ● Web技術の発展により、ネイティブアプリケーションに近い操作性は可能となっているが、 使っているプラットフォーム(バージョン)によってはWebではまだ出来ないこともある。微 妙に操作性が異なることも多い。スマートフォンやタブレットにおいては、適切に作ればほ とんどの場合は問題ない。
  9. 9. 結論 Windows ● プラットフォームとの連携が必要な操作がある場合はネイティブアプリケーション スマートフォン/タブレット ● Web Windowsとスマートフォン/タブレット両方をターゲットにする場合 ● Web ● マルチプラッフォーム開発フレームワーク
  10. 10. Windows 留意点 ● Officeとの連携 ○ Officeの機能でシステムを作ったほうが良いことも多い ● Windowsのバージョン ○ Windows 8以降ならば、UWPとして開発できる ○ それ以前のバージョンも対象とする場合は、 .NETアプリケーションとして C#などで開発するのが一 般的 ● UX ○ UXデザインガイドラインに準拠 ■ https://msdn.microsoft.com/ja-jp/mt634411.aspx ○ 特にファイル操作など
  11. 11. マルチプラットフォーム開発フレームワーク Electron ● Chromiumをコアに用いる ● Web技術で開発可能 Xamarin ● C# + .NETで開発可能
  12. 12. Web シンプルな情報発信のWebサイト ● 簡易Webサイト制作サービス ○ HTMLの知識なしでもかっこいいサイトが作れる、サイト構築サービス 4つ比較(Wix、Weebly、 Strikingly、Jimdo) ● Tumblr ● WordPress ● すべて自作(HTML、CSSやJavaScriptを用いる)
  13. 13. サービス 難易度 ホスティング ユーザーによる更新 簡易Webサイト制作サー ビス 低 込み 可(優しい) Tumblr 中 込み 可(やや難しい) WordPress 中〜高 別途用意 可(難しい) すべて自作 高 別途用意(GitHub Pagesを 使えば無料) 不可(技術がわかるユーザーの場 合を除く) コスト ● GitHub PagesとTumblrは無料。 ● 簡易Webサイト制作サービスも無料プランありのことが多い。 ● ホスティングサービスや簡易Webサイト制作サービスは災害支援で無料にしてくれ ることも多い。
  14. 14. Web Webアプリケーション ● 開発の迅速性で、PaaSを選択することも検討する ○ Google App Engine ○ SFDC Heroku ○ IBM Bluemix ○ Cybozu kintone ● 一部の機能をほぼノンプログラミングで行えるBaaSも検討する ○ Google Firebase ○ Nifty mBaaS ● 【Bad Practice】 ○ 実例: 自治体サイトモニタリングにて、場当たり的に GAS (Google Apps Script) で開発を始めた が、すぐに壁にあたり、 Shellスクリプトで開発。後にホスティング事業者を引っ越すに際し、 Linuxか らFree BSDに移行することになったのだが、 Shellスクリプトがそのままで動作っせず、別事業者に
  15. 15. Webにて留意すべき点 アクセス集中時にダウンしないような工夫 ● アクセスは多くの場合は限定的なので、心配しすぎる必要は無い。 ● ただ、多くの人が使う可能性があるサービスの場合は、メジャーなサービスを使う のが良い。もともとアクセス過多に耐えられる設計となっている。 ○ GitHub Pages ○ Amazon Web Services ○ Google Cloud Computing ○ Microsoft Azure ○ IBM Softlayer ○ さくらインターネットなど国内の有力事業者 ● クラウドでのインスタンスの迅速な追加など。 ● セキュリティは大事。妥協しない。
  16. 16. まとめ 迅速に提供でき、迅速な仕様変更に応えられるような、利用者が使えるシステムを開発 するための技術を選定する必要がある。 Windowsの場合はネイティブアプリケーションを、スマートフォンとタブレットの場合には Webを用いることを検討する。マルチプラットフォーム開発フレームも有効。 Webは情報発信用途の場合はユーザーによる操作を前提に考える。アクセス集中は気 にしすぎる必要無いが、必要に応じてクラウドを検討。 Webアプリケーション開発では、開発の迅速性を優先させる。移植性の高い技術を使 う。 セキュリティは妥協しない。

×