アプリケーションの実装 - Asakusa Data Model

DMDLの特徴

Data Model Definition Language (DMDL)は、Asakusa Frameworkで利用するJavaのデータモデルクラスを定義するための言語です。 DMDLではそれぞれのデータモデルが持つプロパティなどを定義でき、DMDLで定義されたデータモデルをDMDLコンパイラに渡すと、対応したJavaのデータモデルクラスを自動的に作成します。

Asakusa Framewokを利用する場合、DMDLを利用してデータモデルを作成することが推奨されます。これは、次のような理由があります。

  • Asakusa DSLとの連携
  • Hadoopの連携
  • 他システムとの連携

Asakusa DSLとの連携

Asakusa DSLの内部で利用するデータモデルは、DSLのコンパイルの途中で内部的に別のデータ構造に分解されます。 DMDLで生成したデータモデルには、コンパイラに必要なメタ情報が自動的に作成されます。

Hadoopの連携

Hadoopは独自のWritableというインターフェースを利用したオブジェクトの直列化機構を利用しています。 DMDLで生成したデータモデルは、この直列化機構を利用するための機能を自動的に提供します。

他システムとの連携

DMDLコンパイラは外部システムとの連係情報を自動的に生成するためのプラグイン機構を提供しています。 DMDLを中心としてデータモデルを定義することで、Direct I/OやWindGateなどの外部システム連携機能と整合性を保ちながらデータモデルを管理できます。