SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
.NET用アプリケーション フレームワーク
Open 棟梁 V1系
- エンプラシステム開発基盤 -
対応アプリケーション・アーキテクチャ一覧
1
Open棟梁 v1系 全体像
Open棟梁 基幹システム
開発基盤
.NET リッチクライアント
WWWブラウザ
HTML
SOAP, JSON
(バイナリ転送)
WebAPI
(REST, JSON-RPC)
様々なスマート・デバイス
BusinessLogic層
Transaction Root
ベースクラス1
サブクラス
ベースクラス2
DataAccess層
ベースクラス1
サブクラス
ベースクラス2
通信制御機能
.NET サービスインターフェイス
バイナリ・オブジェクト転送
汎用サービスインターフェイス
SOAP, REST (JSON, XML)
バイナリ・オブジェクト転送
Presentation層:ASP.NET
Web Form or MVC
SOAP, REST (JSON, XML)
DBMS
XML or SQLファイル
<?xml version="1.0" ?>
<ROOT>
SELECT A, B, C, D
FROM T
<WHERE>
WHERE
<IF>AND A = @A</IF>
<IF>AND A LIKE @A_LIKE</IF>
<IF>AND B = @B</IF>
<IF>AND B LIKE @B_LIKE</IF>
<IF>AND C = @C</IF>
</WHERE>
ORDER BY
<IF name="SEQUENCE">A
<ELSE>B</ELSE>
</IF>
</ROOT>
保守性 向上、生産性 向上、品質 向上、
信頼性 向上、セキュリティ・脆弱性の排除
2
2層 C / S = 得意
Windows Forms / WPF
• Windows Formsには、P層フレームワークにユーティリティ機能が
多数実装されている。WPFにはP層フレームワークの提供は無し。
• なお、2層C/Sでは、DBMS トランザクション ≒ コネクション
を継続利用するため非同期呼び出しを考慮しないで良い。
• リモートデスクトップ、ClickOnce対応も可能。
P層機能
イベント処理
画面管理・制御, etc.
B、D層機能
トランザクション管理
動的SQL、Dao生成, etc
3
バッチアプリ = 得意
Consoleアプリケーション
• もちろん、バッチも組める。
• 大量データ処理の高速化の
ためのユーティリティ機能もある。
B、D層機能
トランザクション管理
動的SQL、Dao生成, etc
4
3層 C / S 通信制御機能を利用する = 得意
Windows Forms / WPF
• 通信制御機能により、2層 C/S を 3層 C/S に容易に拡張できる。
• 通信制御機能の内部はSOAP、RESTによるオブジェクトのバイナリ転送。
• Windows FormsのP層フレームワークを使用した場合の非同期呼び出しは、
TAP(async/await)ではなくEAP (Control.Invoke、.BeginInvoke)のみ。
• なお、当該アーキテクチャをインプロセス呼出モードで2層C/Sにも適用可。
通信制御機能
DBサーバWeb/APサーバ
B、D層機能P層機能
5
3層 C / S 通信制御機能を利用しない = 得意
• WebAPIをクロスプラットフォーム対応する場合は、RawなSOAP or REST
WebAPIとして実装する必要があるため、通信制御機能は使用できない。
• この場合も、フロントエンド、バックエンドの両方にOpen棟梁を適用可能。
Raw な
SOAP or REST
Windows Forms / WPF DBサーバWeb/APサーバ
B、D層機能P層機能
6
Web2層アプリケーション = 得意
ASP.NET Web Forms
ASP.NET MVC
Web FormsにもMVCにも、P層フレームワークが用意されている。
Web Forms版には ≒ Windows Forms版のユーティリティ機能が実装
されているが、 MVC版は(、機能を乗せ難く)、提供機能が少ない。
あと、同様に、Web Forms版はTAP(async/await)をサポートしない。
DBサーバWeb/APサーバ
B、D層機能P層機能
7
Web3層アプリケーション = 得意
ASP.NET Web Forms
ASP.NET MVC
通信制御機能やRawなSOAP or RESTを使用して、
Web3層アプリケーションも構成可能。
DBサーバWeb/APサーバ
通信制御機能 or
RawなSOAP or REST
8
バックエンド開発 = DBMSアプリなら、まぁ得意
他のフロントエンド技術
B層、D層機能を使用可能
DBサーバWeb/APサーバ
B、D層機能
9
バックエンド開発 = DBMSアプリ以外は苦手
他のフロントエンド技術
NoSQLを使用したり、WebAPIのHubになったり、
… そういうのは苦手(お役に立てない)。
しかし、項目移送ぐらいなら、NiFiで実装してもイイかも。
NoSQLWeb/APサーバ
WebAPI
お役に立てません!
10
フロントエンド開発 = Windows Formsなら、まぁ、なんとか。
B層、D層機能を使用可能
Windows Forms
しかし、Windows Forms版フレームワーク単体適用だと、ちょっと弱い。
• バックエンドに某TPモニタを使った案件の事例は過去にあった。
• 最近のクラウド、SaaS、WebAPIの対応が難しくなってきている。
他のバックエンド技術
P層機能
イベント処理
画面管理・制御, etc.
11
END
評価方法 - Open 棟梁 Wiki
https://opentouryo.osscons.jp/index.php?%E8%
A9%95%E4%BE%A1%E6%96%B9%E6%B3%95
Get Started !!

Mais conteúdo relacionado

Semelhante a Open棟梁 v1 の対応アプリケーション・アーキテクチャ一覧

Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takeharaHiroshi Okunushi
 
Soracom X AWS Iot X Salesforce
Soracom X AWS Iot X SalesforceSoracom X AWS Iot X Salesforce
Soracom X AWS Iot X SalesforceAkihiro Iwaya
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Kazuya Sugimoto
 
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDev を使...
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDevを使...[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDevを使...
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDev を使...Tatsuhiko Tanaka
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」Kohsuke Kawaguchi
 
Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案Daisuke Nishino
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーションAkira Inoue
 
Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発Shotaro Suzuki
 
19-D-2_業務システム特化型RIA「Nexaweb」
19-D-2_業務システム特化型RIA「Nexaweb」19-D-2_業務システム特化型RIA「Nexaweb」
19-D-2_業務システム特化型RIA「Nexaweb」Developers Summit
 
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~decode2016
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービューAkira Inoue
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれからAkira Inoue
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiajunichi anno
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
 
やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2Tadahiro Higuchi
 

Semelhante a Open棟梁 v1 の対応アプリケーション・アーキテクチャ一覧 (20)

Mvc conf session_3_takehara
Mvc conf session_3_takeharaMvc conf session_3_takehara
Mvc conf session_3_takehara
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Soracom X AWS Iot X Salesforce
Soracom X AWS Iot X SalesforceSoracom X AWS Iot X Salesforce
Soracom X AWS Iot X Salesforce
 
Mvc conf session_1_osada
Mvc conf session_1_osadaMvc conf session_1_osada
Mvc conf session_1_osada
 
Clrh 110716 wcfwf
Clrh 110716 wcfwfClrh 110716 wcfwf
Clrh 110716 wcfwf
 
Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会Web API(Dynamics 365 )勉強会
Web API(Dynamics 365 )勉強会
 
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDev を使...
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDevを使...[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDevを使...
[1998/05/18] Visual C++ Developers Conference / Visual C++とVisual InterDev を使...
 
ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」ホット・トピック・セミナー「Metro」
ホット・トピック・セミナー「Metro」
 
Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案Open棟梁と、さまざまな開発標準とのフィッティング案
Open棟梁と、さまざまな開発標準とのフィッティング案
 
20100218
2010021820100218
20100218
 
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
~ Cloud First から Cloud Optimized へ ~ .NET on Cloud が描くモダナイゼーション
 
Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発Windows Azure ではじめる Windows ストアアプリ開発
Windows Azure ではじめる Windows ストアアプリ開発
 
19-D-2_業務システム特化型RIA「Nexaweb」
19-D-2_業務システム特化型RIA「Nexaweb」19-D-2_業務システム特化型RIA「Nexaweb」
19-D-2_業務システム特化型RIA「Nexaweb」
 
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~
DEV-016_止まらないサービスを! ~マイクロサービス プラットフォーム「Azure Service Fabric」~
 
最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー最新 ASP.NET Web 開発オーバービュー
最新 ASP.NET Web 開発オーバービュー
 
20120425
2012042520120425
20120425
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれから
 
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichiaPowerShell の基本操作とリモーティング&v3のご紹介 junichia
PowerShell の基本操作とリモーティング&v3のご紹介 junichia
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2やってみよう!ASP.NET MVC #2
やってみよう!ASP.NET MVC #2
 

Mais de Daisuke Nishino

今日日の展開計画について
今日日の展開計画について今日日の展開計画について
今日日の展開計画についてDaisuke Nishino
 
オーガナイズ(組織化)してみよう
オーガナイズ(組織化)してみようオーガナイズ(組織化)してみよう
オーガナイズ(組織化)してみようDaisuke Nishino
 
「三方よし」から考える価値
「三方よし」から考える価値「三方よし」から考える価値
「三方よし」から考える価値Daisuke Nishino
 
どうやって「価値」を産むか?(付録)
どうやって「価値」を産むか?(付録)どうやって「価値」を産むか?(付録)
どうやって「価値」を産むか?(付録)Daisuke Nishino
 
どうやって「価値」を産むか?​
どうやって「価値」を産むか?​どうやって「価値」を産むか?​
どうやって「価値」を産むか?​Daisuke Nishino
 
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介Daisuke Nishino
 
プログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトDaisuke Nishino
 
組織的プロジェクトマネジメント(OPM)について考えた。
組織的プロジェクトマネジメント(OPM)について考えた。組織的プロジェクトマネジメント(OPM)について考えた。
組織的プロジェクトマネジメント(OPM)について考えた。Daisuke Nishino
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCDaisuke Nishino
 
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。Daisuke Nishino
 
開発基盤に求められること。
開発基盤に求められること。開発基盤に求められること。
開発基盤に求められること。Daisuke Nishino
 
Open棟梁プロジェクトの背景
Open棟梁プロジェクトの背景Open棟梁プロジェクトの背景
Open棟梁プロジェクトの背景Daisuke Nishino
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介Daisuke Nishino
 
Open棟梁プロジェクトの取り組み
Open棟梁プロジェクトの取り組みOpen棟梁プロジェクトの取り組み
Open棟梁プロジェクトの取り組みDaisuke Nishino
 
開発支援ツールとは?
開発支援ツールとは?開発支援ツールとは?
開発支援ツールとは?Daisuke Nishino
 
Open棟梁 v2 ソリューション化検討資料
Open棟梁 v2 ソリューション化検討資料Open棟梁 v2 ソリューション化検討資料
Open棟梁 v2 ソリューション化検討資料Daisuke Nishino
 
【Open棟梁 汎用認証サイト】による認証ソリューション
【Open棟梁 汎用認証サイト】による認証ソリューション【Open棟梁 汎用認証サイト】による認証ソリューション
【Open棟梁 汎用認証サイト】による認証ソリューションDaisuke Nishino
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤Daisuke Nishino
 
去年サービス開発でコケたんですが、微妙にピボットした話。
去年サービス開発でコケたんですが、微妙にピボットした話。去年サービス開発でコケたんですが、微妙にピボットした話。
去年サービス開発でコケたんですが、微妙にピボットした話。Daisuke Nishino
 
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメントオープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメントDaisuke Nishino
 

Mais de Daisuke Nishino (20)

今日日の展開計画について
今日日の展開計画について今日日の展開計画について
今日日の展開計画について
 
オーガナイズ(組織化)してみよう
オーガナイズ(組織化)してみようオーガナイズ(組織化)してみよう
オーガナイズ(組織化)してみよう
 
「三方よし」から考える価値
「三方よし」から考える価値「三方よし」から考える価値
「三方よし」から考える価値
 
どうやって「価値」を産むか?(付録)
どうやって「価値」を産むか?(付録)どうやって「価値」を産むか?(付録)
どうやって「価値」を産むか?(付録)
 
どうやって「価値」を産むか?​
どうやって「価値」を産むか?​どうやって「価値」を産むか?​
どうやって「価値」を産むか?​
 
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
 
プログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクトプログラム・マネジメント @ Open棟梁プロジェクト
プログラム・マネジメント @ Open棟梁プロジェクト
 
組織的プロジェクトマネジメント(OPM)について考えた。
組織的プロジェクトマネジメント(OPM)について考えた。組織的プロジェクトマネジメント(OPM)について考えた。
組織的プロジェクトマネジメント(OPM)について考えた。
 
OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
 
開発基盤に求められること。
開発基盤に求められること。開発基盤に求められること。
開発基盤に求められること。
 
Open棟梁プロジェクトの背景
Open棟梁プロジェクトの背景Open棟梁プロジェクトの背景
Open棟梁プロジェクトの背景
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
 
Open棟梁プロジェクトの取り組み
Open棟梁プロジェクトの取り組みOpen棟梁プロジェクトの取り組み
Open棟梁プロジェクトの取り組み
 
開発支援ツールとは?
開発支援ツールとは?開発支援ツールとは?
開発支援ツールとは?
 
Open棟梁 v2 ソリューション化検討資料
Open棟梁 v2 ソリューション化検討資料Open棟梁 v2 ソリューション化検討資料
Open棟梁 v2 ソリューション化検討資料
 
【Open棟梁 汎用認証サイト】による認証ソリューション
【Open棟梁 汎用認証サイト】による認証ソリューション【Open棟梁 汎用認証サイト】による認証ソリューション
【Open棟梁 汎用認証サイト】による認証ソリューション
 
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
 
去年サービス開発でコケたんですが、微妙にピボットした話。
去年サービス開発でコケたんですが、微妙にピボットした話。去年サービス開発でコケたんですが、微妙にピボットした話。
去年サービス開発でコケたんですが、微妙にピボットした話。
 
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメントオープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
 

Open棟梁 v1 の対応アプリケーション・アーキテクチャ一覧

  • 1. .NET用アプリケーション フレームワーク Open 棟梁 V1系 - エンプラシステム開発基盤 - 対応アプリケーション・アーキテクチャ一覧
  • 2. 1 Open棟梁 v1系 全体像 Open棟梁 基幹システム 開発基盤 .NET リッチクライアント WWWブラウザ HTML SOAP, JSON (バイナリ転送) WebAPI (REST, JSON-RPC) 様々なスマート・デバイス BusinessLogic層 Transaction Root ベースクラス1 サブクラス ベースクラス2 DataAccess層 ベースクラス1 サブクラス ベースクラス2 通信制御機能 .NET サービスインターフェイス バイナリ・オブジェクト転送 汎用サービスインターフェイス SOAP, REST (JSON, XML) バイナリ・オブジェクト転送 Presentation層:ASP.NET Web Form or MVC SOAP, REST (JSON, XML) DBMS XML or SQLファイル <?xml version="1.0" ?> <ROOT> SELECT A, B, C, D FROM T <WHERE> WHERE <IF>AND A = @A</IF> <IF>AND A LIKE @A_LIKE</IF> <IF>AND B = @B</IF> <IF>AND B LIKE @B_LIKE</IF> <IF>AND C = @C</IF> </WHERE> ORDER BY <IF name="SEQUENCE">A <ELSE>B</ELSE> </IF> </ROOT> 保守性 向上、生産性 向上、品質 向上、 信頼性 向上、セキュリティ・脆弱性の排除
  • 3. 2 2層 C / S = 得意 Windows Forms / WPF • Windows Formsには、P層フレームワークにユーティリティ機能が 多数実装されている。WPFにはP層フレームワークの提供は無し。 • なお、2層C/Sでは、DBMS トランザクション ≒ コネクション を継続利用するため非同期呼び出しを考慮しないで良い。 • リモートデスクトップ、ClickOnce対応も可能。 P層機能 イベント処理 画面管理・制御, etc. B、D層機能 トランザクション管理 動的SQL、Dao生成, etc
  • 4. 3 バッチアプリ = 得意 Consoleアプリケーション • もちろん、バッチも組める。 • 大量データ処理の高速化の ためのユーティリティ機能もある。 B、D層機能 トランザクション管理 動的SQL、Dao生成, etc
  • 5. 4 3層 C / S 通信制御機能を利用する = 得意 Windows Forms / WPF • 通信制御機能により、2層 C/S を 3層 C/S に容易に拡張できる。 • 通信制御機能の内部はSOAP、RESTによるオブジェクトのバイナリ転送。 • Windows FormsのP層フレームワークを使用した場合の非同期呼び出しは、 TAP(async/await)ではなくEAP (Control.Invoke、.BeginInvoke)のみ。 • なお、当該アーキテクチャをインプロセス呼出モードで2層C/Sにも適用可。 通信制御機能 DBサーバWeb/APサーバ B、D層機能P層機能
  • 6. 5 3層 C / S 通信制御機能を利用しない = 得意 • WebAPIをクロスプラットフォーム対応する場合は、RawなSOAP or REST WebAPIとして実装する必要があるため、通信制御機能は使用できない。 • この場合も、フロントエンド、バックエンドの両方にOpen棟梁を適用可能。 Raw な SOAP or REST Windows Forms / WPF DBサーバWeb/APサーバ B、D層機能P層機能
  • 7. 6 Web2層アプリケーション = 得意 ASP.NET Web Forms ASP.NET MVC Web FormsにもMVCにも、P層フレームワークが用意されている。 Web Forms版には ≒ Windows Forms版のユーティリティ機能が実装 されているが、 MVC版は(、機能を乗せ難く)、提供機能が少ない。 あと、同様に、Web Forms版はTAP(async/await)をサポートしない。 DBサーバWeb/APサーバ B、D層機能P層機能
  • 8. 7 Web3層アプリケーション = 得意 ASP.NET Web Forms ASP.NET MVC 通信制御機能やRawなSOAP or RESTを使用して、 Web3層アプリケーションも構成可能。 DBサーバWeb/APサーバ 通信制御機能 or RawなSOAP or REST
  • 10. 9 バックエンド開発 = DBMSアプリ以外は苦手 他のフロントエンド技術 NoSQLを使用したり、WebAPIのHubになったり、 … そういうのは苦手(お役に立てない)。 しかし、項目移送ぐらいなら、NiFiで実装してもイイかも。 NoSQLWeb/APサーバ WebAPI お役に立てません!
  • 11. 10 フロントエンド開発 = Windows Formsなら、まぁ、なんとか。 B層、D層機能を使用可能 Windows Forms しかし、Windows Forms版フレームワーク単体適用だと、ちょっと弱い。 • バックエンドに某TPモニタを使った案件の事例は過去にあった。 • 最近のクラウド、SaaS、WebAPIの対応が難しくなってきている。 他のバックエンド技術 P層機能 イベント処理 画面管理・制御, etc.
  • 12. 11 END 評価方法 - Open 棟梁 Wiki https://opentouryo.osscons.jp/index.php?%E8% A9%95%E4%BE%A1%E6%96%B9%E6%B3%95 Get Started !!