NTT、Java開発フレームワーク「Macchinettaフレームワーク」を公開

効率的なソフトウェア開発を実現するフレームワークを公開しIT業界に貢献

NTT 2018年3月13日

日本電信電話(以下、NTT)は3月13日、Webシステムを開発するためのアプリケーションフレームワーク「Macchinetta(マキネッタ)フレームワーク」を公開し、広くIT業界全体として、高品質なシステムを安定的に効率良く開発できるよう取組みを進めていくと発表した。

Macchinettaフレームワークは、Java言語向けのOSS(オープンソースソフトウェア)のアプリケーションフレームワークとして広く利用されている「Spring」を中心に、Webシステムの開発において必要となる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したもの。NTTグループにおいて広く標準的に活用されており、豊富なベストプラクティスに基づいて作成されている。開発者はMacchinettaフレームワークを活用することにより、Webシステムの開発における品質の均一化と生産性の向上を実現することができる。

Macchinettaフレームワークは、下記のGitHub上で公開している。

https://macchinetta.github.io/

背景

Webシステムの開発では、主にコスト的な観点からOSSを採用することが一般的だ。しかし、多種多様なOSSがあり、かつその技術の進化は速く、品質や動作の保証もされていないものも多いため、利用するOSSの選定に際しては、複数のOSSの組み合わせ動作を含めて、開発のつど継続的に幅広い技術調査・検証を実施することが必要不可欠になる。また、OSSを利用したアプリケーションの実装は非常に自由度が高く、実装方法の規定を行わない場合には、開発者によって実装の方法や品質にバラつきが生じ、故障発生時の原因解析の複雑化、機能追加開発時の既存実装の解析の複雑化など、長期的なアプリケーションの保守が非効率になる。OSSの活用にあたっては、このような技術調査・検証、適切な実装方法の規定は、開発および長期的な保守を効率化するために非常に重要なことであり、NTTでもそれらの対策に継続的に取り組んできた。

Macchinettaフレームワークは、NTTソフトウェアイノベーションセンタ(以下、SIC)が中心となって整備を進めたもので、2014年以降、NTTグループ内のWebシステム開発や顧客システムの開発において約300件の適用実績があり、その有用性の高さは実証されている。今回、そのMacchinettaフレームワークを一般に公開することで、IT業界の技術者が広く活用することが可能になり、開発のつど自ら技術検証や実装方法の規定等を実施することなく、Webシステムの開発における品質の均一化と生産性向上を実現することができる。

技術の概要

Macchinettaフレームワークは、種々のOSSの組み合わせによる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したもの(図1)。

図1 Macchinettaフレームワークの資材構成

OSSの組み合わせによる共通機能の提供においては、様々なユースケースを想定した動作検証を行い、OSSのアプリケーションフレームワークであるSpringを中心にOSSスタック推奨モデルとして定義している(図2)。

図2 MacchinettaフレームワークのOSSスタック推奨モデル

アプリケーションの実装に関しては、これまでの適用で培ったベストプラクティスに基づくノウハウを整理し、具体的な実装方法をドキュメントとして定めた開発ガイドライン、機能確認や性能確認を行うための検証プログラム、Macchinettaフレームワークに基づく実装手法の習熟や開発時の事前検討に有効なモデルシステム等を提供している。

今後の展開

NTTは、今後も継続的にMacchinettaフレームワークの機能向上・改善を進めて一般への公開を行い、IT業界の発展に貢献していきたいとしている。

 

詳細はNTTによるニュースリリースを参照
http://www.ntt.co.jp/news2018/1803/180313a.html