
第1回 Adempiereを試してERPの常識・仕組みを体得しよう
adempiere.jp
久保田 大輔
2010/4/1
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やSpring(DI)を使って構築しようとすると、表のようになります。
| 表 Adempiereの階層 | |||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
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に興味を持っていただけたら、ぜひ使ってみてはいかがでしょうか。
■ @IT関連記事
中堅・中小企業のためのERP徹底活用術
年商50億〜500億円規模の中堅・中小企業におけるERP導入事例を通じて、導入成功のポイントを解説する
- 第1回 全社の営業マインドを変えたERP
- 第2回 毒にも薬にもなるERPの“ベストプラクティス”
- 第3回 自主性があればERPで「見せる化」も実現可能
- 第4回 コア業務を認識すれば、ERPはもっと安く導入できる!
- 第5回 そのERPとBI、本当に使いこなせますか?
- 第6回 大企業のまねをするとシステム構築・運用は失敗する
- 第7回 業務破壊の地雷原、野放しのExcelシートをなくそう
- 第8回 野放しのExcelシートが、ERPを台無しにする
- 第9回 「今だからできること」もある。復興こそ長期的な展望を
- 第10回 基幹系へのクラウド活用、そのメリットと落とし穴
ERPリノベーションのススメ
業務環境変化に合わせて、ERPをもっとうまく使うなら、まずシステムの「見た目」から改善してみてはどうだろう
- 第1回 ERPはフロントシステムから見直せ!
- 第2回 “割り切り”がERP再生のコツ
- 第3回 ERPで「見える化」も実現!
- 第4回 マスタデータ整備が、ERP活用の大前提
- 第5回 “いいとこ取り”して、ERPをもっと生かそう
- 第6回 不況に乗じて“勝てる”コスト構造を構築せよ
- 第7回 いま、ERPを買うべき理由
- 第8回 ERPの“事業仕訳け”でIT予算をもっと有効に!
- 第9回 クラウド時代に向けて、情シスの在り方を見直せ
SAPで実現するIFRS対応
大企業向けERPであるSAPシステムのIFRS対応を説明する。ポイントは目指す経営モデルとバージョンアップだ
- 第1回 SAPユーザーがIFRS対応で考えるべきこととは?
- 第2回 SAPのIFRS対応クイック・ソリューションを見る
- 第3回 ERPのIFRS対応 成功へのシンプルな必須条件
- 第4回 公開! SAPを使った業界別IFRS対応事例
ERP導入プロジェクト失敗の法則
ERP導入には特有の難しさがあり、失敗も多い。失敗事例に潜む“法則”を反面教師にして、EPR導入のポイントを学んでいこう
- 第1回 ユーザー部門が“抵抗勢力”になって失敗!
- 第2回 ERP導入プロジェクト体制作りにおける“誤解”で失敗
- 第3回 ERPパッケージと導入業者の選定で失敗
- 第4回 ERP導入フェイズで、社内理解が得られずに失敗
- 第5回 システム稼働するも、安定運用できずに失敗
- 最終回 ERP導入効果が見えず、アップグレードもできずに失敗
1-2 |
| Index | ||||||
|
||||||
業務アプリの常識をJavaオープンソースで身につける バックナンバー 連載インデックスへ»
- 第1回 Adempiereを試してERPの常識・仕組みを体得しよう
- 第2回 JasperReportsとiReportで帳票の常識を理解しよう
| Java Solution全記事一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


