各製品の資料を入手。
詳細はこちら →Jetty コネクションプールからEpicor Kinetic のデータに連携。
CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからEpicor Kinetic のデータに連携する手順を説明します。
最終更新日:2023-06-18
この記事で実現できるEpicor Kinetic 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for EpicorKinetic は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にEpicor Kinetic のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for EpicorKinetic を設定します。
DBC Driver for EpicorKinetic を JNDI Data Source として設定
次の手順で、Jetty とEpicor Kinetic の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
- JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
-
リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、Epicor Kinetic のデータソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。
<Configure id='epicorkineticdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="epicorkineticdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="epicorkineticdemo"/></Arg> <Arg>jdbc/epicorkineticdb</Arg> <Arg> <New class="cdata.jdbc.epicorkinetic.EpicorKineticDriver"> <Set name="url">jdbc:epicorkinetic:</Set> <Set name="Service">Erp.BO.CustomerSvc</Set> <Set name="ERPInstance">MyInstance</Set> <Set name="URL">https://myaccount.epicorsaas.com</Set> <Set name="User">username</Set> <Set name="Password">password</Set> </New> </Arg> </New> </Configure>
ERP インスタンスに接続するには、次の接続プロパティを指定してください。
- Url:ERP インスタンスをホストしているサーバーのURL。例えば、https://myserver.EpicorSaaS.com
- ERPInstance:ERP インスタンス名。
- User:アカウントのユーザー名。
- Password:アカウントのパスワード。
- Service:データを取得するサービス。例えば、BaqSvc。
また、オプションで次の接続プロパティを指定することもできます。
- ApiKey:アカウント設定に応じて、いくつかのサービスへの接続に必要となるオプションのキー。
- ApiVersion:デフォルトはv1。新しいEpicor API を使用するにはv2 に設定してください。
- Company:ApiVersion をv2 に設定した場合は必須になります。
-
Web xml でリソースを設定します:
jdbc/epicorkineticdb javax.sql.DataSource Container -
これで、java:comp/env/jdbc/epicorkineticdb へのルックアップでEpicor Kinetic のデータにアクセスできます:
InitialContext ctx = new InitialContext(); DataSource myepicorkinetic = (DataSource)ctx.lookup("java:comp/env/jdbc/epicorkineticdb");
Jetty にさらに統合
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。