スクリプト言語による軽量なWeb開発

2010年1月14日(木)
須江 信洋

シンプルでコンパクトなランタイム

Java EEベースのアプリケーション・サーバーは、トランザクションやメッセージングなど、エンタープライズ・アプリケーションに求められる機能を標準仕様として取り込んできました。この結果、現在のJava EEアプリケーション・サーバーは、いわゆる基幹系業務にも十分適用可能なほど強力になりましたが、その代償としてメモリやCPU、ディスクなどのリソースの消費量も大きくなっています。

しかし実際には、Java EEのフルスペックを要求するアプリケーションだけではなく、画面とデータベース・アクセス程度のシンプルなWebアプリケーションも多いのではないでしょうか。sMashはシンプルなWebアプリケーションを対象として、潔く機能を絞り込むことで、ランタイムのリソース消費量を必要最小限に抑えています。例えば、sMashは1サーバー・プロセスあたり100Mバイト程度のメモリがあれば十分動作します。

sMashのランタイムの特徴は、1アプリケーションごとに1サーバー・プロセス(=Java VM)を占有するというアーキテクチャーを採用していることです。これにより、アプリケーション間の干渉を防ぐとともに、マルチコア・プロセッサの環境でのスケーラビリティを確保しています。

sMashの使いどころ

すでに説明した通り、sMashはいわゆる「Web+DB」アプリケーションに対象を絞り込み、超軽量にチューニングされたアプリケーション・サーバーです。また、スクリプト言語によるアジャイル開発をサポートし、Ajaxを前提としたアーキテクチャーを採用していることから、以下のような用途で特に威力を発揮します。

  • 短期開発、ないしは頻ぱんに変更が発生するWebアプリケーションの開発
  • REST形式のWeb APIの開発、もしくは既存のアプリケーションのREST化
  • エンタープライズにおけるスクリプト言語の活用、特にPHP技術者やPHP資産の活用
  • 組み込みアプリケーション・サーバーとしての利用

また、sMashはJavaベースで構築されていることから、既存のJava資産やSOA資産(例えばSOAPベースのサービスなど)を容易に取り込むことが可能です。これらをスクリプト言語によって加工することで、手軽に既存資産を再利用することが可能となります。

さらに、sMashには「アセンブル・フロー・エディタ」というGUIベースのサーバーサイド・マッシュアップ・ツールが組み込まれていますので、既存資産や社外のWeb APIなどを柔軟に組み合わせて、簡単に新しいWeb APIを開発することができます。

今回は、エンタープライズWeb開発においてスクリプト言語がもたらすメリットを説明し、具体的なプラットフォームの例としてWebSphere sMashをご紹介しました。sMashの開発者版はProject Zeroから無償でダウンロードできますので、スクリプト言語による開発の軽快さを実際に体験してください。すでに世界中で136万人以上にダウンロードされています(2010年1月時点)。

次回は、インメモリ・データ・グリッドによる大量トランザクション処理(eXtreme Transaction Processing)について紹介します。

日本アイ・ビー・エム株式会社
2007年よりWebSphere関連製品の技術支援を担当しつつ、テクノロジー・エバンジェリストとしてこれから「来そうな」技術をウォッチしている。最近注目しているのはGroovyとOSGi。
http://twitter.com/nobusue

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています