Alinous-CoreにおけるJava Connectorの紹介
MVCのモデル部分はJavaのオブジェクト指向で
Alinous-Coreは、SQLと独自スクリプトを組み合わせた言語環境でありながら、Javaで実装されているため、Javaのプログラムをそのまま呼び出すことができるインターフェイスを備えています。
はじめに
Alinous-CoreはWeb-DBアプリケーションの開発に特化したドメイン固有言語であり、全てのことを行うことは不可能だと以前書きました。では、そのようなケースが発生した場合は、まったく何もできないのでしょうか? 実は、Alinous-Core自体でできないことは、高級言語であるJavaで実装することができます。
さらに、JavaにできないことはJNI(Java Native Interface)を利用して実現することができます。JNIはJavaに用意されているバイナリーへのアクセス手段で、低水準なC言語やアセンブラを利用してコンパイルしたファイルを操作することができるものです。
このように、ドメイン固有言語、高級言語、低水準言語をうまく組み合わせて開発することにより、高い開発効率を保ちながら保守効率の良いプログラムを作成することができます。
今回は、Alinous-CoreとJavaの連携仕方について説明しようと思います。
Alinous-Coreの実装モデル
Alinous-Coreは、Web-DBアプリケーションの開発に特化したドメイン固有言語であり、フレームワークでもあるという側面を持っています。一見、通常のMVC設計を無視しているように見えますが、実はそうではありません。Alinous-Coreは、モデルとビューの部分をサポートするフレームワーク兼言語であり、モデルであるデータベースにはSQL言語をインターフェイスとしてアクセスする、という方式をサポートしています。

しかし、複雑なアプリケーションの場合、SQLだけではカバー仕切れないロジックが登場することもあると思います。この場合はJava Connectorをインターフェイスとして利用し、モデル部分をJavaで実装することができます。
Java Connectorのプロジェクトを作る
では、早速、Alinous-CoreのJava Connectorを実際に動かしながら見ていきましょう。
Alinous-Coreのインストールについて
まずは、Alinous-Coreの開発・実行環境をセットアップする必要があります、Alinous-Coreの開発・実行環境は、無料のEclipseプラグインとして提供されており、Eclipseの更新機能を利用して簡単にネットワークインストールを行うことができます。
詳しくは、以前の記事の「5分で動かすWebDB向けドメイン固有言語Alinous-Core」をご覧ください。
Java Connectorのサンプルプロジェクトの作成
Alinous-CoreのEclipseプラグインには、新規プロジェクト作成ウィザードがついています。このウィザードを利用すると、プロジェクト名の入力のみですぐに動作可能なサンプルプロジェクトを作成することができます。まずは、図2のようにパッケージエクスプローラー上で右クリックをし、コンテキストメニューから[New]-[Project]の順に選び、新規プロジェクト作成ウィザードを起動してください。

図3のように、新規プロジェクトウィザードが起動したら、「Alinous-Core」カテゴリーの中の「Java Connector Sample」を選択します。以下、通常のプロジェクトを作成するのと同じ手順で進めることで、Java Connectorのサンプルプロジェクトが作成されます。

この記事は参考になりましたか?
- Webフレームワーク「Alinous-Core」でアプリケーション開発をはじめよう連載記事一覧
- この記事の著者
-
飯塚 友裕(イイヅカ トモヒロ)
Eclipse関連のソースコード自動生成プロダクトの開発者。ソースコード自動生成エンジンを他社に供給する技術エンジン会社「CROSSFIRE JAPAN, INC.」で、O/RマッピングツールやJavaによるSQLパーサーを開発。現在、NetBeans.org(米国)のパートナー。最近は、Alinous-Coreを利用したパッケージビジネスを行っています。SEO対策対応ECサイト構築パッケージOpen-ECAlinous-Coreのソースコードダウンロードhttp://sourceforge.jp/projects/alinous-core/はてなブログhttp://d.hatena.ne.jp/i-zuka/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
