26
.NET用アプリケーション フレームワーク Open 棟梁 概要のご説明

Open棟梁概要説明 01-50

Embed Size (px)

DESCRIPTION

Open棟梁 ver 01-50 の概要説明 Open棟梁は、長年の.NETアプリケーション開発実績にて蓄積したノウハウに基づき開発した.NET用アプリケーション フレームワークです。 ("OpenTouryo" , is an application framework for .NET which was developed using the accumulated know-how with a long track record in .NET application development.) - OpenTouryoProject https://github.com/OpenTouryoProject - OpenTouryoProject/OpenTouryo https://github.com/OpenTouryoProject/OpenTouryo - OpenTouryoProject/OpenTouryoDocuments https://github.com/OpenTouryoProject/OpenTouryoDocuments - OpenTouryoProject/OpenTouryoTemplates https://github.com/OpenTouryoProject/OpenTouryoTemplates

Citation preview

Page 1: Open棟梁概要説明 01-50

.NET用アプリケーション フレームワーク

Open棟梁 概要のご説明

Page 2: Open棟梁概要説明 01-50

1

1. 概要

2. 事例

3. アピールポイント

Contents

Page 3: Open棟梁概要説明 01-50

2

1. 概要

2. 事例

3. アピールポイント

Contents

Page 4: Open棟梁概要説明 01-50

3

1.1. 概要

Open棟梁は、.NET Framework 3.5 以上を前提とした、フルスタックのアプリケーション・フレームワークです。

Web(ASP.NET, ASP.NET MVC)、C/S(WinForm, WPF)、バッチ、RIA(UWP)、WebAPI、組込み等の各種方式に対応し、高品質なアプリケーション開発を可能にします。

ドキュメント 利用ガイド、チュートリアル オフショア開発のための英語版マニュアル インターネット上にあるサポート技術文書(Wiki)

ライセンス source : Apache License, Version 2.0 document : Creative Commons - CC BY 2.1 JP

Page 5: Open棟梁概要説明 01-50

4

製品名

開発環境 •Visual Studio 2010 以上 : v02-00からは, VS 2015 以降•Visual C# 2010 以上 : v02-00からは, C# 2015 以降•Visual Basic 2010 以上 : v02-00からは, VB 2015 以降

実行環境

RunTime

• .NET Framework 3.5 以上 : v02-00からは, .NET 4.6 以上• ASP.NET 2.0 以上 : v02-00からは, ASP.NET 4 以上• ASP.NET MVC 4 以上 : v02-00からは, MVC 5 以上• ASP.NET MVC SPA• UWP : v02-00 以降

DataProvider

• .NET Framework Data Provider for SQL Server• OLEDB.NET Data Provider• ODBC.NET Data Provider• Oracle Data Provider for .NET• IBM DB2.NET Data Provider• HiRDB.NET データ プロバイダ• MySQL Connector/NET• PostgreSQL Npgsql.NET データプロバイダ

WWWBrowser

• Internet Explorer 11、主要なモダンブラウザに対応IE以外のWWWブラウザでは、showModalDialog methodを使用するダイアログ表示機能は使用できません。

1.2. 前提環境

C/S、RIAなど、ほとんどの案件でOpen棟梁を適用可能です。今後も.NET、Visual Studioバージョンアップに追随予定です。

→ 主要DBMSをサポート

Page 6: Open棟梁概要説明 01-50

5

1.3. 標準化されていないアプリケーション

UI

テクノロジ

ログ ファイル

DBMS

???標準化せず、実装をオフショアなどに丸投げした場合、

• どのような実装になっている?

• 開発者ごとに実装がバラバラ!

• 問題が多発する!!

「品質、性能が出ない」、

「デグレード多発」、「問題の分析ができない」

極端な例ですが、標準化をしない場合、上記のように、内部の実装の共通化の具合、実装のバラツキなどが把握できません。

Page 7: Open棟梁概要説明 01-50

6

課 題 影 響

・ 共通処理方式(基準)が遵守されない・ プログラム構造がバラバラになる

保守性 低下

同じ処理を重複して開発してしまう 生産性 低下

各種チェック処理、排他処理などの処理の実装漏れや、実装ミスなど

品質 低下

不慣れな、難易度の高い処理の実装 信頼性 低下

・ SQLの組み立て実装ミス・ 入力値サニタイジング等の処置漏れ

セキュリティ脆弱性

アプリケーション開発には様々な課題がありますが、

.NET用アプリケーション フレームワーク、Open棟梁を導入することで、これらの課題を解決できます。

1.4. アプリケーション開発における課題

Page 8: Open棟梁概要説明 01-50

7

大規模プロジェクトを成功させるための要素として、アプリケーション フレームワーク(開発基盤)は、半ば必須です。フレームワーク開発には高

いコストがかかりますが、ノウハウが凝縮された実績のあるOpen棟梁をベースとするとこで、高品質の開発基盤を安価に構築可能です。

1.5. Open棟梁 適用の効果

提供機能の例 効果

全レイヤに渡るアーキテクチャの標準化 保守性の向上

ベースクラスのフロー制御

に基づいた共通処理の実装生産性の向上

実績のある部品の再利用 品質の向上

・ SQLとプログラムの分離・ パラメタライズド・クエリの利用

信頼性の向上

自動生成(楽観排他を含む) 脆弱性の排除

Page 9: Open棟梁概要説明 01-50

8

Open棟梁によるアプリケーション アーキテクチャの標準化1. 全層に渡る、全レイヤの標準化が可能です。

2. ベースクラス1、2に基盤処理が実装されています。・ ベースクラス1 : 共通処理(実行エンジン)・ ベースクラス2 : プロジェクトごとにカスタマイズ

3. これにより、開発者は、サブクラスへの業務ロジック実装に専念することができます。

Business Logic層

ベースクラス1

サブクラス

ベースクラス2

Presentation層

ベースクラス1

サブクラス

ベースクラス2

Data Access層

ベースクラス1ASP.N

ET

サブクラス

ベースクラス2

1.6. Open棟梁 による標準化

プロジェクトごとに処理をカスタマイズ可能

共通処理を標準提供

開発者ごとに業務ロジックを実装

Page 10: Open棟梁概要説明 01-50

9

方式設計書に従い共通処理を実装

プロジェクト の 共通 Framework

認証

セッション管理

トランザクション管理 ログ出力 例外処理

権限 セキュリティメッセージ取得

ベースクラス2

基準書に従い業務を実装(クロスベンダ開発の実現)

サブシステムA(ベンダーAが開発)

サブシステムB(ベンダーBが開発)

サブシステムC(ベンダーCが開発)

サブシステムD(ベンダーDが開発)

サブクラス

Business Logic層

ベースクラス1

サブクラス

ベースクラス2

Presentation層

ベースクラス1

サブクラス

ベースクラス2

Data Access層

ベースクラス1ASP.N

ET

ベースクラス2

サブクラス

1.7. カスタマイズ可能なアーキテクチャ

Page 11: Open棟梁概要説明 01-50

10

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

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

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

カスタマイズされたカスタマイズ可能レイヤ

標準化フレーム( P / B / D層 の構造と実装箇所の規定)

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

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

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

ランタイム ( .NET CLR )

このレイヤを開発して、提供しています。

有力な既成品を選択・利用。

に加えて

Page 12: Open棟梁概要説明 01-50

11

1.9. プロジェクトへの導入イメージ

開発プロジェクトの立ち上げ

機能・非機能要件定義

システム開発の開始

コミュニティによるナレッジベース開発と

困ったときの

有償サポート提供

リードエンジニアによるプロジェクトへの導入

オープンソース、オープン技術情報

< Github >

- Issue tracking,

- Contributing Process,

- Coding Guidelines.

< Else online content >

- Wiki, Blogs, FAQ, Help,

- Knowledge Base,

- Slide, Video, Demos,

- Experts advise

or User forum,

- Easy set-up.

ビジネスのシステム化検討

オープンな開発のサポート・エコシステム

QCDF改善によるプロジェクトの成功!ITライフサイクルをトータルにサポート!

システム開発の現場

技術情報の取得

フィードバック

システムの稼働

1. 要件定義(機能・非機能)を行う。

2. 要件のヒアリングを行う。

3. 処理方式設計を行う。

4. テンプレート・ベースをダウンロードし、必要に応じ、プロジェクト・テンプレートをカスタマイズする。

5.プロジェクト・テンプレートを開発者に展開する。

6.プロジェクト・テンプレートに業務処理を実装する。

Page 13: Open棟梁概要説明 01-50

12

(2) 特定の業種や業務を問わず汎用的に利用可能• 組織での再利用を前提にしたアーキテクチャ設計と標準化が可能• 要件に合わせカスタマイズを容易にするクラス設計

(3) ソースコードだけでなくドキュメント類も完備• 利用ガイド・チュートリアル• オフショア開発のための英語版マニュアル

(5) 新技術への追従の軌跡• Windows Forms ⇒ WPF/Silverlight ⇒ ストアアプリ ⇒ HTML5, UWP• ASP.NET Web Forms ⇒ ASP.NET MVC ⇒ ASP.NET MVC SPA• Microsoft Azure ⇒ SQL DataBase Elastic DB• WIF による ID-Federation ⇒ ASP.NET Identity による OAuth 2.0, OIDC

1.10. Open 棟梁 特徴

(4) 小規模部門システムから大規模基幹システムまで利用可能• プロジェクト・テンプレートにより、迅速な開発プロジェクトの立ち上げが可能。• プロジェクト・テンプレートのカスタマイズで多様なアーキテクチャへの対応が可能。

(1) Visual Studioのデザイナの操作性をスポイルしない造り。

Page 14: Open棟梁概要説明 01-50

13

1. 概要

2. 事例

3. アピールポイント

Contents

Page 15: Open棟梁概要説明 01-50

14

Open棟梁 + VB + Xen(RDS)でアプリ展開・管理のコストを低減。

Dao自動生成、カスタム・コントロールによるビジネス・ロジック共通化により、テスト・修正・デプロイのサイクルを短縮し、開発効率を向上。

2.1. メガバンク 投資銀行部門 業務システム

Visual Basic .NETアプリケーション

バッチ業務

オンライン業務帳票出力業務

DBサーバXenサーバ(RDSサーバ)

クライアントサイド サーバーサイド

C/S2層(VB .NET + SQL Server) on Xen (RDS)

バッチ・サーバ

Page 16: Open棟梁概要説明 01-50

15

DBサーバ

タッチパネル( WPF )

Webサーババックエンド

C/S 2層

フロントエンドx2, バックエンドx1の異なる処理方式をまとめて標準化、WPFなどの当時最新のGUI技術も適用し、高い生産性を実現した。

これにより、複数アーキテクチャの標準化を迅速に行い、非常に早いサイクルでの実験店の実験・検証を実現した。

WWWブラウザ携帯端末

Web 2層

2.2. レンタルショップ 実験店システム

Page 17: Open棟梁概要説明 01-50

16

Microsoft Azure (PaaS) のREST API開発においても、Open棟梁のプロジェクト・テンプレートをカスタマイズして適用した。

∴ 開発者はアーキテクチャ設計や標準化に労力を割かずに済み、アーキテクチャ変更のリスクを大幅に軽減し、高い生産性を実現した。

2.3. 自動車走行ログの集配信システム on Azure

自動車走行ログ配信

Microsoft Azure

Web 2層REST (XML)

Web API

WWWブラウザ

自動車走行ログ収集

ストレージ・サービスSQLデータベース

Workerロール

Webロール

Page 18: Open棟梁概要説明 01-50

17

Open棟梁により大規模基幹システムのアーキテクチャの統一を図ることで開発者のスキルに依存しない開発を実現した。これにより、多種業務・複数共通サービスのマルチベンダによる開発において、リスクの軽減及び保守性・柔軟性を確保した。

業務1

ワークフローサービス(Java)

ワークフロー製品

Web/AP サーバ

ワークフロー サーバ

DBサーバ

Windowsアプリケーション

業務2

業務3

業務4

業務5

・ C/S 3層・ Web 3層・ AJAX

WWWブラウザ携帯端末

帳票出力サービス

帳票製品

帳票サーバ

バッチ業務

ジョブ管理製品

バッチ処理サーバ

Web/AP サーバ

文書管理パッケージ製品

・ オンラインバッチ連携・ オンライン帳票出力・ ワークフロー基盤呼出

2.4. 鉄道車両情報システム(大規模・クロスベンダ)

Page 19: Open棟梁概要説明 01-50

18

2.5. スーパーゼネコン 営業情報システム再構築

See : ・・・営業情報システムを再構築し、情報共有と業務効率向上を実現・・・http://www.hitachi-solutions.co.jp/company/press/news/2017/0330_2.html

• 業務面

1. 目的a. 多様化する顧客のニーズの早期把握と共有b. 営業組織間の連携強化による受注拡大

2. 再構築a. きめ細やかなアクセス制御により、

全社の国内外の営業情報を集約し共有b. 営業プロジェクトのプロセスと進捗の可視化c. 承認ワークフローの統一

• 適用効果1. 短納期 : オフショア開発成功、開発期間を2割短縮2. 高品質 : 稼働後の不具合が驚くほど少なく、安定稼働3. オープンソースのためロックインの無いシステム拡張が可能。

Page 20: Open棟梁概要説明 01-50

19

1. 概要

2. 事例

3. アピールポイント

Contents

Page 21: Open棟梁概要説明 01-50

20

AccessTraceLog

Business Logic層

ベースクラス1

サブクラス

ベースクラス2

Presentation層

ベースクラス1

サブクラス

ベースクラス2

Data Access層

ベースクラス1

UI

サブシステム

ベースクラス2

サブクラス

3.1. 標準化・共通化を徹底的に支援する

OperationTraceLog

SQLTraceLog

• アクセス制御• 表示・非表示• 活性・不活性

• 閉塞処理• コネクション制御• トランザクション制御• 例外処理

アクセス制御

Database

SQLインジェクション

防止

LDAP

認証

Page 22: Open棟梁概要説明 01-50

21

3.2. さまざまなアーキテクチャに対応可能

• 通信処理を隠蔽、開発者は業務ロジックの実装に専念できる。• 多様化著しい、Front-endにビジネス・ロジックを公開できる。

Open棟梁の通信制御機能により、さまざまなアーキテクチャに、容易に対応できます。

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

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

HTML

WebAPI(バイナリ転送)

WebAPI(REST)

BusinessLogic層

ベースクラス1

サブクラス

DataAccess層

ベースクラス1

サブクラス

ベースクラス2

ベースクラス2

通信制御機能

.NET サービスインターフェイスバイナリ・オブジェクト転送

汎用サービスインターフェイスSOAP, REST (JSON, XML)

ASP.NET WS, WCFバイナリ・オブジェクト転送

Presentation層 : ASP .NETWeb Form or MVC

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

ASP.NET WS, WCF, Web APISOAP, REST (JSON, XML)

Page 23: Open棟梁概要説明 01-50

22

Daoクラス

SQLファイル

DBMS

参照系SQL定義ファイル

H ITACHI Net Bank

一覧

編集画面(カスタマイズ可能)

詳細/編集 一覧更新

スキーマ情報や、参照系SQLから、一覧、詳細/編集、一覧更新の各種データ編集画面を自動生成します(Excel設計書は不要)

3.3. 自動生成により開発効率を向上できる

全自動生成

TableAdapterと、実行エンジン

Page 24: Open棟梁概要説明 01-50

23

3.4. サービス開発に対応 (SoE, SoRの融合)

Open棟梁2.0

… Open棟梁 1.x からの継続機能 … Open棟梁 2.0 での新機能

生産性・品質を向上させる3層フレームワーク

• 共通部品群• 開発支援ツール群

セキュリティを考慮した認証基盤

シングルサインオンやソーシャルログインのサポート

多様なアーキテクチャに対応したテンプレート群

Open棟梁 2.0 では「システム開発のQCDF(*1) 向上」に加え、

「迅速なスタートアップの立ち上げの実現」を目指します。

(*1) QCDF … Quality(品質)、Cost(コスト)、Delivery(納期)、Flexibility(柔軟性) の頭文字

(*2) オンライン決済サービスとの連携機能は、Open 棟梁 2.x 以降でのリリースとなります(Open 棟梁 2.0 にはカード登録機能とカード決済テスト機能のみ含まれます)。

オンライン決済など外部サービスとの連携(*2)

Page 25: Open棟梁概要説明 01-50

24

3.5. オープンソース・エコシステムへの参加が可能!

Online & Video content,Demos, Easy set-up.

Coding Guidelines,Contributing Process,List of Contributors.

FAQ, Short and crisp help,Technical know-how,

Experts advise or User forum.

Issue tracking

Roadmaps

Blogs

Search engineVideo hosting services

Version control repository hosting services on internet.

Pukiwiki

SlideShare

OSS Consortium

Slides

NuGetPackage Manager

Page 26: Open棟梁概要説明 01-50

25

END

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

評価方法 - Open 棟梁 Wikihttps://opentouryo.osscons.jp/index.php?%E8%A9%95%E4%BE%A1%E6%96%B9%E6%B3%95

Get Started !!