Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
.NET用アプリケーション フレームワーク
Open 棟梁 概要のご説明
1
1. 概要
2. 事例
3. アピールポイント
Contents
2
1. 概要
2. 事例
3. アピールポイント
Contents
3
1.1. 概要
Open棟梁は、.NET Framework 3.5 以上を前提とした、
フルスタックのアプリケーション・フレームワークです。
Web(ASP.NET, ASP.NET MVC)、C/S(WinForm, WPF)、
バッチ...
4
製品名
開発環境 •Visual Studio 2010 以上 : v02-00からは, VS 2015 以降
•Visual C# 2010 以上 : v02-00からは, C# 2015 以降
•Visual Basic 2010 以上...
5
1.3. 標準化されていないアプリケーションUI
テ
ク
ノ
ロ
ジ
ログ ファイル
DBMS
???
標準化せず、実装をオフショアなどに丸投げした場合、
• どのような実装になっている?
• 開発者ごとに実装がバラバラ!
• 問題が多発す...
6
課 題 影 響
・ 共通処理方式(基準)が遵守されない
・ プログラム構造がバラバラになる
保守性 低下
同じ処理を重複して開発してしまう 生産性 低下
各種チェック処理、排他処理などの
処理の実装漏れや、実装ミスなど
品質 低下
不慣れな...
7
大規模プロジェクトを成功させるための要素として、アプリケーション フ
レームワーク(開発基盤)は、半ば必須です。フレームワーク開発には高
いコストがかかりますが、ノウハウが凝縮された実績のあるOpen棟梁
をベースとするとこで、高品質の開発...
8
Open棟梁によるアプリケーション アーキテクチャの標準化
1. 全層に渡る、全レイヤの標準化が可能です。
2. ベースクラス1、2に基盤処理が実装されています。
・ ベースクラス1 : 共通処理(実行エンジン)
・ ベースクラス2 : プ...
9
方式設計書に従い共通処理を実装
プロジェクト の 共通 Framework
認証
セッション管理
トランザクション管理 ログ出力 例外処理
権限 セキュリティメッセージ取得
ベースクラス2
基準書に従い業務を実装(クロスベンダ開発の実現)
...
10
1.8. プロジェクト・テンプレートとS/Wスタック
特定プロジェクトのアーキテクチャに合わせてカスタマイズしたオンライン処理や
バッチ処理のテンプレートを『プロジェクト・テンプレート』と呼びます。
このプロジェクト・テンプレートをリード...
11
1.9. プロジェクトへの導入イメージ
開発プロジェクト
の立ち上げ
機能・非機能
要件定義
システム開発の開始
コミュニティによる
ナレッジベース開発と
困ったときの
有償サポート提供
リードエンジニアによる
プロジェクトへの導入
オー...
12
(2) 特定の業種や業務を問わず汎用的に利用可能
• 組織での再利用を前提にしたアーキテクチャ設計と標準化が可能
• 要件に合わせカスタマイズを容易にするクラス設計
(3) ソースコードだけでなくドキュメント類も完備
• 利用ガイド・チュ...
13
1. 概要
2. 事例
3. アピールポイント
Contents
14
Open棟梁 + VB + Xen(RDS)でアプリ展開・管理のコストを低減。
Dao自動生成、カスタム・コントロールによるビジネス・ロジック共通化
により、テスト・修正・デプロイのサイクルを短縮し、開発効率を向上。
2.1. メガバンク...
15
DBサーバ
タッチパネル
( WPF )
Webサーババックエンド
C/S 2層
フロントエンドx2, バックエンドx1の異なる処理方式をまとめて標準化、
WPFなどの当時最新のGUI技術も適用し、高い生産性を実現した。
これにより、複数...
16
Microsoft Azure (PaaS) のREST API開発においても、
Open棟梁のプロジェクト・テンプレートをカスタマイズして適用した。
∴ 開発者はアーキテクチャ設計や標準化に労力を割かずに済み、
アーキテクチャ変更のリス...
17
Open棟梁により大規模基幹システムのアーキテクチャの統一を図
ることで開発者のスキルに依存しない開発を実現した。
これにより、多種業務・複数共通サービスのマルチベンダによる開発
において、リスクの軽減及び保守性・柔軟性を確保した。
業務...
18
2.5. スーパーゼネコン 営業情報システム再構築
See : ・・・営業情報システムを再構築し、情報共有と業務効率向上を実現・・・
http://www.hitachi-solutions.co.jp/company/press/new...
19
1. 概要
2. 事例
3. アピールポイント
Contents
20
Access
TraceLog
Business Logic層
ベースクラス1
サブクラス
ベースクラス2
Presentation層
ベースクラス1
サブクラス
ベースクラス2
Data Access層
ベースクラス1
UI
サ
ブ
シ...
21
3.2. さまざまなアーキテクチャに対応可能
• 通信処理を隠蔽、開発者は業務ロジックの実装に専念できる。
• 多様化著しい、Front-endにビジネス・ロジックを公開できる。
Open棟梁の通信制御機能により、
さまざまなアーキテクチ...
22
Dao
クラス
SQL
ファイル
DBMS
参照系SQL
定義ファイル
HITACHI Net Bank
一覧
編集画面(カスタマイズ可能)
詳細/編集 一覧更新
スキーマ情報や、参照系SQLから、一覧、
詳細/編集、一覧更新の各種データ...
23
3.4. サービス開発に対応 (SoE, SoRの融合)
Open棟梁2.0
… Open棟梁 1.x からの継続機能 … Open棟梁 2.0 での新機能
生産性・品質を向上させる
3層フレームワーク
• 共通部品群
• 開発支援ツール...
24
3.5. オープンソース・エコシステムへの参加が可能!
Online & Video content,
Demos, Easy set-up.
Coding Guidelines,
Contributing Process,
List o...
25
END
※ Windows、.NET Framework、Azureは、Microsoft Corporationの米国およびその他の国における商標もしくは登録商標です。
※ Javaは、Oracle Corporationおよびその子会...
Upcoming SlideShare
Loading in …5
×

Open棟梁概要説明 v02-00

6,925 views

Published on

Open棟梁 ver 02-00 の概要説明

Open棟梁について - OSSコンソーシアム
https://www.osscons.jp/dotNetDevelopmentInfrastructure/OpenTouryo/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Open棟梁概要説明 v02-00

  1. 1. .NET用アプリケーション フレームワーク Open 棟梁 概要のご説明
  2. 2. 1 1. 概要 2. 事例 3. アピールポイント Contents
  3. 3. 2 1. 概要 2. 事例 3. アピールポイント Contents
  4. 4. 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
  5. 5. 4 製品名 開発環境 •Visual Studio 2010 以上 : v02-00からは, VS 2015 以降 •Visual C# 2010 以上 : v02-00からは, C# 2015 以降 •Visual Basic 2010 以上 : v02-00からは, VB 2015 以降 実 行 環 境 Run Time • .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 以降 Data Provider • .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 データプロバイダ WWW Browser • Internet Explorer 11、主要なモダンブラウザに対応 IE以外のWWWブラウザでは、showModalDialog methodを使用するダイ アログ表示機能は使用できません。 1.2. 前提環境 C/S、RIAなど、ほとんどの案件でOpen棟梁を適用可能です。 今後も.NET、Visual Studioバージョンアップに追随予定です。 → 主要DBMSをサポート
  6. 6. 5 1.3. 標準化されていないアプリケーションUI テ ク ノ ロ ジ ログ ファイル DBMS ??? 標準化せず、実装をオフショアなどに丸投げした場合、 • どのような実装になっている? • 開発者ごとに実装がバラバラ! • 問題が多発する!! 「品質、性能が出ない」、 「デグレード多発」、「問題の分析ができない」 極端な例ですが、標準化をしない場合、 上記のように、内部の実装の共通化の具合、 実装のバラツキなどが把握できません。
  7. 7. 6 課 題 影 響 ・ 共通処理方式(基準)が遵守されない ・ プログラム構造がバラバラになる 保守性 低下 同じ処理を重複して開発してしまう 生産性 低下 各種チェック処理、排他処理などの 処理の実装漏れや、実装ミスなど 品質 低下 不慣れな、難易度の高い処理の実装 信頼性 低下 ・ SQLの組み立て実装ミス ・ 入力値サニタイジング等の処置漏れ セキュリティ 脆弱性 アプリケーション開発には様々な課題がありますが、 .NET用アプリケーション フレームワーク、Open棟梁を 導入することで、これらの課題を解決できます。 1.4. アプリケーション開発における課題
  8. 8. 7 大規模プロジェクトを成功させるための要素として、アプリケーション フ レームワーク(開発基盤)は、半ば必須です。フレームワーク開発には高 いコストがかかりますが、ノウハウが凝縮された実績のあるOpen棟梁 をベースとするとこで、高品質の開発基盤を安価に構築可能です。 1.5. Open棟梁 適用の効果 提供機能の例 効果 全レイヤに渡るアーキテクチャの標準化 保守性の向上 ベースクラスのフロー制御 に基づいた共通処理の実装 生産性の向上 実績のある部品の再利用 品質の向上 ・ SQLとプログラムの分離 ・ パラメタライズド・クエリの利用 信頼性の向上 自動生成(楽観排他を含む) 脆弱性の排除
  9. 9. 8 Open棟梁によるアプリケーション アーキテクチャの標準化 1. 全層に渡る、全レイヤの標準化が可能です。 2. ベースクラス1、2に基盤処理が実装されています。 ・ ベースクラス1 : 共通処理(実行エンジン) ・ ベースクラス2 : プロジェクトごとにカスタマイズ 3. これにより、開発者は、サブクラスへの 業務ロジック実装に専念することができます。 Business Logic層 ベースクラス1 サブクラス ベースクラス2 Presentation層 ベースクラス1 サブクラス ベースクラス2 Data Access層 ベースクラス1 ASP.NET サブクラス ベースクラス2 1.6. Open棟梁 による標準化 プロジェクトごとに処理をカスタマイズ可能 共通処理を標準提供 開発者ごとに業務ロジックを実装
  10. 10. 9 方式設計書に従い共通処理を実装 プロジェクト の 共通 Framework 認証 セッション管理 トランザクション管理 ログ出力 例外処理 権限 セキュリティメッセージ取得 ベースクラス2 基準書に従い業務を実装(クロスベンダ開発の実現) サブシステムA (ベンダーAが開発) サブシステムB (ベンダーBが開発) サブシステムC (ベンダーCが開発) サブシステムD (ベンダーDが開発) サブクラス Business Logic層 ベースクラス1 サブクラス ベースクラス2 Presentation層 ベースクラス1 サブクラス ベースクラス2 Data Access層 ベースクラス1 ASP.NET ベースクラス2 サブクラス 1.7. カスタマイズ可能なアーキテクチャ
  11. 11. 10 1.8. プロジェクト・テンプレートとS/Wスタック 特定プロジェクトのアーキテクチャに合わせてカスタマイズしたオンライン処理や バッチ処理のテンプレートを『プロジェクト・テンプレート』と呼びます。 このプロジェクト・テンプレートをリードエンジニアが事前に準備し、 プロジェクトに展開することで、開発プロジェクトの迅速な立ち上げを可能にします。 この準備作業を容易にする『テンプレート・ベース』を公開しています。 活用方法は、『Tutorial_Template_development.doc』参照して下さい。 案件ごとのアーキテクチャを反映した 『プロジェクト・テンプレート』 カスタマイズされたカスタマイズ可能レイヤ 標準化フレーム ( P / B / D層 の構造と実装箇所の規定) 共通部品 (通信制御、動的パラメタライズド・クエリ) 各種ドキュメント ・ 利用ガイド ・ チュートリアル ・ サンプル.etc ランタイム フレームワーク (e.g. ASP.NET, WPF, WCF, ADO.NET) ランタイム ( .NET CLR ) このレイヤを開発して、 提供しています。 有力な既成品 を選択・利用。 に加えて
  12. 12. 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. プロジェクト・テンプレートに業務処理を実装する。
  13. 13. 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のデザイナの操作性をスポイルしない造り。
  14. 14. 13 1. 概要 2. 事例 3. アピールポイント Contents
  15. 15. 14 Open棟梁 + VB + Xen(RDS)でアプリ展開・管理のコストを低減。 Dao自動生成、カスタム・コントロールによるビジネス・ロジック共通化 により、テスト・修正・デプロイのサイクルを短縮し、開発効率を向上。 2.1. メガバンク 投資銀行部門 業務システム Visual Basic .NET アプリケーション バッチ業務 オンライン業務 帳票出力業務 DBサーバ Xenサーバ (RDSサーバ) クライアントサイド サーバーサイド C/S2層(VB .NET + SQL Server) on Xen (RDS) バッチ・サーバ
  16. 16. 15 DBサーバ タッチパネル ( WPF ) Webサーババックエンド C/S 2層 フロントエンドx2, バックエンドx1の異なる処理方式をまとめて標準化、 WPFなどの当時最新のGUI技術も適用し、高い生産性を実現した。 これにより、複数アーキテクチャの標準化を迅速に行い、 非常に早いサイクルでの実験店の実験・検証を実現した。 WWWブラウザ 携帯端末 Web 2層 2.2. レンタルショップ 実験店システム
  17. 17. 16 Microsoft Azure (PaaS) のREST API開発においても、 Open棟梁のプロジェクト・テンプレートをカスタマイズして適用した。 ∴ 開発者はアーキテクチャ設計や標準化に労力を割かずに済み、 アーキテクチャ変更のリスクを大幅に軽減し、高い生産性を実現した。 2.3. 自動車走行ログの集配信システム on Azure 自動車走行 ログ配信 Microsoft Azure Web 2層 REST (XML) Web API WWWブラウザ 自動車走行 ログ収集 ストレージ・サービス SQLデータベース Worker ロール Web ロール
  18. 18. 17 Open棟梁により大規模基幹システムのアーキテクチャの統一を図 ることで開発者のスキルに依存しない開発を実現した。 これにより、多種業務・複数共通サービスのマルチベンダによる開発 において、リスクの軽減及び保守性・柔軟性を確保した。 業務1 ワークフロー サービス(Java) ワークフロー製品 Web/AP サーバ ワークフロー サーバ DBサーバ Windows アプリケーション 業務2 業務3 業務4 業務5 ・ C/S 3層 ・ Web 3層 ・ AJAX WWWブラウザ 携帯端末 帳票出力 サービス 帳票製品 帳票サーバ バッチ業務 ジョブ管理製品 バッチ処理サーバ Web/AP サーバ 文書管理 パッケージ製品 ・ オンラインバッチ連携 ・ オンライン帳票出力 ・ ワークフロー基盤呼出 2.4. 鉄道車両情報システム(大規模・クロスベンダ)
  19. 19. 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. オープンソースのためロックインの無いシステム拡張が可能。
  20. 20. 19 1. 概要 2. 事例 3. アピールポイント Contents
  21. 21. 20 Access TraceLog Business Logic層 ベースクラス1 サブクラス ベースクラス2 Presentation層 ベースクラス1 サブクラス ベースクラス2 Data Access層 ベースクラス1 UI サ ブ シ ス テ ム ベースクラス2 サブクラス 3.1. 標準化・共通化を徹底的に支援する Operation TraceLog SQL TraceLog • アクセス制御 • 表示・非表示 • 活性・不活性 • 閉塞処理 • コネクション制御 • トランザクション制御 • 例外処理 アクセス制御 Database SQL インジェクション 防止 LDAP 認証
  22. 22. 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 .NET Web Form or MVC 様々なスマート・デバイス ASP.NET WS, WCF, Web API SOAP, REST (JSON, XML)
  23. 23. 22 Dao クラス SQL ファイル DBMS 参照系SQL 定義ファイル HITACHI Net Bank 一覧 編集画面(カスタマイズ可能) 詳細/編集 一覧更新 スキーマ情報や、参照系SQLから、一覧、 詳細/編集、一覧更新の各種データ編集画 面を自動生成します(Excel設計書は不要) 3.3. 自動生成により開発効率を向上できる 全 自 動 生 成 TableAdapterと、実行エンジン
  24. 24. 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)
  25. 25. 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 NuGet Package Manager
  26. 26. 25 END ※ Windows、.NET Framework、Azureは、Microsoft Corporationの米国およびその他の国における商標もしくは登録商標です。 ※ Javaは、Oracle Corporationおよびその子会社、関連会社の米国およびその他の国における登録商標です。 ※ その他記載の会社名、製品名は、それぞれの会社の商標もしくは登録商標です。 評価方法 - Open 棟梁 Wiki https://opentouryo.osscons.jp/index.php?%E8% A9%95%E4%BE%A1%E6%96%B9%E6%B3%95 Get Started !!

×