OFBiz セットアップおよび設定

Apache OFBiz は、OpenSource OMS ソリューションです。

前提条件

OFBiz をセットアップおよび設定するには、次のコンポーネントが必要になります。

  • JDK

  • Gradle

  • OFBiz の基本インストール

OFBiz 設定

アクセラレーターアセットで使用される OFBiz を設定するには、次の手順を実行する必要があります。

  1. インテグレーションのための個別のサービスアカウントを作成することをお勧めします。

    • 例: gradle loadAdminUserLogin -PuserLoginId=integrationadmin

  2. framework/security/config/security.properties ファイルを編集し、OFBiz サーバーのホスト名を host-headers-allowed 設定に追加します。

  3. Mule アプリケーションからサービスを呼び出すには、そのサービスをエクスポートする必要があります。これらは、services xml ファイルの servicedef フォルダーでドメイン別に整理されて定義されています。次のサービスごとに、属性 ​export="true"​ をサービス定義タグに追加します。すべてのファイルパスは ​$OFBIZ_HOME/applications​ に相対的になります。

パス オブジェクト

party/servicedef/services.xml

createPartyPostalAddress quickCreateCustomer createPerson updatePerson createUpdatePartyEmailAddress createUpdatePartyTeleco Number (数値)createUpdatePartyPostalAddress findPartiesById

party/servicedef/services_view.xml

getPerson getPartiesFromExternalId getPartiesFromExactEmail getPartyContactMechValueMaps

accounting/servicedef/services_paymentmethod.xml

createCreditCard

order/servicedef/services.xml

addOrderItemShipGroup changeOrderStatus createOrderPaymentPreference findOrders storeOrder

product/servicedef/services_shipment.xml

createShipment

サービス名は、​src/main/resources/ofbiz​ の XML 要求テンプレートやフローのいくつかの Transform Message プロセッサーで相互参照されます。

注文、顧客、商品のそれぞれの同期プロセスをサポートするには、Order、Party、Product エンティティをカスタマイズする必要があります。手順は次のとおりです。

  1. $OFBIZ_HOME/applications/datamodel/entitydef​ に移動します。

  2. order-entitymodel.xml​、​party-entitymodel.xml​、​partyproduct-entitymodel.xml​ ファイルのバックアップコピーを作成します。

  3. order-entitymodel.xml​ ファイルを次のように編集します。

    • OrderItem エンティティの externalId 項目の種別を「id」の代わりに「name」に変更する

    • OrderHeader エンティティの externalId 項目についても同様に変更する

  4. party-entitymodel.xml​ ファイルを次のように編集します。

    • Party エンティティの externalId 項目の種別を「id」の代わりに「name」に変更する

    • <field name="customerNumber" type="name"></field>​ 項目を Person エンティティに追加する

  5. product-entitymodel.xml​ ファイルを次のように編集します。

    • <field name="externalId" type="name"></field>​ 項目を Product エンティティに追加する

  6. すべてのファイルを保存し、OFBiz が実行中の場合は再起動します。

OFBiz の開始

  1. ディレクトリを OFBiz インストールのルートに変更します。

  2. nohup gradle ofbiz &​ を実行します。

    • コンソールの出力を確認するには、末尾に ​-f nohup.out​ を追加します。

  3. ブラウザーを開き、​<ofbizhost>:8443/accounting/control/main​ に移動します。

  4. アカウントのデフォルトの管理者ユーザー名 ​admin​ を使用します。

OFBiz の停止

  1. ディレクトリを OFBiz インストールのルートに変更します。

  2. gradle ofbiz --shutdown​ を実行します。

    • 正常にシャットダウンされるまで待機します。

トラブルシューティング

column-constraint エラーが表示される場合、​OrderItem.external_id​ や ​Party.external_id​ 列が適切に変更されていない可能性があります。これを修正するには、Apache Derby ツール (​sudo apt-get install derby-tools​ など) をインストールし、次のコマンドを実行します。最初に OFBiz をシャットダウンしてください。

$ ij
ij> connect 'jdbc:derby:/opt/ofbiz/runtime/data/derby/ofbiz' user 'ofbiz' password 'ofbiz';
ij> alter table Party alter column external_Id set data type varchar(100);
ij> alter table Order_Item alter column external_Id set data type varchar(100);
ij> alter table Order_Header alter column external_Id set data type varchar(100);
ij> exit;

変更を反映するために OFBiz を再起動します。