SlideShare a Scribd company logo
1 of 42
Download to read offline
Introduction to Application
Architecture on ASP.NET MVC
(仮)
福井 厚 Atsushi Fukui ( @afukui )
.NET FEST 2015
2015.9.26
本セッションの内容について
• 本セッションの内容は、発表者個人の経験に基づく個人的な意見で
あり、所属する団体、組織の公式な見解、発表ではありません。
• あくまでスピーカー本人の経験に基づく内容となっていることをご承
知おきください。
自己紹介
• 福井 厚 (ふくい あつし)
• @afukui
• メーカー系サポートでOS、言語などを担当後、ソフト開発会社でC/S型業務パッケージ、
C/C++用ライブラリ等の開発を経験。94年にSIerへ転職し業務アプリケーションを多数開
発、データベース設計支援、COM+による分散フレームワークの開発などを担当。外資
系SIerに転職しソリューションアーキテクトとして.NETによる企業向けフレームワークの
構築などを担当。2011年3月株式会社アークウェイに入社、プリンシパル コンサルタン
トとして企業向けソフト開発コンサルティングを行う。
2015年7月よりアマゾンデータサービスジャパン株式会社で Solutions Architect として活
動。
• 2008年8月、Microsoft Certified Architect for Solutions Certification (MCA) に認定される。
• マイクロソフトMVPアワード受賞歴11回(2015年7月にMVP 終了)
個人ロール年表
1980 1990 2000 2010
カスタマサポート
フィールドSE
ソフトウェア
デベロッパー
純国産システムエンジニア
外資系
アーキテクト
開発
コンサルタント
クラウド ソリューション
アーキテクト
アジェンダ
• コンテキスト
• アーキテクチャとは何か
• アーキテクチャ検討ポイント(ASP.NET MVC 編)
• まとめ
コンテキスト
• 本セッションのテーマ
• ASP.NET MVC アプリケーションのアーキテクチャ ポイント
• 標準で提供されている機能に絞って紹介
• 用語(アーキテクチャ)
• このセッションではアーキテクチャを主にソフトウェア アーキテクチャの意味
で使っています。
• 対象
• 企業向けアプリケーション開発を行っているアーキテクト、設計者、開発者
• レベル 200 のイントロダクションです。
• 正解を教えるセッションではありません。
アーキテクチャとは何か
アーキテクチャとは ISO/IEC/IEEE 42010(IEEE 1471改定版)
http://www.iso-architecture.org/ieee-1471/cm/
アーキテクチャは階層構造
• 企業全体のアーキテク
チャから実装コードまで
すべてがアーキテクチャ
アーキテクチャ ≠ フレームワーク
• フレームワークを利用することがアーキテクチャを作ることではあり
ません
• 目的と制約に従って必要な品質特性を満たすソフトウェアの構造を
定義し共通利用する機能を提供するものがアーキテクチャ
• 従って目的と制約が異なれば違うアーキテクチャが必要です。
正しいアーキテクチャを構築するために
• 要求定義
• フィーチャーの抽出
• 実装検証
アーキテクチャ要求定義
• 目的の整理
• アーキテクチャを構築する目的は何か
• ステークホルダーごとに要求は異なる
• アーキテクチャが解決すべき課題は何か
• 満たすべき品質特性
• 重視するソフトウェアの品質特性は何か
• 制約
• 組織、環境、過去の資産、開発者のスキル、政治的
なしがらみなど、どのような制約があるか
• 利用技術の選定
• 長く使える技術を見極める
ソフトウェア品質特性 ISO/IEC 25010(IEEE9126 の改定)
• どの品質特性と副特性を重視するか
© 2015 iso25000.com
フィーチャーの抽出
• 目的に従ってアーキテクチャが提供すべきフィーチャーを抽出
• オプションとマンダトリの整理
• フィーチャーと品質特性のマッピング
• 抽出したフィーチャーで重視する品質特性を満たしているかを確認
する
実装検証
• 抽出したフィーチャーがアーキテクチャ要求を満たしていることを検
証
• セキュリティ
• 想定されるケースでの認証、認可は必須
• パフォーマンス
• パフォーマンスは測るまで誰にも分らない
• 限界点を知る
• システムにとって最も難しい機能から検証する
• クラウドの新機能活用や新しい認証基盤の利用など、過去にやったことがな
いものは失敗するかもしれないことを前提に必ず検証する
アーキテクチャ検討ポイント
ASP.NET MVC 編
アーキテクチャ検討ポイント
• UIデータバインド
• バリデーション
• 例外処理
• 認証・認可
• データアクセス
UI データバインド
• サーバーサイド レンダリング
• ASP.NET MVC では View を生成する処理
• Razor テンプレートをもとに動的にHTML を生成
• クライアントサイド データ バインディング
• クライアント JavaScript から非同期でデータを取得
• HTML DOM にデータをバインド
UI データバインド
Web Server /
App Server
Browser DB Server
サーバーサイド レンダリング
• 動的にHTMLページを組み立て
• データアクセスした結果をページの挿入
• 生成したページを送信
生成したHTML
HTTP GET リクエスト
• 生成されたHTMLをブラウザで
表示
UI データバインド
Web Server /
App Server
Browser DB Server
クライアントサイド データ バインディング
• Web サービスを公開
• データアクセスした結果をJSONとして返
却
JSONデータ
ajax GET リクエスト
• 取得したJSONデータをHTML
DOMにバインド
UI データバインド
メリット デメリット
サーバーサイド
レンダリング
• 単一のプログラミング パラダイム
• サーバーサイドでのみ実現可能な
処理
• 認証、認可
• ブラウザの言語判定
• 状態情報をサーバー側で保持するた
めサーバーメモリを消費
• 負荷分散時の状態情報の保持でパ
フォーマンスが低下
• リクエスト数の増加でレンダリング処理
の負荷が増大
クライアント
データバインド
• 状態を HTML DOM に保存すること
でエラー発生時に再送が可能
• サーバーサイドのメモリを節約
• レンダリング処理をクライアント側
で行うため、サーバーの負荷を削
減
• 非同期のためデータバインドが遅延す
る可能性あり
• 複数のプログラミング パラダイムが必
要
Demo
バリデーション
• クライアントサイド バリデーション
• jQuery Validation
• サーバーサイド バリデーション
• ModelState プロパティ
• Entity クラスの Attribute
Demo
例外処理
• 例外は原則として集約的に捕捉して処理する
• Web API の例外処理
• Web API 2.2 Global Error Handling
• Web API のパイプラインで発生したすべての例外を補足
• 以下のインターフェイスを継承
• IExceptionLogger
• IExceptionHandler
• それ以外の例外処理
• Global.asax の Application_Error イベントハンドラ
• IIS、ASP.NET で発生した例外を補足
Demo
認証・認可
• Windows 認証
• IIS の統合認証を有効化
• Web.config の system.web/authentication の mode=“window”
• Cookie Authentication
• OWIN Authentication メソッド
• Cookie Authentication (Form 認証)
• External Sign in Cookie (Oauth 2.0 認証)
• Two Factor Sign In Cookie
• Organization Authentication
• Azure AD ドメイン
• オンプレミス ADFS
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
External Sign in 認証 手順 (google IDの例)
ClientIId、Client Secret が生成される
External Sign in 認証 手順 (google IDの例)
• Startup.Auth.cs 内の処理を有効化
• 利用する Open ID のコメントを外し、Client Id、Client Secret を追加
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
ClientId = “your client id",
ClientSecret = “your client secret"
});
Demo
データアクセス
• Entity Framework を活用
• JSONで集約オブジェクトのコレクションを追加すればEFが自動的に親子テー
ブルにデータを追加してくれる
• Entity Framework 7 に備えて
• Code First From Database を選択
• EF7 では EDMX が無くなる
• DBを変更した場合は Entity クラスを生成し直し
データアクセス
• テーブル間のリレーションシップから生成されるナビゲーション プロ
パティの相互参照に注意
• Costomer と Order など相互にナビゲーション プロパティを持つものは、デ
フォルトのJsonシリアライザの設定で循環参照例外が発生
• WebApiConfig.cs の Register メソッドに Json.NET のシリアライザ設定
を変更する
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling
= Newtonsoft.Json.ReferenceLoopHandling.Ignore;
Demo
まとめ
• アーキテクチャは容易には変更できないので長いスパンで利用でき
る技術を選択する
• アーキテクチャの選択は常にトレードオフがある
• 選択した理由を説明できることが重要
Q & A
ご清聴ありがとうございました

More Related Content

What's hot

20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略Makoto Nishimura
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング一希 大田
 
How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725彰 村地
 
20150905 stream analytics
20150905 stream analytics20150905 stream analytics
20150905 stream analytics一希 大田
 
開発支援ツールとは?
開発支援ツールとは?開発支援ツールとは?
開発支援ツールとは?Daisuke Nishino
 
WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎ssuser349357
 
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Akira Hayashi
 
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Akira Hayashi
 
20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発一希 大田
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する日本マイクロソフト株式会社
 
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラム10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラムRie Moriguchi
 
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証Yuta Matsumura
 
(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法彰 村地
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Tsukasa Kato
 
.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門Akiyoshi Tsuchida
 
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!Kazumi IWANAGA
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能SatsukiYabu
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏Yuta Matsumura
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しようShinya Nakajima
 

What's hot (20)

20150926 uwpストア攻略
20150926 uwpストア攻略20150926 uwpストア攻略
20150926 uwpストア攻略
 
めとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディングめとべや東京10 Universal Windows Platform appの新しいバインディング
めとべや東京10 Universal Windows Platform appの新しいバインディング
 
How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725How tousemicrosoftsearch 20200725
How tousemicrosoftsearch 20200725
 
20150905 stream analytics
20150905 stream analytics20150905 stream analytics
20150905 stream analytics
 
開発支援ツールとは?
開発支援ツールとは?開発支援ツールとは?
開発支援ツールとは?
 
WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎WindowsにおけるUIスレッドの基礎
WindowsにおけるUIスレッドの基礎
 
Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版Macアプリのインストーラ作成ツールSwift版
Macアプリのインストーラ作成ツールSwift版
 
Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介Xcode以外の開発環境 AppCodeの紹介
Xcode以外の開発環境 AppCodeの紹介
 
20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発20150530 めとべや東京8 universal windows platform appの画面開発
20150530 めとべや東京8 universal windows platform appの画面開発
 
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
 
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラム10分で(だいたい)わかるMicrosoft MVP アワードプログラム
10分で(だいたい)わかるMicrosoft MVP アワードプログラム
 
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
 
(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法(管理者向け) Microsoft Edge の展開と管理の手法
(管理者向け) Microsoft Edge の展開と管理の手法
 
Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう! Docker on azure!進化していくcontainerを覗いてみよう!
Docker on azure!進化していくcontainerを覗いてみよう!
 
.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門.NET開発者のためのMicrosoft Learn入門
.NET開発者のためのMicrosoft Learn入門
 
.Netlab202107
.Netlab202107.Netlab202107
.Netlab202107
 
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
 
お気に入り拡張機能
お気に入り拡張機能お気に入り拡張機能
お気に入り拡張機能
 
これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏これから始める Bot Builder 開発のコツと舞台裏
これから始める Bot Builder 開発のコツと舞台裏
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
 

Viewers also liked

UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張Ryota Murohoshi
 
わかば向けAzure
わかば向けAzureわかば向けAzure
わかば向けAzurejazug_girls
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~MakotoItoh
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと信之 岩永
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Yoshifumi Kawai
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話Wooram Yang
 
Unity入門講座その3
Unity入門講座その3Unity入門講座その3
Unity入門講座その3spi8823
 
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3DKouji Hosoda
 
Unity入門講座その2
Unity入門講座その2Unity入門講座その2
Unity入門講座その2spi8823
 
Unity入門講座その1
Unity入門講座その1Unity入門講座その1
Unity入門講座その1spi8823
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Yoshifumi Kawai
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜narumi_
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Yoshifumi Kawai
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことMASA_T_O
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityYoshifumi Kawai
 
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版ui nyan
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#Yoshifumi Kawai
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)Kuniharu(州晴) AKAHANE(赤羽根)
 

Viewers also liked (19)

UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張
 
わかば向けAzure
わかば向けAzureわかば向けAzure
わかば向けAzure
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
Unity入門講座その3
Unity入門講座その3Unity入門講座その3
Unity入門講座その3
 
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3D
 
Unity入門講座その2
Unity入門講座その2Unity入門講座その2
Unity入門講座その2
 
Unity入門講座その1
Unity入門講座その1Unity入門講座その1
Unity入門講座その1
 
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
 
Unityで覚えるC#
Unityで覚えるC#Unityで覚えるC#
Unityで覚えるC#
 
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
 
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
 
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
 
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
情報システム部門のタスク管理とIT全般統制 ~ Excel管理からの脱却 ~ (ITS Redmine #RxTstudy #5)
 

Similar to Introduction to application architecture on asp.net mvc

Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドHirotada Watanabe
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~Takeshi Shinmura
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSAmazon Web Services Japan
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Akira Inoue
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要TomomitsuKusaba
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた日本マイクロソフト株式会社
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携Atsuo Yamasaki
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編Yusuke Kodama
 
Office365 api dev 20140802
Office365 api dev 20140802Office365 api dev 20140802
Office365 api dev 20140802Seiji Noro
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...Fujio Kojima
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所真吾 吉田
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Akira Inoue
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後Akira Inoue
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護Naohiro Fujie
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺Yusuke Wada
 
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」アトラシアン株式会社
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Yuki Hattori
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Shotaro Suzuki
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 

Similar to Introduction to application architecture on asp.net mvc (20)

Apps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウドApps for office オンプレミスとクラウド
Apps for office オンプレミスとクラウド
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
 
Windows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWSWindows 開発者のための Dev&Ops on AWS
Windows 開発者のための Dev&Ops on AWS
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
 
ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要ASP. NET Core 汎用ホスト概要
ASP. NET Core 汎用ホスト概要
 
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
【de:code 2020】 「あつまれ フロントエンドエンジニア」 Azure Static Web Apps がやってきた
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携SharePoint Business Connectivity Services を使用した外部アプリケーション連携
SharePoint Business Connectivity Services を使用した外部アプリケーション連携
 
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
 
Office365 api dev 20140802
Office365 api dev 20140802Office365 api dev 20140802
Office365 api dev 20140802
 
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発 はじめに ~ Windows アプリケーション開発初学者の方向け Visual Studio を使ったアプリケーショ...
 
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
サーバーレスのアーキテクチャパターンとそれぞれの実装・テストの勘所
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
2019年9月18日開催AWS Japan × Atlassianセミナー_セッション2「AmazonカルチャーとDevOps」
 
Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発Azure serverless!! azure functionsでサーバーを意識しない開発
Azure serverless!! azure functionsでサーバーを意識しない開発
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 

More from Atsushi Fukui

「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発
「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発
「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発Atsushi Fukui
 
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜Atsushi Fukui
 
20170809 AWS code series
20170809 AWS code series20170809 AWS code series
20170809 AWS code seriesAtsushi Fukui
 
Introducing C# in AWS Lambda
Introducing C# in AWS LambdaIntroducing C# in AWS Lambda
Introducing C# in AWS LambdaAtsushi Fukui
 
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたか
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたかVSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたか
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたかAtsushi Fukui
 
Architecture driven development のすすめ
Architecture driven development のすすめArchitecture driven development のすすめ
Architecture driven development のすすめAtsushi Fukui
 
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep diveEntity Framework 5.0 deep dive
Entity Framework 5.0 deep diveAtsushi Fukui
 
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkVSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkAtsushi Fukui
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?Atsushi Fukui
 
Vsug Leaders Summit 2008:A.Fukui
Vsug Leaders Summit 2008:A.FukuiVsug Leaders Summit 2008:A.Fukui
Vsug Leaders Summit 2008:A.FukuiAtsushi Fukui
 

More from Atsushi Fukui (11)

「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発
「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発
「リモートペアプロでマントルを突き抜けろ!」AWS Cloud9でリモートペアプロ&楽々サーバーレス開発
 
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
 
20170809 AWS code series
20170809 AWS code series20170809 AWS code series
20170809 AWS code series
 
Introducing C# in AWS Lambda
Introducing C# in AWS LambdaIntroducing C# in AWS Lambda
Introducing C# in AWS Lambda
 
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたか
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたかVSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたか
VSUGアーキテクトパネル アーキテクトはテクノロジーの進化にどのように対応してきたか
 
Architecture driven development のすすめ
Architecture driven development のすすめArchitecture driven development のすすめ
Architecture driven development のすすめ
 
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep diveEntity Framework 5.0 deep dive
Entity Framework 5.0 deep dive
 
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity FrameworkVSUG Day 2010 Summer - Using ADO.NET Entity Framework
VSUG Day 2010 Summer - Using ADO.NET Entity Framework
 
鉄人28号と私
鉄人28号と私鉄人28号と私
鉄人28号と私
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?
 
Vsug Leaders Summit 2008:A.Fukui
Vsug Leaders Summit 2008:A.FukuiVsug Leaders Summit 2008:A.Fukui
Vsug Leaders Summit 2008:A.Fukui
 

Recently uploaded

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Introduction to application architecture on asp.net mvc