Skip to main content
.NET用アプリケーション フレームワーク Open 棟梁
グローバル社会インフラシステムへのアーキテクチャ提案
1
1. 概要
Apache License, Version 2.0でオープンソース化されているOpen棟梁は、長
年培われた大規模且つ、ミッション・クリティカルな基幹システム開発のナレッジ(ノウ
ハウ・スキル・情報)を流用し、グローバル社会インフラシステムのITサービスをWeb標
準技術(HTML/CSS/JavaScript)やデスクトップ・アプリケーション、スマート・デバイ
スなどの幅広いUIテクノロジを使用してサービスすることを容易にします。
これは、日本語/英語版マニュアル完備により、国内パートナーだけでなく、海外現地
保守ベンダに対して、 このようなITサービスの開発に必要な幅広い技術の供給を可
能にしているからです。
• Technology
• Management
また、これによって、開発されたシステムは開発フェーズだけでなく、
保守・運用フェーズまでのQCDFの向上が可能になります。
• D : Delivery
• F : Flexibility
• Q : Quality
• C : Cost
• Mission Critical System, System integration.
• UI Subsystem <----> OLTP <----> DBMS.
• Globalization and Localization .etc.etc
• Process Management
• Project Management .etc.etc
2
Data Center/Cloud
2. システム構成例
Internet
Authority (In a different location)
Branch office
Overseas
system
owners
office
work1
administrative agency
office
work1
office
work1
Private companies
company1 company2 company3 company4
Intranet
Authority
Dept1 Dept2 Dept3 Dept4 Dept5
Branch office
3
Data Center/Cloud
2. システム構成例
Internet
Authority (In a different location)
Branch office
Overseas
system
owners
office
work1
administrative agency
office
work1
office
work1
Private companies
company1 company2 company3 company4
Intranet
Authority
Dept1 Dept2 Dept3 Dept4 Dept5
Branch officeから行う業務は複雑であり、要求される“操作性に関する要件”も高い。
故に、HTML + JavaScriptでは実装困難な画面が多いためリッチクライアントを採用すべきである。
( また、Internet Explorer限定ではないため、ActiveXは使用不可能。 )
リッチクライアント & WebAPI (SOAP or REST)の3層C/Sならクラウド化も容易
通常のWebアプリケーションは、ASP.NET(HTML + jQuery)で開発する。
ASP.NETMVCの採用を検討しても良い。( ブラウザ : Chrome & Firefoxをサポート)
Branch office
ASP.NET、WebAPI (SOAP or REST)
で開発されたServerアプリケーション。
4
様々なスマート・デバイス
.NET リッチクライアント
クライアント・プリンタ印刷
WWWブラウザ
PDFダウンロード + 印刷
DBMS
(フェイルオーバー・クラスタ)
Webファーム
(負荷分散クラスタ)
サブシステム間連携方式未定 ( FTP, DB .etc )
HTML
WebAPI
(バイナリ転送)
WebAPI
(REST)
HTTPプロトコル
3. システム & アプリケーション・アーキテクチャのご提案
Data Center
5
B(F)層
ベースクラス1
サブクラス
D層
ベースクラス1
サブクラス
ベースクラス2
ベースクラス2
通信制御機能
.NET サービスインターフェイス
バイナリ・オブジェクト転送
汎用サービスインターフェイス
SOAP, REST (JSON, XML)
ASP.NET WS, WCF
Web API
ASP.NET WS, WCF
バイナリ・オブジェクト転送
.NET
クライアント
その他
クライアント
B(F)層、D層の実装はそのままでOK!!
WWW
ブラウザ
P層 : ASP .NET
Web Form or MVC
4. リッチクライアント導入 (様々なクライアントのサポート方式)
6
リッチクライアント 難易度 人
材
備考
RIA(HTML+Javascript) 高 少 HTML5は発展途上で、まだまだ課題が多い。
Flash 中 少 落ち目と言われている。
(HTML5が主流になる見込み)Silverlight 中 少
WPF/XBAP 中 中 IE以外のブラウザのPluginが保守されていない。
ClickOnce !!
WPF/WindowsForms
低 多 • HTMLのリンクをクリックすると画面が起動する。
• インストール権限不要、自動更新される。
• ブラウザの中ではなく別のウィンドウが起動。
画面・業務の複雑さなどを考慮すると、
.NETリッチクライアントを実行可能な
ClickOnceテクノロジの採用が適切。
5. リッチクライアント導入 (リッチクライアント・テクノロジの選択)
7
① アプリ起動指示
③ アセンブリの取得
(差分ダウンロードに対応)
④ ダウンロードしたアセンブリ
・ファイルをインストールする。
⑤ リッチ・クライアントを起動
⑥ リッチ・クライアントのGUIから、
Web API(REST API)を呼び出す。
6. リッチクライアント導入 (WebDeployツールの紹介)
ClickOnceのセキュリティ・コンテキストが問題となる場合は、
WebDeployツールを使用して任意のフォルダにデプロイできる
(ZIP・マニュフェスト生成、差分更新、MD5チェック対応)。
② HEADメソッド(更新確認)
8
7. グローバル社会インフラ・プロジェクトの体制例
海外クライアント国内コーディネータ
メーカーA
ハード
メーカーB
IT
メーカーC
その他
国内
パートナーB
国内
パートナーA
国内
ITパートナーC
海外
ITベンダB
海外
ITベンダA
海外
ITベンダC
国内
ベンダ
海外
ITベンダB
海外
ITベンダA
海外
ITベンダC
: 技術の供給先
引き渡し後の運用保守を担当
構築後に引き渡し
発注/取り纏め
未定
Proposal and negotiation
9
8. プロジェクト・テンプレートとS/Wスタック
特定プロジェクトのアーキテクチャに合わせてカスタマイズされたオンライン処理や
バッチ処理のテンプレートを『プロジェクト・テンプレート』と呼ぶ。
このプロジェクト・テンプレートを事前に準備し、プロジェクトに展開することで、開発
プロジェクトの迅速な立ち上げを実現する。
この準備作業を容易にする『テンプレート・ベース』を公開している。
活用方法は、『Tutorial_Template_development.doc』参照のこと。
案件毎のアーキテクチャを反映した
『プロジェクト・テンプレート』
カスタマイズ可能レイヤのカスタマイズ
カスタマイズ可能な標準化フレームワーク
( P / F / D層 の構造と実装箇所の規定)
共通部品
(通信制御、動的パラメタライズド・クエリ)
各種ドキュメント
・ 利用ガイド
・ チュートリアル
・ サンプル.etc
日本語/英語版
を完備しており、
海外ベンダが
利用可能である。
ランタイム フレームワーク
(e.g. ASP.NET, WPF, WCF, ADO.NET)
ランタイム ( .NET CLR )
10
プロジェクト固有の実装をする (方式設計書に従う)
プロジェクト の 共通 Framework
認証
セッション管理
トランザクション管理 ログ出力 例外処理
権限 セキュリティメッセージ取得
ベースクラス2
業務固有の実装をする (実装基準書に従う)
アプリケーションA
(ベンダーA開発)
アプリケーションB
(ベンダーB開発)
アプリケーションC
(ベンダーC開発)
アプリケーションD
(ベンダーD開発)
サブクラス
B(F)層
ベースクラス1
サブクラス
ベースクラス2
P層
ベースクラス1
サブクラス
ベースクラス2
D層
ベースクラス1
ASP.NET
ベースクラス2
サブクラス
9. 標準化+カスタマイズ可能+クロスベンダ開発の統制
11
• オープンソース・プロジェクト
 OpenTouryoProject
https://github.com/OpenTouryoProject
 OpenTouryo, Documents, Templates リポジトリ
 CloudOS リポジトリ、SampleProgram リポジトリ
• . NET 開発基盤部会 - Blog - OSSコンソーシアム
http://www.osscons.jp/dotNetDevelopmentInfrastructure/Blog/
 Open棟梁 Wiki
http://opentouryo.osscons.jp/
 マイクロソフト系技術情報 Wiki
http://techinfoofmicrosofttech.osscons.jp/
• 2014年10月22日 : Open 棟梁 01-50 リリース
http://www.osscons.jp/joi94ey46-537/
 Open棟梁概要説明 01-50
http://www.slideshare.net/daisukenishino/open-01-50-
40474003
 Open棟梁機能紹介 01-50
http://www.slideshare.net/daisukenishino/open-0150
10. ご参考
12
END
※ Windows、.NET Framework、Silverlight、Azureは、Microsoft Corporationの米国およびその他の国における商標もしくは登録商標です。
※ その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。