open棟梁 社会インフラシステム アーキテクチャの提案
TRANSCRIPT
.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
AS
P.N
ET
ベースクラス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の米国およびその他の国における商標もしくは登録商標です。 ※ その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。