TOP業務システム> ERP5の技術
オープンソース×ERP
ERPに新勢力登場!オープンソースERP

第3回:ERP5を支える思想と技術

著者:Nexedi  奥地 秀則   2007/2/19
前のページ  1  2  3
ERP5の技術

   では、ERP5の技術面に目を向けましょう。ERP5の底辺には表3のようなソフトウェアが使用されています。
ソフトウェア 採択理由
Python システムからアプリケーション開発までサポートする強力な言語設計。
メタプログラミングを可能にする動的な性質
Zope トランザクション処理をサポートするオブジェクトデータベース。
TTW(Through The Web)による開発。
高度なセキュリティやワークフローエンジンなどの機能の豊富さ。
MySQL ACIDをサポートするトランザクション処理。
他のデータベースソフトウェアに比較して圧倒的に高速な動作。
標準でレプリケーションやクラスタリングをサポート。

表3:ERP5を支えるソフトウェア


Python

   ERP5の創始者、Jean-Paul Smets氏はプログラミング言語としてPythonとJavaを比較し、ERPの現代的な要求に応えるにはPythonの方が適切であると結論付けました。ERPでは極めて迅速に、かつシステム停止を伴わない開発能力が求められます。Javaを用いた場合、メタプグラミングが煩雑になるばかりでなく、設定変更に別の言語を採用する必要があります。このようなシステムでは使用言語に一貫性がなくなるため、開発効率が低下してしまいます。

   また弊社の経験により、JavaプログラマがPythonを習得するには1週間あれば十分であり、教育上の問題も発生しないことがわかっています。


Zope

   Zopeは有名なアプリケーションサーバの1つであり、ヨーロッパの政府機関では事実上の標準となっています。Zopeの最大の利点はWebを通した開発(TTW:Through The Web)にあり、パラメータの変更だけではなく、ワークフローやユーザインターフェース、新規機能の開発に至るまで、ほとんどの作業をオンラインで素早く実施できます。あたかもオペレーティングシステムのようであるといわれるほど、Zopeの機能は強力で柔軟です。セキュリティ管理を含めて、Zopeに匹敵するアプリケーションサーバは他にないと筆者は考えます。

   ERP5においては、RDBMSはインデックスのためだけに使われます。MySQLの高速動作はこの目的に非常に合致しています。MySQLは機能的にその他のRDBMSに劣る面もありますが、ERP5では複雑な機能はZope上で実現するので、その弱点は障害になりません。

   ERP5の全体的な構成を図1に示します。

ERP5の構成
図1:ERP5の構成

   ERP5はZopeやMySQL上に構築されたフレームワークを提供し、ユーザが直接利用するアプリケーションは、ERP5フレームワーク上に実装されます。これらのアプリケーションはビジネステンプレート(Business Template)と呼ばれるコンポーネントにパッケージ化され、汎用的な機能を提供する他、金融やアパレル業界のような特定の業界に有用な機能、各利用者に特化した設定を管理します。ある顧客にERP5を導入する場合、これらのビジネステンプレートを顧客の要望に応じて作成することが中心となります。


ERP5の開発体制

   ERP5のビジネスモデルはパートナー戦略です。1社が独占するのではなく、技術供与を行いながら、コミュニティによる開発を推し進めています。開発は図2のコミュニティサイトを中心に行われており、誰でも自由に参加できます。パートナーは、ポーランド、ドイツ、インド、ブラジルなど世界各国から参加しており、国際的な開発が活発に行われています。

ERP5の開発サイト
図2:ERP5の開発サイト
(画像をクリックすると別ウィンドウに拡大図を表示します)

ERP5 Community
http://erp5.org/


次回について

   次回は、ERP5の導入事例を通して、プロジェクトの実際を紹介します。

前のページ  1  2  3


Nexedi 最高技術責任者 奥地 秀則
著者プロフィール
Nexedi 最高技術責任者
奥地 秀則

オープンソースERP「ERP5」の設計・開発に初期段階から関与し、現在ERP5の技術責任者を務める。服飾業、金融業、鉄鋼業、自動車産業、航空宇宙産業におけるERPプロジェクトを経験してきた他、社内外のエンジニアやコンサルタントのトレーニングを指揮している。


INDEX
第3回:ERP5を支える思想と技術
  ERP5
  ERP5の実績
ERP5の技術