2012年2月29日

[Network] Networks and Virtualization

原文はこちら。
https://blogs.oracle.com/networking/entry/infiniband_and_virtualization

仮想化は、常にインフラオーナーが頻繁に取り上げる話題です。その理由がわかりますかね?よくあるのは、任意の時点で、サービス展開時に使われるハードウェア機器の容量が、サービスが実際に利用可能な分よりも多く必要になる、ということです。データセンターの賃料と電力費用は高価ですからね。

では、何をしたいのでしょう?集約ですね。

んー、確かにそうなんですけど、セキュリティはどうなんでしょうかね。すべてが露出したリソースの共有セット上で実行されているという事実を好まない人もいます。

じゃあ、どうすればいいのでしょう?分離ですね。

これらの2つのキーワード、Consolidation(集約)とIsolation(分離)はお互いに矛盾しているように思えますが、両者はコンピューティング環境の仮想化の基礎をなすものなのです。

ネットワークの世界では、与えられたメディアを通じて複数のデータフローを統合し、さらに分離を維持できた場合に仮想化を実現しています。

以下のような質問を何度となく聞いてきました。
これらのVLANをいったいどうなっているの?何個作ればいいの?
InfiniBandパーティションって何?どうやって実装すればいいの?
これらの質問もよくいただきます。
何個のLANを参加させたらいいの?
これらのネットワーク間のセキュリティは必要?
現代のコンピューティング環境では、ほとんど全てのホスト、特にサーバは一つ以上のネットワークに属しています(マルチホーミングといいます)。これについてもう少し深掘りしてみましょう。マルチホーミングの意味は、文字通り、異なるネットワークに動じに参加していることを表しています。まず一つのネットワークから見ていきましょう。ここで何が必要でしょうか。十分に簡単です。1個のIPアドレスを持つ1個のネットワークポート、そしてサブネットマスクです。送信先が当該マシンが属するローカルエリアを越えてより大きなネットワークである場合には、ゲートウェイアドレスを追加するでしょう。はい、状況が変わり、要件も拡大する可能性があります。別のネットワークポート、別のIPアドレス、サブネットマスク、ゲートウェイなどを追加する必要がでてきます。しかし、どこかで物理的な限界が来てしまいます。そしてハードウェアにより多くのお金を使いたい人はいませんし、データセンターで多くのものを管理したくないのです。配線を見たことのある人は、私が何を言っているかわかると思います。


で、ここで何をする必要があるでしょうか?集約ですね。どうやればいいでしょう。見ていきましょう…この先では、OSIの最初の3層を念頭に置いて下さいね。あるレイヤを仮想化すると、すぐに上位レイヤは継承します。

レイヤ1(ハードウェア)での仮想化
これはシンプルな説明のためではありますが、いくつかの統合がハードウェアまたはレイヤ1で何が起こっていると言えるでしょう。あなたは、1つ以上のネットワークポートを持つネットワークインターフェイスカードを見たことがありませんか?デュアルバンド・ワイヤレスルータはどうでしょうか?この層では、これが我々が言うconsolidationの一種であり、isolationは内蔵されています。2個のシングルポートネットワークカードを持つかわりに、デュアルポート、あるいはクアッドポートカードを使用することができます。同じカードの別のポートが独自のハードウェアアドレスと外部世界への物理パスを持ちます。
 Interfaces from NIC #1  Interfaces from NIC #2  Interfaces from NIC #3   Interfaces from NIC #4
 Ethernet  eth0, eth1  eth2, eth3  eth4, eth5  eth6, eth7, eth8, eth9
 InfiniBand  ib0, ib1  ib2, ib3  ib4, ib5  ib6, ib7
あなたは、個々のNICがレイヤ2とレイヤ3で使用するユニークなインタフェースを提供することがわかるでしょう。ここで示しているconsolidationは、ネットワークカードレベルでのみであり、これは純粋に理解のためにここで会話を成り立たせるためです。

レイヤ2(リンク)での仮想化
お楽しみはここからです。このセクションでは、同じ物理メディア上にあり、固定ハードウェアアドレスを持つ同じネットワークポートについて言及します。イーサネットでは、これはMACとして知られており、InfiniBandではサブネット管理下のPort GUIDもしくはLIDです。上位層のレイヤ3が複数のIPサブネットに参加できるように、複数のストリームをレイヤ2で統合できますが、どうやってisolationを実現するのでしょうか?ここに仮想化の鍵があるのです。
  • イーサネットは8021.Q仕様に基づいて仮想LANを実装しています
  • InfiniBandは、IBTA仕様に基づいたパーティションキー(PKeys)を実装しています
基本的な考え方は、リンクレイヤ2で統合される各ストリームの一意のIDを許可し、分離して上位層に新しいインターフェースを提示するというものです。全体的な結果、レイヤ2でのネットワーク仮想化です。
 Interfaces from NIC #1  Layer 2 Isolation Unique ID  Interface Presented to Layer 3
 Ethernet  eth0, eth1  VLAN=20  eth0.20, eth1.20
 InfiniBand  ib0, ib1  PKey=0x8001  ib0.8001, ib1.8001
このアプローチでは、ワイヤ上を通過するパケットを分析する際、パケットを分離するためにレイヤ2で設定された一意のフィールドがあります。レイヤ3も、独自の発信元と宛先のIPサブネット情報を持ちます。

レイヤ3(ネットワーク)の仮想化
これは、エンドポイントでIPアドレスを使用するレイヤです。この例ではLinuxを使います。ここでの仮定は、同じハードウェアアドレスを持つ同一ネットワークインターフェースを持ち、レイヤ2では仮想化していない、ということです。それゆえ、どうやって、レイヤ3で仮想化するのでしょうか?ユニークなサブネットを持つIPエイリアスを使います。インターフェースをeth0と呼ぶことにしましょう。Linuxを含むいくつかのOSでは、eth[n]:[y]といった形式の仮想インターフェースを追加することができます。ここで'n'はインターフェースインスタンスで、'y'は当該インターフェースインスタンスにおける仮想インスタンスです。独自のIPサブネットに参加する仮想レイヤ3インスタンスを持つことができます。ここで何をやりましたかね?データストリームを統合し、ユニークなサブネットを付けて分離しました。

Interfaces from NIC #1  IP Aliases or Virtual Interfaces
 Ethernet  eth0, eth1  eth0:1, eth0:2, eth1:1, eth1:2
 InfiniBand  ib0, ib1  ib0:1, ib0:2, ib1:1, ib1:2
このアプローチでは、ワイヤ上を通過するパケットを分析する際に、送信元および宛先のIPサブネットでレイヤ3になることが唯一の違いです。レイヤ2でのisolationはありません。

どれが一番いいの?
OSIモデルの下位3層での仮想化実現方法について見てきました。評価とおさらいをしましょう。
  • レイヤ1:より多くのハードウェアを必要とし、管理しづらくなります。多くの人々は単に、こんなもの仮想化ではないと言うでしょう。仰有る通りで、ここでの目的は、それぞれの層で何が起こるかを知ってもらうことでした。
  • レイヤ2:これはハードウェアに最も近い層であり、仮想化すると、上位層はその環境を継承します。セキュリティと分離の点で最高の信頼レベルを提供します。
  • レイヤ3:ここでの仮想化がぴったりですが、レイヤ2が保護されていないため信頼性は落ちます。
選択はあなた次第であり、インフラストラクチャの設計方法によって選択が変わります。レイヤ2での仮想化の利点が、他のオプションを上回るように思われます。これを実現する技術は、イーサネットではVLANであり、InfniBandであればパーティションキーです。

今後のエントリで、私はあなたのパーティションとVLANを手近の製品で実装する方法や、サービスを統合しつつ、ネットワークレイヤでの仮想化を実現するために分離を維持する方法をご紹介する予定です。

[JavaFX] JavaFX 1.2 and JavaFX 1.3 EOL Announcement

原文はこちら。
https://blogs.oracle.com/javafx/entry/javafx_1_2_and_javafx

2010年9月、San Franciscoで開催されたJavaOneで、OracleはJavaFX Script言語を終了すると発表しました。またOracleは、来るJavaFX 2.0では、Java APIを通してJavaFXの機能を全て利用できるようにするとコミットしました。約束通り、JavaFX 2.0のWindowsバージョンおよび、Mac OS X向け開発者プレビューを2011年10月にリリースし、Linux向け開発者プレビューを2012年1月に追加しました。

Oracle Releases JavaFX 2.0 (Oracle Press Release)
http://www.oracle.com/us/corporate/press/512728
JavaFX 2.0 is Cross Platform! (The JavaFX Blog)
https://blogs.oracle.com/javafx/entry/javafx_2_0_is_cross

本日、JavaFX 1.2および1.3が2012年12月20日にEOL(End of Life)を迎えることを発表しています。より具体的に言えば、この日以後、これらのバージョンのJavaFXランタイムはOracleのサーバから提供いたしません。
JavaFX 1.xプロダクトラインで利用している特定のデプロイメントアーキテクチャが原因で、JavaFX 1.2/1.3 アプリケーションの利用者はもはやJavaFXランタイムをダウンロードできなくなります。従って、JavaFX 1.xアプリケーションを現在使用中の企業や開発者は、アプリケーションをJavaFX 2に移行することを強く推奨します(現在Windows、Mac OS X、Linuxで利用可能)。豊富なドキュメントやチュートリアル、サンプルがJavaFXのサイトからアクセスできます。拡大する開発者コミュニティがその経験を共有し、フォーラムやブログ、ソーシャルメディアでアドバイスし始めています。

JavaFXウェブサイト
http://www.oracle.com/technetwork/java/javafx/index.html
Forum: JavaFX 2.0 and Later
https://forums.oracle.com/forums/forum.jspa?forumID=1385
Jonathan Gilesのブログ
http://jonathangiles.net/blog/
Twitterでjavafxについて検索…
http://twitter.com/search/javafx/

JavaFXの現在のバージョンの詳細については、JavaFXのWebサイトをごらんください。また、この発表に関連した特定の問題について、以下のJavaFXのOTNフォーラム(定期的にチェックしています)で議論することができます。

Thread: JavaFX 1.2 and JavaFX 1.3 EOL announcement
https://forums.oracle.com/forums/thread.jspa?threadID=2353018&tstart=0

2012年2月28日

[Berkeley DB] Now you can build Berkeley DB into your Android apps

Androidをお使いのお客様にとって大きな効果があることを約束する、最新のリリースでの小さな変更を知って頂きたいと思います。
ちょっと前に、Androidプラットフォームのサポートを追加しました。しかし、以下のような条件付きでした:通常アプリに同梱されているSQLiteのルーチンをBerkeley DBに置き換えて、OSレベルで統合する必要がありました。OSに組み込まれているBerkeley DBは、いくつかの利点を提供しましたが、これはまた、顧客が任意の汎用AndroidデバイスにデプロイできるBerkeley DB対応のアプリケーションを構築することができないことを意味していました。一部の顧客は、OSのモディファイ自体を躊躇していたのです。
最新のリリース、Berkeley DB 5.3では、アプリケーションごとに Berkeley DBを使用できる機能を追加しました。つまりBerkeley DBを使用するアプリケーションを構築することができるようになったのです。また、ライブラリルーチンは、パッケージングする際にバンドルされます。その結果、任意のAndroidデバイス上でBerkeley DBの強みを活用できるアプリケーションを作ることができるのです。実現方法はオンラインマニュアルにまとめています。

Berkeley DB Installation and Build Guide
Chapter 4. Building Berkeley DB for Android
Building the Android JDBC Driver
http://docs.oracle.com/cd/E17076_02/html/installation/build_android_jdbc.html

Berkeley DBは、モバイル·プラットフォームを幅広くサポートしています。OracleのEmbedded Java(多くの人はお忘れでしょうが、まだフィーチャーフォン市場のシェアの大半を占めています)に始まり、Berkeley DBもまた、AndroidとiOSという、スマートフォン市場のシェアの大半を占める二つのプラットフォームをサポートしています。この最新の機能強化により、開発者はAndroid上でBerkeley DBをさらに利用しやすくなることでしょう。最後に、我々は、SQLiteと互換性のあるSQL APIと、伝統的なキー/値のAPI(NoSQLのファン向け)を選択できるようにしました。この機能とプラットフォームサポートが組み合わさった結果、モバイルプラットフォームでエンタープライズグレードのデータストアを必要とする人にとって、Berkeley DBが最善の選択肢なのです。


原文はこちら。
https://blogs.oracle.com/berkeleydb/entry/berkeley_db_and_mobile_now

[SOA/BPM] Enable Trace level logging for Oracle B2B 11g

B2B 11gのログレベルを実行時に変更し、メッセージのやりとりをデバッグしやすくすることができます。以下の手順で変更できます。

1) Enterprise Manager Fusion Middleware Controlにログイン

2) 左ペインのファームのツリーを辿り、SOAフォルダ開く>soa-infraノードを右クリック>[ログ]を選択>コンテキストメニューから[ログ構成]へ

3)  ログ構成のページは以下のようになっています。
[ログ・レベル]タブで、"oracle.soa"ノードを開くと、"oracle.soa.b2bノードがあります。ドロップダウンボックスを使ってoracle.soa.b2bノードのログレベルを変更し、TRACE:1に変更し、右上の[適用]ボタンを押すと、変更した構成を保存します。

ログレベルの変更は即時有効になりますので、WebLogic Serverを再起動する必要はありません。
トレースレベルログはSOAをホストするサーバの*-diagnostic.logに書き込まれます。

例えば、開発環境でSOAサーバが管理サーバで動作している場合、ログファイルは以下の場所にあります。
<DOMAIN_HOME>/servers/AdminServer/logs/AdminServer-diagnostic.log
トレースレベルのログは以下の例のように書き込まれます。以下のTRACEエントリがoracle.soa.b2b.engineから出力されたものです。
[2012-02-27T09:10:31.743-08:00] [AdminServer] [TRACE] [] [oracle.soa.b2b.engine]
  [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)']
  [userId: <anonymous>] [ecid: 11d1def534ea1be0:4204a3be:135bf121efc:-8000-0000000000004d02,0:2] 
   [SRC_CLASS: oracle.tip.b2b.system.DiagnosticService] 
   [WEBSERVICE_PORT.name: execute_pt] [APP: soa-infra] [composite_name: Provider_270_271] 
   [component_name: Send270] [J2EE_MODULE.name: fabric] 
   [SRC_METHOD: synchedLog_J] [WEBSERVICE.name: EligibilityCompositeService] 
   [J2EE_APP.name: soa-infra] oracle.tip.b2b.msgproc.ToplinkHelper: 
   findBusinessMessageByB2BMessageId:
   Got 1messages for field messageId with value 7F000001135BFCABBE20000035016E70

原文はこちら。
https://blogs.oracle.com/bwb/entry/enable_trace_level_logging_for

[B2B] Oracle B2B 11g Proxy Configuration

プロキシを利用して種々のB2Bトランスポートを送受信するように構成することができます。

アウトバウンドチャネルでプロキシをサポートするトランスポートは、以下の表の"Use Proxy"の欄をご確認下さい。


Oracle® Fusion Middleware User's Guide for Oracle B2B 11g Release 1 (11.1.1.6.0)

http://docs.oracle.com/cd/E23943_01/user.1111/e10229/b2b_tps.htm#BABJIJJF

リスニングチャネルでプロキシをサポートするトランスポートは、以下の表の"Use Proxy"の欄をご確認下さい。

http://docs.oracle.com/cd/E23943_01/user.1111/e10229/bb_listen_chan.htm#BAJDGEID

プロキシ設定は2段階


1) 以下のオプションをWebLogic ServerおよびB2BトランスポートをホストするJVMに指定します。
-Dhttp.proxySet=true 
-Dhttp.proxyHost=192.168.1.115
-Dhttp.proxyPort=8888
エントリを追加する場合には、ホスト及びポートの値を貴社の環境に適するようにして下さい。その上で、WebLogic Serverを再起動します。

2) B2Bコンソールにて、プロキシを利用するトランスポートの"Use Proxy"のチェックボックスを選択します。例えば、下図ではHTTPトランスポートの"Use Proxy"フィールドを示しています。Urlフィールド値はチャネルが呼び出すエンドポイントを示しています(プロキシのエンドポイントではありません)。




原文はこちら。
https://blogs.oracle.com/bwb/entry/oracle_b2b_11g_proxy_configuration

2012年2月27日

[BPM] Meter-to-Cash Optimization for Smarter Utilities

Meter-to-Cash (検針から入金)は、ダウンストリームの公共・公益企業にとって主要な収入を生み出す活動です。伝統的に、規制価格が課している売上高の上限ゆえに、この活動全体に対してコスト効率を追求することはほとんどありませんでした。今日、公共・公益企業は、例えばスマートグリッドやスマートメータインフラストラクチャと消費者中心の収益モデルにアップグレードする上で、資本集約的な投資が立ちはだかっています。たとえば、ネットで検針したり(net-metering)、使用時間別の料金という、電力消費がオフピークにシフトするので潜在的に収益を押し下げ得ます。したがって、公共・公益企業は、もはやMeter-to-Cashサイクルの効率をを無視する余裕はないのです。
下図は、公共・公益企業、特に下流オペレータへの収益に対する圧力やマージンの要因を示しています。



Meter-to-Cashのサイクルを改善するためにやるべきことは以下のようなものです。
  • 消費者へ「スマート」なe-サービスをロールアウトする
  • コアユーティリティ、すなわち電気、水道などのサービスを提供する上での運用コストを管理する
  • 現金回収の無駄を削減する
下図は、Meter-to-Cashサイクルの主要なサブプロセスを示し、プロセス改善の具体的な価値を概説しています。

原文はこちら。
https://blogs.oracle.com/ApplicationPlatform/entry/meter_to_cash_optimization_for

[BPM] Mitigating Cyber-Security Risks to Smart-Grid AMI

今日、電力などの公益企業は、政府の規制や消費者の意識がきっかけとなって、スマートグリッド/スマートメータのインフラへのアップグレードに対して集中的に投資することをコミットしています。しかし、ますます「スマート」になるこのプロセスにおいて、送電網のデジタル化は、運用技術、情報技術、通信技術の境界線をあやふやにしています。このため、サイバー攻撃や、「ラストマイル」、すなわち自動検針インフラ(AMI)の物理的な妨害や機器の誤動作に対して送電網が非常に脆弱になる可能性があります。AMIの主要なコンポーネントは次のとおりです。
  • スマートメータ
  • ヘッドエンドシステム (HES)
  • メータ読み取り制御システム (MRC)
  • メータデータ管理システム (MDMS)
  • 負荷制御装置 (LC)
下図はAMIの論理アーキテクチャを示しています。実際には、複数のコンポーネント(メータ以外)の機能を同じアプリケーションにカプセル化することができます。
出典: http://collaborate.nist.gov/twiki-sggrid/pub/SmartGrid/CsCTGAMI/AMI_Security_Profile_-_v2p1a.doc
下表は、Smart-Grid Interoperability Panel (SGIP)のCyber Security Working Group (CSWG) が定めたAMIへのサイバーセキュリティ要件で、これはSmart-GridセキュリティのNIST IR 7628をベースにしています。

Introduction to NISTIR 7628 Guidelines for Smart Grid Cyber Security
http://csrc.nist.gov/publications/nistir/ir7628/introduction-to-nistir-7628.pdf

(出典:http://collaborate.nist.gov/twiki-sggrid/pub/SmartGrid/CsCTGAMI/AMI_Security_Profile_-_v2p1a.doc
BPMを用いると、NIST IR 7628のようなスマートグリッドセキュリティガイドラインを強制して、「ラストマイル」の保護を促進することができます。上記の表のようにAMIプロセスのより詳細の制御ならびに可視性の利点は次の通りです。
  • AMIプロセスに対する予測・リアルタイムのFault Modes and Event Assessment (FMEA)を用いて、サイバー脅威や物理的な攻撃からエネルギー流通の "ラストマイル"を保護する
  • 消費者訴訟の観点での法的リスクを減らし、AMIのデータフローの自動監査証跡を用いて、データ機密性への侵害を制限し、タイムリーに対応する
  • メーターの故障、ヒューマンエラー、データ破損に起因する不当な切断を防いで、顧客満足を向上させる
明らかに、電気送電網の変容において、省エネルギーと炭素使用量の削減の面で大きな約束があります。しかし、従来の機械的な電気送電網へ情報通信技術を注入すると、送電網が停止する可能性があるという未知の脆弱性を作り出してしまうでしょう。「ラストマイル」すなわちAMIを保護することは、スマートグリッドの将来という約束を実現するうえで非常に重要になるでしょう。


原文はこちら。
https://blogs.oracle.com/ApplicationPlatform/entry/improving_cyber_security_for_smart

2012年2月26日

[misc] YouTube: Great New Java Song!



「このすばらしいミュージシャンは誰?」なんて声が聞こえてきそうですね。彼はZoran、NetBeansガバナンスボードのメンバーの一人で、NetBeans Dream Teamのメンバーです。彼はセルビアのベオグラードの大学の講師であり、セルビアNetBeansユーザーグループを立ち上げました。定期的にNetBeansプラットフォーム上でJavaデスクトップアプリケーション作成のコースを実施しています。彼は非常にいいやつで、もしベオグラードに行ったら彼を訪ねてJavaについて議論してみるべきでしょう。

NetBeans User Group Serbia
http://www.netbeans-serbia.org/

原文はこちら。
https://blogs.oracle.com/geertjan/entry/youtube_great_new_java_song

[SOA/BPM, Security] Constraint based Global Policy Attachments (CGPA) - 11gR1

OWSM 11gT1 PS5(11.1.1.6.0)には数多くの新機能がありますが、その一つとして、制約ベースのポリシーを定義し、添付することができるようになりました(Constraint based Global Policy Attachments、時にはConditional Global Policy Attachmentsと呼ばれることもあり)。

このエントリでは当該機能を追加することになったユースケースをご説明しましょう。
Webサービスを持っていると仮定すると、多くの場合、Webサービスは組織内ネットワークだけでなく、たいていは同じWebサービスを組織外にも公開しており、パートナーなどのお客様が利用できるようになっています。このとき、Webサービスを3つのカテゴリに分類することができます。
  • 外部に公開しているWebサービス(外部のWebサービスクライアントがアクセスするWebサービス)
  • 内部に公開しているWebサービス(内部のWebサービスクライアントがアクセスするWebサービス)
  • 混在型Webサービス(内部および外部のWebサービスクライアントがアクセスするWebサービス)
多くの場合、外部のWebサービスクライアントがアクセスするWebサービスと比較して、お客様は内部のWebサービスクライアントがアクセスするWebサービスの異なるセキュリティレベルを持っていると思います(例えば、パブリッククラウド、プライベートクラウドにあるサービスにアクセスするパートナーや顧客)。

Webサービスの種類セキュリティレベル
内部Webサービス
外部Webサービス
混在型Webサービス

ではユースケースを図示してみましょう。
通常、このやり方が混在型Webサービスにハイレベルなセキュリティを適用する唯一の方法です。この結果、内部Webサービスでもハイレベルなセキュリティを使うことになります。Conditional Global Policy Attachmentsの機能はこのシナリオに対応するために設計されました。これを使うと内部アクセスの場合は今まで通り低レベルのセキュリティを使いつつ、外部アクセスに対しては高レベルセキュリティを適用し続けることができます。

別のユースケースを考えてみましょう。顧客が通常実行するWebサービスが時として内部向けとしてフラグが設定されているWebサービスで、その後外部に公開する必要があるかもしれません。外部公開する場合、セキュリティレベルを変更する必要がありますが、Conditional Global Policy Attachmentsを使うと、こうしたシナリオでもセキュリティレベルの変更をする必要がなくなります。


原文はこちら。

[Linux] New beta release of DTrace for Oracle Linux

先ほどUnbreakable Linux NetworkにLinux向けDTraceのRPMパッケージの更新版をUpしました。

Unbreakable Linux Network
http://linux.oracle.com/

この現在開発中のDTraceフレームワークのベータ版は、現在のUnbreakable Enterprise Kernel Release 2 (2.6.39)をベースにしており、数多くの改善と新機能を追加しています。

新機能
  • SDT (Statically Defined Tracing)プロバイダが実装され、カーネル内の静的プローブを提供します。いくつかのプロセスプロバイダがこのリソースを使って実装されています。
不具合の修正
  • スタブベースのシステムコール(fork()、clone()、exit()、sigreturn()など)のsyscallトレースが機能するようになりました。
  • Dスクリプト内での不正なメモリアクセスでoopsやpanicが起こらなくなりました。
  • Dスクリプト内のメモリ枯渇が原因で偽のoopsが起こらなくなりました。
  • いくつかのクラッシュが修正されました。
  • 算術内部集計の修正と、quantize()の修正
  • インストール済みのヘッダの改善
はじめての方には、Oracle LinuxでのDTraceの利用について記載したWim Coekaertsの最新のエントリがお役に立つかと思います。

DTrace update to 0.2
https://blogs.oracle.com/wim/entry/dtrace_update_to_0_2
http://orablogs-jp.blogspot.com/2012/02/dtrace-update-to-02.html

DTraceのポーティングは現在進行中で、”Technology Preview”と見なされる状態です。これには通常の免責条項が適用されます。今回専用の"DTrace on Linux"フォーラムを作成し、Linux版の経験を共有いただき、フィードバックしてもらえる場所を用意しました。皆様のコメントをお待ちしています。

Forum: DTrace for Oracle Linux Tech Preview
https://forums.oracle.com/forums/forum.jspa?forumID=1398


原文はこちら。
https://blogs.oracle.com/linux/entry/new_beta_release_of_dtrace

[Linux] DTrace update to 0.2

DTraceの最新版をULNに公開しました。これはversion 0.2で、別のプレビューという位置づけです。

Unbreakable Linux Network
http://linux.oracle.com/

お試し方法
ULNにサーバを登録し、以下のチャネルをサーバリストに追加して下さい。
ol6_x86_64_Dtrace_BETA
チャネルをサーバに登録したら、以下のRPMをインストールできます。
dtrace-modules-2.6.39-101.0.1.el6uek
dtrace-utils
kernel-uek-headers-2.6.39-101.0.1.el6uek.x86_64
kernel-uek-devel-2.6.39-101.0.1.el6uek.x86_64
kernel-uek-2.6.39-101.0.1.el6uek.x86_64
kernel-uek-firmware-2.6.39-101.0.1.el6uek.noarch
RPMをインストールしたら、サーバを次のカーネルで再起動します。
2.6.39-101.0.1.el6uek
DTraceモジュールは以下のディレクトリにインストールされています。
/lib/modules/2.6.39-101.0.1.el6uek.x86_64/kernel/drivers/dtrace

# cd /lib/modules/2.6.39-101.0.1.el6uek.x86_64/kernel/drivers/dtrace
# ls

dtrace.ko  dt_test.ko  profile.ko  sdt.ko  systrace.ko
DTraceモジュールを実行中のカーネルにロードします。
# modprobe dtrace 
# modprobe profile
# modprobe sdt
# modprobe systrace
# modprobe dt_test
DTraceコンパイラは /usr/sbin/dtrace にあります。数種類のREADMEファイルが /usr/share/doc/dtrace-0.2.4 にありますので、そちらで何ができて何ができないのか確認して下さい。

新機能
  • SDTプロバイダを実装し、カーネル内の静的プローブを提供しています。いくつかのプロセスプロバイダをこのリソースを使って実装しています。
不具合の修正
  • スタブベースのシステムコール(fork()、clone()、exit()、sigreturn()など)のsyscallトレースが機能するようになっています。
  • Dスクリプトでの不正なメモリアクセスによってoopsやpanicが発生しなくなりました。
  • Dスクリプトでのメモリの枯渇が原因で偽のoopsが発生しなくなりました。
  • いくつかのクラッシュを修正しました。
  • 算術的内部集計を修正し、quantize()を修正しました。
  • インストール済みヘッダを改善しました。
DTrace Test Suiteの観点では、ユーザ空間ならびにカーネルの両方をかなりカバーしています。チームのみんなに感謝します。

以下は出力および.dスクリプトのソースコードの例です。
activity.d    - this shows ongoing activity in terms of what program was executing, 
          what its parent is, and how long it ran. This makes use of the proc SDT provider.
pstrace.d     - this is similar but instead of providing timing, it lists ancestory
          of a process, based on whatever history is collected during the DTrace runtime 
          of this script.  This makes use of the proc SDT provider.
rdbufsize.d   - this shows quantised results for buffer sizes used in read syscalls, 
          i.e. it gives a statistical breakdown of sizes passed in the read() syscall, 
          which can be useful to see what buffer sizes are commonly used.

=====================
activity.d
=====================

#pragma D option quiet

proc:::create
{
    this->pid = *((int *)arg0 + 171);

    time[this->pid] = timestamp;
    p_pid[this->pid] = pid;
    p_name[this->pid] = execname;
    p_exec[this->pid] = "";
}

proc:::exec
/p_pid[pid]/
{
    p_exec[pid] = stringof(arg0);
}

proc:::exit
/p_pid[pid]&&  p_exec[pid] != ""/
{
    printf("%d: %s (%d) executed %s (%d) for %d msecs\n",
           timestamp, p_name[pid], p_pid[pid], p_exec[pid], pid,
           (timestamp - time[pid]) / 1000);
}

proc:::exit
/p_pid[pid]&&  p_exec[pid] == ""/
{
    printf("%d: %s (%d) forked itself (as %d) for %d msecs\n",
           timestamp, p_name[pid], p_pid[pid], pid,
           (timestamp - time[pid]) / 1000);

}


=============
pstrace.d
=============


#pragma D option quiet

proc:::create
{
    this->pid = *((int *)arg0 + 171);

    p_pid[this->pid] = pid;
    p_name[this->pid] = execname;
    p_exec[this->pid] = "";
    path[this->pid] = strjoin(execname, " -> ");
}

proc:::create
/p_pid[pid]/
{
    this->pid = *((int *)arg0 + 171);

    path[this->pid] = strjoin(path[pid], " -> ");
}

proc:::exec
/p_pid[pid]/
{
    this->path = basename(stringof(arg0));

    path[pid] = strjoin(p_name[pid], strjoin(" ->  ", this->path));
    p_exec[pid] = this->path;
}

proc:::exit
/p_pid[pid]&&  p_exec[pid] != ""/
{
    printf("%d: %s[%d] ->  %s[%d]\n",
           timestamp, p_name[pid], p_pid[pid], p_exec[pid], pid);

    p_name[pid] = 0;
    p_pid[pid] = 0;
    p_exec[pid] = 0;
    path[pid] = 0;
}

proc:::exit
/p_pid[pid]&&  p_exec[pid] == ""/
{
    printf("%d: %s[%d] ->  [%d]\n",
           timestamp, p_name[pid], p_pid[pid], pid);

    p_name[pid] = 0;
    p_pid[pid] = 0;
    p_exec[pid] = 0;
    path[pid] = 0;
}

proc:::create
/path[pid] != ""/
{
    this->pid = *((int *)arg0 + 171);

    p_name[this->pid] = path[pid];
}


==================
rdbufsize.d
==================

syscall::read:entry
{
    @["read"] = quantize(arg2);
}
まだCTFはサポートしていませんので、スクリプトはRAWメモリアクセスして、task_struct構造体のPIDフィールドにアクセスします。

this->pid = *((int *)arg0 + 171);

ここで、arg0はtask_struct構造体へのポインタです(新しいタスク/スレッド/プロセスが生成されると、arg0はproc:::createプローブに渡されます)。

このスクリプトをカット&ペーストしてテキストファイルにし、実行すると、以下のような出力結果を得ます。
activity.d (here I just run some commands in a separate shell which then shows in the output)
dtrace -s activity.d 
  2134889238792594: automount (1736) forked itself (as 11484) for 292 msecs
2134912932312379: bash (11488) forked itself (as 11489) for 1632 msecs
2134912934171504: bash (11488) forked itself (as 11491) for 1319 msecs
2134912937531743: bash (11488) forked itself (as 11493) for 2150 msecs
2134912939231853: bash (11488) forked itself (as 11496) for 1366 msecs
2134912945152337: bash (11488) forked itself (as 11499) for 1135 msecs
2134912948946944: bash (11488) forked itself (as 11503) for 1285 msecs
2134912923230099: sshd (11485) forked itself (as 11486) for 8790195 msecs
2134912932092719: bash (11489) executed /usr/bin/id (11490) for 1005 msecs
2134912945773882: bash (11488) forked itself (as 11501) for 328 msecs
2134912937325453: bash (11493) executed /usr/bin/tput (11495) for 721 msecs
2134912941951947: bash (11488) executed /bin/grep (11498) for 1418 msecs
2134912933963262: bash (11491) executed /bin/hostname (11492) for 804 msecs
2134912936358611: bash (11493) executed /usr/bin/tty (11494) for 626 msecs
2134912939035204: bash (11496) executed /usr/bin/dircolors (11497) for 789 msecs
2134912944986994: bash (11499) executed /bin/uname (11500) for 621 msecs
2134912946568141: bash (11488) executed /bin/grep (11502) for 1003 msecs
2134912948757031: bash (11503) executed /usr/bin/id (11504) for 796 msecs
2134913874947141: ksmtuned (1867) forked itself (as 11505) for 2189 msecs
2134913883976223: ksmtuned (11507) executed /bin/awk (11509) for 8056 msecs
2134913883854384: ksmtuned (11507) executed /bin/ps (11508) for 8122 msecs
2134913884227577: ksmtuned (1867) forked itself (as 11507) for 9025 msecs
2134913874664300: ksmtuned (11505) executed /bin/awk (11506) for 1307 msecs
2134919238874188: automount (1736) forked itself (as 11511) for 263 msecs
2134920459512267: bash (11488) executed /bin/ls (11512) for 1682 msecs
2134930786318884: bash (11488) executed /bin/ps (11513) for 7241 msecs
2134933581336279: bash (11488) executed /bin/find (11514) for 161853 msecs


pstrace.d (as daemons or shells/users execute binaries, they show up automatically)
# dtrace -s pstrace.d 
2134960378397662: bash[11488] ->  ps[11517]
2134962360623937: bash[11488] ->  ls[11518]
2134964238953132: automount[1736] ->  [11519]
2134965712514625: bash[11488] ->  df[11520]
2134971432047109: bash[11488] ->  top[11521]
2134973888279789: ksmtuned[1867] ->  [11522]
2134973897131858: ksmtuned ->  [11524] ->  awk[11526]
2134973896999204: ksmtuned ->  [11524] ->  ps[11525]
2134973897400622: ksmtuned[1867] ->  [11524]
2134973888019910: ksmtuned ->  [11522] ->  awk[11523]
2134981995742661: sshd ->  sshd ->  bash[11531] ->  [11532]
2134981997448161: sshd ->  sshd ->  bash[11531] ->  [11534]
2134982000599413: sshd ->  sshd ->  bash[11531] ->  [11536]
2134982002035206: sshd ->  sshd ->  bash[11531] ->  [11539]
2134982007815639: sshd ->  sshd ->  bash[11531] ->  [11542]
2134982011627125: sshd ->  sshd ->  bash[11531] ->  [11546]
2134981989026168: sshd ->  sshd[11529] ->  [11530]
2134982008472173: sshd ->  sshd ->  bash[11531] ->  [11544]
2134981995518210: sshd ->  sshd ->  bash ->  [11532] ->  id[11533]
2134982000393612: sshd ->  sshd ->  bash ->  [11536] ->  tput[11538]
2134982004531164: sshd ->  sshd ->  bash[11531] ->  grep[11541]
2134981997256114: sshd ->  sshd ->  bash ->  [11534] ->  hostname[11535]
2134981999476476: sshd ->  sshd ->  bash ->  [11536] ->  tty[11537]
2134982001865119: sshd ->  sshd ->  bash ->  [11539] ->  dircolors[11540]
2134982007610268: sshd ->  sshd ->  bash ->  [11542] ->  uname[11543]
2134982009271769: sshd ->  sshd ->  bash[11531] ->  grep[11545]
2134982011408808: sshd ->  sshd ->  bash ->  [11546] ->  id[11547]


rdbufsize.d (in another shell I just did some random read operations and this
shows a summary)
# dtrace -s rdbufsize.d 
dtrace: script 'rdbufsize.d' matched 1 probe
^C

  read                                              
           value  ------------- Distribution ------------- count    
              -1 |                                         0        
               0 |                                         8        
               1 |                                         59       
               2 |                                         209      
               4 |                                         72       
               8 |                                         488      
              16 |                                         67       
              32 |                                         1074     
              64 |                                         113      
             128 |                                         88       
             256 |                                         384      
             512 |@@@                                      6582     
            1024 |@@@@@@@@@@@@@@@@@@                       44787    
            2048 |@                                        2419     
            4096 |@@@@@@@                                  16239    
            8192 |@@@@                                     10395    
           16384 |@@@@@@                                   14784    
           32768 |                                         427      
           65536 |                                         669      
          131072 |                                         143      
          262144 |                                         43       
          524288 |                                         46       
         1048576 |                                         92       
         2097152 |                                         196      
         4194304 |                                         0 

原文はこちら。
https://blogs.oracle.com/wim/entry/dtrace_update_to_0_2

2012年2月25日

[SOA] SOA Suite PS5 (11.1.1.6) available for download

SOA Suite 11gR1 PS5(11.1.1.6)がOTNからダウンロードできるようになりました。多くの新機能が含まれています。



Oracle SOA Suite Overview
http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html

原文はこちら。
https://blogs.oracle.com/soacommunity/entry/soa_suite_ps5_11_1

[BPM] BPM Suite PS5 1(1.1.1.6) available for download

最新のBPM Suite 11gR1 PS5 (11.1.1.6) がOTNからダウンロードできるようになりました。


新機能の一例
BPM Workspaceの機能強化
  • BPM Workspace監査証跡表の改善
  • 業務ユーザにとって使いやすい監査証跡表の表示
  • 入出力データ、ビジネスステータス、タスクの結果、タスクに割り当てられた人、コメントや添付ファイルへのリンクなどを表示する列を追加
  • 経過時間、残存時間、SLAの違反などを表示する属性
Composerの機能強化
  • ロールベースでデータアソシエーションおよびデプロイメントオプションを隠す機能(要確認)
  • デプロイメントウィザードの機能強化
BAM機能
  • WebSphereのサポート
  • EMSのエラーハンドリングの動作検証
  • 外部ビュー/レポートをタイマーベースでリフレッシュ
  • 日付の減算のサポート
  • ODI 11gとの統合(プレビュー)
  • BAM Monitor ExpressでのECIDのサポート
Human workflow
  • タスクエディタにおけるタスク割当てルールの選択肢を追加(ラウンドロビン、忙しくない順など)
Rules
  • 手続き型ルールのサポート。
    • "If-Then"ブロックをルールアクションの一部として定義可能
  • (ルールセットを実行する前の一連のアクションとしての)初期アクションの定義をサポート
    • 有効日や、不足している入力データなどを追加するなどといった、ルール実行のためのプロパティを設定可能
  • デシジョンテーブルの機能強化
    • 新しいピボットテーブルで、ユーザビリティおよび表示を改善
  • 同じ属性セットの条件評価における最適化

Oracle Fusion Middleware 11g R1 (11.1.1.6.x)には以下の製品が含まれています。
  • Oracle WebLogic Server 11g R1 (10.3.6)
  • Oracle SOA Suite 11g R1 (11.1.1.6.0)
  • Oracle Business Process Management 11g R1 (11.1.1.6.0)
  • Oracle Complex Event Processing 11g R1 (11.1.1.6.0)
  • Oracle Service Bus 11g R1 (11.1.1.6.0)
  • Oracle Enterprise Repository 11g R1 (11.1.1.6.0)
  • Oracle Service Registry 11g R1 (11.1.1.6)
  • Oracle Application Integration Architecture Foundation Pack 11g R1 (11.1.1.6.0)
  • Oracle Data Integrator 11g R1 (11.1.1.6.0)
  • Oracle WebCenter Portal 11g R1 (11.1.1.6.0)  (旧Oracle WebCenter Suite)
  • Oracle WebCenter Content 11g R1 (11.1.1.6.0)  (旧 Oracle Enterprise Content Management)
  • Oracle Identity Management 11g R1 (11.1.1.6.0)
  • Oracle Forms, Reports, Portal & Discoverer 11g R1 (11.1.1.6.0)
  • Oracle Traffic Director 11g R1 (11.1.1.6)
  • Oracle Repository Creation Utility 11g R1 (11.1.1.6.0)
  • Oracle JDeveloper & Application Development Framework 11g R1 (11.1.1.6.0)

原文はこちら。
https://blogs.oracle.com/soacommunity/entry/bpm_suite_ps5_1_1

[Linux] Updated Unbreakable Enterprise Kernel Release candidate packages now available

Unbreakable Enterprise Kernel Release 2の新しいビルドが本日出ました。version 2.6.39-100.1.1というカーネルには、最新のuserspaceユーティリティが含まれています。これらはUnbreakable Linux Networkもしくはパブリックyumサーバからベータ版をダウンロードしてテスト目的で利用できます。

Unbreakable Linux Network
http://linux.oracle.com/
パブリックYumサーバ(ベータ版パッケージ)
http://public-yum.oracle.com/beta/

特にBtrfsファイルシステムに対して多くの修正や改善が施されています。あと、ドライバもアップデートされています。パブリックGitソースリポジトリも最新になっています。

git / linux-2.6-unbreakable-beta.git / summary
http://oss.oracle.com/git/?p=linux-2.6-unbreakable-beta.git;a=summary

Unbreakable Enterprise Kernel Release 2の最終リリース間近ですが、テストとそのフィードバックをお待ちしています。フィードバック専用のフォーラムを容易しましたので、議論に参加いただき、あなたの体験を共有頂きたく思います。どうぞよろしく。

Forum: Oracle Linux and UEK Beta Testing
https://forums.oracle.com/forums/forum.jspa?forumID=1399


原文はこちら。
https://blogs.oracle.com/linux/entry/updated_unbreakable_enterprise_kernel_release

2012年2月24日

[misc] A Reality Check on Transitioning Application Infrastructures to the Cloud

Googleのクラウドベースの電子メールを突然中止するというロサンゼルス市警の最近の発表を踏まえ、すべての問題に対する迅速な解決策として、クラウド上のリアリティをチェックする時期になっています。

L.A. won't put LAPD on Google's cloud-based email system
http://www.latimes.com/business/la-fi-google-email-20111215,0,6466131.story

プレッシャーをかけて内情を聞き出しましょう。色々と出てくるかもしれません。。。特に既存のアプリケーションインフラストラクチャに関連する部分では。
あなたは"スイッチを反転"したり、単に既存のアプリケーションインフラストラクチャをパブリッククラウドに押し込むことを求められているのでしょうか。「X分でクラウドを作成する」といった誇大広告のせいで、クラウドへの移行があまりにも簡単に扱われすぎているため、こうしたリクエストを聞くのは驚くことではありません。
シンプルなクラウドサービスを数分で「作成」できますが、既存インフラからクラウド、、もしくは有力なのはハイブリッドクラウドへの移行はもっと難しいのです。 最近ラスベガスで開催されたGartner Application Architecture, Development & Integration (AADI) Summitで、Gartnerはこのように言っています。-2016年までに、半数のCIOはクラウド技術を介して自社のアプリケーションインフラストラクチャの大部分を操作すると期待している、と。Oracleは、Garter AADIのプラチナスポンサーで、「Tackling Complexity by Converging SOA, Cloud, and Data Integration」と題するセッションを実施しました。このセッションでは、ハイブリッドクラウドへの移行時に、いつ、何を期待すべきかという洞察を提供しました。セッション中、OracleのFusion MiddlewareのVice PresidentであるGreg Pavlikは、単なるオンプレミスからハイブリッドクラウドへの移行に対し、多くの課題とソリューションがあることを説明しました。
セッションは、“Accidental SOA Cloud Architecture”として知られるものを用いて、レッスン"「歴史を忘れるものはそれを繰り返すはめになる(those who forget history are condemned to repeat it)」という教訓のスライドで始まりました。SOA以前のアーキテクチャが「予期せず」成長して、ポイントツーポイントのアプリケーション接続の予期せぬ混乱をもたらしたのと同じように、ハイブリッドクラウドアーキテクチャでは、業務部門がITをバイパスして直接異種クラウドプロバイダと関係を作るということが起こり得ます…“Avoiding the Accidental SOA Cloud Architecture”というホワイトペーパーに示したような、強力かつ予防的な役割をITが果たさなければ。

Avoiding the Accidental SOA Cloud Architecture (UBM White Paper)
http://www.oracle.com/us/technologies/soa/accidental-soa-cloud-1395890.pdf

Accidental SOA Cloud Architecture slide presented at Gartner AADI

Greg Pavlik - VP of Oracle Fusion Middleware presenting at Gartner AADI 
このセッションのもう一つの重要なテーマは、SOA、クラウド、データ統合の収斂でした。この10年間、SOAプラットフォームは、アダプタやEAI、プロセスオーケストレーション、イベント処理などの独立したツールの集合体から統合してきました。最近では、データ統合ツールが、共通のアダプタ、設計・管理ツールをSOAプラットフォームと共有しはじめており、事実上こうしたプラットフォームを統合して、ますます統一アプローチが可能になっています。ツールやプラットフォーム間のこうした水平統合は、従来のオンプレミス、プライベートクラウド、パブリッククラウド間の配置の選択肢という"垂直"統合によって補完され始めています。
ばらばらのクラウド展開モデルをより一層統一的なアプローチに統合するという、この追加された様相の主たるメリットは、要件の変化に応じてインフラストラクチャの各デプロイメントを移行する柔軟性です。例えば、増加する規制要件は、パブリッククラウドのデプロイメントをプライベートクラウドまたはオンプレミスの環境に移動する必要が出てくることがあります。このシフトは、実装のアーキテクチャを完全に再考する必要はありません。
Convergence of SOA, Data Integration, and Cloud 
かつての異種プラットフォームやツール間で、SOAやデータ統合だけでなく、以前の異なるデプロイメントモデルから、オンプレミス、プライベートクラウド、パブリッククラウドをより一層統合したハイブリッド環境、最初にOracleがOracle OpenWorld 2011でOracle Public Cloudを発表したようなシナリオへの移行のしやすさが鍵です。それゆえ、ほとんどの中規模から大企業にとっての問題は、どのように迅速に「スイッチを反転して」、パブリッククラウドに移行できるか、ということではないのです。十分に計画して柔軟なハイブリッドクラウドへ移行し、進化するためのプロセスが問題なのです。


原文はこちら。
http://blogs.oracle.com/SOA/entry/a_reality_check_on_transitioning

[Linux] Rebootless updates: now available for Red Hat Enterprise Linux, too!

ご存知とは思いますが、Oracle LinuxチームはKspliceに熱いのです。まだKspliceをご存知ないなら、このテクノロジーを使えば、システム実行中にサーバをリブートすることなく、Linuxカーネルにセキュリティ上の修正やアップグレードを適用することができます。アプリケーションは影響を受けませんし、サービスの中断やパフォーマンスへの影響はありません。

Ksplice Features
http://www.ksplice.com/features

Kspliceは、しばらく前にOracle Linuxのプレミア·サポート·サブスクリプションに追加されました。それに伴う追加費用はありません。Kspliceを使えば、お客様はたとえ次の計画停止がまだ先であっても、システムは、常に最新で完全にパッチが適用されるのです。

Oracle Linux Premier Support
http://www.oracle.com/us/technologies/linux/OracleLinuxSupport/index.html

以前、KspliceパッチはOracle LinuxをUEK(Unbreakable Enterprise Kernel)で動作させている場合に限り提供されることになっていましたが、本日、そのサポート範囲を拡張し、Kspliceゼロダウンタイムカーネルアップデートを、Oracle Linux 5/6のRed Hat互換カーネルでもご利用頂けるようになりました。Oracle LinuxサポートなしでRed Hat Enterprise Linuxをご利用で、Kspliceを試したいというならば、30日間の無料トライアルに登録してください。

Oracle Offers Free Trial of Innovative Ksplice Zero-Downtime Updates to Red Hat Customers
http://www.oracle.com/us/corporate/press/1529394

Free 30-day trial of Ksplice zero-downtime updates for Red Hat Enterprise Linux customers
http://www.ksplice.com/rhel-signup

さらに、KspliceパッチをFedora/Ubuntu Linux向けにも無料で提供し続ける予定です。

Eliminate disruptive reboots by updating your systems with Ksplice
http://www.ksplice.com/pricing

Kspliceについてもっと知りたい方向けに、Wim CoekaertsのOTNでの記事とWaseem Daherの動画をおすすめします。

Using Oracle Ksplice to Update Oracle Linux Systems Without Rebooting (Wim Coekaerts)
http://www.oracle.com/technetwork/articles/servers-storage-admin/ksplice-linux-518455.html

DEMO: Zero Downtime OS Updates with Ksplice (Waseem Daher)
http://www.youtube.com/watch?v=1m5HJ7h1l7I

[参考]
Oracle Linux YouTube Channel
http://www.youtube.com/user/OracleLinuxChannel


原文はこちら。
https://blogs.oracle.com/linux/entry/rebootless_updates_now_available_for

[Linux] Oracle Linux support lifecycle has been extended to 10 years

エンタープライズ向けのLinuxサポートを提供し始めてこれまで、Oracle Linux Supportプログラムでは以下のような業界随一のサポートを提供してまいりました。
Oracle Linux Support
http://www.oracle.com/us/technologies/linux/OracleLinuxSupport/

既にKspliceでRed Hat Enterprise Linuxをサポートすることは過去のエントリで述べていますが、関連するプレスリリースには別の重要な発表が含まれていました。「Oracle Linuxのサポートライフサイクルが10年に延長」されたのです。

Oracle Offers Free Trial of Innovative Ksplice Zero-Downtime Updates to Red Hat Customers
http://www.oracle.com/us/corporate/press/1529394

Rebootless updates: now available for Red Hat Enterprise Linux, too!
https://blogs.oracle.com/linux/entry/rebootless_updates_now_available_for

この発表で、既存のOracle Solarisのサポート期間と同じLinuxサポートポリシーになったということです。お客様はOracle Linux 5/6の同じリリースをさらに2年間使い続けることができるのです。サポート提供条件の詳細については、更新されたサポートのポリシー文書(PDF)を参照してください。

Oracle Linux and Oracle VM Support Policies
http://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdf


原文はこちら。
https://blogs.oracle.com/linux/entry/oracle_linux_support_period_has

2012年2月23日

[Java] JDeveloper 11.1.1.6 (PS5) is Here

Oracle JDeveloper 11.1.1.6(またの名をOracle JDeveloper 11gR1 Patch Set 5)のリリースを発表できることをうれしく思います。

JDeveloper のダウンロードページ
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdeveloper11116-1377208.html

このリリースは、SOA、WebCenter、BIなどのFusion Middlewareスタックを利用する開発者向けです(逆に言えば、最新の11.1.2.*版ではそういうことができない、ということです)。このパッチセットにはいくつかの新機能が含まれていますが、ほとんどがADF Facesの部分です。
  • データ可視化コンポーネントのHTML 5のサポート
  • iPadからADF Facesにアクセスする際の、タッチジェスチャをサポート
  • 検索エンジンやWebクローリングに対するより一層のサポート
このバージョンには、まもなく登場予定のOracle Cloudへのデプロイメント機能も含んでいます。その他にも新機能がありますが、全てを知りたい方は、以下のリストをご覧頂くことをお勧めします。

Oracle JDeveloper and Oracle ADF 11g Release 1 (11.1.1.6.0): New Features
http://www.oracle.com/technetwork/developer-tools/jdev/index-088099.html

追伸
こうした新機能が11.1.2.*系にいつ載るのか知りたい方へ。現在次期パッチ(11.1.2.2)に追加することを目指しています。


原文はこちら。
https://blogs.oracle.com/jdeveloperpm/entry/jdeveloper_11_1_1_6

[Java] JAX-RS 2.0 - Jersey Code Rulez

JAX-RS2.0の初期ドラフトよりもいいものって何でしょう?さて、もちろんコードですね!スペックリードのMarek Potociarが先ほど発表したように、最初のJersey 2.0マイルストーンビルドが出ました!

A status on JAX-RS 2.0. Early Draft. (Aquarium)
https://blogs.oracle.com/theaquarium/entry/a_status_on_jax_rs

First milestone build of Jersey 2.0
http://marek.potociar.net/2012/02/22/first-milestone-build-of-jersey-2-0/

これは完全に新しいコードをベースにしており、DI(Dependency Injection/GlassFishのコアテクノロジー)のためにHK2を使用し、新しい非同期の内部設計やJAX-RSリソースをプログラムで定義できるAPIを提供しています。これらについては、Marekが詳細にブログに記載しているので、是非チェックしておいて下さい。もちろん、これは将来のJAX-RS 2.0の参照実装でもあります。

試してみたくなりましたか?そう思われたなら、とにかくMaven Centralへどうぞ(当然ながら、現時点では製品品質ではないので、あしからず)。

Maven Central
http://repo1.maven.org/maven2/org/glassfish/jersey/


原文はこちら。
https://blogs.oracle.com/theaquarium/entry/jax_rs_2_0_jersey

2012年2月22日

[Applications] How to Find E-Business Suite Recommended Patches

新しい資料をご紹介します。

Doc ID 1400757.1: How to Find E-Business Suite Recommended Patches
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=ANNOUNCEMENT&id=1400757.1

上記リンクをブックマークに是非登録下さい。このNoteはE-Business Suiteのバージョンに対応する、開発部門が推奨する最新のパッチを見つけ出す最善の方法を概説しています。

原文はこちら。
https://blogs.oracle.com/ebs/entry/how_to_find_e_business

2012年2月21日

[Java] JSR updates

JSR 356: JavaTM API for WebSocket
http://jcp.org/en/jsr/summary?id=356
JSR 356はJSRレビューに回されました。JSRの承認投票は2012年2月21日から3月5日の間に実施されます。

JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services
http://jcp.org/en/jsr/summary?id=339
JSR 339は早期ドラフトレビューに回されました。このレビューは2012年3月10日まで実施されています。

JSR 354: Money and Currency API
http://jcp.org/en/jsr/summary?id=354
JSR 355: JCP Executive Committee Merge
http://jcp.org/en/jsr/summary?id=355
JSR 354とJSR 355は現在承認投票期間で、両者とも2月20日(月)に投票が締め切られます。InfoWorldにJSR 355に関する記事が掲載されています。
Oracle proposal would create single committee to oversee Java specs (InfoWorld)
http://www.infoworld.com/d/application-development/oracle-proposal-would-create-single-committee-oversee-java-specs-185112
JSR 331: Constraint Programming API
http://jcp.org/en/jsr/summary?id=331
JSR 331は最終の承認投票のフェーズです。これも2月20日に投票が締め切られます。


原文はこちら。
https://blogs.oracle.com/jcp/entry/new_jsr_now_open_for1

[BPM] Using Inline Task Flow in Process Spaces instead of Pop-up

通常、タスクをクリックするとタスクの詳細がダイアログとして開きます。"Show Task Details Panel"のプロパティをtrueにしてTask Flowの引数に渡すと、同一ページでタスクの詳細をパネルとして表示することができます。

サンプルのドキュメントは以下にあります。
http://java.net/projects/oraclebpmsuite11g/downloads/download/Technical%20Articles/ProcessSpacesInlineTF.doc

原文はこちら。
https://blogs.oracle.com/bpmtech/entry/using_inline_task_flow_in

[BPM] Withdrawing Tasks

Oracle BPMには事前定義ずみのアクションがあります(システムアクションと呼ばれるもの)。これを使うと、ユーザがタスクを取り消すことができます。この記事では、BPMNプロセスがどうやってタスクを取り消すかを簡単にまとめてみました。.

コンセプト
BPMNプロセスはタスクが取り消されたことを知るため。タスクの状態(出力結果ではありません)をチェックしています。

開始タスクの取り消し
開始タスク(initiate task)を取り消す場合、他のタスクを取り消す場合と同じように取り扱うことができますが、注意頂きたいのは、開始タスクのパターンでは、プロセスはフォームを起動する前に生成されるということです。このことはフォームデータを初期化する上で役立ちます。タスクを放棄することが特定の関心事だとすると、開始タスクのパターンを使わずに、プロセス外のUIを使ってサービスやイベントインターフェース経由でプロセスを起動すべきでしょう。

詳細
状態に基づくビジネスオブジェクト
タスクの状態結果を保持するため、値を割り当てることができるプロセスデータオブジェクトが必要です。これにより、Task.StateEnum型のビジネスオブジェクトを作成する必要があります。ビジネスオブジェクト作成ウィザードで「外部スキーマに基づく」オプションを選択し、省略記号をクリックして、以下に示すようにStateEnum型を選択すれば、簡単に作成することができます。


プロセスの例
プロセスでは、処理したいタスクの取り消しのあとに、ゲートウェイを使って状態をテストし、それに従って分岐します。ちょっとした例を以下に示します。この例ではタスクが取り消された場合に.プロセスが終了します。

状態値の割り当て
タスクの出力データのアソシエーションでは、execData.systemAttributes.stateをプロセスデータオブジェクトに定義したデータ保持変数に割当てます。この例ではtaskStateというデータオブジェクトを使っています。

取り消しのテスト
取り消しのテストは"taskState == State.WITHDRAWN" の形式になります。ビジネスオブジェクトStateは列挙型なので、正確な値を知る必要はなく、式ビルダで"State."をタイプすると様々な列挙値が現れます。


原文はこちら。
https://blogs.oracle.com/bpmtech/entry/withdrawing_tasks

2012年2月19日

[Java] Introducing ThreadLogic

Oracle Fusion Middleware Architects Team (The A-team)のEric GrossとSabha ParameswaranがThreadLogicという、オープンソースのスレッドダンプ解析ツールをOracle Fusion Middlewareコミュニティやお客様に発表したことをうれしく思います。

ThreadLogic Project (Java.net)
http://java.net/projects/threadlogic

ThreadLogicの背景にあるもの
現在のTDAツール(Samurai/TDA)はスレッドダンプを掘り出しませんし、各スレッドが何をしているかの詳細を教えてくれるわけでもありません。既存ツールのほとんどは状態(ロック/待機中/実行中)を伝えるかロック情報を伝える程度のものです。スレッド内のアクティビティの種類の詳細に踏み込まないのに、通常通りと見なしたり、詳細を調べるに値するのでしょうか。パターンやアンチパターンを適用できるのでしょうか。全ての最適化オプションなのでしょうか。ホットスポットはあるのでしょうか。実行サイクルに基づいてスレッドを分類できないのでしょうか。
こうした欠落に対処するため、ThreadLogicを作ることにしました。ThreadLogicはTDAというオープンソースツールをベースにして、以下のような新しい機能を付加しています。すべてのJVMのスレッドダンプをサポートしながら、拡張可能な注意勧告に基づくアドバイスやスレッドグループを分析し、提供します。また、WebLogic Serverのスレッドダンプの徹底した詳細な分析機能も提供されています。スレッドのグループ化や勧告の両方が拡張可能で、利用者が新しいパターンを追加してスレッドをつきあわせたり、タグ付けしたり、グルーピングしたりできます。ツールの詳細については添付文書を確認してください。

TDA (Thread Dump Analyzer)
http://java.net/projects/tda/


最新の安定版(Ver. 0.9)とドキュメントは、ここからダウンロード可能です。ツールの機能の詳細については、マニュアルのページをご確認ください。

ThreadLogicダウンロードページ
http://java.net/projects/threadlogic/downloads

ドキュメント
http://java.net/projects/threadlogic/downloads/download/ThreadLogic-v0.9.pdf

このツールが優れた分析と高速な問題解決の面で、我々のチーム(サポート/開発/フィールド)やお客様の課題の解決やお手伝いできることを願っています。
フィードバックお待ちしています。

原文はこちら。
https://blogs.oracle.com/ATeamExalogic/entry/introducing_threadlogic

[SOA/BPM] Foundation Pack Cluster Coach For 11g

The Foundation Pack Cluster Coach For 11g とは、コンセプトや、2ノードのWebLogicクラスタをインストールし、その上でOracle SOA SuiteやFoundation Packを動作させるという例を説明するためのUser Productivity Kit (UPK)のデモの集合体です。

このセッションで、利用できるリソースやクラスタの構成方法を手順を追って知ることができます。"Enterprise Deployment Guide"で実装した大きなトポロジーのサブセットとして、基本的なクラスタトポロジーを作成し、理解しやすくしています。

Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle SOA Suite
11g Release 1 (11.1.1)
http://docs.oracle.com/cd/E21764_01/core.1111/e12036/toc.htm (英語)
http://docs.oracle.com/cd/E24001_01/core.1111/b55899/toc.htm (日本語)

このセッションをご覧になれば、WebLogic Serverクラスタ上でSOA Suite + Foundation Packを使うエンタープライズ向けの設計や実装に携わる際により自信を持って頂けることでしょう。

詳細は、Oracle Technology Network (OTN)の"Foundation Pack Cluster Coach For 11g"のページをご覧下さい。

Installing a Basic two-node WebLogic Cluster running Oracle SOA Suite and Foundation Pack (Oracle Technology Network)

原文はこちら。

2012年2月18日

[SOA/BPM] AIA Release 11.2 is Now Available!

2012年2月3日(節分!)にOracle Application Integration Architecture Release 11.2 がリリースされました。
AIA 11.2は事前構成済み統合フレームワークの4半期毎の最新アップデートです。このリリースには、公益事業業界向けの事前定義済み統合フレームワークが新しく追加されています。また、既存のリリース済み統合フレームワーク4種類に対するアップデートを含みます。各四半期毎のアップデートには、事前定義済み統合フレームワークの最新バージョンを含んでいます。

新規追加
  • Oracle Customer Data Synchronization Integration Pack for Oracle Utilities Customer Care and Billing and Siebel Energy
  • Oracle Product Data Synchronization Integration Pack for Oracle Utilities Customer Care and Billing and Siebel Energy
テレコム業界向けのアップデートおよび機能強化
  • Communications Order to Cash Integration Pack for Oracle Communications Billing and Revenue Management
  • Communications Order to Cash Integration Pack for Oracle Communications Order and Service Management
  • Communications Order to Cash Integration Pack for Siebel CRM
  • Siebel CRM Integration Pack for Oracle Communications Billing and Revenue Management: Agent Assisted Billing Care

原文はこちら。
https://blogs.oracle.com/aia/entry/aia_release_11_2_is

2012年2月17日

[SOA] Learning Oracle SOA Suite - available options

Oracle SOA Suiteのラーニングパスにはどんな方法があるのかという質問を頂くことが多いので、ブログにまとめてみました。

トレーナー付きで学ぶ、オンラインで学ぶ

はじめてのことを学ぶなら、一番いいのは当然ながらトレーナー付きの教室で学ぶことでしょう。Oracle UniversityではOracle SOA Suiteのラーニングパスを数種類ご提供しています。全てのパスの最初はまずProduct ManagementチームがOracleの社員に教育するために用意した内部トレーニングをカリキュラム編成チームが引き継いで、ブラッシュアップして学習コースを作成しました。 現在4つのラーニングパスがあります。
  1. アーキテクト向け
  2. アナリスト向け
  3. 開発者向け
  4. 管理者向け
これらのラーニングパスは様々な関連する研修(WebLogic Server、XMLなど)と、SOAの研修からなっています。
  1. Oracle SOA Suite 11g: Essential Concepts
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D58786GC20&p_org_id=1001&lang=US
  2. Oracle SOA Suite 11g : Build Composite Applications
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D53946GC30&p_org_id=70&lang=JA
  3. Oracle SOA Suite 11g: Administration
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D64648GC10&p_org_id=1001&lang=US
  4. Oracle Service Bus 11g: Design & Integrate Services
    http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getCourseDesc?dc=D68256GC10&p_org_id=1001&lang=US
これらの学習パスと使用可能な研修の詳細については、Oracle SOA/BPMのOracle Universityのページでどうぞ。研修は世界中で受講できます。研修カタログとスケジュール(http://education.oracle.com>研修スケジュール)で見ることができます。

Oracle University Oracle SOA / Business Process Management (BPM)
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=402&p_nl=ORMS&p_org_id=70&lang=JA

Oracle Universityで開催している集合研修に参加できない場合、これらの研修をオンラインの"Self-Study Courses"で受講できます(チームメンバー全員に研修を受講させたい場合にはよい選択肢ではないかと思います)。

本で学ぶ

今日Oracle SOA Suiteに関する数多くの本が出ていることをうれしく思います。このエントリを書いている時点で、Oracle SOA Suiteに直接関連する書籍が数冊あります。

Oracle SOA Suite Books
http://astore.amazon.com/soapm-20?node=1&page=1

本になると、共同執筆したが故にいくらかバイアスがかかっているところは認識していますが、Oracle SOA Suiteを学ぶ開発者に推奨する書籍は何か、という問いに対し、おそらく以下をご紹介することでしょう。
  1. "Getting Started with Oracle SOA Suite 11gR1 - A Hands-On Tutorial"
    http://www.amazon.co.jp/Getting-Started-Oracle-Suite-Hands-/dp/184719978X
    その名前が示すように、SOA Suiteの技術入門です。包括的なチュートリアルを通じて、様々なコンポーネントが相互に関連し、それらを組み合わせて完全なソリューションを構築する方法を説明することに焦点を当てています。
  2. SOA Suiteで出来ることがわかった段階で、より詳細かつ完全な書籍を購入すべきでしょう。色々な書籍がありますが、例えばLucas Jellemaの"SOA Suite 11g Handbook"や、Matt WrightとAntony Reynoldsの"Oracle SOA Suite 11gR1 Developer's Guide"がお勧めです。単にOracle Service Busを使用している場合、OSBの開発チームが執筆した書籍があります。例えば、"Oracle Service Bus (Expert's Voice)"やGuido Schmutzらによる"Oracle Service Bus Development Cookbook"があります。

    SOA Suite 11g Handbook
    http://www.amazon.co.jp/Oracle-SOA-Suite-Handbook-Press/dp/0071608974/
    Oracle Soa Suite 11g R1 Developer's Guide
    http://www.amazon.co.jp/Oracle-Soa-Suite-Developers-Guide/dp/1849680183/
    The Definitive Guide to SOA: Oracle Service Bus (Expert's Voice)
    http://www.amazon.co.jp/Definitive-Guide-SOA-Oracle-Service/dp/1430210575/
    Oracle Service Bus Development Cookbook
    http://www.amazon.co.jp/Oracle-Service-Bus-Development-Cookbook/dp/1849684448/
Oracle SOA Suiteの実装や実装パターン、管理を扱う他の書籍も是非チェックしてください。

その他の資料などから学ぶ

他にもOracle SOA Suiteの学習のための資産がオンライン上にありますが、研修コースや書籍と置き換えるようなものではありません。特定のトピックに関する補足情報源としてご利用下さい。
  1. Oracle SOA Suite製品ページ(OTN)
    http://www.oracle.com/technetwork/jp/middleware/soasuite/overview/index.html
    製品管理チームが管理しており、製品のダウンロードや、ドキュメントライブラリなどがあります。「Advanced Technical Information」ページをお見逃しなく。見逃しがちですが、最高の技術ホワイトペーパーなどの大きなリポジトリでもあります。
    Advanced Oracle SOA Suite
    http://www.oracle.com/technetwork/jp/middleware/soasuite/learnmore/default-427190.html
  2. Service-Oriented Architectureテクノロジーセンター(OTN)
    http://www.oracle.com/technetwork/topics/soa/whatsnew/index.html
    http://www.oracle.com/technetwork/jp/topics/soa/whatsnew/index.html (ちょっと古い)
    Oracleの全製品にわたってSOAの使用および適用を追跡することができます。
  3. Oracle By Examplesのページ(Oracle Learning Library)
    http://www.oracle.com/technetwork/tutorials/index.html
    Oracle SOA Suite用に作成された数多くのモジュールがあります。タスク指向であり、非常に狭い範囲を対象にしています。
  4. Oracleのパートナーは例えばSOA認定プロセスを通じて学習することもできます。
    SOA認定資格プロセス
    http://www.oracle.com/partners/en/knowledge-zone/middleware/oracle-service-oriented-architecture-soa/soa-exam-page-170307.html
  5. 最後になりましたが、Oracle SOA Suiteに関してすばらしいブログがたくさんあります。これ自体でトピックになるもので、将来のエントリで共有したいと思っています。
    The IPN Web Blog
    http://blog.ipnweb.com/
    SOA / BPM on Oracle Fusion Middleware
    http://niallcblogs.blogspot.com/
    Weblog for the AMIS Technology corner (Post Tagged SOA)
    http://technology.amis.nl/blog/tag/soa+soa
    A-Team - SOA
    https://blogs.oracle.com/ateamsoab2b/
Oracle SOA Suiteの学習に関してお役立ち情報がありましたら、是非コメントをお願いします。


原文はこちら。
https://blogs.oracle.com/SOA/entry/how_to_get_trained_on

2012年2月16日

[Cloud, Identity Management] Identity and Oracle Public Cloud

Oracle Public Cloudの立ち上げをキャッチされていれば、OracleのPaaS機能についてご存知と思います。cloud.oracle.comでOracle Public Cloudへのアクセスを登録されたかもしれません。Oracle Public Cloudについてご存知ないかもしれない点として、OracleのIdentity Managementプラットフォーム上で構築されている、ということがあります。ユーザ登録時に、アカウントや資格証明情報をOracle Internet Directoryに格納します。ユーザがサービスにアクセスする際、Oracle Access ManagerがSingle Sign-onを取り扱います。ユーザアカウントが失効した場合には、全サービスで利用できなくなります。

Identity Managementは共通サービスレイヤの一部であり、これによりOracle Public Cloudを保護します。これはIdentity Platformのアプローチがクラウドにおいて非常に大きなリターンを生む例でもあります。

Oracle Java Cloud Service - A Public Cloud for Real World Enterprise Applications, Part II - Integrated (Building Blocks)
https://blogs.oracle.com/rezashafii/entry/oracle_java_cloud_service_a1


トピック:
  • ユーザストアやポリシーストアに最適化されたディレクトリ
  • Oracle Access ManagerによるSingle Sign-on機能によるWebアクセス管理
  • 全てのページの境界保護
  • ユーザアクセスやパスワード管理の集中管理
インフラストラクチャにIdentity Managementがない場合、クラウドの構築は非常に難しい命題でしょう。以下のリンクで、Oracle Public Cloudのアーキテクチャの詳細を知って頂ければと思います。

Oracle Public Cloud
http://cloud.oracle.com/
Oracle Public Cloud Architecture
http://cloud.oracle.com/mycloud/f?p=service:architecture:0



原文はこちら。
https://blogs.oracle.com/OracleIDM/entry/identity_and_oracle_public_cloud

[SOA/BPM, Support] Diagnose SOA Suite 11g Issues Using RDA (Remote Diagnostic Agent)

なぜRDAをSOAで使うのか?
RDA 4.26で、SOAモジュールのための新しいコレクションを追加しました。
  • MDSからコンポジットの構成を収集
  • SOAランタイムMBeansの収集
  • SOAリポジトリのサマリ
  • これらは構成およびランタイムの膨大な量の情報を提供するWebLogic Serverコレクションに追加されています。
SOA Suite 11gでRDAを使ってみる
いくつかのナレッジベースのドキュメントが、RDAを使い始めるにあたって役立つでしょう。これらのドキュメントでは、RDAに関する情報(ダウンロードおよびインストールの方法、情報の収集方法と診断データの分析方法)を説明しています。以下は利用可能なドキュメントのリストです。
SOA Suite 11gでRDAモジュールを使ってみる
RDAは、そのタスクに特化した様々なモジュールで構成されています。さまざまな製品の診断データを収集するモジュールがあります。SOA Suite 11gの場合、SOAモジュールを使用します。SOAモジュールは、必要に応じてWebLogic Serverの情報も収集します。WebLogic ServerのモジュールがWREQと呼ばれ、SOAモジュールを実行すると自動的に実行しています。
RDAは、<SOA_OracleHome>/rdaにインストールされています。RDAの新しいバージョンをダウンロードしたら、新しいバージョンで既存のディレクトリの内容を置き換えます。SOAモジュールがSOA製品の様々な情報を収集します。例えば、oracle_common、WebLogic Server、SOA Oracleホーム、SOAインフラストラクチャデータベース(リポジトリやデハイドレーションストアとも呼ばれる)から情報を収集します。RDAの収集時にサーバが動いている場合、RDAは実行中のサーバに接続し、実行時データを収集します。さらに、SOAインフラストラクチャデータベースに接続してデータ収集も実施します。下図はその様子を示しています。

RDAを実行して診断データを収集する
RDAにはセットアップと実行という2個のフェーズがあります。セットアップフェーズは1回だけ実施する必要があります。セットアップ中、RDAはモジュールに関連するいくつかの質問をよこします。回答内容はsetup.cfgファイルに格納され、セットアップ終了後、後続処理がsetup.cfgファイル中の情報を利用します。RDAはパスワードを保存しないので、実行時はいつもWebLogic Serverのadminユーザのパスワードと、SOAINFRAスキーマユーザのパスワードを尋ねてきます。追加のセットアップを実行すると、setup.cfgファイルに追加モジュールが追加されます。
Note 1352181.1 では、SOAモジュールで尋ねてくる全ての質問を表記しています。以下はRDA SOAコレクションのスクリーンショットの一例です。




RDAコレクションが終了すると、HTMLスタートページが利用できるようになります。RDAコレクションをブラウザに表示し、UIからデータの分析ができるようになります。例では、接頭辞SOAをコレクションのために利用しているので、スタートページはoutputディレクトリのSOA__start.htmにあります。さらに、outputディレクトリでZIPファイルが使えるので、サービスリクエストにZIPファイルをアップロードして、収集したデータを提供することができます。

主要なSOAコレクション
RDAはSOA Suite 11gの分析データを包括的に収集します。以下は主要な収集データの例です。

1.  構成情報
  • SOAの構成

  • WebLogic Serverの構成



2.  実行環境の情報
  • SOA MBeanの情報

  • WebLogic ServerのMBeanの情報


3.  SOAインフラストラクチャデータベースの情報
  • スキーマメタデータ

  • SOAインフラストラクチャのデータベース表および表領域情報


WebCast "Using RDA with Oracle SOA Suite 11g"について

この件に関する詳細は"Using RDA with Oracle SOA Suite 11g"と題したWebcastでご覧頂けます。Webcastは2012年2月15日に開催しますが、録画した内容を後日公開する予定です。以下のNoteでWebcastの詳細をご確認下さい。
[訳注]
このWebcastは終了していますので、録画をご覧下さい。


原文はこちら。
https://blogs.oracle.com/soaproactive/entry/diagnose_soa_suite_11g_issues

[Solaris, VM] Oracle VM for SPARC (LDoms) Live Migration

この文書(以下のURLでご紹介するホワイトペーパー)では、Oracle VM Server for SPARCソフトウェア(以前はSun Logical Domainsと呼ばれていたものです)を使って、アプリケーションの可用性を向上させる方法をご紹介しています。

今回、Oracle 11gR2データベースをSPARC T4にで検証しながら、SPARC T4サーバのノードから別のノードへゲストドメインを移行しました。その間、データベースを止めませんでした。

テストでは、SwingbenchのOrderEntryワークロードをワークロード生成のために使用しました。OrderEntryは、Oracle 11gに同梱されているOEスキーマベースです。

このテストシナリオでは、以下の仕様で実施しました。

データベース
ディスクサイズ:30GB SGA:18GB
負荷
実行ユーザ:50人、各ユーザの実行間隔:100msec

このホワイトペーパーでは、設定プロセス(ldmコマンドを使ったゲストドメインの作成、構成)の全体をご紹介しています。ストレージの設定とレイアウトに加え、2個のT4システム間でのライブマイグレーションのために使用したソフトウェア要件も記載しています。

詳細は以下のホワイトペーパーをご覧下さい。


Increasing Application Availability by Using the Oracle VM Server for SPARC Live Migration Feature: An Oracle Database Example

http://www.oracle.com/technetwork/server-storage/vm/ovm-sparc-livemigration-1522412.pdf


原文はこちら。
https://blogs.oracle.com/vreality/entry/oracle_vm_for_sparc_ldoms

[Identity Management] Using LDAP for Shared Authentication (NFS v4 Requirement)

EMEA Engineered Systems GroupのDonald Forbesがブログにまとめた素晴らしい記事、"Using LDAP for Shared Authentication (NFS v4 Requirement)"をご紹介します。

Using LDAP for Shared Authentication. (NFS v4 Requirement) [Part 1 of 3] (Technical blurb about Oracle Engineered Systems)
http://exablurb.blogspot.com/2012/01/introduction-nfs-v4-requirements-nfs-v3.html

Technical blurb about Oracle Engineered Systems
http://exablurb.blogspot.com/

このエントリは3部作になっています。Donがこの新しいブログを始めてくれたことに感謝しています。
Donの専門知識と「中の人」という有利な立場を考慮すれば、このブログは是非チェックしておきたいものの一つです。

原文はこちら。
https://blogs.oracle.com/ATeamExalogic/entry/using_ldap_for_shared_authentication

[SOA/BPM] Enterprise Architecture tools: New partnership with Troux

Oracleは、プロセスの分解・モデリング、バリューチェーン、戦略マップ、目的、組織モデルなどを提供するBPM Process Composerの拡張機能を提供する予定です。

BPM Suite 12は、インポート・エクスポート機能を通じて、他のEA/BPAツールとの統合ができるようになる予定です。最初のパートナーの1社がTrouxです。詳細については、Enterprise Architectureのプレゼンテーションをご覧下さい(SOA Partner Communityワークスペースへのアクセスが必要です)。

Oracle SOA Suiteに関する一般情報を入手するために、SOA Partner Communityに参加しませんか?登録は以下のURLからどうぞ(OPNのアカウントが必要です)。


原文はこちら。
https://blogs.oracle.com/soacommunity/entry/enterprise_architecture_tools_new_partnership

[Java] Updated Java 6 EOL date

Java SEサポートロードマップが、JDK 6のサポートとリリースのEOL(End of Life)に併せて更新されました。

Oracle Java SE Support Roadmap
http://www.oracle.com/technetwork/java/eol-135779.html

EOLは2012年7月から2012年11月に延長され、JDK 7への移行に時間の余裕ができました。EOLポリシーも変更し、その意図と将来のメジャーリリースについて明示しました。サポートおよびJava SEの修正のEOLは、通常以下に示す時期よりも早く発生することはありません。
  • メジャーリリースのGA以後3年
  • 後続のメジャーリリースのGA後1年
  • 後続のメジャーリリースがデフォルトのJREとして定着した後6ヶ月
このポリシーはJavaの歴史を通じて一貫しています。JREは無料のソフトウェアであり、ほとんどの無料のソフトウェアと同様に、利用者は最新の安定バージョンを利用されることを推奨します。より長いサポート期間を必要とする方々にとっては、OracleはJava SEサポートをご提案いたします。

Oracle Java SE Support
http://www.oracle.com/us/technologies/java/java-se-support-393643.html

原文はこちら。
https://blogs.oracle.com/henrik/entry/updated_java_6_eol_date

2012年2月15日

[JavaFX] New JavaFX documentation: Concurrency, SWT

JavaFXドキュメントチームがJavaFX 2.0.3 Update Releaseを利用して2つの新しいドキュメントを発行しました。
JavaFX 2入門者の方は、JavaFX 2のドキュメントをご覧になることを強く推奨します。

JavaFX 2 Documentation Home | JavaFX 2.0 Tutorials and Documentation
http://docs.oracle.com/javafx/


原文はこちら。
https://blogs.oracle.com/javafx/entry/new_javafx_documentation_concurrency_swt

[EM] Oracle VP, Leng Tan, talks about Oracle Database Management using Oracle Enterprise Manager 12c

OracleのVPであるLeng Tanが、Oracle Enterprise Manager 12cの新しいデータベース管理機能について語っています。



詳細の情報やEnterprise Managerに関するその他の情報を知りたい方は、以下のURLがお役に立つと思います。
原文はこちら。

[Java] Java 7 Update 3 and Java 6 Update 31 have released!

Java SE 7u3と6u31がダウンロードできるようになりました。

Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html

更新内容などの詳細はリリースノートをご覧下さい。

7u3リリースノート
http://www.oracle.com/technetwork/java/javase/7u3-relnotes-1481928.html

6u31リリースノート
http://www.oracle.com/technetwork/java/javase/6u31-relnotes-1482342.html

Java SE Developer News feedの購読は原文からどうぞ。

原文はこちら。
https://blogs.oracle.com/javase/entry/java_7_update_3_and

2012年2月10日

[WLS] Change WebLogic Server Mode from Development to Production and JDK Mode from Client to Server

WebLogic10.3.xのサーバーモードを、開発モードから本番(プロダクション)モードへ変更するにはどうすればいいでしょうか。Googleで検索して発見されたものより、少々トリッキーかもしれません。以下のエントリでご紹介します。

Change WebLogic Server Mode from Development to Production and JDK Mode from Client to Server (Francis the SOA Man)
http://thesoaman.blogspot.com/2011/12/change-weblogic-server-mode-from.html

[訳注]
-server オプションを伴ってJavaインスタンスを起動するためには、以下の両方の設定が必要です。逆にいえば、片方だけの設定では、-clientオプションのままJavaインスタンスを起動してしまいます。
  • 管理コンソールから、[ドメイン]>[構成]>[全般]にある本番モードのチェックボックスをONにする (下図) 。この設定はconfig.xmlに反映される。
  • <Domain_Home>/bin/setDomainEnv.sh/cmd 内の環境変数PRODUCTION_MODEをtrueに設定する

開発モードと本番モードの違いは以下のドキュメントをどうぞ。

Oracle® Fusion Middleware Performance and Tuning for Oracle WebLogic Server 11g Release 1 (10.3.5)
Development vs. Production Mode Default Tuning Values
http://docs.oracle.com/cd/E21764_01/web.1111/e13814/wls_tuning.htm#i1111053 (英語)

Oracle® Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング 11g リリース1 (10.3.5)
開発モードと本番モードのデフォルトのチューニング値
http://docs.oracle.com/cd/E24001_01/web.1111/b61002/wls_tuning.htm#i1111053 (日本語)

原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/change_weblogic_server_mode_from

[Java] A status on JAX-RS 2.0. Early Draft.

JAX-RS 2.0の早期ドラフトのレビュー期間が終了しましたが、Arun (Arun Gupta) がテクノロジーの新機能および改善点を紹介しています。

JSR-000339 JavaTM API for RESTful Web Services (JAX-RS) 2.0
http://jcp.org/aboutJava/communityprocess/edr/jsr339/index.html
JAX-RS 2.0 Early Draft Explained - Java EE 7 Making Progress
http://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early

Client APIは非常に評判の良い機能で、現時点で非常に安定しています。FiltersとHandlersは、リクエストやレスポンスの傍受を可能にする新機能で、Hypermedia(RESTの基礎となる原則)をサポートしています。 JAX-RS2.0では以下の機能も提供・導入します。
  • BeanValidationを用いたパラメータの検証機能
  • 非同期処理(クライアント側でFutureオブジェクトを返す)
  • 優れた接続ネゴシエーション
以下にすべて記載していますので、どうぞご覧ください。

JAX-RS 2.0 Early Draft Explained - Java EE 7 Making Progress
http://blogs.oracle.com/arungupta/entry/jax_rs_2_0_early

JAX-RSはJava EEプラットフォームの重要な要素になりました。今後のテーマであるクラウドではもっと関連してきます。以下のエントリで、Marek(JAX-RS2.0の共同スペックリード)の JSRが立ち位置に関する見解をチェックしてください。

Marek's JAX-RS 2.0 content from Devoxx 2011 (Aquarium)
http://blogs.oracle.com/theaquarium/entry/marek_s_jax_rs_2


原文はこちら。
http://blogs.oracle.com/theaquarium/entry/a_status_on_jax_rs

[SOA/BPM] Tune Audit Trail in SOA 11G to Avoid Memory and Transaction Problems

11gR1 PS2 (11.1.1.3)までは、BPELの監査証跡(audit trail)はメイントランザクションと同じJTAトランザクションでデータベースに書き込んでいました。この結果、3つの大きな問題が発生します。その問題とは何か、SOA Suite 11gR1 PS2 (11.1.1.3) でとったこれらの問題の解決策を、以下のエントリでまとめました。

Tune Audit Trail in SOA 11G to Avoid Memory and Transaction Problems (Francis the SOA Man)
http://thesoaman.blogspot.com/2012/02/tune-audit-trail-in-soa-11g-to-avoid.html

[訳注]
11gR1 PS3以後はPS2で採用した機構を使っています。

原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/tune_audit_trail_in_soa

[SOA/BPM] Configure Oracle Adapter Threads in SOA 11G

前回の記事で、Oracle SOA Suiteのインバウンドアダプタのマルチスレッドを構成することができる、とお伝えしました。しかし、その設定方法はアダプタや製品のバージョンごとに 異なっており、情報が複数のドキュメントに散らばっているということもあるため、以下のエントリにまとめてみました。

Configure Adapter Threads in Oracle SOA 11G (Francis the SOA Man)
http://thesoaman.blogspot.com/2012/02/configure-oracle-soa-adapter-threads-in.html


原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/configure_oracle_adapter_threads_in

[SOA/BPM] 11g purging white paper

とうとう出ました!SOA/BPM Suite 11gのパージに関するホワイトペーパーがようやくOTNからご覧いただけるようになりました。このホワイトペーパーは、Oracle SOAの開発をしているSaiと私の寄稿をうけて、Oracle SOAの開発を担当しているMichael Bousamraがまとめました。ホワイトペーパーは以下のURLからダウンロードできます。

SOA 11G Database Growth Management Strategy
http://www.oracle.com/technetwork/database/features/availability/soa11gstrategy-1508335.pdf


原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/11g_purging_white_paper

[BPM] Writing Human Task User Interfaces in .Net

このエントリは、Human Workflow Servicesを使うHuman TaskユーザーインターフェースをASP.NET/C#で作成し、BPM Workspaceアプリケーションと完全に統合しよう、という壮大な(?)試みをまとめています。

続きは以下のリンクからどうぞ。

Writing a Human Task UI in .Net (C#/ASP.NET) or in fact anything other than ADF (RedStack)
http://redstack.wordpress.com/2012/02/10/writing-a-human-task-ui-in-net-casp-net-or-in-fact-anything-other-than-adf/


原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/writing_human_task_user_interfaces

[WLS] Multicast Vs. Unicast with WebLogic Clustering

WebLogic Serverのクラスタは、クラスタに属する管理対象サーバ間でメッセージをやりとりしながら、クラスタメンバの管理対象サーバを管理しています。メンバがクラスタに追加されたり、離脱すると、クラスタ全体にメッセージを飛ばして他のメンバに更新情報を通知します。WebLogic Serverのクラスタ間でのメッセージングにはマルチキャストとユニキャストの2種類の方法があります。

以下のエントリで、クラスタのメッセージングと、異なるメッセージングオプションを使う上での一般的なガイドラインをまとめました。是非ご一読ください。

Multicast Vs. Unicast with WebLogic Clustering (All Things Middleware)
http://allthingsmdw.blogspot.com/2012/02/multicast-vs-unicast-with-weblogic.html


原文はこちら。
http://blogs.oracle.com/ATeamExalogic/entry/multicast_vs_unicast_with_weblogic

[JavaFX] MPEG-4 multimedia support in JavaFX

JavaFX 2.1で、H.264/AVCビデオとAdvanced Audio Coding (AAC)オーディオを含むMPEG-4マルチメディアコンテナフォーマットで格納されているデジタルメディアの再生をサポートしました。この新しい機能は、JavaFXのサポートされているすべてのOS(Mac OS X、Linux、Windows XPとVista (32bit) 、およびWindows 7 (32/64bit)を含む)全体で動作します。Mac OS XとWindows 7では、追加ソフトウェアなしで再生機能を利用頂けますが、LinuxやWindows 7よりも古いWindowsのバージョンでは、3rdパーティ製のパッケージ(例えばこちら)をインストールする必要があります。

実際のオーディオおよびビデオのデコーディングは、OS固有のメディアエンジンに依存していますが、JavaFXのメディアフレームワークは、これらのネイティブエンジンでサポートされているすべてのマルチメディアコンテナフォーマットと、メディアのエンコーディングを処理しようとしているわけではありません。その代わり、JavaFXが動作するすべてのプラットフォームで、等しく十分にテストされた機能を提供することを選択しています。

Mac OS X上でのJavaFXのMPEG-4の再生における既知の制限は、最大でも一つのH.264エンコードビデオストリームしか同時に再生できない、というものです。とはいえ、システム·リソースによって課されるものとは別に、再生できるAACエンコードトラックの数に固有の制限はありません。この問題は現在調査中です。


MPEG-4メディアソースの再生は、他の種類のメディアコンテンツ(*)の場合と同じでメディアスタックが動的にマルチメディアコンテナやエンコードの種類を検出し、それに応じて再生します。
コードはこんな感じです。
/*
 * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
 */

import javafx.application.Application;
import javafx.collections.ListChangeListener;
import javafx.collections.MapChangeListener;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.media.Media;
import javafx.scene.media.MediaView;
import javafx.scene.media.Track;
import javafx.stage.Stage;

/**
 * A sample media player which loops indefinitely over the same video
 */
public class MediaPlayer extends Application {
private static final String MEDIA_URL = "http://someserver/somedir/somefile.mp4";
private static String arg1;

    @Override public void start(Stage stage) {
        stage.setTitle("Media Player");

// Create media player
        Media media = new Media((arg1 != null) ? arg1 : MEDIA_URL);
        javafx.scene.media.MediaPlayer mediaPlayer = new javafx.scene.media.MediaPlayer(media);
        mediaPlayer.setAutoPlay(true);
        mediaPlayer.setCycleCount(javafx.scene.media.MediaPlayer.INDEFINITE);

// Print track and metadata information
        media.getTracks().addListener(new ListChangeListener<Track>() {
public void onChanged(Change<? extends Track> change) {
                System.out.println("Track> "+change.getList());
            }
        });
        media.getMetadata().addListener(new MapChangeListener<String,Object>() {
public void onChanged(MapChangeListener.Change<? extends String, ? extends Object> change) {
                System.out.println("Metadata> "+change.getKey()+" -> "+change.getValueAdded());
            }
        });

// Add media display node to the scene graph
        MediaView mediaView = new MediaView(mediaPlayer);
        Group root = new Group();
        Scene scene = new Scene(root,800,600);
        root.getChildren().add(mediaView);
        stage.setScene(scene);
        stage.show();
    }

public static void main(String[] args) {
if (args.length > 0) {
            arg1 = args[0];
        }
        Application.launch(args);
    }
}

(*) JavaFX 2.0は既に以下のメディアフォーマットをサポートしています。
  • 音声:MP3、非圧縮PCMを含むAIFF、非圧縮PCMを含むWAV
  • 動画:VP6ビデオを含むFLV、MP3オーディオ
原文はこちら。
http://blogs.oracle.com/javafx/entry/mpeg_4_multimedia_support_in