Mais conteúdo relacionado Semelhante a Open棟梁概要説明 v02-00 (20) Mais de Daisuke Nishino (14) Open棟梁概要説明 v02-004. 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. 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をサポート
7. 6
課 題 影 響
・ 共通処理方式(基準)が遵守されない
・ プログラム構造がバラバラになる
保守性 低下
同じ処理を重複して開発してしまう 生産性 低下
各種チェック処理、排他処理などの
処理の実装漏れや、実装ミスなど
品質 低下
不慣れな、難易度の高い処理の実装 信頼性 低下
・ SQLの組み立て実装ミス
・ 入力値サニタイジング等の処置漏れ
セキュリティ
脆弱性
アプリケーション開発には様々な課題がありますが、
.NET用アプリケーション フレームワーク、Open棟梁を
導入することで、これらの課題を解決できます。
1.4. アプリケーション開発における課題
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. 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. カスタマイズ可能なアーキテクチャ
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. 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のデザイナの操作性をスポイルしない造り。
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. 15
DBサーバ
タッチパネル
( WPF )
Webサーババックエンド
C/S 2層
フロントエンドx2, バックエンドx1の異なる処理方式をまとめて標準化、
WPFなどの当時最新のGUI技術も適用し、高い生産性を実現した。
これにより、複数アーキテクチャの標準化を迅速に行い、
非常に早いサイクルでの実験店の実験・検証を実現した。
WWWブラウザ
携帯端末
Web 2層
2.2. レンタルショップ 実験店システム
17. 16
Microsoft Azure (PaaS) のREST API開発においても、
Open棟梁のプロジェクト・テンプレートをカスタマイズして適用した。
∴ 開発者はアーキテクチャ設計や標準化に労力を割かずに済み、
アーキテクチャ変更のリスクを大幅に軽減し、高い生産性を実現した。
2.3. 自動車走行ログの集配信システム on Azure
自動車走行
ログ配信
Microsoft Azure
Web 2層
REST (XML)
Web API
WWWブラウザ
自動車走行
ログ収集
ストレージ・サービス
SQLデータベース
Worker
ロール
Web
ロール
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. オープンソースのためロックインの無いシステム拡張が可能。
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)
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. 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. 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 !!