Ready to get started?

Learn more about the CData JDBC Driver for Quandl or download a free trial:

Download Now

RunMyProcessのSEC経由からでQuandl のデータに繋いでみた

FUJITSUのクラウド連携・統合iPaaS FUJITSU Cloud Service RunMyProcess の Secure Enterprise Connector(通称SEC) を利用してQuandl data をConnectorとする方法。

CData JDBC Driver for Quandl は、JDBC 標準をインプリメントし、BI ツールからIDE まで幅広いアプリケーションでQuandl data への接続を提供します。この記事では、 FUJITSU Cloud Service RunMyProcess の SEC からQuandl data に接続し、iPaaS上のRunMyProcessからQuandl dataを利用する方法を説明します。

Protocol Manager、および、SEC Agentの初期設定

RunMyProcessのマニュアル「Integration Guide」内の Secure Enterprise Connector Installation Guide の手順に従い、Protocol Manager、および、SEC Agentを設定します。

JDBC Adapterの設定

SEC-JDBC AdapterにJDBC経由でRDBMSに接続する手順が記載されているので本章の内容を参考に「JDBC.config」ファイルを開きます。

#DBAgent Configuration Quandl = {"sqlDriver" : "cdata.jdbc.quandl.QuandlDriver", "sqlSource" = "jdbc:quandl:APIKey=abc123;DatabaseCode=WIKI;","sqlDriverPath" = "cdata.jdbc.quandl.jar" }

JDBCドライバのライブラリ cdata.jdbc.quandl.jar を JDBC.jar と同じパスに配置します。

(注意)CDataのライセンスファイル cdata.jdbc.quandl.lic も同じパスに配置してください。なお、ラインセンスはCData製品をインストールしたマシン固有情報から生成していますので、インストールしたマシンと配置するマシンが異なる場合は、オフラインアクティベーションが別途必要になります。

JDBC Adapterのテスト

JDBC Adapterを起動します。Adapterが起動すると以下のように定期的なPingThreadが実行されます。以下、Windows環境でのコマンド実行結果の例です。

C:\SEC\JDBC 3>java -jar JDBC.jar 2 05, 2018 10:14:49 午後 org.runmyprocess.sec.SECLogManager log 情報: Starting JDBC Adapter... 2 05, 2018 10:14:49 午後 org.runmyprocess.sec.SECLogManager log 情報: JDBC Adapter Started 2 05, 2018 10:14:50 午後 org.runmyprocess.sec.PingThread run 警告: null java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.(Unknown Source) at java.net.Socket.(Unknown Source) at org.runmyprocess.sec.PingThread.run(PingThread.java:64)

Protocol Managerも起動します。起動するとlocalhost上にHTTPサーバが起動します。以下、Windows環境でのコマンド実行結果の例です。

C:\SEC\SECManager-manzanillo\manager-manzanillo>cd C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11 C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11>java -jar start.jar 2018-02-05 22:20:35.455:INFO:oejs.Server:jetty-7.6.11.v20130520 2018-02-05 22:20:35.470:INFO:oejdp.ScanningAppProvider:Deployment monitor C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11\webapps at interval 1 2018-02-05 22:20:35.491:INFO:oejdp.ScanningAppProvider:Deployment monitor C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11\contexts at interval 1 2018-02-05 22:20:35.493:INFO:oejd.DeploymentManager:Deployable added: C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11\contexts\sec.xml 2018-02-05 22:20:35.564:INFO:oejw.WebInfConfiguration:Extract jar:file:/C:/SEC/SECManager-manzanillo/manager-manzanillo/jetty7.6.11/webapps-available/sec-manager-manzanillo.war!/ to C:\Users\kuwazzy\AppData\Local\Temp\jetty-0.0.0.0-8080-sec-manager-manzanillo.war-_-any-\webapp 2018-02-05 22:20:36.455:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/C:/Users/kuwazzy/AppData/Local/Temp/jetty-0.0.0.0-8080-sec-manager-manzanillo.war-_-any-/webapp/},C:\SEC\SECManager-manzanillo\manager-manzanillo\jetty7.6.11/webapps-available/sec-manager-manzanillo.war 2018-02-05 22:20:36.718:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080

Protocol Manager および、JDBC Adapterが正常に起動した状態だと、ローカルマシンのブラウザから http://localhost:(指定したポート番号)/ にアクセスすると下記の画面が表示されます。

PostmanやcURLといったAPIにアクセス出来るツールからJDBC Adapterに対してアクセス出来るか確認します。本手順ではPostmanを利用してHTTPリクエストを発行します。

RequestHeaderには以下の通り設定します。

Content-Type application/x-www-form-urlencoded

RequestBodyには以下の通り設定します。

{ "protocol":"JDBC", "data":{ "DBType":"Quandl", "sqlUsername":"", "sqlPassword":"", "sqlStatement":"SELECT * FROM (テーブル名))" } }

「JDBC.config」ファイルにてクレデンシャル情報を含めている場合は、sqlUsernameおよびsqlPasswordは空のままで構いません。テーブル名がわからない場合は、「SELECT * FROM sys_tables」で一覧を取得出来ます。

RespoinseのStatusが200でBodyにJson形式でQuandlのデータが返ってきていれば成功です。

SEC Agent経由でのRunMyProcessからのアクセス

SEC Agentを起動します。以下、Windows環境でのコマンド実行結果の例です。

C:\SEC\sec-agent-manzanillo>runagent.bat C:\SEC\sec-agent-manzanillo>java -Djava.net.preferIPv4Stack=true -jar ./lib/sec-agent-manzanillo.jar --localConfigFile .\config\localConfig.xml --rulesFile .\config esourceRules.xml -log4jPropertiesFile .\config\log4j.properties Setting iddle timeout to 60000 ms. Setting accept timeout to 60000 ms. Setting udp timeout to 600000 ms.

RunMyRrocessのADVANCED IDEからプロジェクトを作成して、作成したプロジェクト内にProviderを作成します。

続いてProvider内にConnectorを作成します。

Connector内のContextに「JDBC Adapterのテスト」でRequestBodyに設定したJSONデータを登録します。

Launch Test を開いて、テストを実行します。右側ペインの Processed result のdata内にQuandl 内のデータが取得出来ている事を確認出来たら成功です。

このようにQuandl 内のデータをSEC経由でRunMyProcessで利用することができるようになります。

サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。

 
 
ダウンロード