これからは、コレ!旬なIT技術やこれから主流となりつつあるIT技術に関する情報をご紹介します。

2016年02月01日

MEANスタック
柔軟なWebアプリケーションが求められる時代

期待されるWebアプリケーション

近年、取引先とのやり取りや、社内の情報共有、ソーシャルメディアの活用などに、Webアプリケーションを利用する企業が増えています。Webアプリケーションとは、Webの技術を利用して作られたアプリケーションで、ブラウザなどを用いて必要なデータ処理を行います。
Webアプリケーションは、日々変化するビジネスに対して、柔軟に対応できることが求められています。ビジネスルールの変更に対応することはもちろん、IoT(Internet of Things *1)におけるデータ活用などにも期待されています。

*1 『あらゆるモノがインターネットにつながる世界 ~「モノのインターネット(Internet of Things)」』
https://www.kobelcosys.co.jp/column/itwords/227/

Webアプリケーションの技術とは

そもそも、Webアプリケーションはどんな技術で作られているのでしょうか。Webアプリケーションは、図1に示すように、普段目にしているブラウザ画面の表示などを行っているクライアント層と、アプリケーションのロジックを実行するサーバー層、データを格納するデータ層で構成されています。

Webアプリケーションの構成の一例
図1.Webアプリケーションの構成の一例

3つの層はそれぞれ、別々のプログラミング言語を扱います。また、データ層のRDB(関係性データベース)では、データを格納する表やデータ形式を事前に決定してから使用する必要があります。
そのため、Webアプリケーションを変更するには、複数のプログラミング言語に精通した人材の確保や、活用するデータ形式の詳細な事前決定が必要になり、柔軟に対応できないことがあります。

MEANスタックとは

これまでのWebアプリケーションに対して、MEANスタックという、ソフトウェアの構成が注目されています。MEANスタックは、JavaScript というプログラミング言語を利用したWebアプリケーションの構成です。MEANとは下記の言葉を組み合わせてできた略称です。


M: MongoDB (ドキュメント指向データベース*2)
E: Express(Node.js上で動作するJavaScriptのサーバー側フレームワーク*3)
A: AngularJS(JavaScriptのクライアント側フレームワーク)
N: Node.js(JavaScriptのサーバー側フレームワーク)

*2 ドキュメント指向データベース:1件分のデータを「ドキュメント」として格納する。個々のドキュメントのデータ構造は自由であり、データを追加する都度変えることができる柔軟な構造のデータベース 。
*3 フレームワーク:ある領域のソフトウェアに必要とされる汎用的な機能や基本的な制御構造をまとめたもの。アプリケーションを開発する際の土台となるソフトウェア。

図2にMEANスタックの構成について示します。

 MEANスタックの構成
図2.MEANスタックの構成

MEANスタックの構成と図1の従来のWebアプリケーションとの違いは、プログラミング言語とデータベースの種類の2点です。プログラミング言語は、JavaScriptに統一します。データベースは、ドキュメント指向データベースにすることで、データ構造が柔軟になり、JavaScriptで扱いやすいJSON(JavaScript Object Notation)形式を扱うことが可能になります。

MEANスタックのメリット

MEANスタックを採用することのメリットは、2つあります。

  • 保守性の向上

プログラミング言語の統一により、保守性が向上します。JavaScriptはWebの標準的な技術のため扱える技術者が多く、Webアプリケーションを拡張する際に、特別な技術者に依頼する必要がありません。また、API(Application Programming Interface*4)を利用し、外部の他のプログラムと連携して、データのやりとりを拡張することもできます。

  • データ活用における柔軟性の向上

ドキュメント指向データベースを採用することで、データ構造が変化しても柔軟に対応できます。また、JSON形式が使えることで、データの加工・表示方法を変えることにも比較的簡単に対応できます。そのため、IoTで集められた大量のデータを活用する際に、事前の設計にとらわれずアプリケーションを作ることができます。

*4 API:ソフトウェアの機能やデータを外部の他のプログラムから利用できる手順を定めたもの。

おわりに

MEANスタックの登場によって、Webアプリケーションにおけるソフトウェアのバリエーションは広がっています。MEANスタックには、複雑なデータ管理に対応した関係性データベースが必要なアプリケーションには向かないという面もありますが、従来のWebアプリケーション技術と組み合わせることでメリットを活用することができます。たとえばIoTでは、センサーなどから収集したデータを、新しい技術であるドキュメント指向データベースで蓄積・分析し、結果を従来のBIツールに反映して利用するといったことが考えられています。今後、Webアプリケーションは、MEANスタックなどの活用により、ビジネスに応じた進化を進めていくことが主流になっていくでしょう。


2016年2月

ITの可能性が満載のメルマガを、お客様への想いと共にお届けします!

Kobelco Systems Letter を購読