
マスカットは、Webブラウザ上で動作するリッチクライアントを開発するためのAjax(Asynchronous JavaScript + XML)フレームワーク(Ajaxエンジン+IDE)です。AjaxはJavaScriptとXML電文の非同期通信を組み合わせてWebアプリケーションの操作性を高める開発手法を指しますが、JavaScriptによるプログラミングは煩雑であり、生産性の低下が問題点として指摘されてきました。マスカットでは、IDEを用いてレイアウト定義XMLとイベント定義XMLの作成を行うだけでリッチクライアントが開発できます。JavaScriptのコードは、マスカットのAjaxエンジンがレイアウト定義XMLとイベント定義XMLに応じて生成するため、開発者が直接JavaScriptに触れる必要はありません。
マスカットを導入してJavaScriptのコーディングを排することにより、品質の向上と開発期間の短縮といったメリットが得られます。
キーやマウスの操作、通信などのイベント処理はマスカットが一元管理し、イベント定義XMLに従って実行します。また、GUIオブジェクトからの入力データの取得、送信電文の生成、受信電文に含まれる結果データの抽出、結果の出力といった一連の動作において、マスカットはデータとオブジェクトのひも付け(バインディング)を自動的に処理します。
マスカットは開発環境として、レイアウト定義XMLとイベント定義XMLの生成機能を備えたEclipse版IDEに加え、レイアウト定義XMLを生成するためのブラウザ版IDEも提供しています。Eclipse版IDEだけでもクライアント開発は行えますが、2つのIDEを組み合わせることにより開発プロセスの効率化が図れます。すなわち、エンドユーザーやデザイナーが手軽なブラウザ版IDEを用いて画面設計(レイアウト定義XMLの作成)を行い、それを基に開発者はEclipse版IDEでレイアウト定義XMLの修正とイベント定義XMLの作成を行う、という開発スタイルが実現できます。開発者以外の関係者がブラウザ版IDEを使って画面設計および要件定義に参加してもらうことで、開発プロセスにおける手戻りの抑止が期待できます。
SourceForge.JP内のプロジェクトにて、以下のファイルを公開しています。
ダウンロードページ
| プロダクト | 概要 | ライセンス | 公開予定 |
| マスカットパッケージ | マスカットの本体 | Apache License2.0 | 公開中 |
| マスカットIDE(ブラウザ版) | レイアウト定義XMLを生成するためのIDE | Apache License2.0 | 公開中 |
| マスカットIDE(Eclipse版) | レイアウト定義XML/イベント定義XMLを作成するためのIDE | Eclipse Public License 1.0 | 公開中 |
| サンプルサーバモジュール | XMLメッセージを処理するためのサーバ側モジュールのサンプル。J2EE、PHP、Ruby on Railsの各版を提供 | Apache License2.0 | 公開中 |
| マスカットJavaEEフレームワーク | 開発者から寄せられたJ2EE版フレームワークのプロポーザルパッケージ | Apache License2.0 | 公開中 |
コンタクトセンタ業務アプリケーション開発フレームワーク「i-lligra CONTACT」
関連記事
A:仮面の"Mask"と前置詞の"at(@)"から、考え出された造語です。スペルそのままの発音では「マ・ス・ク・ア・ッ・ト」となりますが、発音のしやすさを考慮して「マスカット」としました。
下記の2つの特徴を持つマスカットが『様々なシステムに仮面をかぶせるが如く、生産性の高いシステム開発環境を実現する』ことを目指して命名しました。
1) 再利用可能なユーザインターフェイス部品の提供
2) サーバの開発言語やシステムアーキテクチャに非依存
A:マスカットはサーバフレームワーク非依存なので、Tomcat、BEA Weblogic Server、PHP、Perl、Ruby、Pythonなど、さまざまなアプリケーションサーバ環境でご利用いただけます。特にマスカットと同じくNTTデータで開発されたTERASOLUNAサーバフレームワークとは親和性が高く、サーバ環境も含めて構築する場合はお勧めです。
マスカットについて
マスカット全般