[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]]

-[[戻る>FrontPage]]

*目次 [#u07bf137]
#contents

*概要 [#g80e952d]
SaaS設計のポイントを纏めている。

*マルチテナント対応 [#i82ccf3b]

**データ [#o96490c2]
***分割キー [#m54dd84b]
店舗やユーザなどのIDでデータを水平分割する。

***マスタ・テーブル [#s152a9c9]
-各種設定情報
-分割キーにより店舗やユーザを識別。
-非構造化データが多くなる場合、JSONなどを使用する。

***トランザクション・テーブル [#lbe30b37]
-各種エントリ情報
-登録データ、分割キーにより店舗やユーザを識別。
-非構造化データが多くなる場合、JSONなどを使用する。
-集計対象のデータは予めスキーマを定義しておく。

**カスタマイズ [#xf865e8c]

***定義 [#sabc29ae]
-システム共通
--定義ファイル
---*.config
---XML
---,etc.

-ユーザ個別
--マスタ・テーブルに持たせる。
--スキーマ・レスの非構造化データを使用

***プログラム [#zb7390ac]
-カスタマイズはすべて定義で行うようにする。
-EUCでプログラムの追加は可能とする。

-マルチテナント時のプログラム追加をどうするか?
--画面IDなどをGUIDにするなどして自由に追加可能にする。
--マスタ・データやトランザクション・データなどの付帯情報も増える。
---分割キーで対応。
---スキーマ・レスの非構造化データを使用。

**参考 [#ub7fcbe8]
-マルチテナント データ アーキテクチャ~
https://msdn.microsoft.com/ja-jp/library/aa479086.aspx

-知られざる「マルチテナントアーキテクチャ」
--(1)~SaaSはみんな同じではない? - Publickey~
http://www.publickey1.jp/blog/09/1saas.html
--(2)~スケーラビリティのカギは組織ID - Publickey~
http://www.publickey1.jp/blog/09/2id.html
--(3)~スキーマとメタデータの謎 - Publickey~
http://www.publickey1.jp/blog/09/3_2.html

*UIサブシステムの選定 [#v92a5a26]
**業務系 [#yddb9d8a]
-エントリ画面やグラフ表示画面はASP.NET Web Forms

**デザイン重視 [#yc4ab126]
-デザイン重視のコンテンツ部分はASP.NET MVC

**[[HTML/CSS/JavaScript]] [#a4bb8288]
-主流。
-[[スマホネイティブ>#bdfe0b59]]を覚えるのが大変なので、~
できれば[[HTML/CSS/JavaScript]]で開発したい。

**[[スマホネイティブ]] [#bdfe0b59]
-[[HTML/CSS/JavaScript>#a4bb8288]]の操作性やグラフィックを上回る。
-フロントエンド多様化の中、サービスのデリバリーのために無視できなくなってきている。

**[[ハイブリッドアプリ]] [#s8e096de]
-マルチプラットフォームをターゲットとしたアプリケーション。

-[[HTML/CSS/JavaScript>#a4bb8288]]と[[スマホネイティブ>#bdfe0b59]]を組み合せて開発する。

-皮ネイティブと呼ばれる[[スマホネイティブ>#bdfe0b59]]の中に、~
[[WebView]]を使用して[[HTML/CSS/JavaScript>#a4bb8288]]をロードして機能する。

*[[要素技術]] [#t0e76655]
**[[画像認識]] [#o0e2e1fd]
**[[画像処理]] [#o0e2e1fd]

**[[音声入出力]] [#w614cfb6]

*DBMSの選定 [#d05b3825]
**PaaS [#t74cdb03]
[[Google Cloud Platform]]のDB PaaSはMySQL

**OSS-DB [#n72b9cf3]
PostgreSQLに追い風。

***MySQL [#n8a84726]
-商標権・著作権はOracleが保有。
-グローバルでのシェアが大きい。

-マルチストレージエンジン
--MyISAMストレージエンジン
---トランザクション機能なし。
---検索性能を重視する。
---全文検索が利用できる。

--InnoDBストレージエンジン
---高い堅牢性とMVCCによる高い並列性を兼ね備えている。
---メディア障害時の更新ログによるリカバリが可能。
---あらゆるアプリケーションに対応出来るストレージエンジンとなった。

-MySQLのデータプロバイダについては[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%E3%83%87%E3%83%BC%E3%82%BF%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80#k23406ba]]。

***PostgreSQL [#ybefde21]
-日本でのシェアが大きい。
-ACID重視(日本の市場でトランザクション機能が重視されていたため)

-PostgreSQLのデータプロバイダについては[[コチラ>https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%E3%83%87%E3%83%BC%E3%82%BF%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80#dad19e08]]。

***参考 [#eed17fa0]
-MySQLとPostgreSQLの違いを学んでみる。 - 青い空~
http://blog.goo.ne.jp/bluesky0077/e/70b851e84276f5958149630ca13efb17

-「PostgreSQL」が好調--Oracle DBの牙城に迫る? - ZDNet Japan~
http://japan.zdnet.com/article/35066741/

-DB-Engines Ranking - popularity ranking of database management systems~
http://db-engines.com/en/ranking

-[[ADO.NETデータプロバイダ - マイクロソフト系技術情報 Wiki>https://techinfoofmicrosofttech.osscons.jp/index.php?ADO.NET%E3%83%87%E3%83%BC%E3%82%BF%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80]]

*インフラ [#a4656209]

**VM [#uf233794]
***Cloud [#k896abe7]
-[[Google Cloud Platform]]
-[[Microsoft Azure]]

***VPS [#s24f6aa5]
実はVPSも良いのではないかと思っている。

-Windows Serverが使えるVPSサービスを比較 | VPS-FAN~
http://vps-fan.com/windows_server/
--VPSサービス仕様 WindowsServerオプション:レンタルサーバー ABLENETのVPS~
エイブルネット・ホスティングの仮想専用サーバー 転送量無制限~
https://www.ablenet.jp/vps/spec/op_win.html
--さくらのVPS for Windows Server~
http://solution.sakura.ad.jp/windows_vps/

**Web [#ldbc1e31]

***SSL [#f504ba7f]
-SSLサーバ証明書の料金比較と選び方総まとめ | ServerKurabe~
http://serverkurabe.com/ssl-matome/

*[[QandAAnalysisEngineの開発で検討したこと。]] [#y48dadaf]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS