Successfully reported this slideshow.

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

0

Share

Loading in …3
×
11 of 12
11 of 12

More Related Content

More from Daisuke Nishino

Related Books

Free with a 14 day trial from Scribd

See all

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

  1. 1. .NET用アプリケーション フレームワーク Open 棟梁 V1系 - エンプラシステム開発基盤 - 対応アプリケーション・アーキテクチャ一覧
  2. 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. 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. 4. 3 バッチアプリ = 得意 Consoleアプリケーション • もちろん、バッチも組める。 • 大量データ処理の高速化の ためのユーティリティ機能もある。 B、D層機能 トランザクション管理 動的SQL、Dao生成, etc
  5. 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. 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. 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. 8. 7 Web3層アプリケーション = 得意 ASP.NET Web Forms ASP.NET MVC 通信制御機能やRawなSOAP or RESTを使用して、 Web3層アプリケーションも構成可能。 DBサーバWeb/APサーバ 通信制御機能 or RawなSOAP or REST
  9. 9. 8 バックエンド開発 = DBMSアプリなら、まぁ得意 他のフロントエンド技術 B層、D層機能を使用可能 DBサーバWeb/APサーバ B、D層機能
  10. 10. 9 バックエンド開発 = DBMSアプリ以外は苦手 他のフロントエンド技術 NoSQLを使用したり、WebAPIのHubになったり、 … そういうのは苦手(お役に立てない)。 しかし、項目移送ぐらいなら、NiFiで実装してもイイかも。 NoSQLWeb/APサーバ WebAPI お役に立てません!
  11. 11. 10 フロントエンド開発 = Windows Formsなら、まぁ、なんとか。 B層、D層機能を使用可能 Windows Forms しかし、Windows Forms版フレームワーク単体適用だと、ちょっと弱い。 • バックエンドに某TPモニタを使った案件の事例は過去にあった。 • 最近のクラウド、SaaS、WebAPIの対応が難しくなってきている。 他のバックエンド技術 P層機能 イベント処理 画面管理・制御, etc.
  12. 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 !!

×