しばらく経ってしまいましたがJCo3.0に関して書いていきたいと思います。
JCo2.0との違いは色々あるのですが、まず大きなところは「コネクションプーリングがJCo Runtime 任せになった」ことでしょうか。
JCo3.0のpdfドキュメントでは以下のような感じでサンプルが書かれています。
1. まずは接続情報をプロパティファイルとして作成
2. Javaのコードからは、JCoDestinationManagerクラス(staticクラス)よりdestinationを取得する。このときプロパティファイル名をキーとする
JCoDestination destination = JCoDestinationManager.getDestination("プロパティファイル名")
3. 呼び出したいファンクションをリポジトリから探す
JCoFunction function = destination.getRepository().getFunction("ファンクション名");
4. ファンクション実行
function.execute(destination);
# もちろんファンクション引数ある場合は色々setValue()しておく
ここで、コネクションプーリングは1.のところの接続情報にてプールの情報を書いておくと、自動で実行時にJCo Runtimeがよきに計らってくれます*1。簡単になりましたね。
なお、接続情報にはサーバのIPアドレス、システム番号、SID、クライアント番号以外にも、ユーザクレデンシャルが含まれます。ユーザクレデンシャルがユーザID/パスワードの場合、これらをプロパティファイルとして作るのはイヤでしょう。そんなときは以下を参考にしてみてください。https://www.sdn.sap.com/irj/scn/thread?messageID=7303957
DestinationDataproviderを自分でインプリしてcom.sap.conn.jco.ext.Environmentに登録すると良いようです。
com.sap.conn.jco.ext.Environment.registerDestinationDataProvider( provider );
次回はもう少し突っ込んだファンクション実行、もしくはThreadを意識した利用方法です。その他SAPJCoIDocライブラリについても書いていきたいと思います。