0
.NET用アプリケーション
フレームワーク Open 棟梁
@OSC 2018 Hiroshima
OSSコンソーシアム 開発基盤部会
1
• 2016 ~ 廿日市市 在住
• 拝承の片隅で働いている、
(エンプラITの生産技術 畑の出身)
• Open棟梁 プロジェクトのPO。
自己紹介
西野 大介:
@openhishopjpo
facebook.com/100008097671788
2
Open棟梁の、マーケティング・開発・プロモーション
をするためのプロジェクト。
Open棟梁は、高い品質・信頼性、生産性、柔軟
性(QCDF)を実現する、エンタープライズ・システム
向けの開発基盤として2007年にリリースされ、2014
年にオープンソース化された。
Open棟梁プロジェクトとは?
3
• 開発支援ツールの種類
• 標準化とソフトウェア・スタック
• AS-IS と TO-BE
アウトライン
4
• IDE(統合開発環境)
• RAD ツール
• EUC ツール
• 統合 CASE ツール
• IDE + テンプレート + パッケージ
• Dry (Don‘t repeat yourself)
アウトライン : 開発支援ツールの種類
5
汎用的かつ高機能、非常に優秀なプロダクトが多い。
∴ アプリケーション開発のデファクト・スタンダードとなっている。
• Eclipse
• Visual Studio
• Xcode
• Android Studio
• , etc.
<開発支援ツールの種類:IDE(統合開発環境)>
ソースコード
作成
• ビルド
• デプロイ
6
強力なIDEとの競争に晒され、衰退傾向。昨今のトレンドを分析する
と、RAD・EUC機能の追加や、クロスプラットフォーム対応などで、強力な
IDEとの差別化を図っている模様。
<開発支援ツールの種類:RAD ツール>
RAD・EUC機能
ソースコード作成
クロス
コンパイル
• ビルド
• デプロイ
ソースコード
(100%生成)
7
最も普及しているツールに、”Excel” や ”Access” などがある。一方、
「システム開発向けの EUC, RAD ツール」は、コーディング・レスで、FP
生産性は非常に高い反面、柔軟性が低いので、要求仕様に応えられな
いケースも多い。
<開発支援ツールの種類:EUC ツール>
• リポジトリ
• 自動生成
エンジン
設計情報
• 画面
• 業務
• データ
ソースコード
(100%生成)
自部門で利用するなど、仕様(特にUX)を
自分でコントロールできるものに適合する。
8
前述の「システム開発向けのEUC、RADツール」に似ているが、より
「大規模なチーム開発」に特化している。そのため、設計情報の入出力・
CASEツール間の連携が可能で、制限事項が発生しないよう生成ソース
コードに別途実装を加える仕組みになっている。全体的に大掛かり。
<開発支援ツールの種類:統合 CASE ツール>
• リポジトリ
• 自動生成
エンジン
設計情報
• 画面
• 業務
• データ
ソースコード
(枠の生成)
9
前述の「自動生成機構を持つツール」は、アーキテクチャの変更に弱く柔軟性が
低い。この方式は、独自開発部分を最小限に留めることで、開発技術の多様化に
追随することを可能にし、高い柔軟性を発揮する。
<開発支援ツールの種類 :
IDE + テンプレート + パッケージ>
パッケージ
マネージャー
IDE(統合開発環境)
テンプレート(スタックの決定と 共通化の支援)
パッケージ(フレームワーク & ライブラリ
ユーザー・コード(共通処理・・・カスタマイズ)
ランタイム
ユーザー・コード(個別処理)
昨今、フレームワーク & ライブラリは、
パッケージマネージャーから取得すると良い。
10
数画面のツール等の開発に最適な方式。デファクトなフレームワークの生のAPIを
触りたいなどの理由で、レイヤ分割を避けていると、密結合になり、大規模化しコン
トロールが必要になった時点で、対応できなくなる。
<開発支援ツールの種類 :
Dry (Don‘t repeat yourself)>
パッケージ
マネージャー
IDE(統合開発環境)
素書き ≒ 密結合になりやすい。
≒ 標準化、共通化がされていない状態。
ランタイム
パッケージ(フレームワーク & ライブラリ
昨今、フレームワーク & ライブラリは、
パッケージマネージャーから取得すると良い。
11
• 標準化されていない状態
• 標準化された状態
• 標準化のためのスタック
• 標準化スタックの導入プロセス
アウトライン : 標準化とソフトウェア・スタック
UI
テ
ク
ノ
ロ
ジ
ログ ファイル
DBMS
???標準化せず、実装をオフショアなどに丸投げした場合、
• どのような実装になっている?
• 開発者ごとに実装がバラバラ!
• 問題が多発する!!
「品質、性能が出ない」、
「デグレード多発」、「問題の分析ができない」
<標準化とソフトウェア・スタック:標準化されていない状態>
保守性 低下、生産性 低下、品質 低下、
信頼性 低下、セキュリティ・脆弱性の発生
エンタープライズのセグメント・ターゲットで問題視される事が多い。
Open棟梁 基幹システム開発基盤
.NET リッチクライアント
WWWブラウザ
HTML
SOAP, JSON
(バイナリ転送)
WebAPI
(REST, JSON-RPC)
様々なスマート・デバイス
BusinessLogic層
Transaction Root
ベースクラス1
サブクラス
ベースクラス2
DataAccess層
ベースクラス1
サブクラス
ベースクラス2
通信制御機能
.NET サービスインターフェイス
バイナリ・オブジェクト転送
汎用サービスインターフェイス
SOAP, REST (JSON, XML)
バイナリ・オブジェクト転送
Presentation層:ASP.NET
Web Form or MVC
SOAP, REST (JSON, XML)
DBMS
XML or SQLファイル
<?xml version="1.0" encoding="shift_jis" ?>
<ROOT>
SELECT A, B, C, D
FROM T
<WHERE>
WHERE
<IF>AND A = @A</IF>
<IF>AND A LIKE @A_LIKE</IF>
<IF>AND B = @B</IF>
<IF>AND B LIKE @B_LIKE</IF>
<IF>AND C = @C</IF>
</WHERE>
ORDER BY
<IF name="SEQUENCE">A
<ELSE>B</ELSE>
</IF>
</ROOT>
<標準化とソフトウェア・スタック:標準化された状態>
保守性 向上、生産性 向上、品質 向上、
信頼性 向上、セキュリティ・脆弱性の排除
Open棟梁は
このレイヤに注力
有力な既成品を
選択・利用。
案件ごとのアーキテクチャを反映した
『プロジェクト・テンプレート』
カスタマイズされたカスタマイズ可能レイヤ
標準化フレーム
( P / B / D層 の構造と実装箇所の規定)
共通部品
(通信制御、動的パラメタライズド・クエリ)
ランタイム フレームワーク
(e.g. ASP.NET, WPF, WCF, ADO.NET)
ランタイム ( .NET CLR )
案件毎に追加されるライブラリ
(業務系ライブラリ、画面遷移、Custom Control、User Control)
案件毎に
更にスタックする。
<標準化とソフトウェア・スタック:標準化のためのスタック>
単に 「フレームワーク」 と表現されることが多いが、
これらのスタックにも様々なレイヤがあり、夫々が異なる。
開発プロジェクト
の立ち上げ
機能・非機能
要件定義
システム開発の開始
コミュニティによる
開発基盤の開発
ナレッジベース開発と
オンライン・サポート
リードエンジニアによる
プロジェクトへの導入
オープンソース、
オープン技術情報
< 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ライフサイクルをトータルにサポート!
システム開発の現場
技術情報の取得
フィードバック
システムの稼働
<標準化とソフトウェア・スタック:標準化スタックの導入プロセス>
16
SI事業の、AS-IS、TO-BE
• AS-IS(技術的に遅れている)
• TO-BE(市場の縮小が予想される)
• オープンにして、エコシステムを形成
• オープンな環境を活用し、新しい分野へ進出
• 省力・省人 → 少人化(少数精鋭)を実現
• “これまで” と “これから” の取組み
アウトライン : AS-IS と TO-BE
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
Online supportVideo hosting services
Version control
repository hosting
services on internet.
Pukiwiki
OSS Consortium
Package
Manager
GitHub
Youtube
NuGet
Google Groups
Roadmaps
Blogs
SlideShare
<AS-IS と TO-BE :
TO-BE : オープンにして、エコシステムを形成>
SlidesTutorial
<AS-IS と TO-BE :
TO-BE : オープンな環境を活用し、新しい分野へ進出>
汎用認証サイト
(IdMaaS)
UserStoreオンライン決済
ノーティフィケーション
外部ログイン
あらゆる言語・Platform の
WebAPIから連携が可能!
ハイブリット・アプリ
汎用Mobile Backend (mBaaS)
• プッシュ通知
• GPS連携
• メッセンジャー連携
ASP.NET Core WebAPI
外部サービス
オレンジ色部分が、現在開発中の
Open 棟梁 追加コンポーネント
Client Side
Cordovaテンプレート
Server Side
ASP.NET Core MVC
主力 プロダクト
他社 取扱品
Apache NiFi (OSS)
ASP.NET Core WebAPI
Version control repository
hosting services on internet.
GitHub
環境構築、ビルド
バックアップなどの各種
スクリプトによる作業の効率化
テスト用サンプル
によるテスト効率向上
とデグレードの防止
Easily sync your GitHub
projects and can test
the code in minutes.
Continuous
integration
(予定)
• AppVeyor
• Travis CI
<AS-IS と TO-BE :
省力・省人 → 少人化(少数精鋭)を実現>
各種 外部サービスを活用し、各種 開発タスクを効率化・自動化する。
<AS-IS と TO-BE :
TO-BE : “これまで” と “これから” の取組み>
① v1.0系 (2007-2016)
高い品質・信頼性、生産性、柔軟性(QCDF)を実現する、
エンタープライズ・システム向けの開発基盤を提供。
② v2.0系 (2017-2019)  今ココ。
OpenID系認証, JavaScriptフロントエンド、 ASP.NET Coreバックエンド
技術で、Cloud & Mobileアプリ開発などのサービス開発のニーズを満たす。
③ v3.0系 (2020-202x)
Windows, Linux, Public Cloud, Open PaaS, DevOps,
AI, IoTなど、エンタープライズ・システムのITインフラのポートフォリオを拡充。

More Related Content

PDF
開発支援ツールとは?
PDF
Open棟梁概要説明 v02-00
PDF
プログラム・マネジメント @ Open棟梁プロジェクト
PDF
今日日の展開計画について
PDF
OSSコンソーシアム 開発基盤部会 2020年度 活動方針・部会紹介
PDF
Open棟梁プロジェクトの取り組み
PDF
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
PDF
Open棟梁プロジェクトの背景
開発支援ツールとは?
Open棟梁概要説明 v02-00
プログラム・マネジメント @ Open棟梁プロジェクト
今日日の展開計画について
OSSコンソーシアム 開発基盤部会 2020年度 活動方針・部会紹介
Open棟梁プロジェクトの取り組み
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
Open棟梁プロジェクトの背景

What's hot (20)

PDF
Open棟梁 社会インフラシステム アーキテクチャの提案
PDF
.NET用アプリケーション フレームワーク “Open 棟梁”のオープンソース化について
PDF
Open棟梁と、さまざまな開発標準とのフィッティング案
PDF
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
PDF
OSSコンソーシアム 開発基盤部会 2016年度 活動方針・部会紹介
PDF
.NET Coreとツール類の今
PDF
Open棟梁 v2 ソリューション化検討資料
PDF
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
PDF
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
PDF
C#ユーザー会 //build/ まとめ(サーバー編)
PPTX
新しい Visual Studio & .NET と新時代のアーキテクチャ
PDF
.NET の今 ~ 最新アップデートと 2019 年の展望
PDF
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
PDF
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
PDF
.NET Micro Framework (プラレールと電子工作)
PDF
.NETの業務向けOSSフレームワーク鼎談
PDF
Open 棟梁 @ オープンソースカンファレンス 2015 Nagoya
PDF
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
PPTX
新しく生まれ変わった Azure Log Analytics と Azure Security Center によるITインフラの分析と保護
PDF
[TL03] あなたはどっち? Visual Studio Code 派と Visual Studio 派による Web フロントエンド開発 徹底紹介
Open棟梁 社会インフラシステム アーキテクチャの提案
.NET用アプリケーション フレームワーク “Open 棟梁”のオープンソース化について
Open棟梁と、さまざまな開発標準とのフィッティング案
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2016年度 活動方針・部会紹介
.NET Coreとツール類の今
Open棟梁 v2 ソリューション化検討資料
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
OSSコンソーシアム 開発基盤部会 2019年度 活動方針・部会紹介
C#ユーザー会 //build/ まとめ(サーバー編)
新しい Visual Studio & .NET と新時代のアーキテクチャ
.NET の今 ~ 最新アップデートと 2019 年の展望
【de:code 2020】 ハイブリッド プラットフォームの最新動向を知る
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
.NET Micro Framework (プラレールと電子工作)
.NETの業務向けOSSフレームワーク鼎談
Open 棟梁 @ オープンソースカンファレンス 2015 Nagoya
【de:code 2020】 アマダの Azure への取り組みと DevOPS・MLOPS 環境の構築と運用
新しく生まれ変わった Azure Log Analytics と Azure Security Center によるITインフラの分析と保護
[TL03] あなたはどっち? Visual Studio Code 派と Visual Studio 派による Web フロントエンド開発 徹底紹介
Ad

Similar to OSC2018 hiroshima session slide by OSSC (20)

PDF
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
PDF
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
PPTX
今から始める、Windows 10&新.NETへの移行戦略
PPTX
基盤の改善から既存アプリケーションの改善
PPT
20010127
PPT
2006-04-22 CLR/H #14 .NET and open source
PDF
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
PDF
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
ODP
Sapporo Open Seminar 1
PPTX
今から始める、Windows 10&新.NETへの移行戦略
PPT
20050903
PDF
[Japan Tech summit 2017] APP 001
PPTX
広がる .Net
PDF
OpenSpan_PreMarketing
PDF
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
PPTX
技術選択とアーキテクトの役割
PPT
20021007
PDF
Open棟梁 v1 の対応アプリケーション・アーキテクチャ一覧
PPTX
Windows 8時代のアプリ開発
PPTX
Kspin20121201 kobayashi
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
今から始める、Windows 10&新.NETへの移行戦略
基盤の改善から既存アプリケーションの改善
20010127
2006-04-22 CLR/H #14 .NET and open source
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
ユーザー企業における標準化のあり方 : QCon Tokyo 2010
Sapporo Open Seminar 1
今から始める、Windows 10&新.NETへの移行戦略
20050903
[Japan Tech summit 2017] APP 001
広がる .Net
OpenSpan_PreMarketing
Linux & Mac OS でも動く! ~ オープンソース & クロスプラットフォーム .NET の歩き方 ~
技術選択とアーキテクトの役割
20021007
Open棟梁 v1 の対応アプリケーション・アーキテクチャ一覧
Windows 8時代のアプリ開発
Kspin20121201 kobayashi
Ad

More from Daisuke Nishino (15)

PDF
オーガナイズ(組織化)してみよう
PDF
「三方よし」から考える価値
PDF
どうやって「価値」を産むか?(付録)
PDF
どうやって「価値」を産むか?​
PDF
Open棟梁 v2 の対応アプリケーション・アーキテクチャ一覧
PDF
組織的プロジェクトマネジメント(OPM)について考えた。
PDF
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
PDF
開発基盤に求められること。
PDF
【Open棟梁 汎用認証サイト】による認証ソリューション
PDF
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
PDF
去年サービス開発でコケたんですが、微妙にピボットした話。
PDF
Open棟梁 v02-00 コンセプト
PDF
Open棟梁ロードマップ v01-72リリース時
PDF
OSSコンソーシアム .NET開発基盤部会 2017 活動方針・部会紹介
PDF
Open棟梁機能紹介 v02-00
オーガナイズ(組織化)してみよう
「三方よし」から考える価値
どうやって「価値」を産むか?(付録)
どうやって「価値」を産むか?​
Open棟梁 v2 の対応アプリケーション・アーキテクチャ一覧
組織的プロジェクトマネジメント(OPM)について考えた。
Open 棟梁 プロジェクトの、省力・省人・少人化による、コスト削減の全容。
開発基盤に求められること。
【Open棟梁 汎用認証サイト】による認証ソリューション
OSSによるマッシュアップ&サービス化を実現するOpen棟梁サービス開発基盤
去年サービス開発でコケたんですが、微妙にピボットした話。
Open棟梁 v02-00 コンセプト
Open棟梁ロードマップ v01-72リリース時
OSSコンソーシアム .NET開発基盤部会 2017 活動方針・部会紹介
Open棟梁機能紹介 v02-00

OSC2018 hiroshima session slide by OSSC