2013年2月28日

[Solaris] A Solaris tmpfs uses real memory

原文はこちら。
https://blogs.oracle.com/tpenta/entry/a_solaris_tmpfs_uses_real

タイトルで一目瞭然で明らかに思えますが、ここ2週間で2件のお客様から /tmp がSwapを使っていることを明確にしてほしいという依頼があったので、どこでメモリを使っているのか継続して調査していました。
これは /etc/vfstab に /tmp を定義する際にSwapとして利用しているデバイスを表示するからだと思います。
tmpfsとの関連で、Swapとは物理メモリ+物理スワップを意味します。tmpfsはページング可能なカーネルメモリを使用しています。つまり、カーネルメモリを使用しつつ、必要に応じてこれらのページをスワップデバイスにページングすることができます。確かに物理メモリよりも大きなサイズのデータをtmpfs上に置けば、この動作はほぼ確実に起こります。
いまいちしっくりこないなら、次の方法を試してください。
  1. あるターミナル/コンソールから以下のコマンドを起動します
    $ vmstat 2
  2. 別のターミナル/コンソールで /tmp に1GBのファイルを作ります
    $ mkfile 1g /tmp/testfile
  3. vmstatコマンドで空きメモリがどうなっているか確認して下さい。
tmpfsはSwapに割り当てたディスクを横取りしてファイルシステムとして使う方法であって、メモリにインパクトを与えないと勘違いされている方がいらっしゃるようですが、そんなことはないのです。

2013年2月27日

[Solaris] Since You Asked... A Couple of Oracle Solaris Resources

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

MarkやAdixでなければ尋ねてこなかったのですが、彼らが尋ねてきたので、もっと広く共有したほうがいいと思う2つのリソースをご紹介します。
Oracle Solaris (@ORCL_Solaris)
https://twitter.com/orcl_solaris
MarkはAIXからSolarisへの移行について質問してきましたが、ちょうどこれに関する最新のドキュメントがあることがわかりました。55ページのテクニカルホワイトペーパーでは、AIX 7.1とOracle Solaris 11との違い明らかにして比較しています。
IBM AIX to Oracle Solaris Technology Mapping Guide
Preparing for the Move to Oracle Solaris 11
http://www.oracle.com/technetwork/server-storage/solaris11/documentation/aix-solaris-mapping-guide-1896780.pdf
本日のWebcast(Oracle x86 Systems: The Best x86 Platform for Oracle Solaris)で、Oracle Solarisと弊社のx86システムのサービスプロセッサー間の双方向接続に関して言及した際に、Adixがもっと知りたいと言ってきました。これもホワイトペーパーに詳細情報がまとまっています。このホワイトペーパーの"Oracle Solaris–Aware Service Processor"で取り上げています。
Oracle's x86 Systems: The Best x86 Platforms for Oracle Solaris
http://www.oracle.com/us/products/servers-storage/servers/x86/best-x86-platforms-solaris-wp-1907496.pdf
ところで、Webcastを見逃したのであれば、(アメリカ太平洋標準時の)明朝にはオンデマンド視聴できるようになっているはずです。

[Database] Oracle LogMiner: Seven Steps to Mine Redo data

原文はこちら。
https://blogs.oracle.com/Bakers_Byte/entry/oracle_logminer_seven_steps_to

クライアントのサイトではあるものの、Oracle Databaseの表中のデータが未知のソースによって削除されたというデータの問題が発生したので、アプリケーションチームに調査依頼が舞い込みました。Oracle Databaseのフラッシュバックテクノロジーを使おうとしたところ、数日間に発生した変更が原因で、フラッシュバックデータが不十分であることがわかりました。そのため、OracleのLog Minerを使い、Oracle DatabaseのREDOログとARCHIVEログを分析し必要な情報を見つけようとしたのです。このツールの利用方法はデータベース管理者にはあまり知られていないことが明らかだったので、ログマイニングのセッションを安全に実行してデータベースのREDOデータを見る方法を、簡単な7段階のプロセスにまとめて資料化しました。実はOracle Enterprise Manager(OEM)を使って実行できるのですが、この資料では、Oracle SQLおよびPL / SQLを使っています。

[注意]
これらのスクリプトはデモ目的のために書かれたものに過ぎず、最適化やエラーチェックなどが抜けていますので、利用には注意して下さい(簡単に言えば、あくまでもサンプルですよ、ということですね)。

PDFは以下のリンクからどうぞ。
Oracle Log Mining Data
https://blogs.oracle.com/Bakers_Byte/resource/General_DBA/Oracle_Log_Mining_Data.pdf

2013年2月25日

[Java] Java in Steam Store

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

ネット経由でPCゲームを楽しんでいるなら、Steamのことをよくご存知だと思います。もしSteamに詳しいのであれば、最近Steam for LinuxのGAバージョンが発表されたことについてもご存知ではないかと思います。
Steam
http://www.steampowered.com
Steam for Linux
http://store.steampowered.com/news/9943/ 
私個人としては、PCゲーム用に受け入れられ、広く利用されているプラットフォームのSteamが、Linuxにも登場したことををついに知らしめることになると考えています。一つの素敵な副作用は、Javaがこの領域でもっと採用されるかもしれない、ということです。例えばカジュアルゲーム(Angry Birdが好例です)や性能基準を満たすためにハードウェアを100%完全に制御する必要がないゲーム(Minecraftがこのグループに入ってきました)が該当します。異なるプラットフォーム間での移植コストが低下するという、明確なメリットがJavaにはあります。これは、ネイティブライブラリの利用方法次第では、"Write once, run anywhere"ではありませんが、ネイティブのゲームを移植するよりも確かに簡単です。
Angry Birds
http://java.mob.org/game/angry_birds_rio.html
Minecraft
https://minecraft.net/
このことを念頭に、Puppy Gamesが記述した、SteamでのJava利用に関するエントリを見つけて非常にうれしく思っています。
Steam Linux Love-In Launch
http://www.puppygames.net/blog/?p=1282
Puppy Games
http://www.puppygames.net/ 
Steam APIのラッパーライブラリを作成し、LWJGLをグラフィックライブラリとして利用しています。
Lightweight Java Game Library (LWJGL)
http://www.lwjgl.org/
その他のオプションはもちろん、JOGLか、成熟すれば近いうちにOpenJFXプロジェクトを通じてオープンソース化されるJavaFXか、ということでしょう。JavaFXのゲームのシンプルな好例は、100行未満のコードで記述されたPongです。
Java Binding for the OpenGL API (JOGL)
https://jogamp.org/jogl/www/
JavaFX
http://www.oracle.com/technetwork/java/javafx/overview/index.html
OpenJFX Project
http://openjdk.java.net/projects/openjfx/
Pong! in less than 80 LOC
http://jayskills.com/blog/2013/02/05/pong-in-less-than-100-loc/

Puppy Gamesの彼らの第1歩に、そしてLinuxで利用可能になったSteamに拍手を送りましょう。

[Java] DevNexus 2013 Trip Report

原文はこちら。
https://blogs.oracle.com/reza/entry/devnexus_2013_trip_report

DevNexus 2013が2月18-19日にアトランタで開催されました。あまりよくご存知ない方向けに、DevNexusとはアメリカ南東部で最も重要なJavaのコンファレンスです。JBoss Java ChampionのBurr Sutterが始め、Atlanta JUG (現在のリードはVincent Mayers、Gunnar Hillertら)が開催しています。例年通り、DevNexusは、Ben Evans、Neal Ford、David Geary、Venkat Subramaniamといったワールドクラスの講演者たちが招致されました。Topics included Java SE、NoSQL、モバイル、クラウド、HTML5/JavaScript、そしてもちろんJava EEもトピックとして取り上げられました。
コンファレンスの第1日に、"JavaEE.Next(): Java EE 7, 8, and Beyond"と題し、Java EEについて講演しました。内容はほぼArun GuptaのJavaOne 2012 テクニカルキーノートと同じ流れに沿っています。今回は、JMS 2、Java API for WebSocket (JSR 356)、Java API for JSON Processing (JSON-P)、JAX-RS 2、JPA 2.1、JTA 1.2、JSF 2.2、Java Batch、Bean Validation 1.1、Java EE Concurrency、そしてJava EE 7の残りのAPIについてその変更を取り上げました。Java EE 8についても発表可能な概要をお話しました。講演のウケはよく、Q&Aでよい議論ができました。立ち見席のみの満員のセッションでした。発表スライドは以下にUpしています。

うれしかったことに、DevNexusの参加者は、("Using NoSQL with JPA, EclipseLink and Java EE"というタイトルの)NoSQL/Java EEの話に非常に関心を持ってくれました。そのセッションでは、驚くほど資料化されていない興味深いギャップを取り上げました。セッションは、JPA 2.1の概要、NoSQLの展望の鳥瞰図、EclipseLink NoSQLやHibernate OGM、DataNucleus、Kundera、Easy-Cassandraなどを使っているJPAファサードを介してNoSQLを使う方法、CDIを介してJava EEでNoSQLのネイティブAPIを使う方法、の4部で構成しました。このセッションも満員で、Q&Aがすばらしく、後で素晴らしいフィードバックを得ました。講演のスライドはこちらからどうぞ。

最初のデモはMongoDB、JPA、EclipseLink NoSQL、JUnitを使いました。コードはGitHubにUpしています。
m-reza-rahman / jpa-nosql-demo (GitHub)
https://github.com/m-reza-rahman/jpa-nosql-demo 
2つめのデモは、MongoDB、CDI、Arquillian、JUnitを使いました。このコードも同じくGitHubにUpしています。
m-reza-rahman / cdi-nosql-demo (GitHub)
https://github.com/m-reza-rahman/cdi-nosql-demo 
デモの入手や実行に手助けが必要ならお問い合わせ下さい。このセッションで話した内容を使って2部構成のエントリを記述する予定なので、しばしお待ちを。講演のほかに、Java SE、HTML 5/JavaScript、モバイルに関するセッションに参加しました。本当にDevNexusは楽しかったです。来年もコンファレンスに参加したいと思っています。

2013年2月24日

[UX] Oracle Fusion UX Design Patterns and Tools for the Cloud Crowd

原文はこちら。
https://blogs.oracle.com/userassistance/entry/oracle_ux_design_patterns_and

Oracle Fusion Applications User Experience Design Patterns and Guidelinesは、開発者の生産性を向上する、すぐに使えるものです。Fusion ApplicationやクラウドでのUI統合をOracleのツールキットを使って実現するにあたり、既製品ではありますが柔軟性のあるユーザービリティソリューションで、簡単に適用可能です。
Oracle Fusion Applications User Experience Patterns and Guidelines
http://www.oracle.com/technetwork/topics/ux/applications/gps-1601227.html
設計時の共通課題に対する再利用可能なソリューションとしてのデザインパターンがいたるところにあります。GitHubでのknitting patternについて述べている、Engine Yardの「Cloud Out Loud | Ruby」というPodcastに触発され、この話を新しい方法でお伝えしたくてたまらないのです。
Cloud Out Loud | Ruby (By Engine Yard)
https://itunes.apple.com/us/podcast/cloud-out-loud-ruby/id408098989
GitHub
https://github.com/
クラウドでのこうしたKnitting Patternのために、パートナーさんのPoC(コンセプト検証)に携わりました。このパターンはすぐに適用され、パターンのコンテンツやスキンの中立性といった、パターンの思想を反映して、すぐにHCMやCRMという小さな2種類の毛糸で編まれたエイリアンのデリバリを受け取りました。コンセプトは検証されたわけです!
rosannaf / knitting-patterns (on GitHub)
https://github.com/rosannaf/knitting-patterns
Knitted aliens brought to life from a pattern in the cloud. I used this story at a SAMBA UX outreach workshop in Amsterdam earlier this month.
我々のUXデザインパターンはユーザビリティラボ、オフィス、街、実際のユーザー、実際のタスク、そして実際のアプリケーションで実証済みです。検討とテストをしてきたため、Fusion Applicationsのクラウドソリューションの構築者は検討やテストをする必要はありません。(HCMやCRMだけではなく)Fusion Applications Suite全体に対するUXデザインパターンを実際に体験するためには、Usable AppsのWebサイトの"For Developers"セクションへどうぞ。
usableapps.oracle.com | Oracle Applications User Experience
http://www.oracle.com/webfolder/ux/applications/index.html
UXデザインパターンはOracle ADFをベースにしており、ADFアプリケーションのクラウドへの展開はOracle Cloud Serviceへのデプロイで実際に現在現れています。
Deploying ADF Applications into the Oracle Cloud using JDeveloper
http://multikoop.blogspot.de/2012/12/deploying-adf-applications-into-oracle.html
Developing Applications for Oracle Java Cloud Service (Oracle Cloud Serviceのドキュメント)
http://docs.oracle.com/cloud/CSJSU/dev_app.htm
いつ、どのツールをクラウド向けの開発やFusion Applicationsの調整に使うべきか、ということについては、以下のFusion Applications Developer Relationsのエントリをご覧下さい。
Tailoring Fusion Applications in the Cloud Explained (Fusion Applications Developer Relations)
https://blogs.oracle.com/fadevrel/entry/tailoring_fusion_applications_in_the

[SOA/BPM] Using BPEL Performance Statistics to Diagnose Performance Bottlenecks

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

Oracle SOA 11gアプリケーションの性能チューニングは困難ではありますがやりがいのあるものです。SOAは、多くのアプリケーションやサービスと接続するコンポジットアプリケーションを構築するプラットフォームなので、全体の性能が悪い場合、ボトルネックはシステム中のどこか(SOAが接続するアプリケーションやサービス、インフラ、データベース、SOAサーバ自体)にあるわけです。迅速にボトルネックを識別する方法は、全体的な性能をチューニングする上で重要になります。

幸いにも、Oracle SOA 11gのBPELエンジン(ついでに言えば10gも)はBPELエンジンの性能統計情報を収集しています。この情報は低レベルのBPELエンジンのアクティビティのレイテンシを含んでいます。このBPELエンジンの性能統計情報を使うと、性能上のボトルネックを少し簡単に識別しやすくなります。

BPELエンジンの性能統計情報は常に利用できるのですが、これらの情報へのアクセスや解釈は、11gではいささか不明瞭です。

将来のバージョンでもっと素敵なユーザーエクスペリエンスを提供されるその前に、性能統計情報の利用、読み出し、解釈の手引きをこのエントリで提供したいと考えています。

Overview of BPEL Engine Performance Statistics

SOA SuiteのBPEL PMには性能統計情報を収集し、メモリ上に格納する機能があります。

StatLastNというMBean属性は、統計情報を格納するためのメモリバッファのサイズを設定します。このメモリバッファはMoving Window、つまり、データ量がバッファサイズを超えると、古い統計情報が新しい統計情報によって上書きされます。バッファサイズはStatLastNで制限されるので、統計情報収集が性能に及ぼす影響は軽微です。デフォルトはStatLastN=-1、つまり性能データを収集しません。

統計情報をメモリバッファに収集すると、統計情報はoracle.as.soainfra.bpel:Location=[Server Name],name=BPELEngine,type=BPELEngine というMBean経由で取得できます。

Oracle SOA開発に関わる友人は、簡単な"bpelstat" Webアプリケーションを作成しました。このアプリケーションは性能データをMBeanから検索、取得し、人間が読める形式で表示するものです。美しいUIではありませんが、かなり便利です。

Oracle SOA Suite 11.1.1.5以後では同じ統計情報をもっときれいなUIでご覧いただけます(Enterprise Managerで[SOAインフラストラクチャ]>[サービスエンジン]>[BPEL]>[統計])が、単純な考えを持つ人間からすれば、"bpeltest"のシンプルな感じが好きだったりします。簡単なJSPがいいのは、ページを保存したり、詳細分析をするために誰かに送ることができるからです。

以下は、BPELの統計情報表示のアプリケーションをインストールし、起動する方法の説明です。SOA開発部門の友人はまもなく統計情報の解釈に関するエントリを執筆する予定ですのでお楽しみに。

[訳注]
このbpeltestアプリケーションは、開発者モード(管理サーバーにすべての機能を載せてしまう)ではうまく動作しないようです。

Step 1: Enable BPEL Engine Statistics for Each SOA Servers via Enterprise Manager

まず、BPELエンジンの性能統計情報を収集するように、StatLastNに値を設定する必要があります。
  • Enterprise Mangaer Fusion Middleware Controlから、[soa-infra(サーバー名)] >[SOAインフラストラクチャ]>[SOA管理]>[BPELプロパティ]
  • [詳細BPEL構成プロパティ]をクリック
  • 属性"StatLastN"をクリックし、値を整数値で設定する。通常1000以上に指定

Step 2: Download and Deploy bpelstat.war File to Admin Server

[注意] WARファイルにはセキュリティを考慮していないJSPファイルが含まれています。セキュリティ上の危険があるため、長時間本番環境のサーバーに配置しないでください。データを収集したら無効化してください。
  • bpelstat.warをローカルPCにダウンロード
  • WebLogic管理コンソールで、[デプロイメント]>[インストール]
  • [ファイルのアップロード]をクリック
  • [ファイルを選択]ボタンをクリックして、管理サーバーにデプロイメントをアップロード
  • アップロード対象のファイルを選択していることを確認し、[次]をクリック
  • デフォルト[このデプロイメントをアプリケーションとしてインストールする]のまま[次]をクリック
  • ターゲットに "AdminServer" と指定
  • 残りのデプロイメントプロセスはすべてデフォルトを選択し、終了
  • 管理コンソールから[デプロイメント]へ移動
  • "bpelstat" アプリケーションの隣の箱をチェック
  • [起動]ボタンをクリック。アプリケーションの状態が[準備完了]から[アクティブ]に変わる

Step 3: Invoke the BPEL Statistic Tool

  • BPELStatツールはただBPELサーバのMBeanを呼び出し、メモリ上に蓄えられている性能統計情報を収集、表示するだけです。負荷のピークが過ぎた後に使いたいと思うのではないでしょうか。
  • http://<管理サーバーのホスト>:<管理サーバーのポート番号>/bpelstat にアクセス
  • 正しい管理サーバーのホスト名、ポート番号、ユーザー名、パスワードを入力
  • 性能統計情報を収集したいSOAサーバー名を入力する(例:SOA_MS1など)
  • [Submit]をクリック
  • すべてのSOAサーバーに対して同じように実行

Step 4: Interpret the BPEL Engine Statistics

bpeltestアプリケーションで数種類のカテゴリのBPEL統計情報を確認できるはずです。

まず、同期プロセスおよび非同期プロセスでグループ化されたBPELプロセスの全体的なレイテンシで始まります。さらに「リクエストのブレークダウン」と呼ばれる、BPELプロセスへのリクエストのライフタイムを通して測定結果をブレークダウンします。

1. 全体的なBPELプロセスのレイテンシ

ページの上部で表示しているのは、TestCompositeコンポジットから同期プロセスTestSyncBPELProcessを起動すると、実行の平均時間は平均1543.21ミリ秒なのに対し、TestComposite2コンポジットから非同期プロセスTestAsyncBPELProcessの実行時間は平均1765.43ミリ秒です。レイテンシの最大値と最小値も表示されました。

同期プロセスの統計

    
    
 

非同期プロセスの統計

    
    
 

2. リクエストのブレークダウン

同期/非同期プロセスによって分類される全体的なレイテンシの下で"リクエストブレークダウン"を実施します。統計キーによって編成されたリクエストブレークダウンは、BPELプロセスへのリクエストの生存時間を通してより細かい粒度の性能の統計情報を提供します。インデントを使い統計情報の階層を表示しています。

リクエストのブレークダウン
<statistics>
    <stats average="0.0" count="0" key="eng-composite-request" max="0" min="0">
        <stats average="258.43" count="277" key="eng-single-request" max="606" min="22">
            <stats average="0.0" count="248" key="populate-context" max="0" min="0"> 
...
SOA11.1.1.6では、リクエストブレークダウンの下の統計情報は統計キーに基づいて、すべてのBPELプロセスにわたって一緒に集計されることにご注意ください。つまりBPELプロセスを区別しないのです。 2つのBPELプロセスが同じ統計キーを共有する統計情報がある場合、2つのBPELプロセスからの統計情報が一緒に集約されます。この点を留意して、詳細を見ていきましょう。

2.1 BPELプロセスアクティビティのレイテンシ
リクエストブレークダウンにある非常に役立つ測定値は、BPELプロセスに組み込むBPELアクティビティ(Assign、Invoke、Receiveなど)の性能統計情報です。JSPページ上の測定値の名前は、BPELアクティビティに割り当てている名前に由来しています。これらの測定値は統計キー"actual-perform"にあります。

例1:
以下はBPELアクティビティ"AssignInvokeCreditProvider_Input"の測定値で、入力変数を呼び出し前に割り当てているBPELプロセス内のAssignアクティビティです。

  
  
  
  
  
  
 
[注意]以前述べたように、全てのBPELプロセス全体での統計情報は統計キーに基づいて集約されるため、もし2個のBPELプロセスが統計キーに基づいて集約された場合、2個のBPELプロセスがInvokeアクティビティに同じ名前を付けている場合、一つの測定値(つまり統計キー)で表示されるでしょう。

例2:
以下は"InvokeCreditProvider"と呼ばれるBPELアクティビティの測定値です。この呼び出しを終了するまでに平均で3.31ミリ秒かかっている(かなり速いですね)ことがわかるだけでなく、さらにブレークダウンしてこの3.31ミリ秒のうちほとんどはInvokeサービスに費やしていることがわかります。

  
  
  
    
    
  
  
  
  
  
  
  
  
  
  
  
 

2.2 BPELエンジンアクティビティのレイテンシ
リクエストブレークダウンの別の種類の測定値は、基礎となるシステムレベルのエンジンアクティビティのレイテンシです。これらのアクティビティは特定のBPELプロセスやプロセス中のアクティビティに直接関連しているわけではなく、全体的なBPELエンジンパフォーマンスに対する重要な要因です。これらのアクティビティには非同期リクエストをデータベースに保存する際のレイテンシやプロセスの出ハイドレーション時のレイテンシが含まれています。

友人のMalkit Bhasinが、自身のブログでBPELエンジンのアクティビティの統計情報を解釈する上で多くの情報を提供しようと現在作業中です。その情報が公開された時点でこのブログを更新する予定にしています。

(2012年10月2日)
Malkit BhasinがBPELサービスエンジンの統計情報に関する詳細分析を自身のブログで紹介しています。
Oracle BPEL Engine (SOA Suite) Diagnostics - Parsing low level request stats
http://malkit.blogspot.com/2012/09/oracle-bpel-engine-soa-suite.html

[Solaris, Linux, ZFS, Virtualization] March 14: Virtual Sysadmin Day for Asia/Pacific region

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

Oracle Technology Network(OTN)で"Sysadmin Days"という非常に人気のある一連のイベントを開催してきました。Sysadmin Daysとは、Oracle SOlarisやOracle Linux、Oracle VMのHands-onの詰め合わせロードショーです。このイベントは、特定の都市の人々にとって素晴らしいニュースでしたが、他の残りの都市では…。
とうとうそれが解決したのです!先月、同じ教材で、"Virtual Sysadmin Day"を企画したのですが。みんなの話によれば大成功だったようです。
OTN's First EVER Virtual Sysadmin Day - January 15th 9am to 1pm PST
https://blogs.oracle.com/otn/entry/otn_s_first_ever_virtual
Webの快適さから全ての参加者がHands-onを利用できただけでなく、イベント時にチャットが可能な仮想監督者がいたのです。
これまでのところは良いのですが、それでもインターネットや地理的な問題、タイムゾーンやその他もろもろの問題がありましたが、アジア太平洋地域にとって都合のいい時間帯に、3回目のVirtual Sysadmin Dayを開催することになりました。3月14日(木)の午前9時30分(インド)、正午(シンガポール)、午後3時(シドニー)から開催します。
(この時間帯は、23時にこのようなことをしたがるニューヨークの夜フクロウにとっても都合がいいでしょうね)
[訳注]
日本標準時だと、13時からの開催です。

以前開催したSysadmin Daysのように、これは無料のイベントですが登録が必要です。もう一つ、事前準備が必要です。是非今すぐ登録して、準備しておきましょう。詳細は登録サイトをどうぞ。
Oracle Virtual Sysadmin Day
2013年3月14日(木)9:30am (India) / 12noon (Singapore) / 1:00pm (Tokyo) / 3:00pm (Sydney)
登録はこちら

2013年2月23日

[Java] Java EE 7 Schema Namespace Moving to jcp.org

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

Java EE 7APIのスキーマの名前空間が、java.sun.comからおそらくより適したxmlns.jcp.orgに変わりつつあります。是非最新のJava EE 7のドラフトスキーマをチェックして下さい(ご認識されているとは思いますが、Java EE 7はまだ最終化されていませんので、現在進行中です)。
Java EE: XML Schemas for Java EE Deployment Descriptors
http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html
アップデートされたスキーマには以下のものが含まれています。
  • application_7.xsd
  • application-client_7.xsd
  • connector_1_7.xsd
  • ejb-jar_3_2.xsd
  • javaee_7.xsd
  • jsp_2_3.xsd
  • javaee_web_services_1_4.xsd
  • javaee_web_services_client_1_4.xsd
  • web-app_3_1.xsd
  • web-common_3_1.xsd
  • web-fragment_3_1.xsd
  • web-facelettaglibrary_2_2.xsd
  • web-facesconfig_2_2.xsd
独立コンサルタントで熱烈なJava EEファンであり、長きにわたりJCPエキスパートを務めるAntonio Goncalvesは変更に関してこう述べています。
"technically changing a namespace is not difficult, so this is not a major Java EE 7 technical update. But it's a symbol. For many years we were wondering what would happen to java.sun.com namespaces. Most of us thought it would be renamed to java.oracle.com. But no, it went back to where it originally belonged, to the JCP. Lately the JCP has moved towards greater transparency (i.e. JCP.next) and having the JCP namespaces strenghens this move."

「技術的に名前空間の変更は困難ではないので、これはJava EE 7の技術的なメジャーアップデートではありません。しかし象徴ではあります。長年にわたってjava.sun.comという名前空間がどうなるか疑問に思っていました。多くの者はjava.oracle.comに変更されるものと思っていたのです。でもそうではなく、JCPという、元の鞘に収まったのです。最近JCPは、JCP.nextのような活動により、透明性を向上させてきましたし、JCPという名前空間はこの動きを強化するものです。」
ご注意頂きたいのは、全てのAPIの名前空間がすぐにアップデートされるというわけではありません。いくつかのAPIはJava EE 7で変更されません。例えば、JAX-WSは変更されないでしょう。全ての古い名前空間は後方互換性のために維持されつづけるでしょう。
是非あなたの意見を聞かせて下さい。以下は関連する専門家グループの議論です。
[jsr342-experts] Java EE 7 schemas
http://java.net/projects/javaee-spec/lists/jsr342-experts/archive/2013-02/message/36

2013年2月22日

Embedded Oracle Event Processing makes Internet of Things a Reality

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

軽量かつ強力な複合イベント処理エンジンを世界のすべてのオブジェクトに装備している様子を想像してみてください。マシン同士が知的に会話できるという、人工知能の魅惑的な世界に近づくことでしょう。大量の様々なデータが高速に様々なソースから到着するというFast Dataを区別したり、抽出したり、関連づけたりする力を無生物が手に入れる、ということです。
Fast Data hits the Big Data fast lane (ZDNet)
www.zdnet.com/blog/big-data/fast-data-hits-the-big-data-fast-lane/309
ダイエットに役立つフォーク、紛失した際にメールを送信する旅行かばん、自走可能な車…これらの近未来的で実用的な感じのするプロジェクトは現実になりつつあります。Internet of Things(モノのインターネット)はSFの世界ではなく、現実のものになるのです。
5 fun and odd gadgets from CES (CNN)
http://edition.cnn.com/2013/01/07/tech/gaming-gadgets/5-cool-gadgets-ces
Internet of Things / M2M World of Connected Services (Beecham Research)
http://www.beechamresearch.com/article.aspx?id=4
Javaは軽量になりながらも、使いやすさは変わらない高性能な言語であるため、組み込み機器に適したプラットフォームとして急速に普及しています。Embedded Java上で動作するOracle Event Processingは、単なる想像の域を出なかったプロジェクトを現実のものになります。Connected WorldのためのM2Mプラットフォームの設計が現実味を帯びるのです。
Oracle Event Processingが貴社のM2M戦略を夢から現実にする方法…Mobile World Congressでお待ちしています。
Oracle's "Designing an M2M Platform for the Connected World" Report: Companies Extending the Use of M2M Data to Increase Opportunity and Intelligence Across the Enterprise
http://www.oracle.com/us/corporate/press/1870861
Oracle at Mobile World Congress 2013
http://www.oracle.com/webapps/events/ns/EventsDetail.jsp?p_eventId=149458

[Java] A Gentle Introduction to the JSF 2.2 Faces Flow

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

尊敬している友人のArun GuptaがJava EE 7の機能を非常に早くから皆様に伝えてくれています。その話の流れで、JSF 2.2 Faces Flowsに関する彼のエントリをご紹介します。


CDIを利用している多くの方がご存知のように、Java EE 6では会話スコープ(Conversation Scope)の概念が導入されました。会話スコープとは、ワークフロー指向のアプリケーション(例えば、マルチステップのウィザード)で、アプリケーションの状態をより詳細に制御するための非常にシンプル、軽量かつ強力な方法です。


JSF 2.2 Faces Flowは、ADF Task Flow、Spring Web FlowやApache MyFaces CODIにある、よく知られているワークフロー·モデリング時の関心事を標準化することによって、その概念を次のレベルに進めます。 JSF 2.2 Faces Flowは、タイプセーフやアノテーション、シンプル、流ちょうであることに注力したアイデアを組み合わせたものです。
彼のエントリで、Arunは基本的な概念を説明しており、機能やバックグラウンドを説明してから、APIや、機能デモの動画や参考情報のリンクを紹介しています。
JSF 2.2 Faces Flow - @FlowScoped, #{flowScope}, @FlowDefinition (TOTD #198)
https://blogs.oracle.com/arungupta/entry/jsf_2_2_faces_flow


[Java] Functional Interfaces

原文はこちら。
https://blogs.oracle.com/darcy/entry/functional_interfaces

Project Lambdaの一環で、JSR 335専門家グループとの議論の結果、FunctionalInterfaceアノテーションを追加することになりました。
Project Lambda
http://openjdk.java.net/projects/lambda/
Request for review: proposal for @FunctionalInterface checking
http://mail.openjdk.java.net/pipermail/lambda-libs-spec-experts/2012-December/000846.html
8005298 : Add FunctionalInterface type to the core libraries
http://bugs.sun.com/view_bug.do?bug_id=8005298
一次近似に対しては、関数型インターフェースは単一のメソッドのみを定義するインターフェースタイプなので、lambda式で利用できます。(genericsに関連する関数型インターフェースの定義にはトリッキーな部分があり、java.lang.Objectで定義されたconsiderationメソッドから除外することに関する詳細もあります)。新しいアノテーション型を使うと、ライブラリの設計者は、将来そのプロパティをtrueに保つという暗黙の約束と共に、ラムダ式で使用されるインターフェイスタイプを意味するプロパティを明確に示すことができます。しかしコンパイラを使えば、インターフェースが@FunctionalInterfaceアノテーションを持っているかどうかに関わらず、関数型インターフェースの構造的特性に適合する任意のインターフェイス型をラムダ式で使うことができます。

java.util.functionパッケージに追加されたこれらの型は、関数型インターフェースの設計によるものであり、初期の頃から@FunctionalInterfaceアノテーションをつけることができますが、多くの既存のJava SEにある型は関数型インターフェイスでもあるので、これらも同様に識別し、適切な注釈をつけたいと考えています。アノテーションをつける候補のインタフェースを見つけるため、JDK7でCloseableな候補を見つける方法を使い、コード上でannotation processorを実行しました。
Annotation Processor
https://blogs.oracle.com/darcy/resource/src/FunctionalFinder.java
Project Coin: Bringing it to a Close(able)
https://blogs.oracle.com/darcy/entry/project_coin_bring_close
JDK全体で非常に多くの候補が見つかりました。議論と検討を経て、コアのライブラリに対する変更を要求しました。
JDK 8 code review request for 8005298 Add FunctionalInterface type to the core libraries
http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-January/013449.html
ChangeSet (8005623: Retrofit FunctionalInterface annotations to core platform interfaces)
http://hg.openjdk.java.net/jdk8/tl/jdk/rev/522fb3867a3a
類似の議論は2D、AWT、Swingにおいても始まっています。
[OpenJDK 2D-Dev] 2D-related types that are candidates to be FunctionalInterfaces in JDK 8
http://mail.openjdk.java.net/pipermail/2d-dev/2013-February/003022.html
<AWT Dev> awt-related types that are candidates to be FunctionalInterfaces in JDK 8
http://mail.openjdk.java.net/pipermail/awt-dev/2013-February/004213.html
<Swing Dev> Swing and imageio-related types that are candidates to be FunctionalInterfaces in JDK 8
http://mail.openjdk.java.net/pipermail/swing-dev/2013-February/002535.html
@FunctionalInterfaceを既存の型に組み込む際のガイドですが、匿名クラスを使ってインスタンスを作成することが一般的な型の場合は、@FunctionalInterfaceでアノテーションする候補になり得ます。

[Java] NetBeans IDE 7.3 is out!

原文はこちら。
https://blogs.oracle.com/netbeanswebclient/entry/netbeans_7_3_is_out

Project Easelとして知られる新しいHTML5開発機能のサポートを引っさげて、NetBeans IDE 7.3が本日リリースされました。

このリリースのHTML5機能を知るなら、次の動画をご覧になるのがよいと思います。
HTML5開発機能の概要はNetBeans IDE Featuresのページでご覧頂けます。このページにはHTML5開発のチュートリアルへのリンクもあります。
NetBeans IDE Features
http://netbeans.org/features/html5/index.html
以下はチュートリアルです。
もしくは、とにかくNetBeans IDE 7.3をダウンロードして、試してみましょう。
NetBeans IDE 7.3 ダウンロード
http://netbeans.org/downloads/

2013年2月20日

[Java] Migrating from Java SE 6 to Java SE 7

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

なぜJava SE 6からJava SE 7へ移行しなければならないのか?

もっとも明確な理由は、Java 7で導入した新機能や機能改善を使っていただける、ということです。
これらの変更は皆様のアプリケーションコードを少々変更しなければならない場合がありますが、こうした変更はパフォーマンスや品質、可読性の観点で非常に価値があるものです。詳細は以下のドキュメントをどうぞ。
Java SE 7 Documentation
JDK 7 Adoption Guide
http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/index.html
もう一つの重要な理由として、Oracle JDK 6のパブリックアップデートが終わったというものです。2013年2月以後、JDK 6のアップデートはパブリックにはご利用いただけなくなります。そして古いJDK 6はJava Archiveに移動されます。
Oracle Java Archive
http://www.oracle.com/technetwork/java/archive-139210.html
Javaの古いバージョンを使うのはおすすめできませんので、ちょうど今がJava 7へ移行するタイミングと考えます。パブリックアップデートの終了に関する詳細情報は、以下のリンクをご覧ください。
Java SE End of Life Policy
http://www.oracle.com/technetwork/java/eol-135779.html
アプリケーションの移行が困難で引き続きOracle JDK 6のアップデートをご所望であれば、OracleはJava SE Supportプログラムを通じて長期サポートをご提供しています。
Oracle Java SE Support
http://www.oracle.com/us/technologies/java/standard-edition/support/overview/index.html
[訳注]
Java SE AdvancedもしくはJava SE Suiteのことです。
http://www.oracle.com/jp/technologies/java/standard-edition/advanced-suite/overview/index.html

で、どうすればいいの?

Option 1 – “ただ実行するだけ”

Javaは後方互換性を有しています。つまりプログラムがJava SE 6でコンパイルされJava SE 6で動作していた場合、Java Se 7 JVMでも動作するであろう、ということです。Java SE 7はJavaプラットフォームの過去のバージョンとの互換性がありますので、大抵の既存のプログラムはJava SE 7上で修正の必要なく動作するはずです。ただし、まれな状況で少々JREとJDKに互換性のない箇所がありますが、そのような箇所は以下のドキュメントに記載されています。
Incompatibilities between Java SE 7 and Java SE 6
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities.

Option 2 – ソースコードを修正して再コンパイル

Java SE 7で導入された新機能のほとんどはJavaのコードレベルでの改善ですので、その恩恵を受けるためには、あなたの古いソースコードをアップデートする、もしくは新しく書いたコードで新機能を使い、Java SE 7用にコードをコンパイルする必要があります。
Netbeans IDEは新機能の利用が可能な場所をコードから見つける手助けをしてくれます。詳細は以下のリンクをご覧ください。他の主要なIDEでも同様の機能を持っています。
Refactoring with Inspect and Transform in the NetBeans IDE Java Editor
Convert to JDK 7
http://netbeans.org/kb/docs/java/editor-inspect-transform.html#convert
APIの中には"deprecated"(廃止予定)とマークされているものがあります。これらは別のAPIに書き換えることが推奨されています。廃止予定のAPIは以下のリンクから確認できます。
Deprecated API List (Java Platform SE 7)
http://docs.oracle.com/javase/7/docs/api/deprecated-list.html
また、sun.* パッケージのAPIにも変更がありました。これらのAPIは、これまでもAPI内での利用のみを意図していたため、利用にあたっては「自己責任」ということになっています。
Why Developers Should Not Write Programs That Call 'sun' Packages
http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
これらのパッケージを利用している場合は、速やかに代替手段を見つけていただくことを強く推奨します。

[Java] Updates to February Critical Patch Update for Java SE

原文はこちら。
https://blogs.oracle.com/java/entry/scheduled_critical_patch_update_for

OracleはUpdates to February 2013 Critical Patch Update for Java SEをリリースしました。このアップデートには追加のセキュリティ脆弱性に対する修正が含まれています。お客様がこのCPU(Critical Patch Updates)を速やかに適用されることをOracleは推奨します。詳細は、Oracle Software Security Assurance Blogのエントリをご覧下さい。
Updated Release of the February 2013 Oracle Java SE Critical Patch Update
http://www.oracle.com/technetwork/topics/security/javacpufeb2013update-1905892.htmlUpdates to February 2013 Critical Patch Update for Java SE
https://blogs.oracle.com/security/entry/updates_to_february_2013_critical
本日リリースしたものは以下の2点です。
JRE 6の自動更新および手動更新はJRE7に変わります。
Oracle Java SE Support Roadmap
http://www.oracle.com/technetwork/java/eol-135779.html
JRE 6のパブリックアップデートが終了したのに伴い、Oracleはお客様のデスクトップを保護するための措置を取っています。Oracleはもはやセキュリティアップデートが提供されないインストール済みのJavaを放置する予定はありません。
その目的のため、JRE 6からのアップデートに際し、アップデートツールは最新のJRE 7をインストールするだけでなく、JRE 6の最新バージョンをシステムから削除する予定です。システムが自動更新ツールもしくはJavaコントロールパネルから直接更新をチェックする場合にこの変更が実際に機能します。詳細はJava SE 7 Update 15のリリースノートをご覧下さい。
いつも通り、お客様はJava Runtime Environment(JRE)をjava.comから入手できます。開発者のみなさんはJava Development Kit(JDK)とJava Runtime Environment(JRE)をOracle Technology Networkから入手できます。
java.com
http://java.com/
Java SE Downloads (Oracle Technology Network)
http://www.oracle.com/technetwork/java/javase/downloads/index.html

2013年2月19日

[Java] Java EE 7 Maven Repository Coordinates

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

Mavenを使ってJava EEの開発をしている者(以前コンサルタントとしてかなりJava EE/GlassFishを使っていました)にとって、Java EE APIのリポジトリの場所の入手は非常に重要なことです。実は調査や早期評価の取り組みを支援するため、ほとんどのJava EE7 APIをMaven経由で利用できる状態にあります。

GlassFish wikiでは、Java EE 7、Java EE concurrency、JPA2.1、JAX-RS 2、Servlet 3.1、EL 3.0、JMS 2、JSF 2.2、CDI 1.1、Bean Validation 1,1、JBatch、JSON-P、WebSocketなどのAPIリポジトリとMavenとの連係について説明しています。
Java EE 7 Maven Coordinates(GlassFish Wiki)
https://wikis.oracle.com/display/GlassFish/Java+EE+7+Maven+Coordinates
かなり簡単に利用できるはずです。Mavenをセットアップする手助けが必要であればお知らせ下さい。

[SOA/BPM, WLS] Changing Memory Settings and JVM to JRockit for SOA Suite

原文はこちら。
https://blogs.oracle.com/middleware/entry/changing_memory_settings_and_jvm

メモリ設定の増加、減少、Sun HotSpotとJRockitの入れ替えに関する設定についていろいろなブログで紹介されています。このエントリでは、この手のリファレンスはよくありますが、あまりブログにまとめられていない、以下の観点ででまとめてみよう、と思います。
  • メモリ設定の変更
  • JVMプロバイダの置き換え
  • ノードマネージャのサポート
startWebLogic.sh/cmdから実行する場合のメモリ設定の変更を記載したエントリは数多くあります。このエントリはstartWebLogic.sh/cmdから実行する場合にも有効ではありますが、ノードマネージャから起動する場合について説明したいと思います。
このエントリでは、Startup Scripts for Weblogic and SOA Suiteというエントリで作成したスクリプトを利用することにします。
Startup Scripts for Weblogic and SOA Suite (Fusion Middleware Blog)
https://blogs.oracle.com/middleware/entry/startup_scripts_for_weblogic_and_soa_suite
まず、JVMのメモリ設定を変更しましょう。これはsetSOADomainEnv.sh/cmdスクリプトで実施します。
バックアップをとってから、変更のためにファイルを開きましょう。
<MW_Home>/user_projects/domains/soa_domain/bin/setSOADomainEnv.sh
以下の行を探します。
DEFAULT_MEM_ARGS="-Xms512m  -Xmx1024m"
PORT_MEM_ARGS="-Xms768m -Xmx1536m"
これらの行をコメントアウトして、以下の行を直後に入れていきます。
#DEFAULT_MEM_ARGS="-Xms512m  -Xmx1024m"
#PORT_MEM_ARGS="-Xms768m -Xmx1536m"

if [ "${SERVER_NAME}" =  "" ] || [ "${SERVER_NAME}" = "soa_server1" ]; then
DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms2048m  -Xmx2048m"
elif [ "${SERVER_NAME}" = "" ] || [ "${SERVER_NAME}" =  "AdminServer" ]; then
DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms768m -Xmx768m"
elif [ "${SERVER_NAME}" = "" ] || [  "${SERVER_NAME}" = "bam_server1" ]; then
DEFAULT_MEM_ARGS="-Xms512m  -Xmx1024m"
PORT_MEM_ARGS="-Xms768m -Xmx768m"
elif [ "${SERVER_NAME}" =  "" ] || [ "${SERVER_NAME}" = "osb_server1" ]; then
DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
PORT_MEM_ARGS="-Xms768m  -Xmx768m"
else
DEFAULT_MEM_ARGS="-Xms768m -Xmx768m"
PORT_MEM_ARGS="-Xms768m -Xmx768m"
fi
環境次第では、JRockit Homeを追加しなければならない場合があります。この場合はsetDomainEnv.sh/cmdに対して設定します。同じようにバックアップをとってから、以下のファイルを開きましょう。
<MW_Home>/user_projects/domains/soa_domain/bin/setDomainEnv.sh
BEA_JAVA_HOMEの値を確認し、JRockitのインストール先を向いていることを確認しましょう。
BEA_JAVA_HOME="/u01/jrockit/jrockit-jdk1.6.0_37-R28.2.5-4.1.0"
export  BEA_JAVA_HOME 
ノードマネージャからSOA環境を起動しているので、ノードマネージャプロパティファイルを変更する必要があります。
<MW_Home>/wlserver_10.3/common/nodemanager/nodemanager.properties
StartScriptEnabledtrueに設定していることを確認しましょう。
StartScriptEnabled=true
JRockitで起動する場合には、JAVA_HOMEも変更する必要があります。
#javaHome=/u01/java/jdk1.6.0_38
javaHome=/u01/jrockit/jrockit-jdk1.6.0_37-R28.2.5-4.1.0
#JavaHome=/u01/java/jdk1.6.0_38/jre
JavaHome=/u01/jrockit/jrockit-jdk1.6.0_37-R28.2.5-4.1.0/jre
最後にcommEnv.sh/cmdファイルのJAVA_HOMEを変更しましょう。
<WL_Home>/common/bin/commEnv.sh
古いJAVA_ HOMEとJAVA_VENDORをコメントアウトし、JRockitを使うように設定しましょう。つまり、
if [ -z "${JAVA_HOME}" -o -z  "${JAVA_VENDOR}" ]; then
# Set up JAVA HOME
JAVA_HOME="/u01/java/jdk1.6.0_38"
# Set up JAVA VENDOR, possible values  are
#Oracle, HP, IBM, Sun ...
JAVA_VENDOR=Sun
# PRODUCTION_MODE,  default to the development mode
PRODUCTION_MODE=""
fi
を、以下のように変更します。
if [ -z "${JAVA_HOME}" -o -z  "${JAVA_VENDOR}" ]; then
# Set up JAVA HOME
#JAVA_HOME="/u01/java/jdk1.6.0_38"
JAVA_HOME="/u01/jrockit/jrockit-jdk1.6.0_37-R28.2.5-4.1.0"
# Set up JAVA  VENDOR, possible values are
#Oracle, HP, IBM, Sun ...
#JAVA_VENDOR=Sun
JAVA_VENDOR=Oracle
# PRODUCTION_MODE, default to the  development mode
PRODUCTION_MODE=""
fi
これで環境立ち上げの準備ができました。すべてのサーバーがJRockitで立ち上がりますので、以下のコマンドを実行して確認しましょう。
ps -ef | grep soa_server1
クラスパス中にJRockitが入っているはずです。

[WLS, FMW] Resolving conflicts with Classloaders - Example with Hibernate/Antlr

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

Hibernateを使ったアプリケーションをWebLogic Server 9.2.x以後に載せ替えた際に、以下のような例外が発生することがあります。
EXCEPTION STACK TRACE: org.hibernate.QueryException: aggregate function expected before ( in SELECT [select distinct c, (select count(*) from ...
旧環境では同じクエリが正しく動作していたのですが…まず、クエリに構文上の問題があるようにも思えますが、この問題は実際のところ、Parserクライアントが衝突していることが原因で発生しています。解決策は、weblogic-application.xml(application.xmlに対するWebLogic Server固有のデプロイメントディスクリプタ拡張)中でprefer-application-packagesを利用し、どのパッケージをアプリケーションからロードし、システムのクラスローダーからロードしないかを定義する、というものです。
Oracle® Fusion Middleware Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発 12c リリース1 (12.1.1)
weblogic.xmlデプロイメント記述子の要素
prefer-application-packages
http://docs.oracle.com/cd/E28613_01/web.1211/b65890/weblogic_xml.htm#WBAPP660
Oracle® Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server 12c Release 1 (12.1.1)
weblogic.xml Deployment Descriptor Elements
prefer-application-packages
http://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm#WBAPP660
Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーションの開発 12c リリース1 (12.1.1)
WebLogic Serverアプリケーションのクラスローディングについて
FilteringClassLoaderの構成
http://docs.oracle.com/cd/E28613_01/web.1211/b65893/classloading.htm#WLPRG315
Oracle® Fusion Middleware Developing Applications for Oracle WebLogic Server 12c Release 1 (12.1.1)
Understanding WebLogic Server Application Classloading
Configuring a FilteringClassLoader
http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG315
例えば…
<prefer-application-packages>
    <package-name>antlr.*</package-name>
</prefer-application-packages>
の場合、適切なAntlr(Javaベースのコンパイラジェネレータクライアント)のバージョンをアプリケーション内(WEB-INF/lib内)で利用可能にしています。このパーサーはHibernateで利用していたものです。なお、WEB-INFに存在するクラスをシステムのクラスローダーに優先してロードするため、prefer-web-inf-classesを必ずweblogic.xmlにtrue(デフォルト値はfalse)に設定しておく必要があります。
Oracle® Fusion Middleware Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発 12c リリース1 (12.1.1)
weblogic.xmlデプロイメント記述子の要素
prefer-web-inf-classes
http://docs.oracle.com/cd/E28613_01/web.1211/b65890/weblogic_xml.htm#WBAPP659
Oracle® Fusion Middleware Developing Web Applications, Servlets, and JSPs for Oracle WebLogic Server 12c Release 1 (12.1.1)
weblogic.xml Deployment Descriptor Elements
prefer-web-inf-classes
http://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm#WBAPP659
WebLogic Server 10.3.xはantlr 2.7.7(built on Mon Jun 11 12:19:48 EDT 2007  ImplVersion: 2.7.7)を同梱しています。
WebLogic Server 12c (12.1.1)はantlr 2.7.7.0(built on Fri Nov 4 19:42:39 EDT 2011  ImplVersion: 2.7.7.0)を同梱しています。全てのパッケージバージョンは<Oracle_Home>/modulesから確認できます。もしくは、以下のコマンドを実行しても確認できます。
java weblogic.utils.Versions
クラスローダーのフィルタリング設定にあたっては、Classloader Analysis Tool(CAT)もお役に立つかと思います。
Oracle® Fusion Middleware Oracle WebLogic Serverアプリケーションの開発 12c リリース1 (12.1.1)
WebLogic Serverアプリケーションのクラスローディングについて
クラスローダー分析ツール(CAT)の使用
http://docs.oracle.com/cd/E28613_01/web.1211/b65893/classloading.htm#BABHJGJJ
Oracle® Fusion Middleware Developing Applications for Oracle WebLogic Server 12c Release 1 (12.1.1)
Understanding WebLogic Server Application Classloading
Using the Classloader Analysis Tool (CAT)
http://docs.oracle.com/cd/E24329_01/web.1211/e24368/classloading.htm#WLPRG495

2013年2月15日

[EM] New additions to Oracle Enterprise Manager Extensibility Exchange

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

Extensibility Exchangeに関連する豆記事をご紹介しましょう。
Extensibility Exchange
http://www.oracle.com/goto/emextensibility
  • VMware vSphere Plug-inBlue Medora(プレスリリースはこちら)が発表したところによると、Feature Pack 1(FP1)として、改良されたユーザーインターフェース、自動検出および標準機能で備える専門家の勧告を含んだ機能がリリースされました。限定期間無料でご利用いただけます。詳細は以下のリンクからどうぞ。
    EM Plug-in for VMware
    http://bluemedora.com/em-plugin-vmware-vsphere
  • Microsoft SCOM 2012 ConnectorMicrosoft System Center Operations Manager 2012 (SCOM 2012)用のEvent Connectorが利用いただけます。このコネクタを使うと、Enterprise ManagerのイベントをMicrosoft SCOM 2012と共有できます。
  • HP Service Manager 9 ConnectorHelpdesk Connector for HP Service Manager 9がご利用いただけます。このコネクタは、Enterprise Managerのインシデント管理機能をHP Service Managerのヘルプデスク機能と連係し、シームレスなインシデント管理・分析ワークフローを提供します。
  • Oracle Cloud Services Plug-inEnterprise Managerにクラウドサービス(例えばOracle Java Cloud Serviceなど)の管理機能を追加します。
  • Application Management Suite for PeopleSoft Plug-inPeoplesoftアプリケーションをプロアクティブに監視し、問題を迅速に解決します。
  • Amazon Web Services (AWS) Plug-inAmazon Elastic Block Store (EBS)やElastic Computing Cloud (EC2)、Relational Database Service (RDS)を監視するためのプラグインです。
    プラグインやコネクタの情報やアクセス情報などの詳細はExtensibility Exchangeからどうぞ。

    システムインテグレータおよび販売パートナーの皆様、是非以下のリンクの動画をご覧下さい。Exchangeはただのプラグインやコネクタだけではなく、みなさまの実績をも紹介するためのもの、ということがわかっていただけると思います。

    [Virtualization] Oracle VM Certified by SAP

    原文はこちら。
    https://blogs.oracle.com/virtualization/entry/oracle_vm_certified_by_sap

    Oracle VMはSAP社のERPシステムをお使いの方に対し、Oracle Database向けの完全にサポートされ動作検証済みの仮想化環境をご提供します。詳細は、SAP Community Network (SCN) のSAP on Oracleをご覧下さい。
    SAP on Oracle
    http://scn.sap.com/community/oracle
    SAP社のアプリケーションをお使いのお客様であれば、SAP Note 1808268で検索頂くと、詳細をご覧いただけます。

    [訳注]
    x86_64プラットフォームでの仮想化環境として、Oracle VM 3.2.1がSAP社によって動作保証され、Oracle LinuxもしくはSolarisをゲストOSとするVM上にSAP社のアプリケーションを展開できる、ということです。

    2013年2月14日

    [Java] JavaFX Open Source Update!

    原文はこちら。
    https://blogs.oracle.com/java/entry/javafx_open_source_update

    OracleはJavaアプリケーションのリッチクライアントプラットフォームであるJavaFXをオープンソース化に着手していますが、オープンソース化されたプロジェクトのリストに、この数週間のうちにさらに7個のプロジェクトが追加される予定です。「数ヶ月後にはiOSやAndroid実装をオープンソース化する予定だ」とJavaFXプラットフォームのアーキテクトえあるRichard Bairが自身のブログで述べています。
    February Open Source Update (FX Experience)
    http://fxexperience.com/2013/02/february-open-source-update/.
    [訳注]
    上記エントリによると、2013年2月11日現在、以下のプロジェクトがオープンソース化されているようですね。(下表の出典は上記エントリ)
    プロジェクト名 リリース日 説明
    apps/ConferenceScheduleApp 2012/10/22 Conference schedule application shown at JavaOne 2012
    apps/Modena 2012/11/27 Experimental application as a playground for prototyping a new look and feel for JavaFX
    apps/ModenaTest 2013/1/23 Simple test app for Modena
    decora-compiler 2012/11/6 Build-time tool for compiling .jsl files into fragment shaders
    decora-d3d 2013/2/7 D3D specific decora implementation
    decora-es2 2013/2/7 OpenGL ES 2.0 specific decora implementation
    decora-jsw 2013/2/7 Java2D Software decora implementation
    decora-prism 2013/2/7 Prism-based base classes for implementations of decora
    decora-prism-ps 2013/2/7 Pixel shader / prism based implementation of decora
    decora-prism-sw 2013/2/7 Software / prism based implementation of decora
    decora-sse 2013/2/7 Native SSE implementation of decora (java half)
    decora-sse-native 2013/2/7 Native SSE implementation of decora (native half)
    deploy 2012/12/18 JavaFXPackager and launcher deployment tools
    javafx-anim 2012/12/18 Animation APIs and implementation
    javafx-annotation-processor 2012/12/18 Builder-generator annotation processor (build-time only)
    javafx-beans 2013/2/5 Beans, Properties, and Collections
    javafx-beans-dt 2011/12/12 Design-time API for Beans (not shipped yet, but used by SceneBuilder)
    javafx-common 2012/12/18 APIs common to all of FX (events and utils)
    javafx-concurrent 2011/12/23 Worker, Task, Service, and related concurrency APIs
    javafx-designtime 2011/12/12 Design time implementations (not shipped)
    javafx-embed-swing 2013/2/4 Swing embedding APIs
    javafx-embed-swt 2013/2/4 SWT embedding APIs
    javafx-fxml 2012/9/20 FXML API and implementation
    javafx-geom 2012/12/18 Internal geometry classes used by prism
    javafx-logging 2012/12/18 Internal logging helper
    javafx-sg-common 2012/12/18 Internal interfaces for scene graph peers
    javafx-sg-prism 2012/12/18 Prism scene graph peers
    javafx-ui-charts 2012/2/23 Charting APIs
    javafx-ui-controls 2011/11/10 UI Control APIs
    javafx-util-converter 2011/12/29 String converter APIs
    pisces 2012/12/18 2D software rasterizer
    test-stub-toolkit 2011/12/23 Stubs for testing
    tests/bigapps 2012/2/10 Start of a big-apps test based on Ensemble
    tests/functional/SceneGraphTests 2012/12/17 Functional tests for the Scene Graph
    tests/tools 2012/2/3 JemmyFX for functional testing of JavaFX apps

    [Database] Oracle Database Appliance Performance White Paper Released

    原文はこちら。
    https://blogs.oracle.com/ODA/entry/oracle_database_appliance_performance_white

    「Evaluating and Comparing Oracle Database Appliance Performance」と題した新しいホワイトペーパーを先ほどリリースしました。このホワイトペーパーでは、OLTPおよびDSS(意思決定支援システム)のワークロードの両方でOracle Database Applianceのパフォーマンスを評価し、同じワークロードをローカル環境で実行する場合と性能を比較する、というプロセスを概説しています。このホワイトペーパーでは、Swingbenchののオーダーエントリー(OLTP)と売上履歴(DSS)のワークロードを使用してテストを実施しました。すでに文書化された結果を確認したり、貴社環境でSwingbenchを実行して逆PoC(コンセプト実証)をしたりして、簡単に相対的に性能を比較することができます。

    このホワイトペーパーを書いている間に実施したテストで、Oracle Database Applianceは、OLTPワークロードでは(1秒未満の応答時間を維持しながら)最大1万人のSwingbenchユーザーをサポートし、DSSワークロードでは、2400MB/sec以上のスループットを達成しました。どちらもすばらしい結果ですね。このホワイトペーパーでは、(Pay-as-you-grow機能に関連する)様々なCPUコア構成でのテスト結果を表形式でご紹介しています。

    このホワイトペーパーでは高性能をたたき出すための標準的な構成に対するちょっとしたコツもご紹介しています。是非ご一読下さい。
    Evaluating and Comparing Oracle Database Appliance Performance
    http://www.oracle.com/technetwork/server-storage/engineered-systems/database-appliance/documentation/oda-eval-comparing-performance-1895230.pdf

    2013年2月13日

    [ZFSSA, Database] SnapManager for Oracle DB for ZFSSA is out and ready

    原文はこちら。
    https://blogs.oracle.com/7000tips/entry/snapmanager_for_oracle_db_for

    数週間前、OracleはOracle Database SnapManager Software for ZFSSAを発表しました。
    Oracle Introduces Oracle Snap Management Utility for Oracle Database
    http://www.oracle.com/us/corporate/press/1904809
    Oracle Snap Management Utility for Oracle Database (White Paper)
    http://www.oracle.com/us/products/servers-storage/storage/nas/smu-bus-wp-final-1857065.pdf
    これはライセンスのクローンやレプリケーションをするもので、ZFSSAコントローラ一つあたりに一度だけ、Yes/No、On/Offします。もっとよいことに、ソフトウェアを使って30日間無料試用できます。以下のリンクで是非試してください。

    Oracle Snap Management Utility for Oracle Database Softwareをダウンロードするには…
    1. ライセンスご購入のお客様はソフトウェアをeDeliveryからダウンロードいただく必要があります(以下の手順をご覧ください)
    2. 購入前に30日間試用したいお客様も同サイトからダウンロードいただくことができますが、ライセンス許諾は30日の評価期間に限定されています。以下の手順に従ってください。
    ソフトウェアのダウンロード方法
    1. eDeliveryへ移動します
      https://edelivery.oracle.com/EPD/Search/handle_go
    2. ログインします
    3. Terms and Restrictions(条項および規制)を承諾します
    4. メディア・パック検索で、
      1. 製品パックは「Sun Products」を選択
      2. プラットフォームは「Generic Platform」を選択
      3. 「実行」をクリック
    5. 結果から"Oracle Snap Management Utility for Oracle Database"を選択し、続行
    6. ダウンロードファイルは2個あります
    7. "Oracle Snap Management Utility for Oracle Database, Client v 1.1.0"が必要です
    8. "Sun ZFS Storage Software 2011.1.5.0"はZFS Storageの最新版です
    アプライアンスソフトウェアは、ソフトウェアをアップグレードする必要があるお客様向けに提供されています。

    [EM] New Enterprise Manager 12c Connectors

    原文はこちら(チェコ語)
    https://blogs.oracle.com/dbcz/entry/new_enterprise_manager_12c_connectors

    Oracle Enterprise Manager 12cの3rdパーティー製品接続コネクタが新たに追加されています。
    • Microsoft SCOM 2012 Connector (Microsoft System Center Operations Manager 2012)
      Microsoft SCOM 2012用イベントコネクタを使うと、Enterprise ManagerとMicrosoft SCOM 2012との間でイベントを共有することができます。
    • HP Service Manager 9 Connector
      HP Service Manager 9コネクタは、Enterprise Manager Incident ManagementとHP Service Managerを統合し、シームレスにインシデント管理および解析のワークフローを構成することができます。
    コネクタやEnterprise Managerへの拡張に関する情報をお探しの方は、以下のリンクからどうぞ。こちらのリンクではプラグインやコネクタ、ベストプラクティスまで揃っています。
    Oracle Enterprise Manager Extensibility Exchange
    http://apex.oracle.com/pls/apex/f?p=34841:9

    [Java] Last Java EE 6 Tutorial Update and Second Volume Published

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

    公式Java EE 6チュートリアルは多くの方が既にご存知のことと思います。Java EEを学ぶための基調なリソースであり、しかも無料!
    The Java EE 6 Tutorial
    http://docs.oracle.com/javaee/6/tutorial/doc/
    先頃、Java EE 6チュートリアルがアップデートされました。このアップデート(version 6.0.8)がJava EE 6向けの最後のリリースで、チームは今後Java EE 7に注力していきます。アップデートされたチュートリアルはすでにJava EE SDK Update Centerからご利用頂けるようになっています。
    Java EE 6チュートリアルドキュメントには以下のような改善が施されています。
    • Webアプリケーションの保護に関する新しい情報
    • Contexts and Dependency Injection for Java(CDI)を利用してマテリアルを改訂
    • JPAのサンプルアプリケーション向けのデータベーススキーマ図を更新
    • 小さなバグ修正ならびに改善
    Java EE 6チュートリアルのサンプルアプリケーションには次のような改善をしています。
    • 顧客JAX-RSサンプルの新機能
    • Duke's Forest、Duke's Bookstoreのケーススタディサンプルアプリケーションで国際化のサポート
    • 小さなバグ修正ならびに改善
    さらに、Java EE 6チュートリアルブックのvol.2が発行されました。「The Java EE 6 Tutorial: Advanced Topics」と題した書籍がペーパーバック、Nook、Kindle形式でご利用頂けます。
    この本はvol.1である「The Java EE 6 Tutorial: Basic Concepts」で導入されたコンセプトを元に構成されています。JMSやInterceptorsを紹介しつつ、JSF、Servlet、JAX-RS、EJB、JPA、Bean Validation、CDI、エンタープライズアプリケーションセキュリティの詳細機能を説明しています。この本は複数のJava EE 6 APIの使用方法を説明する3個の新しいケーススタディアプリケーションで完結しています。

    2013年2月9日

    [Solaris] Oracle Solaris 10 1/13 Available Now!

    原文はこちら。
    https://blogs.oracle.com/gman/entry/oracle_solaris_10_1_13

    本日、最新のOracle Solaris 10のアップデートである、Oracle Solaris 10 1/13がリリースされました。
    Oracle Solaris 10
    http://www.oracle.com/technetwork/server-storage/solaris10/overview/index.html
    最初の発表からおよそ8年たち、Oracle Solaris 10はますます強力になってきました。大幅に近代化された技術を備えた新機能(Solaris 11)ではデータセンターでの作業を容易にしながらも、非常に多くのお客様がOracle Solaris 10でビジネスをされてらっしゃいますので、このリリースでクラス最高のお客様の投資を保護する機能やサービスを提供しています。最高レベルのOracleからのサポートや、物理環境から仮想環境、および仮想環境から仮想環境への移行ツールを使い、最新のSPARC/x86ベースのシステムへのレガシー·アプリケーション環境を簡単に統合できますので、お客様のこれまでのアプリケーション環境への投資を守ります。Oracle Solaris 10 1/13の新機能をチェックし、今すぐダウンロードして下さい。
    Oracle Solaris 10 1/13
    http://www.oracle.com/technetwork/server-storage/solaris10/overview/solaris-latest-version-170418.html
    Oracle Solaris 10 Downloads
    http://www.oracle.com/technetwork/server-storage/solaris10/downloads/index.html
    Oracle Solaris 10のOracle Premier Supportの期限は2018年までです。その後この製品は、Oracle Lifetime Support Policyに従い、Oracleの標準的な3年のExtended Support、無期限のSustaining Supportに移行します。
    Oracle Lifetime Support Policy: Oracle and Sun System Software
    http://www.oracle.com/us/support/library/lifetime-support-hardware-301321.pdf
    個人的には、Oracle Technology NetworkのOracle Solaris 10のページを刷新し、Oracle Solaris 11でやっていることと調和するようにやってきました。少し整理して、あなたがほしいものをより簡単に探し出し、たどり着くようにしました。是非フィードバックをお願いします。

    [Applications, Exa*] Oracle Policy Automation Performance White Papers Available

    原文はこちら。
    https://blogs.oracle.com/tax/entry/oracle_policy_automation_performance_white

    これまで、ETPM(Enterprise Taxation and Policy Management)の性能メトリックにご興味がある方はETPM 2.3.1のベンチマークをご覧になっていたことでしょう。
    Oracle ETPM v2.3.1 Examachine Performance Benchmark Data Sheet
    https://blogs.oracle.com/tax/entry/oracle_etpm_v2_3_1
    Oracle Policy Automationも利用している実装の場合、以下の2個のOPAの性能に関するホワイトペーパーもよいかもしれません。
    前者では、企業向けポリシー自動化ソリューションでスループット、拡張性、可用性を最大化する仕組みを説明しています。後者ではOracle Policy AutomationをOracle ExadataとOracle ExalogicというEngineered System上で実行した際の性能例をご紹介しています。

    2013年2月7日

    [Java] JavaOne 2012 Videos Posted on OracleLearning YouTube Channel

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


    2012年のJavaOneを見逃した方向けに、セッション資料やBoFイベント、チュートリアルを含むセッションの多くをYouTubeからご覧いただけます。OracleLearningのYouTubeチャネルからどうぞ。
    Oracle Learning (YouTube)
    http://www.youtube.com/user/OracleLearning/videos?view=1&flow=grid
    全7トラックのプレイリストにセッション動画がおさめられていており、450本以上のJavaOneの動画をご覧いただけます。

    [Coherence] Open Sourcing the Coherence Incubator

    原文はこちら。
    https://blogs.oracle.com/OracleCoherence/entry/incubator_goes_opensource


    一年間でOracle Coherence Incubatorプロジェクト界隈で数多くの変更がありました。多くのお客様、パートナー、現場の専門家と相談し、Coherence Incubatorプロジェクトをオープンソースにすることを決定しました。リリース11現在、すべてのソースコードおよびドキュメントが正式にCDDLの下でライセンスされ、Incubatorプロジェクトにさらなるオープン性をもたらしています。
    Coherence Incubator (Release 10)
    http://coherence.oracle.com/display/INC10/Home
    Coherence Incubator 11
    http://coherence-community.github.com/coherence-incubator/11.0.0-SNAPSHOT/
    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
    https://oss.oracle.com/licenses/CDDL
    この変更をサポートするために、以下のような数多くのインフラ面での変更も必要でした。
    (Brian Oliverが彼のブログで言っているように)maven.java.netでご利用いただけるリリースを使ってプロジェクト全体がMavenizedされました。
    Coherence Incubator 11 (coming to an open-source repository near you soon…) (Brian Oliver)
    http://brianoliver.wordpress.com/2013/02/03/coherence-incubator-11-coming-to-an-open-source-repository-near-you-soon/
    maven.java.net
    http://maven.java.net
    この動きに非常にわくわくしています。Oracle Coherenceコミュニティがさらに広がることを期待しています。

    2013年2月6日

    [Database] The Best MySQL Release Ever - MySQL 5.6 is now GA

    原文はこちら。
    https://blogs.oracle.com/MySQL/entry/the_best_mysql_release_ever

    MySQL 5.6がリリースされました。プレスリリースは以下のリンクからどうぞ。
    Oracle Announces General Availability of MySQL 5.6
    http://www.oracle.com/us/corporate/press/1904335
    パフォーマンス、スケーラビリティ、および可用性に関わる新機能や機能強化がぎっしり詰まっているMySQL 5.6は、今までにない最高のMySQLのリリースです。MySQL 5.6の主要な機能強化については、Rob Youngのブログ記事をご覧下さい。
    MySQL 5.6: What's New in Performance, Scalability, Availability https://blogs.oracle.com/MySQL/entry/mysql_5_6_is_a
    これが、オープンソースのいいところです。

    すばらしい製品をリリースしたMySQLエンジニアリングチーム、さらにもう一度MySQLコミュニティやMySQLユーザーのみなさん、おめでとうございます!

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

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

    待望のOracle Database Appliance Manager 2.5がMy Oracle Supportからご利用頂けるようになりました。このリリースには仮想化プラットフォームオプションも含まれています。
    この新リリースの概要は以下の通りです。
    • 仮想化プラットフォームオプション(Virtualized Platform Option)
      • Oracle VM 3.1.1
      • 仮想環境のイメージとテンプレートファイルをMy Oracle Supportから利用できます
    • 11.2.0.8 PSU / updates
    • ASR External Server オプション
    • oak VM management
    入手方法
    My Oracle Supportにログインし、[パッチと更新版]をクリックします。[製品またはファミリ(拡張)]で製品名に「Oracle Database Appliance」、リリースに「Oracle Appliance Kit 2.5.0.0.0」と指定すると全てのパッチが表示されます。
    Oracle Database Applianceのドキュメント(Getting Started Guide)やポスターは以下の仮想化プラットフォームデプロイメントが加わって新しくなりました。
    Oracle Database Appliance Documentation Release 2
    http://download.oracle.com/docs/cd/E22693_01/index.htm
    金曜のSohanと共に2.5リリースに関するWebcastの録画やプレゼンテーション資料(PDF形式)は以下のリンクからご利用頂けます。
    The Virtualized Oracle Database Appliance Overview
    (Webcast)http://oukc.oracle.com/static12/opn/login/?t=checkusercookies|r=-1|c=1293021903
    (PDF)http://www.oracle.com/partners/secure/engage-with-oracle/oracle-db-appliance-virtualized-1902600.pdf

    2013年2月5日

    [EM] Network Ports Used in Oracle Enterprise Manager 12c

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

    When planning and configuring your Oracle Enterprise Manager 12cの計画および構成時にインフラストラクチャ面で検討すべきことがたくさんあります。最もよく議論になるのは、利用するネットワークポート番号とロードバランサー、ファイアウォール、通信のアクセス制御リストの構成方法です。
    このエントリでは通常のデフォルトポート番号と各コンポーネントが利用するポート番号の範囲を識別する方法、ポートの識別方法と利用ポート番号の変更方法をお知らせします。
    インストール中にほとんどのポート番号を変更するためには、詳細インストール(Advanced Installation)を使い、適切なポート番号をポート構成の詳細画面で設定します。

    システムをインストールしたら、EMCTLもしくはOMSVFYコマンドを使ってコンポーネントとポートの割り当てを検証することができます。
    $emctl status oms -details
    $omsvfy show opmn
    $omsvfy show ports
    ポートが使われていないことを確認するためには、以下のコマンドを実行します。
    UNIXでは
    $netstat -an | grep <port no>

    Windowwsでは
    >netstat -an|findstr <port_no>
    OMSVFY(EMDIAGツールキットの一部)の詳細情報は、以下のMy Oracle SupportのNoteをご覧下さい。
    EMDIAG Troubleshooting Kits Master Index [ID 421053.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=421053.1

    外部接続ポート

    これらのポートを全てのEnterprise Manager 12cインストール時に利用します。そして、ネットワーク接続を制限する場合には、これらのポート番号がファイアウォールやアクセス制御リストの変更のために必要です。またロードバランサーの構成に追加されるコンポーネントでもあります。
    デフォルトポート 使用ポートの幅 コンポーネント 用途 変更時には
    4889 4889 – 4898 Enterprise Manager OHS Upload HTTP エージェントとOMS間の通信(非セキュア)

    ロードバランサ内で利用
    インストール後に変更する場合、以下のMOSのNoteを参照してください。
    EMDIAG Troubleshooting Kits Master Index [ID 421053.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=421053.1
    EM 12c Agent EMD Upload Error : Full Upload Has Failed: uploadXMLFiles skipped :: OMS Version Not Checked Yet. [ID 1385776.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1385776.1
    すべてのエージェントに対して変更が必要です。
    1159 1159, 4899 – 4908 Enterprise Manager OHS Upload HTTP SSL エージェントとOMS間のセキュアな通信

    ロードバランサ内で利用
    インストール後に変更する場合、以下のMOSのNoteを参照してください。

    12c Cloud Control: Steps for Modifying the OMS HTTP and HTTPS Ports for Upload & Console UI URL's After Installation [ID 1381030.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1381030.1
    EM 12c Agent EMD Upload Error : Full Upload Has Failed: uploadXMLFiles skipped :: OMS Version Not Checked Yet. [ID 1385776.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1385776.1
    すべてのエージェントに対して変更が必要です。
    7788 7788 – 7798 Enterprise Manager OHS Central Console HTTP (Apache/UI) Cloud ControlコンソールへWebブラウザでアクセス(非セキュア)

    ロードバランサ内やEMのCLIで利用
    インストール後に変更する場合、以下のMOSのNoteを参照してください

    12c Cloud Control: Steps for Modifying the OMS HTTP and HTTPS Ports for Upload & Console UI URL's After Installation [ID 1381030.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1381030.1

    7799 7799 - 7809 Enterprise Manager OHS Central Console HTTP SSL (Apache/UI) Cloud ControlコンソールへWebブラウザでセキュアにアクセス

    ロードバランサ内やEMのCLIで利用
    インストール後に変更する場合、以下のMOSのNoteを参照してください

    12c Cloud Control: Steps for Modifying the OMS HTTP and HTTPS Ports for Upload & Console UI URL's After Installation [ID 1381030.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1381030.1

    7101 7101 - 7200 EM Domain WebLogic Admin Server HTTP SSL Port Cloud Control管理サーバインストール後に変更する場合、以下のMOSのNoteを参照してください
    11g Grid Control: How to Change SSL Administration Ports for both WebLogic Admin Server and the Mid (Web) Tier (Apache) [ID 1109638.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1109638.1
    3872 3872, 1830 – 1849 Cloud Control Agent 監視中の変更通知、ジョブの発行、リアルタイム統計情報の要求のいずれかのために、OMSのみがこのポートに接続 ポートをエージェントインストール時に指定できます。エージェントのポートを後で変更する必要がある場合、エージェントに対し以下のコマンドを実行することで実現できます。
    emctl setproperty agent -name EMD_URL -value https://hostname.domain:port/emd/main/
    このコマンドでエージェントが新しいポートで実行できますが、監視対象の名前を変更しないので、元のポートを引き続き見せる必要があります。
    1521* Depends on Listener Configuration Database Targets -  SQL*Net Listener リポジトリ·データベースの場合は、OMSだけがエージェントから管理データを格納するために接続。すべての監視対象のデータベースの場合、OMSはブラウザクライアントが要求した情報を取得。 リポジトリデータベース用にこのポートを変更するためには…

    EMリポジトリ用のlistener.oraファイルを変更し、リスナーを再起動後、リポジトリを使用するすべてのOMSマシンに対し、以下のコマンドを実行します。
    emctl stop oms
    emctl config oms -store_repos_details -repos_conndesc <connect descriptor of database> -repos_user sysman
    emctl start oms
    emctl config emrep -agent <agent name> -conn_desc <connect descriptor of database>
    監視対象のデータベース用にこのポートを変更する場合、監視対象データベースのリスナー構成を変更し、EMのMonitoring Configurationを変更してください。
    7101 7101 - 7200 FMW Targets – Admin Console OMSからの接続に利用。監視対象となるFMW製品の管理に使用。 インストール後に変更する場合、以下のMOSのNoteを参照してください

    11g Grid Control: How to Change SSL Administration Ports for both WebLogic Admin Server and the Mid (Web) Tier (Apache) [ID 1109638.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1109638.1
    NA NA ICMP OMSからホストマシンへの状態監視のために利用。

    内部接続ポート

    これらのポートはEnterprise Managerの内部通信のために使います。ファイアウォールやアクセス制御リストの変更は不要です。
    デフォルトポート 使用ポートの幅 コンポーネント 用途 変更時には
    7201 7201 – 7300 EM Domain WebLogic Managed Server HTTP Port Fusion Middlewareとの通信に利用 インストール時に構成済み
    7301 7301 – 7400 EM Domain WebLogic Managed Server HTTP SSL Port Fusion Middlewareとの通信に利用 インストール時に構成済み
    74017401 – 7500Node Manager HTTP SSL PortFusion Middlewareとの通信に利用インストール時に構成済み
    67026100 - 6199Oracle Notification Server (OPMN) LocalOPMNが使用するポート。
    以下のPathで利用ポートを確認可能。
    <MW_HOME>/gc_inst/WebTierIH1/config/ OPMN/opmn/opmn.xml:

    <debug comp="" rotation-size="1500000"/>
    <notification-server interface="any">
    <port local="6700" remote="6701"/>
    以下のようにして、opmn.xmlを編集し空きポートを使うことができます。

    1. OMSを停止

    2. <MW_HOME>/gc_inst/WebTierIH1/config /OPMN/opmn ディレクトリ中のopmn.xmlとports.propをバックアップ

    3. opmn.xml ファイルの<notification-server>要素以下を編集し、ローカル、もしくはリモートのポート番号を必要に応じて空きポート番号に変更し、ファイルを保存

    4. ports.propファイルを編集しローカルもしくはリモートのポートパラメータを変更してファイルを保存

    5. OMSを起動
    67036200 - 6201Oracle Notification Server (OPMN) RemoteOPMNが使用するポート。
    以下のPathで利用ポートを確認可能。
    <MW_HOME>/gc_inst/WebTierIH1/config/ OPMN/opmn/opmn.xml:

    <debug comp="" rotation-size="1500000"/>
    <notification-server interface="any">
    <port local="6700" remote="6701"/>

    以下のようにして、opmn.xmlを編集し空きポートを使うことができます。


    1. OMSを停止

    2. <MW_HOME>/gc_inst/WebTierIH1/config /OPMN/opmn ディレクトリ中のopmn.xmlとports.propをバックアップ

    3. opmn.xml ファイルの<notification-server>要素以下を編集し、ローカル、もしくはリモートのポート番号を必要に応じて空きポート番号に変更し、ファイルを保存

    4. ports.propファイルを編集しローカルもしくはリモートのポートパラメータを変更してファイルを保存

    5. OMSを起動

    オプション

    特定のコンポーネントを使用する場合、ファイアウォール/ ACLの変更を必要とする場合にのみ、これらのポートを使います。
    デフォルトポート 使用ポートの幅 コンポーネント 用途 変更時には
    443
    以下のサイトにSSLで接続
    updates.oracle.com support.oracle.com

    ccr.oracle.com

    login.oracle.com

    aru-akam.oracle.com
    OMSからOracle for OCM、MOS、Patching、Self-Updates, ASRとオンライン通信するために利用。
    UIから定義したプロキシ設定(設定 - >プロキシ設定)
    OMSのパラメータを使用しないでください。

    Application Dependency and Performance (ADP)のRMIレジストリポート ADPが利用インストール時に構成済み
    55003
    Application Dependency and Performance (ADP)のJavaプロバイダポートADPが利用インストール時に構成済み
    55000
    Application Dependency and Performance(ADP)のリモートサービスコントローラポートADPが利用インストール時に構成済み
    4210
    ListenADPが利用インストール時に構成済み
    4211
    SSL Listen PortADPが利用インストール時に構成済み
    3800
    JVM Managed Server ListenJVMが利用インストール時に構成済み
    3801
    JVM Managed Server SSL ListenJVMが利用インストール時に構成済み
    97019701-49152BI Publisher HTTPBI Publisherが利用インストール時にconfigureBIPスクリプトを使って変更可能、

    インストール後の変更は以下のMOSのNoteをご覧ください
    EM 12c : How to Change the Listening Port Number Of BI Publisher Integrated Within Console ? [ID 1524248.1]
    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1524248.1
    97029701-49152BI Publisher HTTP SSL PortBI Publisherが利用インストール時にconfigureBIPスクリプトを使って変更可能、

    インストール後の変更は以下のMOSのNoteをご覧ください
    EM 12c : How to Change the Listening Port Number Of BI Publisher Integrated Within Console ? [ID 1524248.1]

    https://support.oracle.com/epmos/faces/DocContentDisplay?id=1524248.1
    AAA

    2013年2月2日

    [Java] Critical Patch Update for Java SE

    原文はこちら。
    https://blogs.oracle.com/java/entry/critical_patch_update_for_java

    Oracleは先ほどFebruary 2013 Critical Patch Update for Java SEをリリースしました。
    Oracle Java SE Critical Patch Update Advisory - February 2013
    http://www.oracle.com/technetwork/topics/security/javacpufeb2013-1841061.html
    Oracleがこのアップデートリリースを早めたのは、デスクトップ·ブラウザでのJava Runtime Environment(JRE)に影響を及ぼす脆弱性の一つの、現時点で「放置」されている不具合の悪用が、このCritical Patch Updateで対処されているためです。数多くのセキュリティの徹底的な修正に加えて、この更新プログラムには、50のセキュリティ脆弱性に対する修正が含まれています。Oracleとしては、お客様ができるだけ早くCPUを適用されることを強く推奨します。詳細はOracle Software Security Assurance Blogのエントリをどうぞ。
    February 2013 Critical Patch Update for Java SE Released (The Oracle Software Security Assurance Blog)
    https://blogs.oracle.com/security/entry/february_2013_critical_patch_update
    本日リリースされたものは以下の通りです。
    • Java SE 7 Update 13
    • Java SE 6 Update 39
    • JavaFX 2.2.5
    Java Runtime Environment (JRE)はJava.comから入手頂けます。開発者の方はJDKをOracle Technology Networkからダウンロードできます。
    Java.com
    http://java.com/
    Oracle Technology Network
    http://www.oracle.com/technetwork/java/javase/downloads/index.html