Open棟梁

出典: フリー百科事典『ウィキペディア(Wikipedia)』

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.NETADO.NETなどのデファクト・スタンダードなフレームワークを使用しており、
    Open棟梁プロジェクトは、エンタープライズ分野のビジネス・アプリケーション開発に必要なレイヤに注力している。
  • プロジェクトへは、プロジェクト毎のアーキテクチャを反映させたプロジェクト・テンプレートを使用して導入される。
    このため大規模なプロジェクトだけでなく、小規模なプロジェクトにも適用することが可能になっている。
  • 「ベースクラス1」、「ベースクラス2」をプロジェクト・テンプレートで固めて頒布することにより、
    大規模プロジェクトにおけるクロスベンダ開発やオフショア開発で真価を発揮する。

2.x系[編集]

  • コンセプトとして 1.x 系の「QCDFの向上」に、
    「迅速なスタートアップの立ち上げの実現」が追加された。
  • サービス開発や、エンタープライズ分野の事業システムの高度化、
    SoR (Systems of Record)と、SoE (Systems of Engagement)の
    融合を図る先進的なプロジェクトを主要なターゲットにしている。
  • 追加されたサポート。
    • ASP.NETのWeb Forms、MVC、WebAPIのプロジェクト・テンプレートに
      バンドル&ミニフィケーションやCDNNuGet対応などのモダナイゼーションが施された。
    • サービス開発に必要な、OAuth2.0OpenID Connect認証機能や、
      オンライン決済サービス等の外部サービスとの連携機能が追加された。
    • Microservices 開発への対応、モダンブラウザへの対応が追加された。
    • NuGetへのライブラリ登録 [1]
    • GitHub Wiki でのチュートリアル公開 [2]
    • Financial-grade API、SAML対応
    • .NET Standard.NET Core対応
    • Docker、Docker Compose、Kubernetesでの動作確認。
    • OAuth2.0OpenID 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 [3]
    開発者用リポジトリ:開発母体
  • OpenTouryoTemplates [4]
    利用者用リポジトリ:
    • プロジェクト向けテンプレート作成のベース
    • 本テンプレートとチュートリアルを使用して評価が可能。
  • OpenTouryoDocuments [5]
    各種ドキュメント
    • 利用ガイド(User guide)
    • チュートリアル(Tutorial)
  • OpenTouryo for OAuth2 OIDC Architecture
    And MultiPurpose Mobile Backend (Title)
    • FrontendTemplates (Repository) [7]
      Native、Hybrid、SPAなどのフロントエンドのテンプレート
    • ResourceServerTemplates (Repository) [8]
      OAuth2.0OpenID ConnectのResource Serverテンプレート

外部リンク[編集]

  • GitHub [9]
    • OpenTouryoProject (Organization) [10]
      • OpenTouryo (Repository) [11]
      • OpenTouryo (Wiki) [12]
      • OpenTouryoTemplates (Repository) [13]
      • OpenTouryoDocuments (Repository) [14]
      • MultiPurposeAuthSite (Repository) [15]
      • OpenTouryo for OAuth2 OIDC Architecture
        And MultiPurpose Mobile Backend (Title)
        • FrontendTemplates (Repository) [16]
        • ResourceServerTemplates (Repository) [17]
    • DevInfraWGinOSSConsortium (Organization) [18]
      • LocalServicesOnDocker [19]
      • MVCSampleOnDocker (Repository) [20]
      • OAuth2OidcArchitOnDocker (Repository) [21]
  • OSSコンソーシアム [22]
    • 開発基盤部会 - OSSコンソーシアム [23]
      • Blog [24]
      • Open棟梁について [25]
      • 提供サービス一覧 [26]
    • Wiki
      • Open棟梁 [27]
      • 開発基盤部会 [28]
      • MS系技術情報 [29]