open棟梁 社会インフラシステム アーキテクチャの提案

13
.NET用アプリケーション フレームワーク Open 棟梁 グローバル社会インフラシステムへのアーキテクチャ提案

Upload: daisuke-nishino

Post on 03-Aug-2015

437 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Open棟梁 社会インフラシステム アーキテクチャの提案

.NET用アプリケーション フレームワーク Open 棟梁 グローバル社会インフラシステムへのアーキテクチャ提案

Page 2: 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

Page 3: Open棟梁 社会インフラシステム アーキテクチャの提案

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

Page 4: Open棟梁 社会インフラシステム アーキテクチャの提案

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アプリケーション。

Page 5: Open棟梁 社会インフラシステム アーキテクチャの提案

4 様々なスマート・デバイス

.NET リッチクライアント クライアント・プリンタ印刷

WWWブラウザ PDFダウンロード + 印刷

DBMS (フェイルオーバー・クラスタ)

Webファーム (負荷分散クラスタ)

サブシステム間連携方式未定 ( FTP, DB .etc )

HTML

WebAPI (バイナリ転送)

WebAPI (REST)

HTTP プロトコル

3. システム & アプリケーション・アーキテクチャのご提案

Data Center

Page 6: Open棟梁 社会インフラシステム アーキテクチャの提案

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. リッチクライアント導入 (様々なクライアントのサポート方式)

Page 7: Open棟梁 社会インフラシステム アーキテクチャの提案

6

リッチクライアント 難易度 人材

備考

RIA(HTML+Javascript) 高 少 HTML5は発展途上で、まだまだ課題が多い。

Flash 中 少 落ち目と言われている。 (HTML5が主流になる見込み) Silverlight 中 少

WPF/XBAP 中 中 IE以外のブラウザのPluginが保守されていない。

ClickOnce !! WPF/WindowsForms

低 多 • HTMLのリンクをクリックすると画面が起動する。 • インストール権限不要、自動更新される。 • ブラウザの中ではなく別のウィンドウが起動。

画面・業務の複雑さなどを考慮すると、 .NETリッチクライアントを実行可能なClickOnceテクノロジの採用が適切。

5. リッチクライアント導入 (リッチクライアント・テクノロジの選択)

Page 8: Open棟梁 社会インフラシステム アーキテクチャの提案

7

① アプリ起動指示 ③ アセンブリの取得

(差分ダウンロードに対応)

④ ダウンロードしたアセンブリ ・ファイルをインストールする。

⑤ リッチ・クライアントを起動

⑥ リッチ・クライアントのGUIから、 Web API(REST API)を呼び出す。

6. リッチクライアント導入 (WebDeployツールの紹介)

ClickOnceのセキュリティ・コンテキストが問題となる場合は、 WebDeployツールを使用して任意のフォルダにデプロイできる (ZIP・マニュフェスト生成、差分更新、MD5チェック対応)。

② HEADメソッド(更新確認)

Page 9: Open棟梁 社会インフラシステム アーキテクチャの提案

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

Page 10: Open棟梁 社会インフラシステム アーキテクチャの提案

9

8. プロジェクト・テンプレートとS/Wスタック

特定プロジェクトのアーキテクチャに合わせてカスタマイズされたオンライン処理やバッチ処理のテンプレートを『プロジェクト・テンプレート』と呼ぶ。 このプロジェクト・テンプレートを事前に準備し、プロジェクトに展開することで、開発プロジェクトの迅速な立ち上げを実現する。 この準備作業を容易にする『テンプレート・ベース』を公開している。 活用方法は、『Tutorial_Template_development.doc』参照のこと。

案件毎のアーキテクチャを反映した 『プロジェクト・テンプレート』

カスタマイズ可能レイヤのカスタマイズ

カスタマイズ可能な標準化フレームワーク ( P / F / D層 の構造と実装箇所の規定)

共通部品 (通信制御、動的パラメタライズド・クエリ)

各種ドキュメント ・ 利用ガイド ・ チュートリアル ・ サンプル.etc

日本語/英語版 を完備しており、 海外ベンダが

利用可能である。

ランタイム フレームワーク (e.g. ASP.NET, WPF, WCF, ADO.NET)

ランタイム ( .NET CLR )

Page 11: Open棟梁 社会インフラシステム アーキテクチャの提案

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. 標準化+カスタマイズ可能+クロスベンダ開発の統制

Page 12: Open棟梁 社会インフラシステム アーキテクチャの提案

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. ご参考

Page 13: Open棟梁 社会インフラシステム アーキテクチャの提案

12

END

※ Windows、.NET Framework、Silverlight、Azureは、Microsoft Corporationの米国およびその他の国における商標もしくは登録商標です。 ※ その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。