Open棟梁

Open棟梁は、2007年に株式会社日立システムアンドサービスで開発され、2014年に株式会社日立ソリューションズからオープンソースとしてリリースされた、.NET用アプリケーションフレームワークである。OSSコンソーシアムの.NET開発基盤部会（現、開発基盤部会）によってフォークされGitHub上のOpen棟梁プロジェクト リポジトリに格納されている。2017年にはバージョン 2.0 がリリースされた。2020年以降はプロジェクト・オーナーの転籍による開示元のオーナーシップ問題のため、コミュニティ主導での開発が継続される予定である。

概要

1.x系 
 コンセプトは「QCDFの向上」（QCDF : Quality = 品質, Cost = コスト, Delivery = 納期, Flexibility = 柔軟性）

 エンタープライズ分野のビジネス・アプリケーションの開発プロジェクトを主要なターゲットにしている。

 以下の要素から構成されている。
 プロジェクト・テンプレート
 フレームワーク（フルスタック、標準化フレーム）
 ツール（開発支援ツール、自動生成ツール）
 部品（クラスライブラリ）
 ドキュメント類（利用ガイド、チュートリアル）

 中核となるフレームワーク部分の構成は、
 一般的な「ビジネス・アプリケーションの論理 3 階層構成」に加え、
 それぞれの階層が「ベースクラス1」、「ベースクラス2」、「サブクラス」からなる3つのクラス継承階層から構成される。
 この「ベースクラス2」をカスタマイズ可能レイヤとして、プロジェクトや企業毎にカスタマイズが可能な構造となっているのが特徴である。
 「ベースクラス1」はフレームワークの本体である（制御の反転により「ベースクラス2」、「サブクラス」の処理を呼び出す）。
 また、「サブクラス」は業務処理を実装するレイヤとなっている。

 ランタイム、には、ASP.NET、ADO.NETなどのデファクト・スタンダードなフレームワークを使用しており、Open棟梁プロジェクトは、エンタープライズ分野のビジネス・アプリケーション開発に必要なレイヤに注力している。

 プロジェクトへは、プロジェクト毎のアーキテクチャを反映させたプロジェクト・テンプレートを使用して導入される。このため大規模なプロジェクトだけでなく、小規模なプロジェクトにも適用することが可能になっている。

 「ベースクラス1」、「ベースクラス2」をプロジェクト・テンプレートで固めて頒布することにより、大規模プロジェクトにおけるクロスベンダ開発やオフショア開発で真価を発揮する。

2.x系 
 コンセプトとして 1.x 系の「QCDFの向上」に、「迅速なスタートアップの立ち上げの実現」が追加された。

 サービス開発や、エンタープライズ分野の事業システムの高度化、SoR (Systems of Record)と、SoE (Systems of Engagement)の融合を図る先進的なプロジェクトを主要なターゲットにしている。

 追加されたサポート。
 ASP.NETのWeb Forms、MVC、WebAPIのプロジェクト・テンプレートにバンドル＆ミニフィケーションやCDN、NuGet対応などのモダナイゼーションが施された。
 サービス開発に必要な、OAuth2.0、OpenID Connect認証機能や、オンライン決済サービス等の外部サービスとの連携機能が追加された。
 Microservices 開発への対応、モダンブラウザへの対応が追加された。
 NuGetへのライブラリ登録 
 GitHub Wiki でのチュートリアル公開 
 Financial-grade API、SAML対応
 .NET Standard、.NET Core対応
 Docker、Docker Compose、Kubernetesでの動作確認。
 OAuth2.0、OpenID Connectアーキテクチャへの対応（FrontendTemplatesリポジトリ、ResourceServerTemplatesリポジトリの新設）

3.x系 
OAuth2.0認証基盤のIoT転用から、IoT エッジ・コンピューティング → ビッグデータ → AIへのシフトを検討している。

ライセンス 
基本的に、以下のように構成されており、SIでの商用利用も可能。

 ライブラリ部Apache License, Version 2.0
 テンプレート部MIT License
 プロジェクト・テンプレート部Visual Studioが生成したプロジェクト・テンプレート部は、マイクロソフト社の再頒布可能コードの条件を遵守する。

EOLについて 
今の所、EOLの予定はない。
 1.x系については、メンテナンス・フェーズに突入しているが、維持・保守はコミュニティで継続の予定。
 新規開発についても、比較的上位のスタックに位置するプロダクトのため、新技術の登場の度、新プロジェクトが起案される。
 世の中の開発のニーズが無くならない限り（、人的リソースの問題を除き）、開発は継続される予定である。

リソース 
ごく一部の内部用ドキュメントを除いてすべてオープンソース化されており、ダウンロードで無償入手が可能。

 OpenTouryo 開発者用リポジトリ：開発母体

 OpenTouryoTemplates 利用者用リポジトリ：
 プロジェクト向けテンプレート作成のベース
 本テンプレートとチュートリアルを使用して評価が可能。

 OpenTouryoDocuments 各種ドキュメント
 利用ガイド（User guide）
 チュートリアル（Tutorial）

 MultiPurposeAuthSite (Repository) OAuth2.0、OpenID Connect、SAML認証基盤

 OpenTouryo for OAuth2 OIDC ArchitectureAnd MultiPurpose Mobile Backend (Title)
 FrontendTemplates (Repository) Native、Hybrid、SPAなどのフロントエンドのテンプレート
 ResourceServerTemplates (Repository) OAuth2.0、OpenID ConnectのResource Serverテンプレート

外部リンク 
 GitHub 
 OpenTouryoProject (Organization) 
 OpenTouryo (Repository) 
 OpenTouryo (Wiki) 
 OpenTouryoTemplates (Repository) 
 OpenTouryoDocuments (Repository) 
 MultiPurposeAuthSite (Repository) 
 OpenTouryo for OAuth2 OIDC ArchitectureAnd MultiPurpose Mobile Backend (Title)
 FrontendTemplates (Repository) 
 ResourceServerTemplates (Repository) 
 DevInfraWGinOSSConsortium (Organization) 
 LocalServicesOnDocker 
 MVCSampleOnDocker (Repository) 
 OAuth2OidcArchitOnDocker (Repository) 

 OSSコンソーシアム 
 開発基盤部会 - OSSコンソーシアム 
 Blog 
 Open棟梁について 
 提供サービス一覧 
 Wiki
 Open棟梁 
 開発基盤部会 
 MS系技術情報 

オープンソースソフトウェア
クロスプラットフォームのソフトウェア
.NET Framework