検索パネルを開く 検索パネルを閉じる メニューを開く メニューを閉じる

2018年3月13日

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

日本電信電話株式会社(東京都千代田区、代表取締役社長:鵜浦博夫、以下「NTT」)は、Webシステムを開発するためのアプリケーションフレームワーク※1「Macchinetta(マキネッタ)フレームワーク」を公開し、広くIT業界全体として、高品質なシステムを安定的に効率良く開発できるよう取組みを進めていきます。
Macchinettaフレームワークは、Java言語向けのオープンソースソフトウェア(以下、OSS)のアプリケーションフレームワークとして広く利用されているSpring※2を中心に、Webシステムの開発において必要となる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したものです。NTTグループにおいて広く標準的に活用されており、豊富なベストプラクティスに基づいて作成されています。開発者はMacchinettaフレームワークを活用することにより、Webシステムの開発における品質の均一化と生産性の向上を実現することができます。

1.背景

Webシステムの開発では、主にコスト的な観点からOSSを採用することが一般的になっています。しかし、市中には多種多様なOSSがあり、かつその技術の進化は速く、品質や動作の保証もされていないものも多いため、利用するOSSの選定に際しては、複数のOSSの組み合わせ動作を含めて、開発の都度、継続的に幅広い技術調査・検証を実施することが必要不可欠になります。
また、OSSを利用したアプリケーションの実装は非常に自由度が高く、実装方法の規定を行わない場合には、開発者によって実装の方法や品質にバラつきが起こり、故障発生時の原因解析の複雑化、機能追加開発時の既存実装の解析の複雑化など、長期的なアプリケーションの保守が非効率になります。
OSSの活用に当たっては、このような技術調査・検証、適切な実装方法の規定は、開発および長期的な保守を効率化するために非常に重要なことであり、NTTにおいてもそれらの対策に継続的に取り組んできました。
Macchinettaフレームワークは、NTTソフトウェアイノベーションセンタ(以下、SIC)が中心となって整備を進めたもので、2014年以降、NTTグループ内のWebシステム開発や、お客様システムの開発において約300件の適用実績があり、その有用性の高さは実証されています。今回、そのMacchinettaフレームワークを一般に公開することで、IT業界の技術者が広く活用することが可能になり、開発の都度、自ら技術検証や実装方法の規定等を実施することなく、Webシステムの開発における品質の均一化と生産性の向上を実現することができます。

2.技術の概要

Macchinettaフレームワークは、種々のOSSの組み合わせによる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したものです(図1)。
OSSの組み合わせによる共通機能の提供においては、様々なユースケースを想定した動作検証を行い、OSSのアプリケーションフレームワークであるSpringを中心にOSSスタック推奨モデルとして定義しています(図2)。
アプリケーションの実装に関しては、これまでの適用で培ったベストプラクティスに基づくノウハウを整理し、具体的な実装方法をドキュメントとして定めた開発ガイドライン、機能確認や性能確認を行うための検証プログラム、Macchinettaフレームワークに基づく実装手法の習熟や開発時の事前検討に有効なモデルシステム等を提供しています。

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

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

3.提供方法

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

https://macchinetta.github.io/当該ページを別ウィンドウで開きます

4.今後の展開

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

用語解説

※1アプリケーションフレームワーク
アプリケーションの標準的な構造を実装するためのソフトウェア部品(クラスやライブラリ)の集合。単にフレームワークとも呼ばれる。多くの再利用可能なソフトウェア部品をまとめることにより、新たなアプリケーションを開発する際に標準的なコードの実装作業が低減され、効率的な開発が可能になる。

※2Spring
Java言語による主にエンタープライズ向けのアプリケーションを開発するためのオープンソースのアプリケーションフレームワーク。

本件に関するお問い合わせ先

日本電信電話株式会社
サービスイノベーション総合研究所
企画部広報担当
E-mail:randd-ml@hco.ntt.co.jp
Tel:046-859-2032

Innovative R&D by NTT Innovative R&D by NTT NTTのR&D活動を「ロゴ」として表現しました

ニュースリリースに記載している情報は、発表日時点のものです。
現時点では、発表日時点での情報と異なる場合がありますので、あらかじめご了承いただくとともに、ご注意をお願いいたします。