2012年11月30日

[misc] Oracle for SAP update最新ニュースレター公開

原文はこちら。
https://blogs.oracle.com/mamoruiwasaki/entry/oracle_for_sap_update%E6%9C%80%E6%96%B0%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E3%83%AC%E3%82%BF%E3%83%BC%E5%85%AC%E9%96%8B

Oracle for SAP最新ニュースレターが11月30日に公開されたそうです。
詳細は日本語の原文をどうぞ。
ご興味ある方は是非チェックしてください。

[FMW] B2B communication using IBM MQ

原文はこちら。
https://blogs.oracle.com/oracleb2bgurus/entry/b2b_communication_using_ibm_mq

Oracle B2B 11gは、標準でIBM MQ(WebSphere MQ)に接続してメッセージ交換できます。これはOracle B2BのJMS機能を使って実現します。

これにより、B2Bでのトレーディング・パートナーとの既存の通信機能のスタックに加え、MQを使うことができます。
B2BでIBM MQと接続する方法には2つあります。
  1. 資格証明を使う接続
  2. .bindingsファイルを使う接続
IBM MQに接続するための前提条件として、以下のライブラリをクラスパスに通しておく必要があります。
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • mqcontext.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • fscontext.jar
  • jms.jar
上記のjarファイルをドメインのライブラリディレクトリ(<Domain_Home>/lib)に追加します。<Domain_Home>/libのjarファイルは、サーバー起動時に動的にクラスパスに追加されます。
[例]
<FMW_Home>/user_projects/domains/<ドメイン名>/lib
(訳注)原文の誤りを訂正して掲載しています。
もしくは、setDomainEnv.shの中に上記jarファイルの在処を追加することでも実現できます。

資格証明を使う接続
  • Outbound
    "Generic JMS"プロトコルを使ってトレーディングパートナーのデリバリーチャネルを構成します。
  • Inbound
    "Generic JMS"プロトコルを使って、内部デリバリーチャネルを構成します。
以下は詳細です。
パラメータ名説明
接続先名MQのキュー名
コネクション・ファクトリMQのキューマネージャー名
接続先プロバイダjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;
java.naming.provider.url=<ホスト名>:<キューマネージャーのリスニングポート番号>/<MQチャネル名>;
ユーザー名MQ User Name
パスワードMQ password

.bindingsファイルを使う接続
前提条件として、MQサーバーで作成した.bindingsファイルを用意する必要があります(MQ Administratorが作成できます)。
以下の値をインバウンド、アウトバウンドのデリバリーチャネルにそれぞれ設定します。
パラメータ名説明
接続先名MQのキュー名
コネクション・ファクトリMQのキューマネージャー名
接続先プロバイダjava.naming.factory.initial=com.ibm.mq.jms.context.WMQInitialContextFactory;
java.naming.provider.url=file:///<.bindingsファイルの場所>;

[BPM] BPM 11g - Dynamic Task Assignment with Multi-level Organization Units

原文はこちら。
https://blogs.oracle.com/ateamsoab2b/entry/bpm_11g_dynamic_task_assignment

プロセスに渡されたデータのある値に基づいて、BPM11gのタスク割り当てに対し細かいレベルを持たせるという要件を何度か見てきました。通常、パラメトリック·ロールをまず使って、この要件を満たそうとするのですが、このエントリでは、より簡単な実装で柔軟な組織単位を使い、多くのユースケースを満足する方法をご紹介します。

ユースケース

タスク割当ては複数ユーザーを含む承認グループに実施します。ランタイムでは、入力データ中の場所を示す値を使って、タスクを最終的に割り当てるユーザーを決定します。
このケースでは、SOA管理ガイドのDemo Community、特に"szweig"、"mmitch"、"fkafka"の3名をメンバーとする"LoanAnalyticGroup"を使います。このシナリオでは、タスクを割当てます。入力データの場所が"JapanCentral"の場合は"szweig"に、"JapanNorth"の場合は"fkafka"に、"JapanSouth"の場合は"mmitch"にそれぞれタスクを、場所が"Japan"の場合は全員にタスク割り当てます。つまり、下図のような感じです。

プロセス

ヒューマンタスクが1個ある簡単なプロセスです。

Startアクティビティの出力データのアソシエーションでは、入力データに基づいて組織単位の事前定義変数を設定する必要があります(事前定義変数は出力データのアソシエーションでのみ設定できます)。
[訳注]
BPMの用語に合わせ、アソシエーションという言葉を使用しています。

そして、ヒューマンアクティビティの出力データのアソシエーションでは、組織単位の値をリセットして空にし、組織単位を必要としない後続のヒューマンアクティビティのために組織単位を使わないようにしておきます。

組織単位の設定

BPM Workspaceに管理者ユーザーとしてログイン(今回はweblogic/welcome1)し、[管理]オプションを選択します。
[ロール]で、プロセスのスイムレーン"ProcessOwner"に"LoanAnalyticGroup"を割り当てます。

[組織単位]で、組織をモデリングできます。[ルート組織単位] として"Japan"を、[子組織単位]として"Central"、"South"、"North"と図のように設定します。前述の通り、ユーザー"szweig"を"Central"に、"mmitch"を"South"に、"fkafka"を"North"に割り当てます。

プロセスのテスト

無効なデータ

まず、無効なデータでテストし、どんな結果になるかを確認しましょう。ここでは"X"を入力値とします。

インスタンスを確認すると、エラーの発生を確認できます。

組織単位のルートレベルを割り当てる

では、"Japan"を入力データとして指定した場合にどうなるか確認しましょう。

フロートレースを確認すると、タスクが割り当てられていることがわかります。

しかし、誰にタスクが割り当てられたのでしょうか。ユーザー"szweig"のBPM Workspaceを見てみましょう。

次は、"mmitch"

そして、"fkafka"も確認してみます。

ルートレベルの組織単位を使うと全てのユーザーにタスクが割り当てられていることがわかります。

組織単位の子レベルに割り当てる

では、入力データとして"Japan/North"を使ってテストしましょう。

"fkafka"のワークスペースを見てみると、タスクが割り当てられていることがわかります。彼は"JapanNorth"と関連づけられているからです。

 では、"szweig"のワークスペースはどうでしょうか。

タスクは割り当てられていません。"mmitch"も同様です。これは予想通りです。

まとめ

このエントリで、簡単に組織単位を使い多階層の動的なタスクルーティングを、パラメトリックロールに比べて一般的なユースケースで、より単純なソリューションで簡単に実装する方法をご紹介しました。

[Event] Oracle CloudWorld

「Oracle CloudWorld」というイベントを、東京でも2013年4月に開催予定だそうです。
既に以下のエントリをご覧の方は、最後に記載されていたので、ご存知かもしれませんね。
「Oracle Cloudを通して最高品質のエンタープライズ・ソリューションを届ける」──トーマス・クリアンが語るオラクルの新たなクラウド戦略
https://blogs.oracle.com/dbjp/entry/cloud_000250
プレスリリースも出ています。
Oracle Expands Commitment to Cloud with Oracle CloudWorld
http://www.oracle.com/us/corporate/press/1879424
このイベントは、オラクルのクラウド・ソリューションの全容を一挙に紹介するもので、以下の都市で開催予定です(日程が変更される場合もあります)。
  • Dubai, United Arab Emirates :2013年1月15日(登録開始しています)
  • Los Angeles, United States :2013年1月
  • Mexico City, Mexico :2013年2月13日
  • Sydney, Australia :2013年3月13日
  • Mumbai, India :2013年4月2日
  • Singapore, Singapore :2013年4月4日
  • Tokyo, Japan :2013年4月9日
  • Munich, Germany :2013年4月
  • London, England :2013年4月
  • New York City, United States 2013年4月
東京開催でのコンテンツはまだ決まっていないようですが、ご興味ある方はマークしておいて下さい。

# ハッシュタグは #ocwjp とかになるのかもしれませんね。

[Database] Oracle Database Information Now Available on the Oracle Mobile Application

原文はこちら。
https://blogs.oracle.com/databaseinsider/entry/oracle_database_information_now_available

Oracleのモバイルアプリでデータベースの情報を入手できるようになりました。


無料のOracleモバイルアプリを手に入れると、どこでもOracle Databaseチームとつながることができます。移動中でも、最新のOracle Databaseのニュース、ブログ、ソーシャルメディア、動画、などなど盛りだくさんのコンテンツをチェックできます。
Oracle Mobile Application
http://www.oracle.com/us/corporate/mobile-application/index.html
  • News—Oracle Databaseのニュースを追いかけることができます
  • Blogs—Oracle Databaseのブロガーとの進行中の会話に参加できます
  • Social—イベントやWebcast、その他の発表をOracle Databaseソーシャルチャネルからチェックできます
  • Video—Webcastやエグゼクティブの挨拶や基調講演、Oracle Databaseのお客様事例などの動画をご覧頂けます

2012年11月29日

[Essbase] Essbase Excel Add in - S.o.D

原文はこちら。
https://blogs.oracle.com/proactivesupportEPM/entry/essbase_excel_add_in_s

悲しいことに、もう一人の長い間の友人が、過去のプログラム(...とAOLのCD)がある、湿った、冷たいデータ空間に葬られようとしています。

The Essbase Excel Add In is about to be de-continued
(see  Doc ID 1466700.1) in January '13.

(すでにリリースされている)バージョン11.1.2.2.xのExcel Add Inは、この特定のプログラムの最後のリリースであると見なすべきでしょう。(Applied OLAPからすでに備わっているopenOffice Add Inとは別に独自のバージョンを持ち出さなければ)。
予想されたように、SmartViewがリリース11.1.2.1.102で機能的に同じことができるようになったため、それ以来、私たちの古い友人がいなくなるのはそれは単に時間の問題だったのです。
知られているとExcelが過去10年間Excel Add Inのことを知っており、かつ使ってきた私のような全てのユーザーにとって、これは損失です。
SmartViewが同等の機能を持ち、全くExcel Add Inよりも強力で、Planningフォームの機能やHFMへの接続といった機能などの面でオープンな技術かもしれません。
しかし、(個人的な視点からですが)エンドユーザーとEssbase Server間に何もない状態で、エンドユーザが自分のデータベースに同じように直接アクセスできるわけではありません。もちろん、どちらか一方のみが生き残ることができると予想していて、これがSmartViewだろうということは明らかだったので、これは驚くには当たりません。

と言っても、
ちょっと時間を下さい…


ありがとう、ありがとう、そして、将来に目を向けましょう。
来たるシーズンに何も計画がないならば、Essbaseとの対話のニーズに応じて、SmartViewの調査に費やすべきです。
クリスマスから新年までの期間には、新しいものをテストできる無限の可能性を秘めているそうですよ。
もしくは、「可能な限り早い時点でSmartViewに切り替える」というのを新年の決意にしましょう。

2012年11月28日

[Java] Non-blocking I/O using Servlet 3.1: Scalable applications using Java EE 7 (TOTD #188)

原文はこちら。
https://blogs.oracle.com/arungupta/entry/non_blocking_i_o_using

Servlet 3.0では非同期リクエスト処理が可能ですが、Traditional I/Oしか使えませんでした。そのため、アプリケーションのスケーラビリティに制限が出ることがあります。通常、アプリケーションではwhileループ内でServletInputStreamを読んでいます。
public class TestServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
         throws IOException, ServletException {     
 ServletInputStream input = request.getInputStream();
       byte[] b = new byte[1024];
       int len = -1;
       while ((len = input.read(b)) != -1) {
          . . . 
       }
   }
}
インバウンドデータがブロックされたり、サーバーの読み取り可能なスピードよりも遅く流れると、サーバースレッドはデータを待ちます。データをServletOutputStreamに書き出す場合でも同じことが起こりえます。

This is resolved in Servet 3.1 (JSR 340:Java EE 7の一部としてリリースされる予定です)ではこの問題をイベントリスナー、ReadListenerWriteListenerインターフェースを追加することによって解決します。リスナーは、コンテンツがブロッキングなしで読み取り可能、もしくは書き出し可能になった時点で起動されるコールバックメソッドを持ちます。
JSR 340: Java Servlet 3.1 Specification
http://jcp.org/en/jsr/detail?id=340
Interface EventListener
http://docs.oracle.com/javase/7/docs/api/java/util/EventListener.html
doGetを書き換えると、次のようになります。
AsyncContext context = request.startAsync();
ServletInputStream input = request.getInputStream();
input.setReadListener(new MyReadListener(input, context));
setXXXListenerメソッドを呼び出すということは、Traditional I/Oではなく、non-blocking I/Oを使うことを意味します。高々1個のReadListenerServletIntputStream に登録でき、同様に高々1個のWriteListenerServletOutputStreamに登録することができます。 ServletInputStream.isReadyServletInputStream.isFinished は新しいメソッドで、non-blocking I/O readの状況をチェックできます。ServletOutputStream.canWriteはデータをブロックせずに書き込めるかどうかを確認する新しいメソッドです。

MyReadListenerの実装は次のような感じです。
@Override
public void onDataAvailable() {
 try {
 StringBuilder sb = new StringBuilder();
 int len = -1;
 byte b[] = new byte[1024];
 while (input.isReady()
 && (len = input.read(b)) != -1) {
 String data = new String(b, 0, len);
 System.out.println("--> " + data);
 }
 } catch (IOException ex) {
 Logger.getLogger(MyReadListener.class.getName()).log(Level.SEVERE, null, ex);
 }
}

@Override
public void onAllDataRead() {
 System.out.println("onAllDataRead");
 context.complete();
}

@Override
public void onError(Throwable t) {
 t.printStackTrace();
 context.complete();
}
この実装には3個のコールバックメソッドがあります。
  • onDataAvailable コールバック・メソッド:データをブロックせずに読み出すことが可能な場合に呼び出される
  • onAllDataRead コールバック・メソッド:現在のリクエストを完全に読み込んだ際に呼び出される
  • onError コールバック・メソッド:リクエスト処理中にエラーが発生した場合に呼び出される
context.complete()onAllDataReadもしくはonErrorでデータの読み込み完了を通知するために呼び出されることにご注意ください。

現在のところ、データの最初のチャンク(塊)をサーブレットのdoGetもしくはserviceメソッドで読み取る必要がありますが、そのあと、残りのデータはnon-blocking方式でReadListenerを使って読み取ることができます。これにより、すべての読み取りデータはReadListenerでのみ発生することになります。

このエントリでご紹介したサンプルはここからダウンロードできます。実行する場合はGlassFish 4.0 build 64以降のものをお使いください。
GlassFish 4.0 build 64
http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/glassfish-4.0-b64.zip
Promoted build
http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/
JavaOneでのセッション「What's new in Servlet 3.1: An Overview」の動画とセッション資料は以下のリンクからどうぞ。
CON6793 - What’s New in Servlet 3.1: An Overview
https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=6793 

以下は参考資料です。
[訳注]
WebLogic Channelの過去記事も参考にどうぞ。
Java Servlet 3.1の新機能――クラウド対応のJava EE 7でどう変わるのか?【Java EEエキスパート・シリーズ】
https://blogs.oracle.com/weblogic_channel/entry/javaee_c116 

    [Exadata] Exadata Database Machine X3 - New technical whitepaper available

    原文はこちら。
    https://blogs.oracle.com/exadatapartnercommunity/entry/exadata_database_machine_x3_new

    Exadata Database Machine X3の技術的な特長や機能の詳細を記載した新しいテクニカルホワイトペーパーがダウンロードできるようになりました。
    A Technical Overview of the Oracle Exadata Database Machine and Exadata Storage Server
    http://www.oracle.com/us/products/database/exadata-tech-overview-wp-1867437.pdf

    [FMW] MAA Best Practices - Oracle Fusion Middleware

    Oracle Databaseに関わる方であれば、MAAという略語をどこかで聞いたことがあるかと思います。
    MAA = Maximum Availability Architecture
    ですね。可用性を最大にするためのアーキテクチャ、という観点でまとめたベストプラクティス集(ホワイトペーパー)です。
    Maximum Availability Architecture Best Practices
    OTN-US: http://www.oracle.com/technetwork/database/features/availability/maa-best-practices-155366.html
    OTN-JP: http://www.oracle.com/technetwork/jp/database/features/availability/maa-best-practices-155366.html 
    URLにdatabaseという文字が入っていますが、データベースだけを取り上げているわけではありません。例えばミドルウェアの場合、WebLogic Serverであれば、クラスタを構成するだけではなくて、TLogはどのように構成すべきか、とか、JDBCデータソースの設定や、RAC構成をとっているOracle Databaseと接続する上でどういった構成がベストなのか、など。SOA SuiteやBPM Suiteであれば、MDS(Meta Data Services)やDehydration Storeなどのサイジングに関するガイドなど。Disaster Recoveryに関するガイドもあります。

    全て英語なのがちょっと…という方もいらっしゃるかもしれませんが、適宜新しいホワイトペーパーが追加されていますので、是非定期的にチェックして下さい。
    MAA Best Practices - Oracle Fusion Middleware
    http://www.oracle.com/technetwork/database/features/availability/fusion-middleware-maa-155387.html
    [2012/12/20追記]
    日本語ページもあります。
    MAA Best Practices - Oracle Fusion Middleware(日本語)
    http://www.oracle.com/technetwork/jp/database/features/availability/fusion-middleware-maa-155387-ja.html
    一部はWebLogic ServerのLearn Moreページからリンクが張ってありますので、そちらからも辿ることができるようになっています。

    http://www.oracle.com/technetwork/jp/middleware/weblogic/learnmore/index.html

    2012年11月27日

    [Certification] New Process For Receiving Oracle Certification Exam Results

    原文はこちら。
    https://blogs.oracle.com/certification/entry/07381

    2012年11月15日、Oracle認定資格試験の結果が直接Oracleの認定資格ポータルのCertViewからご覧頂けるようになりました。
    CertView
    (英語) https://education.oracle.com/pls/eval-eddap-dcd/ocp_interface.ocp_candidate_login?p_include=Y&p_org_id=1001&p_lang=US
    (日本語) https://education.oracle.com/pls/eval-eddap-dcd/ocp_interface.ocp_candidate_login?p_include=Y&p_org_id=70&p_lang=JA
    試験センターで試験終了後、CertViewにログインして「See My New Exam Results Now」もしくは「Print My New Exam Results Now」のリンクから、試験の得点を表示することができます。これにより、Oracleでの他の活動とより緊密に統合し、1カ所ですべての認証と試験履歴へアクセスを可能にします。さらに、このポリシーの変更により、データプライバシーの安全性を向上します。

    CertViewアカウントの認証

    1点、重要な作業があります。それは受験前にCertViewアカウントを認証することです。こうすることで、認可において問題がある場合に、テストの前に解決する猶予を持つことができます。手作業で認証する必要CertViewアカウントを手作業で認証するために最大3営業日を要することにご注意下さい。そのため、テスト前にこのプロセスを完了することが重要です。試験登録の前にPearsonVUEでWebアカウントを作成する必要があり、CertViewアカウントの認証前に、OracleのWebアカウントを作成する必要があります。CertViewアカウントはcertview.oracle.comでPearsonVUEのWebアカウントを作成してから30分以内で認証に利用できるようになります。
    PearsonVUE
    (英語) http://www.pearsonvue.com/oracle/
    (日本語) http://www.pearsonvue.com/japan/IT/oracle_index.html
    Oracle MyProfileの作成
    https://myprofile.oracle.com/EndUser/faces/profile/createUser.jspx

    試験結果を知るには

    • 受験前に、メールアドレスとPearson VUE社のプロファイルのOracle Testing IDを使い、certview.oracle.com  で認証する必要があります。CertViewアカウントを認証するには、OracleのWebアカウントが必要です。
    • 受験後、Oracleより試験結果がcertview.oracle.comより確認できる旨のメールが配信されます。
      • 既にCertViewアカウントを認証済みであれば、メールに記載されているリンクをクリックすると、CertView画面に到達し、ログインして、「See My New Exam Results Now」を選択して下さい。
      • 通知メールを受信する前にCertViewアカウントの認証が済んでいない場合、CertViewアカウントを認証してからでなければ試験結果を確認できません。認証にはOracleのWebアカウントユーザー名、パスワードと、Pearson VUE社のプロファイルに登録したメールアドレスとOracle Testing IDが必要です。
        • メール内のリンクをクリックし、CertViewアカウントを認証して下さい。
        • まだOracle Webアカウントをお持ちでない場合は、アカウントを作成することができます。
    アカウントの認証が終了すると、CertViewにログインし、「See My New Exam Results Now」から試験結果を確認したり、「Print My New Exam Results Now」から試験結果を印刷することができます。

    CertViewアカウントについてご質問があれば、いつものようにOracle認定資格に関するお問い合わせ窓口からどうぞ。
    Oracle Certification Program (OCP) Support Form
    http://education.oracle.com/pls/eval-eddap-dcd/OU_SUPPORT_OCP.home?p_source=OCP
    [訳注]日本語の場合、以下のリンクも参考にしてください。
    https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=225&p_org_id=70&lang=JA#4

    よくあるお問い合わせなど(FAQ)

    2012年11月26日

    [Java] Java EE 7 JSR update

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

    Java EE 7 JSRのアップデートです。このブログの直近のエントリを見逃してらっしゃる方向けに、現時点でJCPのレビューステージの状態にあるJava EE 7のJSRが8個あります。あなたかたのフィードバックをお待ちしています。
    また、Java EE wikiにも仕様には、スケジュールのアップデートが記載されていますので、是非チェックして下さい。最新のJSR 236に関する記述もあります。
    GlassFish Server Open Source Edition 4.0
    Specification Status
    https://wikis.oracle.com/display/GlassFish/PlanForGlassFish4.0#PlanForGlassFish4.0-SpecificationStatus

    [WLS] Data Source Security Part 5

    原文はこちら。
    https://blogs.oracle.com/WebLogicServer/entry/data_source_security_part_5

    これまでの4エントリを読んでらっしゃるのであれば、この分野のエキスパートになってるはずですが、このエントリでWebLogicリソースの権限に関するトピックについて触れたいと思います。構成パラメーターを使って、具体的な値でどのような結果になるかを例示します。

    WebLogicリソースの権限

    これまでの議論はすべて、(最終的に)データベース側で使用されているデータベースの資格証明に関するものでした。WebLogic Serverには、どのWebLogic ServerユーザにJDBCリソースへのアクセスが許可されているかを制御するためのリソースの資格証明があります。これらは、データソースに関連付けられており、[セキュリティ]>[ポリシー]から定義できます。 "reserve(新しい接続を取得)"、 "admin(管理)"、 "shrink"、"reset"、(さらに全てを含む"ALL")という、4つのアクセス権がありますが、接続の取得に関する話題であるため、今回は"reserve"に注目します。デフォルトでは、JDBCリソースの権限は完全にオープンで、誰でも何でもできる状態にあります。許可のポリシーを追加すると即座に他の全てのユーザーが制限されます。例えば、"weblogic"が接続を予約できるようにポリシーを追加すると、明示的にポリシーを追加しなければ、他の全てのユーザーは接続の予約に失敗します。検証はWebLogic Serverのユーザーの資格情報のみで実施します(データベースのユーザーの資格情報ではありません)。一般にリソースの構成は、以下のリンクに記載されています。
    Oracle Fusion Middleware Oracle WebLogic Server Administration Console Online Help 12c Release 1 (12.1.1)
    Create policies for resource instances
    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/security/CreatePoliciesForResourceInstances.html
    この機能は非常に有用で、コードやユーザーがデータベースに接続することを制限することができます。

    API データベースの資格証明を使用 権限チェックのためのユーザー
    getConnection() True もしくは false 現在のWLSユーザ
    getConnection(user,password) False APIからのUser/Password
    getConnection(user,password) True 現在のWLSユーザ

    シンプルなgetConnection()を使うか、データベース資格証明を有効にしている場合、WebLogic Serverシステムに対して認証される現在のユーザをチェックします。データベース資格証明を有効にしていない場合、ユーザとパスワードはAPIから供給されるものを使います。

    以下は[IDベースの接続プールの有効化]、[Oracleプロキシ・セッション]、[データベース資格証明の使用]間の作用に関する実例です。
    データベース側で、以下のオブジェクトを構成します。
    • データベースユーザはscott、jdbcqa、jdbcqa3
    • プロキシの権限を設定する
      • alter user jdbcqa3 grant connect through jdbcqa;
      • alter user jdbcqa grant connect through jdbcqa;
    以下のWebLogicデータソースオブジェクトを構成します。
    • weblogic, wluserのユーザを作成
    • "weblogic" を "scott"に資格証明をマッピング
    • "wluser"を"jdbcqa3"に資格証明をマッピング
    • データソース識別子を"jdbcqa"ユーザで構成
    • [クライアントIDを設定]を有効にした状態で全てのテストを実施する(詳細は下記)
    • [Oracleプロキシ・セッション]を無効にした状態で全てのテストを実施する(詳細は下記)
    テストプログラムでは以下を実施します。
    • サーブレットで実行
    • "weblogic"ユーザーとしてWebLogic Serverに対し認証
    データベース資格証明の使用 IDベース getConnection
    (scott,***)
    getConnection
    (weblogic,***)
    getConnection
    (jdbcqa3,***)
    getConnection()
    使用する 使用する ユーザー(scott)
    クライアント(weblogic)
    Proxy(なし)
    weblogicで失敗(DBユーザーではない) ユーザー(jdbcqa3)
    クライアント(weblogic)
    プロキシ(なし)
    デフォルトユーザー(jdbcqa)
    クライアント(weblogic)
    プロキシ(なし)
    使用しない 使用する scottで失敗
    (WLSユーザーではない)
    ユーザー(scott)
    クライアント(scott)
    プロキシ(なし)
    jdbcqa3で失敗(WLSユーザーではない) ユーザー(scott)
    クライアント(scott)
    プロキシ(なし)
    使用する 使用しない scott用のプロキシで失敗 weblogicで失敗(DBユーザーではない) ユーザー(jdbcqa3)
    クライアント(weblogic)
    プロキシ(jdbcqa)
    デフォルトユーザー(jdbcqa)
    クライアント(weblogic)
    プロキシ(なし)
    使用しない 使用しない scottで失敗
    (WLSユーザーではない)
    デフォルトユーザー(jdbcqa)
    クライアント(scott)
    プロキシ(なし)
    jdbcqa3で失敗(WLSユーザーではない) デフォルトユーザー(jdbcqa)
    クライアント(scott)
    プロキシ(なし)

    [クライアントIDの設定]を無効にした場合、全てのケースでクライアントはNULLになります。
    Oracle Thinドライバでない場合、上記表で非NULLプロキシを使うと、例外が発生します。プロキシセッションを明示的・暗黙的にサポートしているのはOracle Thinドライバだけだからです。
    oracle-proxy-sessionをtrueにすると、("jdbcqa"のプロキシを使用して)成功するパターンは以下の条件に限られます。
    1. [データベース資格証明の使用]を有効に設定し、getConnection(jdbcqa3,…) もしくは getConnection()を使う場合。
    2. [データベース資格証明の使用]を無効に設定し、getConnection(wluser, …) もしくは getConnection()を使う場合。

    まとめ

    データソースのセキュリティに関して、選択可能なオプションが多数あります。WLSやデータベースのユーザ数と変動率、データアクセスの粒度、セキュリティIDの深さ(接続ユーザや実際のユーザーに関するプロパティ)、パフォーマンス、ソフトウェアスタック内のさまざまなコンポーネントの調整やドライバの機能を考慮しなければなりません。今、あなたは全体像(パート1の表)を持っているわけですから、より多くの情報に基づいて選択できます。

    [SOA/BPM] Undeploy multiple SOA composites with WLST or ANT by Danilo Schmiedel

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

    現在携わっているプロジェクトのBuild Managementチームから複数のコンポジットを一度にアンデプロイする方法を質問されました。もちろん、Enterprise Managerには「このパーティションから全てのコンポジットをアンデプロイする」というメニューがあるのですが、毎日たくさんのデプロイを実行しているため、質問してきた彼はスクリプトでアンデプロイしたかったのです。継続的統合環境(CI Environment)で毎晩のデプロイメントがずっと重要なのです。毎晩手作業でEnterprise Managerからアンデプロイメントを実行したがる人がどこにいるというのでしょう。

    しかしながら、WLSTやANTを使うことで、スクリプトによるアンデプロイ方法としてSOA Suiteには2個出てきます。以下の記事ではその両方を説明しています。

    WLSTでアンデプロイする

    SOA/BPM Suite 11gの事前構成済みの仮想マシンを使って、以下に記載している動作や手順を確認できます。
    Pre-built Virtual Machine for SOA Suite and BPM Suite 11g
    http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html
    • <MIDDLEWARE_HOME>/Oracle_SOA1/common/bin. のWLSTディレクトリに移動する
      cd /oracle/fmwhome/Oracle_SOA1/common/bin/
    • WLSTを実行する
      ./wlst.sh
    • SOA serverに接続する
    詳細は以下のエントリをご覧下さい(英語)。
    Undeploy multiple SOA composites with WLST or ANT (Inside BPM and SOA by Danilo Schmiedel)
    http://inside-bpm-and-soa.blogspot.de/2012/11/undeploy-multiple-soa-composites-with.htmlRead the full article by Danilo Schmiedel

    2012年11月21日

    [Java] Concurrency Utilities for Java EE (JSR 236) in Early Draft Review!

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

    コミュニティは長らくconcurrency API for Java EEを待望してきました。実際のところ、JSR 236(Concurrency Utilities for Java EE)は2003年にスタートしたのですから。そのJSR 236が、ちょうどJava EE 7に間に合うようプロジェクトを進めてきたというすばらしいニュースが飛び込んできました。数日前、JSR 236が早期ドラフトレビューとしてリリースされました。是非お読み頂き、フィードバックをお願いいたします。

    JSR-000236 Concurrency Utilities for Java EE 1.0 Early Draft Review
    http://download.oracle.com/otndocs/jcp/concurrency_utilities-1_0-edr-spec/index.html

    2012年11月19日

    [Network] Announcement Oracle Virtual Networking

    原文はこちら。
    https://blogs.oracle.com/eSTEP/entry/announcement_oracle_virtual_networking

    Oracle Virtual Networkingに関する情報や付随情報がOracleのWebサイトとOracle Technical Network (OTN)からダウンロードできるようになりました。
    Oracle Virtual Networkingは、サーバーやストレージの仮想I/Oや仮想ネットワークを管理するためのハードウェアとソフトウェア製品の完全なポートフォリオにより、データセンターの経済学を激変させます。これらの製品はもうご注文頂けます。これは、2012年11月6日のXsigo買収に伴うものです。

    詳細は以下のリンクからどうぞ。

    [Java] Garbage Collection Basics

    原文はこちら。
    https://blogs.oracle.com/javatraining/entry/garbage_collection_basics

    Javaは素晴らしいプログラミング言語でありプラットフォームです。その優れた特徴の一つに自動ガベージコレクションがあります。どのように機能するかご存知ですか?

    ガベージコレクションの基礎を概説するオンラインのWebコースを作成しました。このコースに含まれている多くは、様々なホワイトペーパーなどで既に発表していますが、これらをJDK7に合わせて更新し、必要な手順を説明するすてきなイラストを差し込みました。このコースを気に入ってもらえるとうれしいです。
    Oracle Learning Library - Garbage Collection Basics (Oracle By Example)
    https://apex.oracle.com/pls/apex/f?p=44785:24:9261305608325::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:6624,16
    GI GCに関するオンラインWebコースは1週間後ぐらいにリリースする予定です。

    2012年11月17日

    [Java] SAP NetWeaver Cloud Java EE 6 Web Profile Certified!

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

    SAP NetWeaver CloudがJava EE 6ファミリーに加わったことを歓迎しています!NetWeaver Cloud SDK-2.x.BetaがJava EE 6 Web Profile TCKに対して認証されました。これにより、Web Profile実装の個数が7個になり、公式のJava EE互換ページに掲載されている認定プラットフォームの総数は18個になりました。
    Java EE Compatibility
    http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
    GlassFish、WebLogic、Websphere、JBoss ASなどは完全なJava EE 6プラットフォームに準拠しています。他のJava EE 6 Web ProfileだけのプラットフォームにはResinやApache TomEEも含まれています。
    実はSAP NetWeaver CloudはEclipseLink、TomcatおよびOpenEJBを使用しています。NetWeaverチームによると、試用してフィードバックがほしいということです。詳細は以下のリンクからどうぞ。
    SAP NetWeaver Cloud is Java EE 6, Web Profile Certified
    http://scn.sap.com/community/developer-center/cloud-platform/blog/2012/11/15/sap-netweaver-cloud-is-java-ee-6-web-profile-compatible

    2012年11月15日

    [WLS] WebLogic Server 11gR1 Interactive Quick Reference日本語版がオンラインでも見られるようになりました

    以前、以下の内容でオフラインのツールを日本語化したよ、とお知らせしました。
    [WLS] WebLogic Server 11gR1 Interactive Quick Referenceの日本語版
    http://orablogs-jp.blogspot.jp/2012/11/weblogic-server-11gr1-interactive-quick.html
    そのツールがなんと、 Oracle Japanのサイトからご覧頂けるようになりました。

    まず、以下のリンクから、「WebLogic Server お役立ち情報」へ移動します。
    http://www.oracle.com/technetwork/jp/middleware/weblogic/learnmore/index.html
    こんな画面ですね。

    この画面を下へスクロールすると、「WebLogic Server 11gR1管理対話形式クイック・リファレンス」というのが見つかります。

    上図の赤枠で囲んだリンクをクリックすると…

    前回のエントリでご紹介したものですね。
    オフラインでも、オンラインでも、ご利用頂けるようになりました。

    2012年11月14日

    [Applications, VM, Exalogic] Oracle VM Templates for EBS 12.1.3 for Exalogic Now Available

    原文はこちら。
    https://blogs.oracle.com/stevenChan/entry/oracle_vm_templates_for_oracle

    Oracle VM Templates for Oracle E-Business Suite 12.1.3 for x86 Exalogic Platform (64 bit) がOracle Software Delivery Cloud(e-Delivery)からダウンロードできます。
    Oracle Software Delivery Cloud
    http://edelivery.oracle.com/oraclevm
    このテンプレートにはOracle E-Business Suite R12のデモシステムをExalogic上に作成するための全ての必要な要素が含まれています。これらのテンプレートを使って、素早くEBS 12.1.3デモ環境を作成することができます。もうOSやEBSのRapid Installを使ってソフトウェアのインストールをする必要はありません。
    Screenshot of Exalogic Control
    Oracle E-Business Suite Release 12.1.3 (64 bit) template for the Exalogic platformは、完全なOracle E-Business Suite Release 12.1.3 Database TierとApplication Tier Installationテンプレートを含む、Oracle Virtual Server Guestテンプレートです。詳細情報は、以下のMy Oracle SupportのNoteをご覧下さい(My Oracle Supportのアカウントが必要です)。
    Oracle E-Business Suite Release 12.1.3 Database Tier and Application Tier Template for Oracle Exalogic Platform (Note 1499132.1)
    https://support.oracle.com/rs?type=doc&id=1499132.1
    Oracle E-Business SuiteシステムはOracle Linux Version 5 update 6上にインストールされています。このテンプレートは性能、OSカーネル設定やE-Business Suiteの構成設定などを含めてExalogicプラットフォームに合わせてチューニングし、最適化してあります。Exalogicで動作する中間層のテンプレートとして提供される構成では、数多くの同時実行ユーザーをサポートします。詳細は、先ほどのMy Oracle SupportのNoteの第2章、「Performance Analysis」 をご覧下さい。

    追加情報

    Oracle E-Business Suite VM templates for the Exalogic platformには以下のソフトウェアバージョンを含んでいます。
    • Operating System: Oracle Linux Version 5 Update 6
    • Oracle E-Business Suite 12.1.3 (データベース層)
    • Oracle E-Business Suite 12.1.3 (アプリケーション層)
    Oracle E-Business Suite VM template for the Exalogic platformを設計するにあたり、以下の点を考慮しました。
    • テンプレートはハードウェア仮想化アーキテクチャを使います。仮想化機能を持つハードウェアをサポートしています。
    • データベース層のテンプレートは以下の構成を使うように設定されています。
      • 16 GB RAM
      • 4 VCPUs
      • アプリケーションインストール用に250GBのディスクの空きがあること
    • アプリケーション層のテンプレートは以下の構成を使うように設定されています。
      • 16 GB RAM
      • 4 VCPUs
      • アプリケーションインストール用に50GBのディスクの空きがあること

    参考資料

    過去の関連エントリ

    [SOA, Cloud] Cloud Integration White Paper - Now Available

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

    現在お使いのアプリケーション・インフラストラクチャを拡張して、クラウドアプリケーションと統合することに関心がありますか?この新しいホワイトペーパー「Cloud Integration - A Comprehensive Solution」をダウンロードして、接続性だけでなく、クラウドとの連係に成功するための他の重要な側面についても知って頂きたいと思います。
    このホワイト·ペーパーでは、Oracle Fusion Applications、Saleforce、Workdayといったクラウドアプリケーションとの統合の技術的なサンプルを3個紹介しています。さらに、サービス集約、サービス仮想化、クラウドセキュリティに関する考慮事項を含む包括的なアプローチを採用することの重要性と、増大する分散ハイブリッドインフラストラクチャであっても、監視や管理に対し統一したアプローチを継続することのメリットが記載されています。
    新しいビジネスユニットが、IT部門の目の及ばないところでクラウドベンダーのサービスを利用するような感じで「突然」統合アーキテクチャを定義しないようにするため、「Accidental SOA Cloud Architecture」に関する議論が含まれています。

    以下の目次でおわかりの通り、ホワイトペーパーでは、重要な考慮事項に関する概要だけでなく、ついての意識だけでなく、クラウドとの連係・接続に必要な技術的な詳細についても説明しています。
    Table of Contents - Cloud Integration White Paper
    このホワイトペーパーが皆様のお役に立つことを願っています。ホワイトペーパーは以下からダウンロードできます。
    Cloud Integration – A Comprehensive Solution
    http://www.oracle.com/us/solutions/cloud/cloud-integration-wp-1873149.pdf

    [Java] Excellent JAX-RS 2 Article on JavaLobby

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

    JAX-RS 2はJava EE 7の主要な機能・仕様です。現在早期ドラフトの段階にあり、フィードバックの絶好の機会です。この目的を念頭に置いて、JBossの尊敬に値するJava EEのベテランであるBill Burkeが、JAX-RS 2について概要を説明する優れたエントリをDZone/JavaLobbyにUpしています。ここで説明しているのは以下の内容です。
    • クライアントAPI
    • 非同期処理
    • フィルタとエンティティインターセプタ
    全文は以下のリンクからどうぞ。
    What's New in JAX-RS 2.0
    http://java.dzone.com/articles/whats-new-jax-rs-20

    2012年11月12日

    [Data Integration] Oracle - A Leader in Gartner's MQ for Master Data Management for Customer Data

    原文はこちら。
    https://blogs.oracle.com/mdm/entry/oracle_a_leader_in_gartner

    Gartner MQ report for Master Data Management of Customer Data Solutionsがリリースされ、Oracleはリーダーに位置づけられています。以下はレポートの抜粋です。
    "Oracle has a strong, though complex, portfolio of domain-specific MDM products that include prepackaged data models. Gartner estimates that Oracle now has over 1,500 licensed MDM customers, including 650 customers managing customer data. The MDM portfolio includes three products that address MDM of customer data solution needs: Oracle Fusion Customer Hub (FCH), Oracle CDH and Oracle Siebel UCM. These three MDM products are positioned for different segments of the market and Oracle is progressively moving all three products onto a common MDM technology platform..." (Gartner, Oct 18, 2012)"
    Oracleは、複雑ではあるが強力な、事前にデータモデルをパッケージ済みのドメイン固有のMDM製品ポートフォリオを持っています。Oracleは現在、顧客データを管理する650顧客を含む1500を超えるライセンスのMDMの顧客を持っているとGartnerは推定しています。MDMのポートフォリオには、顧客データソリューションのニーズに対応する3つの製品 - Oracle Fusion Customer Hub (FCH), Oracle CDH and Oracle Siebel UCM - が含まれています。これらのMDM3製品は、異なる市場セグメント向けに配置されており、Oracleは徐々にこれら3製品を共通のMDMテクノロジープラットフォームに載せようとしています。(Gartner/2012年10月18日)
    マスタデータ管理領域における顧客データのOracleのソリューションについて、詳細は以下のリンクからどうぞ。
    Oracle Customer Hub
    http://www.oracle.com/us/products/applications/master-data-management/oracle-customer-hub-081990.html (英語)
    http://www.oracle.com/jp/products/middleware/cdh-151525-ja.html (日本語)

    2012年11月10日

    [WLS] WebLogic Server 11gR1 Interactive Quick Referenceの日本語版

    以前、こんなエントリをご紹介しました。
    [WLS] WebLogic Server 11gR1 Interactive Quick Reference
    http://orablogs-jp.blogspot.jp/2012/10/weblogic-server-11gr1-interactive-quick.html
    WebLogic Serverアーキテクチャで使われている用語やコンセプトを知るためのマルチメディアツールがOracleのWebサイトにUpされていて、オンラインでも、オフラインでも利用できる、というものです。

    このツール、わかりやすくてよいのですが、
    • 英語での説明書き
    • 英語のドキュメントにリンクが張られている
    • しかもちょっと古いドキュメントだったりする(WebLogic Server 10.3.5/11gR1 PS4 のドキュメントにリンクが張られている)
    ということで、オフライン版の右ペインを日本語にして、日本語ドキュメントを指すようにちょこっといじってみました。
    # jpeg中の英語はそのままです。ご容赦を。
    以下はオフライン版をそのまま表示したものです。

    これを日本語化すると、こんな感じになりました。

    ちょっとわかりにくいですかね。
    では、日本語にする方法です。
    1. まず、英語版ツールをここの「Download This Poster」のリンクからダウンロードし、展開する。
      • ディレクトリ構造は、<展開先>/WLS_Poster/... という感じになっています。
    2. ここからロジ子版日本語化キット(いい日本語が浮かびませんでした)をダウンロードし、展開する
      • 日本語化キットのディレクトリ構造は、<展開先>/WLS_Poster-ja/... という感じになっています。
      • CSSはcharsetを明示しただけで、英語版と変わりません。
    3. 日本語化キットのWLS_Poster-ja以下を、英語版ツールのWLS_Poster以下にコピーする
    4. できあがり。 
    日本語版はposter-ja.htmlでご覧下さい。英語版はposter.htmlでどうぞ。
    なお、日本語はロジ子の訳なので、正確な表記に変えるなら、ドキュメントを参照して、日本語化キットのXMLファイル(<展開先>/WLS_Poster-ja/xml/poster-ja.xml)を編集して下さい。

    [Java] Wanted Now: Your Feedback on Java EE 7!

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

    JSR 342 (JavaTM Platform, Enterprise Edition 7 (Java EE 7) Specification)のJava EE 7の情報を読んで下さい。きれいに整形されて、今やJava EE 7は早期ドラフトレビューの状態にありますので、Java EEプラットフォーム仕様のページに行って、情報を入手したり参加して下さい。
    Java EE Platform Specification
    http://javaee-spec.java.net
    現在、Java EE専門家グループがコミュニティ全体にフィードバックしたいと思っている重要な未解決の問題が数多くあります。こうした問題とは、どの新しいJSRをJava EE full/Web Profileに取り込むべきか、とか、CDIをJava EEともっとうまく協調させるにはどうしたらよいか、とかといった問題を含んでいます。
    未来を形作るためにも、こうした重要な未解決の問題に対してコメントを下さい。簡単なアンケートを以下のリンクに用意しましたので、こちらからお願いします。
    Java EE 7 Feedback
    https://www.surveymonkey.com/s/javaee7 

    2012年11月8日

    [UX] Fujitsu Raku-Raku SmartPhone: Japanese Digital Seniors UX Insight from @debralilley

    原文はこちら。
    https://blogs.oracle.com/translation/entry/fujitsu_raku_raku_smartphone_japanese

    Oracleのパートナーである富士通のアプリケーションテクノロジーの達人であり、Oracle Applications User Experience FXA(Fusion User Experience Advocates)のメンバーにしてACE DirectorであるDebra Lilley(@debralilley)による、デジタルデバイド解消という、非常に重要な課題に関する非常に重要なブログエントリです。
    富士通(グローバルサイト)
    http://www.fujitsu.com/global/
    Fusion User Experience Advocates (FXA)
    http://www.oracle.com/webfolder/ux/applications/FXA/index.html
    Debra Lilley
    https://twitter.com/#!/debralilley
    Debraは、"Fujitsu Raku-Raku - My UX Homework"(Raku-Rakuとは日本語で簡単とか快適を意味します)というエントリの中で、富士通が日本のお年寄りのモバイルユーザー向けにRaku-Raku(らくらくホン)というスマートフォンでどうやってデジタルデバイドを解消しているかについて説明しています。
    らくらくホンの開発コンセプトと機能
    http://img.jp.fujitsu.com/downloads/jp/jmag/vol61-2/paper15.pdf
    Fujitsu RakuRaku - My UX Homework
    http://debrasoracle.blogspot.ie/2012/11/fujitsu-rakuraku-my-ux-homework.html
    DebraのブログにはUXモバイル、ソーシャルメディア、方法論など、色々と役に立つことが記載されています。

    Debraが発見したものを一読されることをお勧めします。彼女は、日本風に言うならばデジタルシニア(イギリスやアイルランドであればSilver Surfersという言葉を使いますが)向けの、きちんと仕立てたソーシャルメディアエクスペリエンスも引き合いに出しています。こちらからオンラインコミュニティサイトをご覧頂けます。
    My Silversurfers (Debra's Thoughts)
    http://debras-thoughts.blogspot.co.uk/2008/09/my-silversurfers.html
    らくらくコミュニティ
    http://rkxrk.jp/smp/community.jsp
    Raku-Raku community Japanese Raku-Raku community English
    富士通らくらくホンデジタルシニア向けのオンラインコミュニティサイト(英語表示はGoogle翻訳を使用)

    UXは確かにグローバルであるだけでなく、ワールドワイドのアクセシビリティとデジタルデバイドの解消がUXにとって優先度の高い構成要素である、ということ重要なことを思い出させてくれます。テクノロジーの採用に関する広範な社会的側面と、テクノロジー利用者の様々なカテゴリからの要求事項を企業内でどのように満足することができるかを理解することも不可欠です。
    Oracleは、可能な最高のユーザーエクスペリエンスをあらゆるエンタープライズユーザーに提供することにコミットしています。これはつまり、世界中のあらゆるタイプのユーザーと会話し、彼らが我々のテクノロジーをどのように使いたくて、なぜ使いたいのか、そしてその使い方を理解するということです。こうしたユーザーに対し、ICTのユーザーエクスペリエンスが彼らの私生活においても大きな影響を及ぼすのです。弊社ウェブサイトでOracleのアクセシビリティプログラムについて詳細をご覧頂けます。
    Oracle's Accessibility Program
    http://www.oracle.com/us/corporate/accessibility/index.html
    誇りを持って言えば、はるばるアイルランドから日本での質問を受けてきました。だから、UXはグローバルであるのみならず、家を離れずにUXの研究をグローバルで進めることができるのです。

    Debra、ほんとうにありがとう。こうした共同研究の創造性とワールドワイドのUXのコラボレーションに乾杯!次はどうしましょうかね。。。
    Exchange Visits Are Not Just for The Young (Debra's Thoughts)
    http://debras-thoughts.blogspot.co.uk/2011/02/exchange-visits-are-not-just-for-young.html

    2012年11月7日

    [WebCenter] WebCenter Sites 11gR1 Bundled Patch 1 is now available

    原文はこちら。
    https://blogs.oracle.com/webcenteralerts/entry/webcenter_sites_11gr1_bundled_patch

    WebCenter Sitesに11gR1 Bundled Patch 1という新しいPatchが出ました。WebCenter Sitesのダウンロードページからダウンロードリンク先を入手できます。
    Release Downloads for Oracle WebCenter Sites (OTN-US)
    http://www.oracle.com/technetwork/middleware/webcenter/sites/downloads/index.html
    (訳注)エントリ記載日現在、日本語ページにはまだ公開されていません。

    WebCenter Sites 11gR1 Bundled Patch 1の主要な特徴は以下の通りです。
    • UIのカスタマイズをサポート
      新たな開発者ガイドはContributor UIのカスタマイズ時にご利用頂けます。カスタマイズ可能なUIコンポーネントはダッシュボード、検索ビュー、ツールバー、メニュー、アセット・フォームを含みます。さらに、グローバルもしくはサイト固有の構成プロパティを指定してUIに表示するものを制御することができます。
    • ローカライズのサポート
    • Contributor UIは以下の言語にローカライズされています。
      • フランス語
      • ドイツ語
      • イタリア語
      • スペイン語
      • ポルトガル語(ブラジル)
      • 日本語
      • 韓国語
      • 中国語(簡体字、繁体字)
    • 開発ツール(CSDT)がリモートのSitesサーバーとの接続をサポートします。
    • アップデート
      • セキュリティ:CSRF(リクエスト強要/Cross-site Request Forgery)攻撃を防ぐためのリクエスト認証フィルタを含む
      • REST API
      • その他
    • 管理ユーザーインターフェースでのセッションレプリケーションをサポート
    • 不具合の修正
    詳細はドキュメントおよびリリース・ノートをご覧下さい。

    [SOA/BPM, Cloud] SOA, Cloud and Service Technology Symposium a super success!

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

    ロンドンで開催されたSOA, Cloud and Service Technology Symposiumは大成功に終わりました。各国から600名以上も参加頂きました。Oracle SOA/BPM コミュニティはこのシンポジウムで大きなプレゼンスを見せることができました。
    5th International SOA, Cloud + Service Technology Symposium - London - September 24-25, 2012
    http://www.servicetechsymposium.com/
    SpecializedパートナーのLink Consulting、eProseed、Griffiths Waiteとの共同ブースで、最新の製品アップデートを説明し、お客様やスピーカーと数多くの興味深い議論ができました。
    Link Consulting
    link consulting
    eProseed
    eProseed
    Griffiths Waite
    Griffiths Waite
    Oracle OpenWorldの直前にもかかわらず協力してくれたHQの製品管理チーム(Demed、Tim、Manas)、そして共同プレゼンテーションに登壇頂いたMatthias Ziegler (Accenture) には本当に感謝しております。
    コンファレンスに参加できなかった方は、以下の主要なプレゼンテーション資料のリンクをまとめておきましたのでご利用下さい。
    全てのプレゼンテーション資料はSOA, Cloud and Service Technology Symposiumのサイトからどうぞ。
    SOA, Cloud and Service Technology Symposium
    http://www.servicetechsymposium.com/

    [EM] Oracle Enterprise Manager 12c Testing-as-a-Service Solution

    原文はこちら。
    https://blogs.oracle.com/oem/entry/oracle_enterprise_manager_12c_testing

    QAに割り当てている時間の50%ほどをテスト以外の作業(ハードウェアのセットアップやアプリケーション、テストのデプロイなど)に費やしている組織にとって、クラウドは非常に大きなメリットをもたらすことでしょう。Oracle Enterprise Managerの主要コンポーネントであるApplication Quality Management(アプリケーション品質管理)の製品群により、アプリケーション負荷テストや機能テスト、テストプロセス管理だけでなく、テストデータの管理やデータマスキング、実際のアプリケーションでのシステム変更によるテスト(real application testing)を実施するにあたり、お客様の工数を削減することができ、アプリケーションや基盤のインフラストラクチャの全体的なテストを実施でき、結果として展開前に最高の品質や拡張性、可用性を確保することができます。

    本日、OracleはOracle Enterprise Manager 12c Testing-as-a-Service Solutionを発表しました。このソリューションを利用すると、ユーザーはテスト効率を上げながらも、完全なテスト環境をセットアップする時間を劇的に削減することができます。
    Oracle Announces Oracle Enterprise Manager 12c Testing-as-a-Service Solution
    http://www.oracle.com/us/corporate/press/1871282
    是非上記プレスリリースをご覧になり、LinkedInのEnterprise Managerグループでのこのトピックに関するディスカッションに参加して下さい(グループメンバーになる必要があります)。
    Official Oracle Enterprise Manager group (LinkedIn)
    http://www.linkedin.com/groupItem?view=&gid=2688744&type=member&item=182881905
    もしくは、今週アムステルダムで開催中のEuroSTAR Software Testing Conferenceのブースにお立ち寄り頂きますと、デモを使ってご紹介します。
    EuroSTAR Software Testing Conference
    http://www.eurostarconferences.com/

    2012年11月6日

    [Database, Hardware] Announcement: Oracle Database Appliance 2.4 patch update now available

    原文はこちら。
    https://blogs.oracle.com/eSTEP/entry/announcement_oracle_database_appliance_2

    Oracle Database Appliance 2.4のパッチがMy Oracle Support(MOS)からダウンロードできるようになりました。Oracle Database Appliance 2.4.0.0.0キットを検索されると、新たにアップロードされたバンドルが現れるはずです。
    My Oracle Support
    http://support.oracle.com
    このパッチのハイライトは以下の通りです。
    • 利用可能なストレージの6TBで提供する通常の冗長化オプション(二重ミラーリング)
    • 診断機能の強化 - トレースファイルアナライザーとODACHK
    READMEをご覧になると、以下のコンテンツをご覧になる可能性があります。
    "Gridインフラストラクチャとデータベースへのパッチ適用、両方ともローリングアップグレードが可能です。パッチ適用においては、まずNode 1にパッチを適用し、終了次第Node 2にパッチを適用します。"
    「インフラストラクチャ」のアップデート(OS、ファームウェア、ILOMなど)の場合、パッチ適用時には短時間ではあるもののODAを停止しなければならない、ということを明確にしておきます。Gridインフラストラクチャ(--gi)のアップデート時には、アプライアンスマネージャがインフラストラクチャをアップデート済みであることを確認しますので、初めにインフラストラクチャをアップデートせずに、Gridインフラストラクチャだけパッチを適用することはできません。パッチ適用手順の概要は以下の通りです(この方法だけではありませんが)。
    • ODAにパッチをダウンロードする
    • --infra(インフラストラクチャ)をアップデートすると、ODAデータベースが停止、再起動される
    • ODAとGridインフラストラクチャ/データベースを再起動する
    • Gridインフラストラクチャ/データベースをアップデートするコマンドを発行する(作業は自動的に完了しますので、パッチ適用の間、ノードの立ち上げ、立ち下げをコントロールすることはできません)
      • Node 1 -- データベースとGridインフラストラクチャの停止
      • Node 1 -- Gridインフラストラクチャとデータベースへのパッチ適用
      • Node 1 -- データベースとGridインフラストラクチャの立ち上げ
      • Node 2 -- データベースとGridインフラストラクチャの停止
      • Node 2 -- Gridインフラストラクチャとデータベースへのパッチ適用
      • Node 2 -- データベースとGridインフラストラクチャの立ち上げ
    金曜日のSohanとのOracle Database Appliance Manager 2.4の紹介Webcastをオンデマンドでご覧いただけます(OPNのアカウントが必要です)。
    Oracle Database Appliance Manager 2.4 (Webcast)
    http://www.oracle.com/go/?&Src=6808891&Act=231&pcode=NAPN09045590MPP061
    発表資料(PDF)
    http://www.oracle.com/partners/en/most-popular-resources/oracle-database-appliance-manager-1869339.pdf 
    データシートやホワイトペーパー、Oracle Database Appliance Manager Configurator v2.4はOTNのページからご利用いただけます。
    Oracle Database Appliance
    http://www.oracle.com/technetwork/server-storage/engineered-systems/database-appliance/overview/index.html

    [Solaris] 20 Years of Solaris in 3 Minutes

    原文はこちら。
    https://blogs.oracle.com/solaris/entry/20_years_of_solaris_in

    「Solarisの20年」を3分間にまとめた動画がUpされています。
    20 Years of Solaris on Facebook
    https://www.facebook.com/photo.php?v=516783904999763&set=vb.203088523035971 

    infographicもありますので、こちらもどうぞ。
    SOLARIS 20th ANNIVERSARY
    http://www.oracle-downloads.com/solaris20info/

    2012年11月2日

    [WLS] Data Source Security Part 4

    原文はこちら。
    https://blogs.oracle.com/WebLogicServer/entry/data_source_security_part_4

    これまで、WebLogic Serverやデータベース資格証明と共に、クライアントIDとOracleプロキシセッション機能について取り上げてきました。このエントリでは、もう一つの機能である、IDベースの接続プーリングを取り上げます。さらにもう一つのトピック、これらのオプションがトランザクションにどのように絡むかについて取り上げます。

    IDベースの接続プーリング

    IDベースの接続プーリングは異質の接続プールで、この機能を使うと、アプリケーションは異なるDBMSの資格証明を持つ物理的な接続をプールし、特定のDBMS資格でJDBC接続を利用できます。DBMSの資格証明はデータベースユーザにマッピングされたWebLogicユーザ、もしくは直にデータベースユーザ([データベース資格証明の利用]設定)に基づくものです。[データベース資格証明の利用]機能を有効にした状態でこの機能を使うと、JDBC標準で提示されているように、基本的にgetConnection(user, password)によって指定されるユーザを持つ異種のプールになるようです。

    [IDベースの接続プールの有効化]をデータソースで有効にしている場合、接続の割当ては複雑です。アプリケーションがデータベース接続を要求すると、WebLogic Serverインスタンスは既存の物理接続を選択するか、またはリクエストされたDBMS IDで新しい物理接続を作成します。

    以下の項で異種接続をどのように作成するかを説明します。
    1. 接続プール初期化時に、デフォルトもしくは指定された初期容量に基づくJDBCの物理接続をデータソースのデフォルトDBMS資格証明で作成します。
    2. アプリケーションはデータソースから接続を取得しようとします。
    3. [データベース資格証明の利用]の設定により、いずれかの手順を実施します。
      1. [データベース資格証明の利用]を有効にしていない場合、getConnectionで指定されたユーザをDBMS資格証明にマッピングします。一致する資格証明マップが存在しない場合、データソース識別子からデフォルトのDBMS資格証明を使います。
      2. [データベース資格証明の利用]が有効の場合、getConnectionで指定されているユーザとパスワードを直接利用します。
    4. 一致するDBMS資格証明を使って接続するために接続プールを検索します。
    5. 一致した場合は接続を予約し、その接続をアプリケーションに返します。
    6. 一致しない場合は、プールの最大容量次第で基づいて接続を作成もしくは再利用します。
      • 最大容量に達していない場合、DBMS資格証明で新しい接続を作成、予約してから、アプリケーションに返します。
      • プールが最大容量に達している場合、LRU (Least Recently Used)アルゴリズムに基づいて、物理的な接続をプールから選択し、破棄します。DBMS資格証明で新しい接続を作成、予約してから、アプリケーションに戻します。
    同種のプールに比べて、一致する接続の発見にかかるコストが高価なのは明らかです。接続を破棄し、新しい接続を取得するのは非常にコストがかかります。通常の同種のプールまたは軽量なオプション(クライアントIDまたはOracleプロキシ接続)のいずれかを使用できる場合は、IDベースのプーリングではなく、そちらを利用すべきです。
    物理接続の作成方法にかかわらず、プールの各物理接続にはプールが維持する独自のDBMS資格証明情報があります。物理接続をプールを予約すると、たとえ現在利用中のスレッドがWebLogicユーザ資格証明を変更し、同じ接続を使い続けているとしても、DBMS資格証明は変更されません。
    この機能を設定するには、[IDベースの接続プールを有効化]を選択します。詳細は以下のOracle WebLogic Server管理コンソールのヘルプをご覧下さい。
    Enable identity-based connection pooling for a JDBC data source
    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jdbc/jdbc_datasources/EnableIdentityBasedConnectionPooling.html
    IDベースのプーリングでロギングラストリソース(LLR)トランザクション最適化を利用するには、複数ユーザが関連するトランザクション表にアクセスするという問題を回避するため、以下の変更をする必要があります。
    • 完全修飾LLR表名を使用して、LLRのカスタム・スキーマを構成する必要があります。これにより、すべてのLLR接続が、LLRトランザクション表へのアクセス時に、デフォルトのスキーマではなく指定されたスキーマを使用するようになります。
    • データベース固有の管理ツールを使用して、指定されたLLR表へのアクセス許可を、グローバルトランザクションでこの表にアクセスするすべてのユーザーに付与します。デフォルトでは、LLR表はデータ・ソース内で接続に対して構成されたユーザーにより、起動時に作成されます。ほとんどの場合、データベースはこのユーザーに対してのみアクセスを許可し、マップされたユーザーには許可しません。

    トランザクション内の接続

    これらの様々なオプションの挙動について取り上げたので、ルールの全ての例外を説明トランザクション内で接続を取得した場合、特定のWebLogic Serverインスタンスのトランザクションコンテキストと関連づけられます。

    グローバルトランザクションで、非XA、LLR、1PC(JTSドライバを使用)で構成されたデータソースとの接続を取得する場合、後続の接続要求に対し、トランザクション内で取得した最初の接続を返します。指定されたユーザ名、パスワードの値に関係なく、関連するプロキシユーザセッションとも無関係です。LLRや1PCを使う場合、接続の全てのユーザで接続を共有する必要があります。

    XAデータソースの場合、アプリケーションサーバ内の後続の接続要求では、グローバルトランザクション内で取得した最初の接続を返します。指定したユーザ名やパスワードの値に関係なく、関連するプロキシユーザセッションとも独立しています。アプリケーションサーバやJVM内のグローバルトランザクション内の接続の全てのユーザ間で、この接続を共有する必要があります。

    [WLS] Data Source Security Part 3

    原文はこちら。
    https://blogs.oracle.com/WebLogicServer/entry/data_source_security_part_3

    Part 1では、セキュリティ機能をご紹介し、デフォルトの挙動についてお話しました。Part 2ではセキュリティ資格証明に関する2つの主たるアプローチ
    • 直接データベース資格証明を利用する方法
    • WLSユーザ資格証明をデータベース資格証明にマッピングする方法
    を説明しました。今回はいくつかのセキュリティオプション(それぞれがデータベース資格情報またはWLSの資格情報を使用することができます)について取り上げます。

    接続にクライアントIDを設定する

    データソースで[クライアントIDの設定]を有効にする場合、クライアントプロパティは接続に関連付けられます。基礎となるSQLユーザは接続が生存する間変更されないままですが、クライアントの値は変更できます。この情報はアカウンティング、監査、デバッグに利用できます。クライアントプロパティは、資格証明マップを使いデータベースユーザにマッピングされたWebLogicユーザか、先ほど説明した[データベース資格証明の利用]設定に基づいた、getConnection()メソッドから直接データベースユーザのパラメータのいずれかです。
    この機能を有効にするには、WebLogic Server管理コンソールの[接続時にクライアントIDを設定]を選択します。詳細は以下のドキュメントをご覧下さい。
    Enable Set Client ID On Connection for a JDBC data source (WebLogic Server管理コンソールのヘルプから)
    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24401/taskhelp/jdbc/jdbc_datasources/EnableCredentialMapping.html
    クライアントIDの設定機能は、以下のインターフェースに基づくOracle ThinドライバとIBM DB2ドライバで利用できます。Oracle Database 11gの場合、oracle.jdbc.OracleConnection.setClientIdentifier(client)を使います。この機能を監査やデバッグ目的で利用するための詳細情報は以下のドキュメントをご覧下さい。
    Oracle® Database Security Guide 11g Release 1 (11.1)
    Using the CLIENT_IDENTIFIER Attribute to Preserve User Identity
    http://docs.oracle.com/cd/B28359_01/network.111/b28531/authentication.htm#i1009003
    Oracle Databaseセキュリティ・ガイド 11g リリース2(11.2)
    CLIENT_IDENTIFIER属性を使用したユーザー識別情報の保持
    http://docs.oracle.com/cd/E16338_01/network.112/b56285/authentication.htm#i1009003
    JDBCドライバからgetClientIdentifier()を使って値を取得できます。データベースからSQLクエリで値を取り出す場合には、次のようなステートメントを使います。
    select sys_context('USERENV','CLIENT_IDENTIFIER') from DUAL;
    Oracle Database 12cでは、java.sql.Connection.setClientInfo("OCSID.CLIENTID", client) を使います。これはJDBC標準APIです(プロパティ値はプロプライエタリですが)。setClientIdentifier を使う上での問題は、Oracleテクノロジースタックの一部にこの値を設定したり、この値に依存するものがある、ということです。アプリケーションコードもこの値を設定する場合、問題が発生する可能性があります。この問題に対し、このメソッドを特権オペレーションとすることにより、setClientInfoを使って対応してきました。管理の行き届いたコンテナはJavaセキュリティポリシーを制限し、特定の名前空間やコードベースに権限を付与し、コントロールできないユーザコードからコンテナを守ることができます。Javaセキュリティマネージャを使う場合、Javaセキュリティポリシーファイルに、"oracle.jdbc.OracleSQLPermission"と "clientInfo.OCSID.CLIENTID"パーミッションを付与する必要があります。
    "OCSID.CLIENTID"は、以下のステートメントの上位互換です。
    select sys_context('USERENV','CLIENT_IDENTIFIER') from DUAL;
    もしくは、値を取得するために、JDBC標準APIである java.sql.getClientInfo("OCSID.CLIENTID") を使います。
    OracleのUSERENVコンテキスト中のこの値を使ってOracle Virtual Private Database (VPD) 機能を動作し、行や列のレベルでのデータベースアクセスをコントロールするセキュリティポリシーを作成することができます。本質的には、Oracle Virtual Private Databaseが動的なWHERE句をOracle Virtual Private Databaseセキュリティポリシーが適用されている表、ビュー、シノニムに対して発行されるSQLステートメントに追加します。Oracle Virtual Private Databaseの詳細は以下のドキュメントをご覧下さい。
    Oracle® Database Security Guide 11g Release 1 (11.1)
    Using Oracle Virtual Private Database to Control Data Access http://docs.oracle.com/cd/B28359_01/network.111/b28531/vpd.htm
    Oracle Databaseセキュリティ・ガイド 11g リリース2(11.2)
    Oracle Virtual Private Databaseを使用したデータ・アクセスの制御
    http://docs.oracle.com/cd/E16338_01/network.112/b56285/vpd.htm
    このデータソース機能を使うと、WebLogic Serverサイドでこのコンテキストをプログラムで設定する必要がなくなります。つまり、WebLogic Serverのデータソースコードが設定・クリアしてくれます。
    IBM DB2ドライバでは、DB2 9.5までの場合、com.ibm.db2.jcc.DB2Connection.setDB2ClientUser(client) を使います。このメソッドは現在のクライアントユーザ名を接続のために指定します。注意頂きたいのは、現在のクライアントユーザ名は、接続中に変わる可能性があるということです(ユーザではありません)。この値はCURRENT CLIENT_USERIDという特殊なレジスタにあり、以下のようなステートメントで取得できます。
    select CURRENT CLIENT_USERID from SYSIBM.SYSTABLES
    JDBC 4.0仕様のIBM DB2ドライバ(ver 9.5以上)の場合、java.sql.Connection.setClientInfo(“ClientUser”, client) を使います。(setDB2ClientUser()を設定していていも、)DB2の専用APIではなく、java.sql.Connection.getClientInfo("ClientUser")を使って値を取得できます。

    Oracleプロキシセッション

    Oracleプロキシ認証を使うと、1つのJDBC接続で、Thinドライバを使ってOracle Databaseへの複数の(シリアル)軽量なユーザ接続のためのプロキシとして振る舞うことができます。WebLogicデータソースを構成し、プロキシユーザとしてアプリケーションサーバを通じてクライアントがデータベースに接続できます。クライアントはアプリケーションサーバで認証し、アプリケーションサーバはOracle Databaseで認証します。これにより、クライアントのユーザ名をデータベースとの接続で維持できます。以下の手順でOracle Databaseへの接続におけるプロキシ認証を構成できます。
    1. (まだ作成していない場合)必要なデータベースユーザを作成します。
    2. Oracle Databaseにて、そのユーザにCONNECT THROUGH権限を付与します。
      SQL> ALTER USER connectionuser GRANT CONNECT THROUGH dbuser;
      ここで、connectionuserは認証されるアプリケーションユーザ名で、dbuserはOracle Databaseのユーザです。
    3. 汎用データソースもしくはGridLinkデータソースを作成し、dbuserの値をユーザとして設定します。
    4. 利用する資格証明により、いずれかの手順を実施します。
      1. WebLogic Serverの資格証明を使う場合、資格証明マップにエントリを作成し、WebLogicユーザとDBユーザをマッピングします。
      2. データベース資格証明を使う場合、[データベース資格証明の利用]を有効にします。
    5. Oracleのプロキシ認証を有効にします。詳細はOracle WebLogic Server管理コンソールヘルプの"Configure Oracle parameters"をご覧下さい。
    6. WebLogic ServerインスタンスにWebLogicユーザもしくはDBユーザでログインします。
    7. getConnection(username, password)を使って接続を取得します。資格証明はWebLogicユーザもしくは直接データベースユーザに.  The credentials are based on either the WebLogic user that is mapped to a database user or the database user directly, based on the “use database credentials” setting. 
    以下のクエリで現在のユーザとプロキシユーザを確認できます。
    select user, sys_context('USERENV','PROXY_USER') from DUAL
    [注意]
    [データベース資格証明の使用]を無効にしていて、ユーザ、パスワードの値がWebLogic Serverユーザとして存在しない場合は、getConnectionは失敗します。逆に、 [データベース資格証明の利用]が有効になっていて、ユーザ/パスワードがデータベースに存在しない場合も失敗します。
    プールに対して接続要求をするたびにユーザに基づいた接続上でプロキシセッションをオープンし、接続がプールに戻るとプロキシセッションをクローズします。プロキシセッションのオープン・クローズにより、JDBCオブジェクトは以下のような影響を受けます。
    • オリジナルの接続から既存のステートメントをクローズする(結果セットを含む)
    • WebLogic Serverのステートメントキャッシュをクリアする
    • もし設定されている場合は、クライアントIDをクリアする
    • WebLogic Serverの接続確認テストステートメントを全てのプロキシセッションについて再作成する
    こうした挙動は、インスタンス間で接続を共有し、接続に関連付けられた状態を期待しているアプリケーションに影響を与えることがあります。
    WebLogic Server 10.3.6から、データベース資格証明の利用を有効にして、getConnection(user, password)を呼び出す場合、Oracleのプロキシセッションは暗黙的に有効になります。OracleのThinドライバを使っている場合にのみ機能することを覚えておいて下さい。
    まとめると、oracle-proxy-sessionの定義は以下のようになります。
    • プロキシ認証が有効で、IDベースのプーリングが有効な場合はエラーになる
    • ユーザをgetConnection()で指定し、[IDベースの接続プーリングの有効化]を無効にした場合、暗黙のうちにOracleプロキシセッションを使う設定になる(明示的に利用する旨設定も可能)
    • ユーザをgetConnection()で指定し、IDベースの接続プールの有効化を設定すると、Oracleのプロキシセッションを使わない設定になる