「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>サービス]] *目次 [#u07bf137] #contents *概要 [#g80e952d] SaaS設計のポイントを纏めている。 *セキュリティ [#d0e9a8ad] **[[認証基盤]] [#j7e18e58] 先ずはサインアップさせないと何もできない。 **[[ゼロトラスト]] [#b64b5b1d] [[ゼロトラスト]]なる概念の追加。 *インフラ [#a4656209] **VM [#uf233794] ***[[クラウド]] [#k896abe7] ***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] ***[[Apache vs nginx]] [#l382b8c1] -[[Apache]] -[[nginx]] ***SSL [#f504ba7f] -[[Lets’s Encrypt]] -SSLサーバ証明書の料金比較と選び方総まとめ | ServerKurabe~ http://serverkurabe.com/ssl-matome/ **DBMS [#d05b3825] ***[[SaaS>クラウド#ba07f897]] [#t74cdb03] ***[[OSS-DB]] [#n72b9cf3] **Network [#y3d6518e] ***DNS [#yb1dcb56] -[[Dynamic DO!.jp]](public -クラウド・サービスなどで提供される。 --public --private ***VPN [#d15e4651] クラウド・サービスなどで提供される。 ***プロキシ [#a38efa7e] クラウド・サービスなどで提供される。 **配信 [#w31fa6a5] ***[[HTTPキャッシュのコントロール]] [#g03a7d29] ***[[CDN(Content Delivery Network)]] [#i5c04166] *UIサブシステム [#v92a5a26] **業務系 [#yddb9d8a] -エントリ画面やグラフ表示画面はASP.NET Web Formsでも良かったが、 -[[.NET Core>.NET Coreのインストールとデプロイ]]に移行されないのでメンテナンス・フェーズとなった。 **デザイン重視 [#yc4ab126] デザイン重視のコンテンツ部分は[[ASP.NET Core MVC>ASP.NET Coreのインストールとデプロイ]]など。 **性能・操作性重視 [#t31f94d8] 性能・操作性を重視する場合、ポストバックではなく、WebAPIにより処理する、~ Single-page application開発用の[[(MV*) UIフレームワーク]]がある。 **[[スマホ>#d0a00e9d]] / [[タブレット>#e6e04fac]] [#bdcc17e8] ***[[レスポンシブデザイン>Bootstrap#l5082446]] [#a4bb8288] [[スマホネイティブ>#bdfe0b59]]を覚えるのが大変なので、~ [[HTML/CSS/JavaScript]]の[[レスポンシブデザイン>Bootstrap#l5082446]]で開発したいケースも多い。 ***[[スマホネイティブ]] [#bdfe0b59] -[[HTML/CSS/JavaScript>#a4bb8288]]の操作性やグラフィックを上回る。 -フロントエンド多様化の中、サービスのデリバリーのために無視できなくなってきている。 ***[[ハイブリッドアプリ]] [#s8e096de] -マルチプラットフォームをターゲットとしたアプリケーション。 -[[HTML/CSS/JavaScript>#a4bb8288]]と[[スマホネイティブ>#bdfe0b59]]を組み合せて開発する。 -皮(側?)ネイティブと呼ばれる[[スマホネイティブ>#bdfe0b59]]の中に、~ [[WebView]]を使用して[[HTML/CSS/JavaScript>#a4bb8288]]をロードして機能する。 -自作の皮(側?)ネイティブだけではなく --[[Cordova (PhoneGap)>ハイブリッドアプリ#q74ad5ff]] --[[Monaca>ハイブリッドアプリ#e119c229]] >などのプロダクトも使用できる。 ***[[クロスプラットフォーム開発ツール]] [#b74eab64] -[[ハイブリッドアプリ>#s8e096de]]以外の[[クロスプラットフォーム開発ツール]]も複数登場してきている。 -[[ハイブリッドアプリ>#s8e096de]]と比べ、ネイティブ・アクセス性と性能が良い。 **[[スマホ]] [#d0a00e9d] ***[[プラットフォーム>スマホ#n7946a19]] [#mc41ffbb] ***[[機能>スマホ#pd3339bf]] [#a5f73c18] ***[[開発>スマホ#ad75f098]] [#h5e22bb6] **タブレット [#e6e04fac] ***画面サイズ [#v0ed5f7e] -4:3(16:10)が主流 --よく使うメディアサイズとデバイスの縦横比~ 〜なぜiPadは4:3なのか | 楽しく生きたいです~ http://fun.hypoes.com/2014/06/ipad43.html -本SaaSはTablet横置きになる。 --16(横):10(縦)に合わせて --16(横):9(縦)の場合、横を%指定のレスポンシブで広げて対応。 ***[[専用端末化]] [#u7175e58] **参考 [#z97d976a] -VS系コンテンツ - マイクロソフト系技術情報 Wiki~ '> 詳細 > UI系 Subsystem & Framework~ https://techinfoofmicrosofttech.osscons.jp/index.php?VS%E7%B3%BB%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84#k830afa2 *マルチテナント対応 [#i82ccf3b] **データ [#o96490c2] ***分割キー [#m54dd84b] -店舗やユーザなどのIDでデータを水平分割する。 -フレームワークがそれ様にできてないとキツイ@ASP.NET Identity。 ***テーブル分割 [#s152a9c9] SQLも変更になるし、あまりやらなそう。 ***スキーマ分割 [#lbe30b37] -DBスキーマを増やしていくパターン。 -Oracleでは、CDB/PDBがサポートされた。 --土台となっている1個のコンテナ・データベース(CDB)に、 --複数(最大252個)の仮想的なプラガブル・データベース (PDB)。 ***コンテナ化 [#d68e3dc2] コンテナ化したいが運用できる?~ (DBなどの永続化モノはコンテナ化しないのがベターユースっぽい) -Docker・k8sでデータベースを実運用 | ユニコーンリサーチ~ https://unicorn.limited/jp/item/703 **カスタマイズ [#xf865e8c] ***定義 [#sabc29ae] -システム共通 --定義ファイル ---*.config ---XML ---,etc. -ユーザ個別 --[[属性テーブル>#w3d64cf7]]に持たせる。 --スキーマ・レスの非構造化データを使用 ***属性テーブル [#w3d64cf7] -テナント毎のカスタマイズがある場合は、 --属性マスタ・テーブル --属性情報テーブル >を利用する。 -参考 --マルチテナント・アーキテクチャ - @IT~ https://www.atmarkit.co.jp/fdotnet/bookpreview/azureoverview_0301/azureoverview_0301_01.html ***プログラム [#zb7390ac] -動作のカスタマイズは定義で行うようにする。 -マルチテナント時のプログラム追加をどうするか? **参考 [#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 *外部サービス [#u09ec451] **[[パッケージ管理システム]] [#q85ce36e] **[[オンライン決済サービス]] [#q1b0fa15] **[[通知プロバイダ]] [#jc9b547b] **[[チャット]] [#xacff86e] *[[要素技術]] [#t0e76655] **[[画像・音声>要素技術#qa6076ee]] [#e5678755] **[[データ>要素技術#n10e3af9]] [#j9bfc3e3] **[[解析>要素技術#x2860ca6]] [#q812823d] **[[ブロックチェーン>要素技術#x93d5410]] [#r31fb087] *[[その他の技術]] [#g8e491ed] **[[QRコード]] [#s066e5ed] **[[ノーコード・ローコード]] [#ta747f58] *活用 [#ye6557e0] **[[OSS>連携OSS確認項目]] [#cabecac3] **[[mBaaS]] [#b83f9776] **[[SaaS活用]] [#g2d8aedd] **SaaS Boost [#eb7283f5] ***[[AWS SaaS Boost]] [#c11a866d] ***他のも出てきそうやね。 [#ec47225c] *その他 [#a3ef266f] **[[サーバレス・アーキテクチャ]] [#i128a40d] **[[マルチサイド・プラットフォーム]] [#p72d5f48] **xの開発で検討したこと。 [#tef59b59] ***[[QandAAnalysisEngineの開発で検討したこと。]] [#y48dadaf]