今年を振り返って
改めて書いたブログをみて、ちょっと・・・
もうちょっと気が利いた文章がかけないもんかと。
汎用機中心にしられざる機能の紹介など書いてきましたが、構想でとどまったものも多く反省。。。
精進します。。
今年もお世話になりました。
改めて書いたブログをみて、ちょっと・・・
もうちょっと気が利いた文章がかけないもんかと。
汎用機中心にしられざる機能の紹介など書いてきましたが、構想でとどまったものも多く反省。。。
精進します。。
今年もお世話になりました。
日本・・・
というと大手電機メーカにより作られた情報インフラがいっぱい。
私はリスペクトしてます。まじで。
と、生み出されたシステムの中で上げられるものとしてメインフレームがあります。
日本でメインフレームといえばS/390ではありません。
そこで!12月19日はSOAと国産ホストとの連携セミナーを実施します。
ビーコン IT様とのコラボ。前半は私がしゃべります。
SOAを実装する!! メインフレームもSOAで連携統合!
また、最近なにかと話題のAdabas/Naturalですが、こちらの移行セミナーもあわせて実施します。
こちらは株式会社ジェイ・クリエイション様とのコラボ。
実践!メインフレーム資産活用! ADABAS・ネットワーク型DBなどレガシー形式のDB及びプログラム言語のモダナイゼーション
12/19と年末さしかかってお忙しいかと思いますが!のど元になにかつっかかってるなぁとお思いのかたはぜひOracle Direct Seminarにごさんかを!なにかヒントがつかめるかもしれません。。。。
今日は、11/11。このように11が並ぶ日をバイナリーデーとよぶそうです。
データの並び方ってアプリケーションの特性で変遷してきた歴史があります。。。
いわば源流にちかいネットワーク型データベースの勇としてAdabasがあります。
これはCodd博士(RDBMS提唱者、DB2の生みの親でもある)が提唱する前に作られたアーキテクチャのデータベースです。
分類としてはネットワーク型と呼ばれるタイプで、言語としてNatural、4GLと言われる言語を利用しています。
本日16:00スタートですが、このAdabas+Natural環境をRDBMS+Javaに移行するソリューションのご紹介をメディア情報開発株式会社を交え、セミナーをさせていただきます。
実践!!メインフレーム資産活用! コンバートonフレームワーク“Adabas-Natural”モダナイゼーション
まだ間に合います。ぜひご参加あれ。
ネットワーク型Databaseってわかりますか?階層型Databaseってなに?と思う方は必見かも。
それぞれメインフレーム/汎用機/ホストなどで良く利用されるもので・・・
実はOracle RDBMSへの移行ができてしまうものなのですが。。。。
実践!!メインフレーム資産活用! 「汎用機データベースからオラクルへのマイグレーション事例」
セミナーでご紹介します。
本日、13:30からでまだ間に合います。おはやめに!
Application ExpressでWebサービス!
DBをお使いの方なら無料でご利用いただける便利な開発環境があります。
その名は・・・ Oracle Application Express
また参考として、Direct Seminarにてご紹介してます。
終了分: ブラウザのみで5分で作るデータベースアプリケーション~使ってみようOracle Application Express/APEX~(11:00~12:00)
これから: ブラウザのみで5分で作るデータベースアプリケーション~使ってみようOracle Application Express/APEX~(16:00~17:00)
このAPEXは3.1.2が現在最新になってますが、新機能としてWeb Serviceを利用できる新機能が追加されています。
残念ながら、SOAPまでの対応でRESTに対応してないのが難点ではありますがSOAP/WSDLベースでフォームアプリケーションを作ることができるようになっています。
今回は、いまどき貴重な?SOAPベースのWebサービスを公開されているヤフオクを利用させていただき、動作を検証してみました。
社内システムで作成される場合は利用できる場面もおおいかもしれません。
またオラクルのSOA基盤では標準でWebサービス参照することができますので即フロントエンドてしも利用できます。
Oracle CRM On Demandでも利用できます。
では試して行きたいと思いますね。
①アプリケーションの作成
Application Expressでまずアプリケーションを作成します。
ベースとなる単位がアプリケーションで、目的に応じて作成していきます。
今回はヤフー・オークションというアプリケーションにしてみました。
と、ウィザードにそっていくだけで大丈夫です。
②サービス参照を定義
次にサービス参照を定義していきます。
ここでは、ヤフオクで公開しているWSDLのURIを設定しています。
「共有コンポーネント」横の下矢印をクリック!
ロジック⇒Webサービス参照をクリックします。
作成をクリックしていきます。
ここでURIを指定・・・
詳しくはYahooさんのホームページを参照ください。
http://developer.yahoo.co.jp/auctions/all/V1/soap/all.html
WSDLのURIが記述されてますので、ここからコピペします。
ここでは定義された関数が参照されます。
続いて、ここからフォーム作成とレポートを行います。
③フォーム作成とレポート
ここでは定義された関数を元に、フォームを作成し戻り値(XMLデータ)をレポート形式にして出力するフォーマットを定義します。
ここでは、getCategoryItemという一件一件のレコードを取り出す関数を指定しています
ここでは、関数/データ定義を元にフォームを作成しています。
ここは、結果の定義をもとに表示する項目を設定しています。
これで作成されました。
④実行
作成されたフォームは”ページ”として作成されています。
アプリケーションの一部であり、実行することで動作が確認できます。
ここで実行!
ログインします。ここではユーザーtestです。
フォームに検索項目を入れます。ここではカテゴリーID 23456を入れています。
ちなみに、キーボード/マウスカテゴリになっているようです。
実行結果です。このカテゴリにあるものがすべて一覧で参照できています。
Application Expressは開発環境です。今回ご紹介した機能のほか、データをベースとしたアプリケーション作成が容易なほか、最新のAJAX技術などを組み合わせて非常に高機能になっています。
ぜひお試しあれ!
いまどきでは .Net Data ProviderやらEJB(JDBCだけど), , 古くはODBC、OCI(C言語)でOracle Databaseはつかうもんだ!と思いますよね。
Oracle Database 11gだとXML DBの新機能で、別の方法をとることができます。
そ、それは・・・・
Web Service API!
普通にアプリ開発でも使うようになり、マッシュアップやら、SOAやら、クラウドやら、でも目にするものですが、Databaseで直接扱うことができます。
まずWeb Serviceのメリットを上げておくと、データが扱いやすい、再利用性が高い、開発しやすいことが上げられます。
言語専用のインターフェース(ODBCとかJDBC)が必要なく、アプリケーションレベルで扱えること、データフォーマットがXMLで扱われてるので最近の開発言語と相性がいいことが上げられます。
Oracle Database 11gR1のXML DBはそもそもXMLデータを扱うためのプラットフォームで、入出力にそもそも長けていてこの機能に追加されたわけですが・・・
この機能では、Web Serviceを介して直接SQL文、もしくはXQueryをなげて結果を得られます。無論XMLデータです。
つまり、アプリケーションレベルでDatabaseデータを扱えてしまいます。
ということで、設定と検証のご紹介です。ちなみに全エディションでつかえますよ。
まず、XML DBを使えるようにします。
デフォルトで導入されていますので、ポートを有効にするだけです。
これはEMからでもXDBパッケージを使っても可能です。
EMの場合は以下のとおり。
XML DBのところにあります。
#ここのHTTPポートが0の場合、無効ですので変更します。今回は8080にしています。
DBMS_XDBパッケージの場合は"SQLPLUS / AS SYSDBA"でログインして設定しちゃいます。
SQL>exec DBMS_XDB.setHTTPport(8080);
これは、即時反映されて有効になりますので、Listner経由で確認します。
lsnrctl status
ポートが設定されていれば、Presentation=HTTP, Port=8080で稼動している"orclXDB"がリストにでてきます。
続いて、対応するWeb Serviceを登録します。
実行してみます。
こちらはみにくいのでマニュアルにあるので、あわせて参照ください。
これだけで、"orawsv"という名前でサービスが作成されています。
ですが、これだけではDBにアクセスすることができません。
通常のDBと同様で、スキーマへのアクセスを必要となりますのでセキュリティとあわせて、設定を行います。
今回は、毎度ながら"SCOTT"にアクセス権を与えています。
これでアクセスが可能になっていますので稼動しているかためしてみましょう。
今回、自分のマシンで動いており、Portを8080で設定しているのでブラウザから指定してアクセスしてみます。
http://localhost:8080/orawsv

SCOTT/TIGERでアクセス。
すると。。。。
ということで、アクセスはできました。
なお、なんの情報も与えずアクセスしたので、Faultしてます。でも稼動は確認できました。
続いてWeb Serviceとして必要な情報をまとめているWSDLを参照してみます。
自動的にXML DBが生成しているので参照ができます。
http://localhost:8080/orawsv?wsdl
参照ができましたね。この内容には規約がかかれていてこの内容を開発言語や基盤でよみこむことで利用が即可能になります。
続いて、検証に入りたいと思います。
今回は有名なツールでsoapUIというものがありますので、これを使ってみます。
立ち上がると、次のようになるので設定していきます。
ここではWSDL参照のURIをいれています。
今回は参照テストのときと同じ、"http://localhost:8080/orawsv?wsdl"を入力済み。
設定中・・・・
認証聞かれるのでSCOTT/TIGER
設定されて、デフォルトでリクエストサンプルがつくられてます。
では実際に必要な部分を残して実行!
ここには直接、SQL文がかかれています。
#赤字の部分のとおり、直接書いています。
また、"Aut"でSCOTT/TIGERを指定しています。
参照できましたね。
このように実行されたSELECT文に対応して結果がXMLでえられています。
無論Databaseのデータ型にそってデータがえられますので、ものによれば・・
夢が広がりますねぇ。
次は具体的な利用例を考えてみます。。。
XML DB秋祭り開催!!!!
勉強の秋! 実りの秋!! XML DB秋祭り I
PHPで高可用性!
PHPユーザー向け!スケーラビリティと高可用性を実現するデータベース接続管理
CA-DATACOM, Adabas, Natural...
おはずかしながら、単語を聴いたことあってもどんな仕組みなのやら・・・・
説明するのができません。 (;・∀・)
こんな私でも多分大丈夫かも!
というわけでDirect Seminarやっちゃいます!
今回はエクサ様、メディア情報開発様とのコラボ企画!!!
11/4 13:30から
実践!!メインフレーム資産活用!「汎用機データベースからオラクルへのマイグレーション事例」
11/11 13:30から
実践!!メインフレーム資産活用!
コンバートonフレームワーク“Adabas-Natural”モダナイゼーション
いろいろ活用の可能性があるんですねえ。。。
まだまだ日本での利用者はすくないですが、Oracle MixというどっかでみたようなデザインのSNSがあります。
なんとなーくオラクル社内システム風なにおいのするサイトではありますが、実はどなたでもレジストすれば利用可能です。
ここではオラクル社員もメンバーにいて、メンバーに直接相談をすることもできるようになっています。
いろんな"Group"があって、興味のあるメンバー(オラクル社員&外部メンバーの方)が集まっていますが、ここにも”モダナイゼーション"をテーマにしたグループがあります。
何気に、日本のオラクル社員ばかりのグループでメンバーはモダナイゼーションの人たち。
メインフレーム、ホスト系については天下一品な話題ができるかと思います。
興味のあるかたはご参加を!
登録方法やガイドはこちら。
Oracle Mixに参加しよう!
10月もメインフレームやります。しかもトップバッター。
今回はTIS様と日立コンサルティング様とのコラボ企画。
題して、
オラクル製品で実現するメインフレームとのデータ連携ソリューション(11:00~12:00)
メインフレーム資産を有効活用!~作る時代から作らない時代へ ITモダナイゼーションを実現する方法~ (11:00~12:00)
メインフレームとOracleがSQLレベルで連携しちゃったり、アプリケーション資産をまるごと使えるようにしちゃったり、と盛りだくさんです。
ぜひご参加を!
唐突ですが連携系。
新機能といいつつ、実は9iぐらいから標準搭載の機能でGeneric Connectivityというものがありました。
11gR1からこれがOracle Database Gateway for ODBCという名称に変更になり旧称Oracle Transparent Gatewayとともにれっきとしたデータベースゲートウェイの一員となりました。
なお、無償で利用可能です。
機能を解説すると、ま、名前のとおりではあるんですがODBCを使ってデータベースアクセスをするゲートウェイですが・・・
1.Oracle Database側からSQLでシームレスにアクセスできる!
2.ODBCでつながるデータベース/データソースならなんでもアクセス!
というものです。
SQLベースのアクセスができるのでデータベースな人なら扱いやすいかもしれません。
また、11gR1からはDatabaseとは別に導入することが可能になったので別サーバーなどで導入することができます。
構成図としては以下のとおり。
では、セットアップを。
ではGatewayの導入から。
GatewayはDatabase メディアパック「Oracle® Database Gateways 11g Release 1 (11.1.0.6.0) for Microsoft Windows (32-bit) CD」
もしくはedelivery.oracle.comから入手してください。
導入元からSetup.exeから起動します。
今回は、D:\oracle\product\11.1.0\tg_1 というディレクトリに導入しています。
続いて、連携する側のPostgreSQLのデータソースを設定します。
細かい設定の説明はさけますが、試した環境では文字コードの対応のために、PostgreSQL ANSIドライバが必要でした。
続いて、中間でゲートウェイをする設定を行います。
Gateway側の設定
1. Listenerの設定
- Gatewayはリスナとして起動します。
listener.oraを編集します。
これは、D:\oracle\product\11.1.0\tg_1\NETWORK\ADMINにあります。
この中、今回の環境では同一サーバーにあるListenerと競合をさけるため、"PORT=1522"を指定しています。
また、特殊なところとして対応するGWのSIDとしてHOGEHOGE、PROGRAMにdg4odbcを記載してあります。
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=HOGEHOGE)
(ORACLE_HOME=D:\oracle\product\11.1.0\tg_1\)
(PROGRAM=dg4odbc)
)
)
2. HSの設定
続いて、SID=HOGEHOGEに対するGWサービスをつくります。
この設定はD:\oracle\product\11.1.0\tg_1\hs\adminにあるinitdg4odbc.oraというサンプルファイルをinit
今回の場合はHOGEHOGEなのでinitHOGEHOGE.oraです。
中身としては、スクリーンショットのとおりですが
HS_FDS_CONNECT_INFO = hogehoge
と記述しています、このhogehogeはODBCドライバに設定したDSN名です。
3. 起動
次にGatewayのListnerを起動しましょう。
Windowsサービスから起動します。
4. Database側の設定
GWを呼び出すデータベースのほうから接続可能なようにtnsnames.oraを設定します。
GWはリモートのオラクルにみえているのでLisenしているポートとサービスしているTNS名を指定するだけです。
*この設定はGWではなくDBの方を設定してます。
D:\app\mmatsuza\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora
hogehoge =
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=mmatsuza-jp2)
(PORT=1522)
)
(CONNECT_DATA=
(SID=HOGEHOGE))
(HS=OK))
ここでのポイントはPORT=1522, HS=OK, SID=HOGEHOGEの3つの設定です。
5.動作確認
対Oracleに対するDBLINKの作成とにてます。
試してみますと、以下のような感じです。
解説すると、以下のようになります。
create public database link "<DBLINK名>" connect to "<ODBC接続ユーザー名>" identified by "<ODBC接続ユーザーパスワード>" using '<tnsnames記載のGW/サービス名>';
サービス名のクォートが'であるところが注意!
3.実行確認
では、実行してみます。
SELECT * FROM "<リモートテーブル名>"@<DBLINK名>
と、検索を実行してます。ポイントはリモートテーブル名を"でクォートしてます。
ためしたPostgreSQLはケースセンシティブなので入れておかないとエラーになったり
します。いれないとUpper Caseでなげちゃうので。
以上で利用可能です。
次回は実際の利用について検証します。
![]()
My Profile