そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

SQL DeveloperからSQL Serverにつなぐ

SQL DeveloperはOracleが出しているDatabaseを操作するためのGUIのクライアントツールです。Oracle SQL Developerから入手できます。

接続先のデータベースがOracle DBの場合はそのまま使えるけど、それ以外で最初は新規の接続を選択しても、Oracleというタブしかないので準備が必要です。 MicrosoftSQL Serverに接続する手順を書きます。

ドライバーの設定

Microsoftのドライバを使うのでは無くて、オープンソースjTDSを使うみたいです。

動作確認はjtds-1.3.1-dist.zipを使っています。

Zipを解凍した後、SQL DeveloperのPreferenceからjtds-1.3.1.jarのパスを設定します。

f:id:begirama:20140405074850p:plain

接続設定

ドライバを入れる前までは無かったSQL Serverタブが表示されます。

f:id:begirama:20140405072632p:plain

上手く接続できれば、GUIでがんがん操作できるので便利です。

f:id:begirama:20140405074445p:plain

MySQL

MySQLの場合も同様です。MySQLJDBCトライバーをSQL Developerから参照することで、MySQLのタブが表示されます。

MySQLのドライバーはこーゆーやつ。 mysql-connector-java-5.1.6.jar

参照資料

http://www.oracle.com/technetwork/jp/developer-tools/sql-developer/thirdparty-095608.html その他のデータベースに接続するために必要なドライバに付いても書かれています。

BPEL PMの管理の自動化

Oracle BPEL Process Manager(以下、BPEL PM)はBPEL Consoleっていう管理画面が付いてて、
BPELプロセスを実行したり、履歴を見たり、過去の実行インスタンスを削除したりっていのが
出来るんですが、本番環境の運用にのせるには、やっぱり自動化したいですよね。


次のをメインに今いろいろと検討中です。

実行済みなどのステータスと、7日間以前なんかの日付で消したい

  • メッセージの削除

BPELインスタンスと同様にステータスと、日付で消したい

  • BPELプロセスのリタイヤ

これはまだ検討中だけど、オンライン終了時間になったら、外部からアクセスできないようにしたい



全部、BPEL PMの提供してるAPIでできそう。APIを利用したJavaのクラスを用意して、
運用スケジューラから実行させようかと。

http://otndnld.oracle.co.jp/document/products/as10g/101320/doc_cd/integrate.1013/b28986/toc.htm
デプロイされたBPELプロセスはSOAPなどでも呼び出せますが、用意されているJavaAPIを使っても
呼び出すことができます。
でも、今の目的は、古い実行済みのBPELインスタンスの削除や、メッセージの削除のAPIを使いたい。

  • SOA ベスト・プラクティス: BPEL Cookbook「BPEL の本番環境の管理」

http://otndnld.oracle.co.jp/products/integration/htdocs/bpel_cookbook/blanvalet/blanvalet.html
実際のサンプルコードなんかが載ってて良い。



その他(まだじっくり読めてない。。)

「Searching BPEL process instances not only by conversationId」
http://clemensblog.blogspot.com/2006/07/searching-bpel-process-instances-not.html

  • Matt's SOA Blog「Querying BPEL Process Instances」

http://blogs.bpel-people.com/2007/03/querying-bpel-process-instances.html

スタンドアロンOC4JのHTTPリスニングポート

Oracle AS 10.1.3のHTTPリスニングポート

本番環境ではOracle HTTP ServerというApacheベースのHTTPサーバを稼動させるので、$ORACLE_HOME/Apache/Apache/conf/httpd.confに定義されてますね。

スタンドアロンOC4JのHTTPリスニングポート

いつもよくわかんなくなるのが、ローカルPCなんかでテスト用に動かす単体でOC4Jだけを動かした時のHTTPのポート。

次のファイルに定義されてそうですね。
$ORACLE_HOME/opmn/conf/opmn.xml

この例だと8889がHTTPのポートです。

















設定はAS ControlのOC4Jの管理からサーバー・プロパティを設定するのが簡単そうです。