連載
» 2010年04月01日 00時00分 公開

Adempiereを試してERPの常識・仕組みを体得しよう業務アプリの常識をJavaオープンソースで身につける(1)(2/2 ページ)

[久保田大輔,adempiere.jp]
前のページへ 1|2       

Adempiereのアプリケーション構造

 Adempiereのメニューから表示できる300個以上のウィンドウ、ウィンドウ内のタブ、タブ内のテキストエリアなどの項目(フィールド)は、コード(プログラム)として書かれているのではなく、すべてデータベース内に保存されています。

 これらのデータを使って、画面にどのような項目を表示するかを決定します(Adempiere内のすべての要素が、この方法で表示されているわけではありません)。この構造によって、項目の修正やカスタマイズ、新機能の追加などが効率的に行えます。

 Adempiereで実装されているERPの機能を、一部だけ残して無効にして(または、すべて無効にして)、業務管理システムの基盤として使うこともできます。

■構造の要「Application Dictionary」とは

 Adempiereには、「Application Dictionary」というフレームワーク(のようなもの)があります。Application Dictionaryとは、Adempiereで表示するウィンドウやタブなどの情報をデータベース内に格納したデータの集まりです。

 また、Application Dictionaryは、アプリケーション構成を定義したデータの集まりを表す言葉で、正確にはフレームワークの名前ではありません。画面(ウィンドウ、タブ、フィールド)を描画する部分も含めた機能に名前を付けるとしたら、「Adempiereフレームワーク」「Compiereフレームワーク」という名前になるのではないかと思います。

■Strutsなど基盤となるフレームワークとERPに特化したフレームワークの違いは?

 Strutsは、WebアプリケーションのMVC構造を実現することを主な目的としているフレームワークです。一方、Adempiereフレームワーク、Application Dictionaryは、業務管理に特化した機能を簡単に構築することを目的としています。

 このように目的の違いがありますが、この2つは排他的なものではありません。受け持つ階層(レイヤ)が違うということもできます。SpringフレームワークとStrutsの両方を使ってアプリケーションを構築できるように、AdempiereのWeb画面をApplication Dictionary+Strutsで構築することも可能です。

■JavaScript/Ajaxフレームワーク「ZK」でWeb用UIを構築

 AdempiereのクライアントUIは、当初JavaのGUIアプリケーションだけでしたが、Adempiereコミュニティによって、「ZK」というJavaScript/Ajaxフレームワークを使ったWeb用UIが追加されました。この2つのUIは、同じシステム内で同時に使えます。

■ほかのオープンソースフレームワークとの対応表

 アプリケーションの構成には、上記Application Dictionaryというフレームワーク(のようなもの)もあります。もし、ZKのAdempiereをStrutsやSpringDIを使って構築しようとすると、表のようになります。

表 Adempiereの階層
Adempiere Web用UI(既存) Adempiere Javaクライアント(既存) MVCのコントローラにStrutsを使う場合 ビジネスロジックにDIを使う場合 DBアクセスにO/Rマッピングを使う場合
View ZKフレームワーク Adempiere独自(クライアント) Struts ZKフレームワーク ZKフレームワーク
Controller(コントローラ)
Model(ビジネスロジック) Adempiere独自(サーバ) Adempiere独自(サーバ) Spring(DI) Adempiere独自(サーバ)
DBアクセス Adempiere独自(サーバ) Hibernate
DBMS OracleまたはPostgreSQL(Application Dictionaryのデータが保存されている)

Adempiereを使う4つの利点

■【1】無料で試用できる

 オープンソースでない既存のERPパッケージは、企業向けのソフトウェアということもあり、体験版などを手軽に入手できません。実務でERP導入に携わっているエンジニアやユーザー企業の担当者でなければ、ERPに触れる機会はあまりないのではないかと思います。

 これに対してオープンソースのERP、例えばAdempiereは、GPL(GNU General Public License)で配布されていて、ソフトウェア本体をインターネット上から入手して、インストールして自由に使用できます。

■【2】企業の業務の広い範囲をカバー

 すでに説明したとおり、Adempiereには、販売管理や購買管理、取引先管理、在庫管理、会計処理などの機能があり、企業の業務の広い範囲をカバーしています。

■【3】画面の追加が容易

 Adempiereは、すでに説明したとおり、各画面の情報をデータベースに保存しています。ウィンドウやタブ、フィールドなどの情報をApplication Dictionaryに追加することで、データの登録・編集を行う画面を非常に簡単に作成できます。最小構成の画面ならば、慣れてしまえば10分もかからずにウィンドウを作成できると思います。

 具体的には、「ウィンドウの追加方法」を参照してください。

■【4】Java言語でカスタマイズができる

 どんなに高機能なERPでも企業の業務に完全に適合させようとすると、必ずカスタマイズが必要です。Adempiereはオープンソースであり、柔軟なアプリケーション構造を持っています。

 Adempiereは、Javaで書かれていて、内容もそれほど難解ではないので、おそらくJavaでの開発経験が2〜3年程度あれば、ソースコードを読んで理解できるのではないかと思います。Eclipseなどのデバッグ機能で、Adempiereのコードをステップ実行して動作を確認できるのも魅力です。

Adempiereを使ってみるには

 Adempiereのソースコードは、SourceForge.netにあるAdempiereプロジェクトのソースコードリポジトリから入手可能です。Adempiereのリポジトリに関する情報は、「SourceForge.net: ADempiere ERP Business Suite - Develop」に書かれています。

 ソースコードの取得方法やEclipseでのデバッグ、ソースからのビルドなどについては、「チェックアウト方法」「デバッグ方法」などに書かれているので、参照してください。

ERP構築に、なぜオープンソースを使った方がいいのか

 ApacheやLinux、PostgreSQLなど、すでに普及しているオープンソースは、ソースコードが公開されていても、configファイルの設定変更などで目的を達成できることが多いため、独自にソースコードを書き換えて使う人はあまりいません。

 これらのオープンソースは、大多数の人にとっては、ソースコードが公開されていることよりも、無料で使えることに意味があります。しかし、ERPなどの業務管理ソフトウェアでは、カスタマイズのためにソースコードを書き換える必要性があり、また、オープンソースだと書き換えることが比較的簡単にできることが利点となるでしょう。

 ERPは、非常に広い範囲の業務をカバーするシステムです。もし、ERPを一から自力で構築しようとすると、数年間の開発が必要でしょう。特殊な業務を行っていて、既存のERPではまったく業務に適合しないという企業ならば、独自のERPを構築することもあるかもしれません。しかし、そうでないのならば、既存のERPパッケージを利用する方が費用を抑えられます。

 オープンソースのERPは、「オープンソース=ソースコードが公開されている」という、本当の意味でのオープンソースの価値があるのではないかと思います。Adempiereに興味を持っていただけたら、ぜひ使ってみてはいかがでしょうか。

著者紹介

adempiere.jp
久保田 大輔



前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。