[Java] Java EE 8 Takes Off!

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

Java EEにとって重要な日です。Java EE 8がJCPプロセスを通じ、公式にJSR 366として立ち上がりました。期待されているように、主要な注力領域は、HTTP 2/HTML 5のサポート、CDI/managed beanの整合、クラウドのサポート、Java SEとの整合です。
以下にハイレベルな内容をまとめました。

Web Standards
  • HTTP 2
  • Server-Sent Events (SSE)
  • JSON binding
  • JSFを補完するアクション指向Webフレームワーク
  • Hypermediaのさらなるサポート
  • JSON-P、WebSocket、JAX-RSの機能強化
Managed Bean/CDI Alignment
  • CDI 2
  • EJBスタイルの宣言的セキュリティやスケジューリングのコンテナサービスがManaged Bean/CDIで利用可能
  • MDBスタイルのCDIベースの宣言的JMSメッセージリスナ
  • 古いEJB2/CORBAのAPIのプルーニング
  • CDIとJAX-RSの整合
Cloud
  • 設定
  • マルチテナント
  • 簡素化されたセキュリティ設定
  • 管理・監視用REST API
Java SE
  • 繰り返しのアノテーション、ラムダ式、Date/Time API、Type Annotation、Completable Futuresなどの機能を利用
もちろん、これはただのハイレベルな初期計画であって、他の多くの変更があります。例えば、JSFやJMSのアップデートだけでなく、JCache/データグリッドの追加も含まれます。詳細はjcp.orgのJSRページをチェックしてください。
JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification
https://jcp.org/en/jsr/detail?id=366
現在が参加したり、少なくとも検討を始めたりする時期です。
プラットフォームJSRのほかに、Java EE 8でのリリースを目指している数多くのAPIもまたリストアップされていて、各々のJSRが立ち上がっていますので、詳細は各JSRのページをご覧下さい。
多くのJava EE8 JSRがすぐに引き続きます。いつものように、事態が進展すればこの場でご連絡しますので、このブログ(The Aquarium)を引き続きチェックしていただき、ご意見を聞かせてください。

[Java] Release: Oracle Java Development Kit 8, Update 20

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

Java Development Kit 8, Update 20 (JDK 8u20)がダウンロードできるようになりました。このJavaプラットフォームの最新リリースでは、JDK8に対し、引き続き新機能やセキュリティ、パフォーマンスの最適化を進め、改善しています。例えば、
  • Oracle Java SE Advancedでご利用頂ける、新しいエンタープライズ向け管理機能
  • Javaバージョンの互換性をより細かく制御出来る製品
  • セキュリティアップデート
  • MSI互換インストーラ
といった機能が追加・拡張されています。
ダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/index.html
リリースノート
http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html
Java SE 8ドキュメント
http://docs.oracle.com/javase/8/
それでは、JDK 8 Update 20での主要な新しいツールや新機能、機能拡張・改善をご紹介しましょう。

Advanced Management Console

http://www.oracle.com/technetwork/java/javaseproducts/advanced-mgmt/index.html
Java Advanced Management Console 1.0 (AMC) がOracle Java SE Advancedでご利用頂けるようになりました。AMCは他の機能と共に配布ルールセット(Deployment Rule Set / DRS)セキュリティ機能を採用しました。これにより、自社のデスクトップやJavaベースのアプリケーションやソリューションを展開するISV向けに、システム管理者がJavaのバージョン互換性やセキュリティアップデートをより細かくしかも簡単に制御できるようになっています。

MSI Enterprise JRE Installer

http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html#newft
Oracle Java SE Advanced製品で、Windows 64bit/32bitシステムでご利用頂けるMSI互換インストーラを使うことで、システム管理者は、企業内の全てのデスクトップに対し、JREをユーザーインタラクションなしで自動インストールできます。

Performance

  • 文字列の重複をなくし、メモリ使用量を削減しました
  • 長時間実行するアプリケーション用に、改善されたG1 GCをサポートしました

その他

  • 新しいDRSの強制機能を使うと、システム管理者はJava Web Start アプリケーションが動作するJREを指定することができます。
    Deployment Rule Set by Example
    https://blogs.oracle.com/java-platform-group/entry/deployment_rule_set_by_example
    この機能により、エンドユーザは実行のためにセキュリティ例外を承認する必要がなくなるため、レガシーアプリケーションを使っている場合には有用です。
  • Java Mission Control 5.4に新たに使い勝手を上げる機能が追加されました。また、ランチャーはEclipse 4.4に統合されています。
    Java Mission Control
    http://www.oracle.com/technetwork/java/javaseproducts/mission-control/index.html
  • ARM上でのJavaFX
  • 初期コンパイル後のバイトコードの永続化(bytecode persistence)により、Nashornのパフォーマンスが向上しています。
詳細情報はリリースノートをどうぞ。
JDK 8u20 Release Notes
http://www.oracle.com/technetwork/java/javase/8u20-relnotes-2257729.html

[Coherence] Getting Started With The Coherence Memcached Adaptor

原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/getting_started_with_the_coherence
[訳注]正しくはAdapterですが、原文のタイトルのままAdaptorを使っています。

Overview

Coherence 12c (12.1.3) でMemcachedクライアントのサポートが追加され、直接CoherenceクラスタにBinary Memcachedプロトコルでデータを格納できるようになりました。このエントリではCoherence Memcached Adapterの設定方法を紹介するとともに、MemcachedクライアントがどのようにCoherenceクラスタへ接続することができるのかを紹介するため、シンプルなPHPのサンプルを用意しました。

Memcached Adapterはプロキシサービスとして構成し、そのプロキシサービスをCoherenceクラスタで実行します。以下はサンプルのCache構成です。
<?xml version="1.0"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
  xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config 
  http://xmlns.oracle.com/coherence/coherence-cache-config/1.2/coherence-cache-config.xsd">
  <defaults>
    <serializer>pof</serializer>
  </defaults>
  <caching-scheme-mapping>
    <cache-mapping>
      <cache-name>memcache</cache-name>
      <scheme-name>DistributedCacheScheme</scheme-name>
    </cache-mapping>
  </caching-scheme-mapping>
  <caching-schemes>
    <distributed-scheme>
      <scheme-name>DistributedCacheScheme</scheme-name>
      <service-name>DistributedCacheService</service-name>
      <backing-map-scheme>
        <local-scheme/>
      </backing-map-scheme>
      <autostart>true</autostart>
    </distributed-scheme>
    <proxy-scheme>
      <service-name>MemecachdTcpCacheService</service-name>
      <acceptor-config>
        <memcached-acceptor>
          <cache-name>memcache</cache-name>
          <memcached-auth-method>plain</memcached-auth-method>
          <address-provider>memcached-addr-provider</address-provider>
        </memcached-acceptor>
      </acceptor-config>
      <autostart>true</autostart>
    </proxy-scheme>
  </caching-schemes>
</cache-config>
いくつか注意点を。
<memcached-acceptor>以下の<cache-name>要素は、Memcached acceptorのための分散キャッシュを定義しています。このacceptorに接続するすべてのMemcachedクライアントはこのキャッシュにアクセスします。
必要であれば、<memcached-auth-method>を設定し、クライアント認証を有効にすることができます。現時点ではSASL (Simple Authentication and Security Layer)プレーン認証のみをサポートしています。
<address-provider>要素ではMemcached Adapterが接続を待ち受けるソケットアドレスを定義します。Coherenceのオペレーション構成ファイルで定義します。
以下はaddress-providerの設定を紹介するオペレーション構成ファイルの例です。
<?xml version='1.0'?>
<coherence
 xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-operational-config
 http://xmlns.oracle.com/coherence/coherence-operational-config/1.2/coherence-operational-config.xsd">
 <cluster-config>
    <address-providers>
      <address-provider id="memcached-addr-provider">
        <socket-address>
          <address>127.0.0.1</address>
          <port>11211</port>
        </socket-address>
      </address-provider>
    </address-providers>
  </cluster-config>
  <logging-config>
    <destination system-property="tangosol.coherence.log">stdout</destination>
    <severity-level system-property="tangosol.coherence.log.level">9</severity-level>
  </logging-config>
  <security-config>
    <identity-asserter>
      <class-name>memcached.PasswordIdentityAsserter</class-name>
    </identity-asserter>
  </security-config>
</coherence> 
memcached-addr-providerというidを持つアドレスプロバイダはsocket-addressの参照を定義しています。

Authentication


認証のため、カスタムIdentityAsserterを実装でき、そのIdentityAsserterをオペレーション構成ファイルで宣言できます。上記オペレーション構成ファイルのサンプルから、関連する部分だけ抜き出してみます。
…
<security-config>
    <identity-asserter>
      <class-name>memcached.PasswordIdentityAsserter</class-name>
    </identity-asserter>
 </security-config>
…
Memcached AdapterはIdentityAsserterの実装を呼び出し、トークンとしてcom.tangosol.net.security.UsernameAndPasswordオブジェクトを渡します。

以下はIdentityAsserterのサンプルです。
package memcached;
import com.tangosol.net.Service;
import com.tangosol.net.security.IdentityAsserter;
import com.tangosol.net.security.UsernameAndPassword;
import javax.security.auth.Subject;
public class PasswordIdentityAsserter implements IdentityAsserter {
  public Subject assertIdentity(Object oToken, Service service)
  throws SecurityException {
    if (oToken instanceof UsernameAndPassword) {
      UsernameAndPassword secToken = (UsernameAndPassword) oToken;
      String sPwd = new String(secToken.getPassword());
      if (secToken.getUsername().equals("username")
          && sPwd.equals("password")) {
        return new Subject();
      }
    }
    throw new SecurityException("Access denied");
  }
}

PHP Memcached client


PHPのmemcachedクライアントであるMemcacheとMemcachedは非常に人気があります。Memcachedはより新しいもので、Binary MemcachedプロトコルとSASL認証を両方ともサポートしています。MemcachedとSASLを有効にするためには、以下の設定をphp.iniファイルに設定する必要があります。
    extension=memcached.so
    memcached.use_sasl = 1
次のPHPコードはPHP Memcachedクライアントライブラリを使ってCoherenceクラスタに接続し、エントリを追加し、エントリを再度読み出しています。
<?php
  $m = new Memcached();
  $m->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
  $m->setSaslAuthData("username", "password");
  if (!count($m->getServerList())) {
    // List of Coherence proxy service nodes
    $m->addServer('127.0.0.1', 11211);
  }
  print_r($m->getVersion());
  $m->set('test', 'test_string');
  print_r('Cache value: ' . $m->get('test'));
?>

Putting it all together


これは簡単に試すことができます。まずはCoherence、PHP、PHP Memcachedクライアントライブラリをダウンロードしてインストールしましょう。続いて、テスト用ディレクトリに、先ほど説明したtangosol-coherence-override.xmlという名前のオペレーション構成ファイルを作成します。同様に、Memcachedクライアントのためのキャッシュ構成を指定するcoherence-cache-config.xmlという名前のキャッシュ構成ファイルを作成します。最後に、テスト用ディレクトリにmemcachedというディレクトリを作成し、先ほどのコードを含むPasswordIdentityAsserter.javaというファイルを作成します。

PHPで、先ほどのPHPのサンプルコードをtest.phpとして保存しましょう。これでテストの準備は完了しました。

Coherenceを立ち上げるために、Coherenceライブラリを参照する必要があります。簡単のために、Coherenceのインストールディレクトリを環境変数COH_HOMEと定義しましょう。以下ではLinuxやOS X環境を想定していますが、Windowsでも同様です。

テストディレクトリ内で以下のコマンドを実行し、PasswordIdentityAsserterをビルドします。
javac –cp $COH_HOME/lib/coherence.jar memcached/PasswordIdentityAsserter.java
それでは、Coherenceキャッシュサーバを起動し、Memcachedクライアントのデータを保存します。
java -cp .:$COH_HOME/lib/coherence.jar com.tangosol.net.DefaultCacheServer
最後に、PHPクライアントがCoherence Memcached Adapterを使って安全に接続、データの格納および読み出しができることを確認しましょう。
php test.php
出力結果は以下のようになるはずです。
 Array
 (
     [127.0.0.1:11211] => 12.1.3
 )
 Cache value: test_string
PHPクライアントがCoherenceにインサートした値であるtest_stringの読み出しに成功したことを示しています。

[Data Integration] OWB to ODI 12c Migration in action

原文はこちら。
https://blogs.oracle.com/dataintegration/entry/owb_to_odi_12c_migration

OWB(Oracle Warehouse Builder)からODI(Oracle Data Integrator) 12cへの移行ユーティリティを使うと、簡単にOracleの戦略データ統合ツールを使い始めることができます。このユーティリティはOWBとODIを開発した同じグループが設計、ビルドしました。
以下のスクリーンショットは録画したWebcastから取得したもので、OWBで表示しているプロジェクトがODI 12cでどのように見えるのかを示しています。
移行ユーティリティを実際に使っている様子を見ることができる有用なWebcastがあります。このWebcastでは、OWBでの実装と移行ユーティリティを使ったODI 12cへの移行を取り扱っています。
Partner Webcast - OWB to ODI MIgration Utility
http://oracleconferencing.webex.com/oracleconferencing/ldr.php?RCID=df8729e0c7628dde638847d9511f6b46
Stewart Brysonが投稿した技術記事がOTNにあがっており、その中でOWBをご利用のお客様が移行する上で知っておいて欲しいODIの機能やオプションの概要を説明しています。この記事は、一読の価値があります。
Making the Move from Oracle Warehouse Builder to Oracle Data Integrator 12c
http://www.oracle.com/technetwork/articles/datawarehouse/bryson-owb-to-odi-2130001.html
是非ご覧いただき、フィードバック戴ければと思います。

[Mobile] Required Field Validation in Oracle MAF

原文はこちら。
https://blogs.oracle.com/shay/entry/required_field_validation_in_oracle

Oracle MAF (Mobile Application Framework) で入力フィールドの検証を実現する方法をご紹介しましょう。例として、ボタンをクリックして操作を実行する段階で、値が入っていなければならないフィールドがあるとします。
検証を実現するには、フィールドのrequired属性とshowRequired属性を以下のように設定しましょう。
<amx:inputText label="label1" id="it1" required="true" showRequired="true"/>
では、ページを開き、フィールドが空の状態で別のページへ遷移するボタンをクリックしてみたところ......エラー表示が出ないことに気づくことでしょう。これは、AMXページに検証の実行を指示していなかったためです。

検証を追加するため、amx:validationGroup タグを使います。これで検証したいフィールドを囲みます。具体的には以下のような感じです。
<amx:validationGroup id="vg1">
  <amx:inputText label="label1" id="it1" required="true" showRequired="true"/>
</amx:validationGroup>
amx:validateOperation タグをナビゲーションボタンに追加すると、以前定義したグループ(この例ではvg1)を検証するように指示することができます。
<amx:commandButton id="cb2" text="go" action="gothere">
  <amx:validationBehavior id="vb1" group="vg1"/>
</amx:commandButton>
これで、ページを実行し、フィールドが空の状態でページ遷移ボタンをクリックすると、次のような検証エラーが出るようになります。

[WLS] Setting V$SESSION for a WLS Datasource

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

全てのOracleデータベース接続は、セッションと呼ばれるデータベースプロセスと関わって動作します。v$sessionビューにはアクティブなデータベースセッションに関するたくさんの情報が含まれています。デフォルトでは、Oracle Thin Driverを使うと、v$session.programに"JDBC Thin Client"という値が設定されます。SQL*Plusや数多くのデータベースのバックグラウンドプログラムとJavaアプリケーションを区別しますが、付加情報がないため、Javaのすべての接続が同じように見えてしまいます。Oracle Thinドライバにある接続プロパティを使って、簡単にv$sessionにこの情報と別の値を設定することができます。次の接続プロパティをサポートしています。
  • v$session.osuser
  • v$session.process
  • v$session.machine
  • v$session.terminal
  • v$session.program
これらを設定すると、データベース側のセッションに対応する値が設定されます。これらの値は、V$SESSIONビューから使用できるようになります。

固定値をデータソースに関連づけたいならば、通常の接続プロパティに値を直接設定するのが簡単です。ランタイムで値が動的に変わる場合にはもっと興味深いのです。例えば、複数のサーバが一つのドメインで動作しており、その情報がサーバで固有のものでなければならない場合、1個の固定値を使った通常のクラスタ展開では役に立たず、各サーバ個別にDataSourceを展開し、これらのプロパティに対し一意の値を持つよう記述子(Descriptor)を手で編集するというやり方では管理できません。このような場合には、システムプロパティを使用して簡単に取り扱うことができます。指定された値は、アプリケーション·サーバーのコマンドラインで設定されたJavaシステムプロパティであると解釈されます。この値はSystem.getProperty()を使用して取得し、接続プロパティの値として設定されます。WebLogic Server 12.1.3にはEncrypted Propertyという新しいプロパティがありますが、それについては別のエントリで説明する予定です。

bin/startWebLogic.shを使ってサーバを起動する場合、コマンドラインで -Dweblogic.Name=${SERVER_NAME} としますが、v$session.program システムプロパティの接続プロパティを"weblogic.Name"に設定すると、セッションプログラムの値は、接続しているWebLogic Serverに一致します。
接続プロパティはWebLogic Server管理コンソールの[接続プール]タブで、データソース構成を編集することで設定できます。プロパティは[プロパティ]と[システム・プロパティ]テキストボックスで設定します。
[訳注]
以下はWebLogic Server 12.1.3のプロパティ値設定画面のスクリーンショットです。

仮にテキスト値に4個の値を設定したとしましょう。一つはシステム・プロパティです。以下はディスクリプタの例です。
<property>
  <name>v$session.osuser</name>
  <value>test1</value>
</property>
<property>
  <name>v$session.process</name>
  <value>test2</value>
</property>
<property>
  <name>v$session.machine</name>
  <value>test3</value>
</property>
<property>
  <name>v$session.terminal</name>
  <value>test4</value>
</property>
<property>
  <name>v$session.program</name>
  <sys-prop-value>weblogic.Name</sys-prop-value>
</property>
もしくは、これらの値をオンライン、もしくはオフラインのWLSTで設定することもできます。以下はオフラインWLSTスクリプトの例です。
cd('/JDBCSystemResource/myds/JdbcResource/myds')
cd('JDBCDriverParams/NO_NAME_0')
cd('Properties/NO_NAME_0')
create('v$session.program','Property')
cd('Property')
cd('v$session.program')
set('SysPropValue', 'weblogic.Name')
$SERVER_NAME がmyserverである場合、クエリをかけると、以下のような応答が返ってきます。
SQL> select program, osuser, process, machine, terminal
  from v$session where program = 'myserver';
myserver test1 test2 test3 test4
サーバー名が明らかでない場合は、v$session.programに WebLogic Server$ SERVER_NAME を設定することができます。-Djdbc.process=<PID>を設定して、特定のWebLogic Serverのサーバプロセスに接続を紐付けることもできます。WebLogic Serverのデータソース名をv$session.programの値に追加したいと思うかもしれません。Javaの値 user.name を osuser に設定することができます。

システムプロパティを使用すると、特に大規模な構成では、接続ソースに関する情報を追跡する上で、強力な機能になることでしょう。

[OSB, BPM] Deploying OSB in a 12C Domain with BPM

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

OSB 11gからOSB 12cへ移行した場合に、次のようなWSDLデプロイのエラーが発生することがあります。
Unknown protocol: servicebus
このエラーは通常、BPMがOSBと同じドメインにインストールされている場合に発生します。このエラーを修復するには、以下の手順を踏む必要があります。

  1. WebLogic Server管理コンソールにログイン
  2. 画面左側のナビゲーション・ツリーで、サービスを拡大し、OSGIフレームワークをクリック
  3. bac-svnserver-osgi-frameworkのリンクをクリック
  4. [ロック]をクリックして編集
  5. 一番下の初期化プロパティのテキストフィールドに、以下の設定を追加(末尾に空白を入れないように注意しましょう)
  6. felix.service.urlhandlers=false
  7. [保存]をクリックして変更を有効化した上で、WebLogic Serverを再起動

[訳注]
このやり方では、確かにOSBは動作するようになりますが、BPM Composerが動作しないことがあります。
原因は、OSGiフレームワークを構成した場合に com.bea.wli.sb.resources.url プロトコルがロードされず、Felix(Apache Felix)がプロトコルハンドラリストで com.bea.wli.sb.resources.url プロトコルを見つけられないためです。このOSGiフレームワークは、BPM12cの新機能Process Asset Manager (PAM) で使っているsubversionで利用していますが、元々管理対象サーバ (soa_server) でだけ動作していれば良いので、以下の手順で設定を変更しておきましょう。
  1. WebLogic Server管理コンソールの[ドメイン構造]でドメイン名>[サービス] >[OSGiフレームワーク]を開く
  2. [ターゲット]タブでAdminServerのチェックを外す
  3. [保存]をクリックして設定を保存

もし、管理サーバに全部載せしているような場合(IntegratedServerの場合などに該当)は、上記の方法では対応できないので、以下のように、setStartupEnv.shの -Djava.protocol.handler.pkgs に com.bea.wli.sb.resources.url を追加します。

[例]
JAVA_OPTIONS="${JAVA_OPTIONS}
-Djava.protocol.handler.pkgs=oracle.mds.net.protocol|oracle.fabric.common.clas
sloaderurl.handler|oracle.fabric.common.uddiurl.handler|oracle.bpm.io.fs.proto
col|com.bea.wli.sb.resources.url"

[Database] New version of the UPGRADE 12c SLIDE DECK available

原文はこちら。
https://blogs.oracle.com/UPGRADE/entry/new_version_of_the_big

ちょっと時間があきましたが、Oracle Database 12.1.0.2のコンテンツを追加しようとしてきたためです。そして、(見た目はいいのですが、扱い慣れていない)新しいテンプレートに置き換える必要もありました。
ってことで、「Oracle Database 12cへのアップグレード、移行、統合」の新規改訂版スライドをどうぞ。
Upgrade, Migrate & Consolidate to Oracle Database 12c
http://apex.oracle.com/pls/apex/f?p=202202:2:::::P2_SUCHWORT:migrate12c

[Java] Java 7 update 67 patch release

原文はこちら。
https://blogs.oracle.com/java-platform-group/entry/java_7_update_67_patch

先頃リリースしたJava 7 update 65に、一部のAppletやWeb Startアプリケーションの起動ができないという問題があったため、影響を受けていたお客様に対し、その機能を修復したリリースであるJava 7 update 67をリリースしました。
この問題はあるRich Internet Applications(以下RIA)にのみ影響が及ぶものであって、サーバーサイドアプリケーションには影響しません。Java 7 update 67はfunctionality releaseですので、セキュリティフィックスやCritical Patchではありません。

End Users

最新のリリースをjava.comからダウンロードしてください。
Download Java
http://java.com/inc/BrowserRedirect1.jsp
以前のリリースの当該機能の問題は、全てのアプリケーションに該当するものではありませんが、最新のリリースにしておけば、どのアプリケーションが影響し、どのアプリケーションが影響しないのかを考える必要はなくなります。

Support Professionals

7u65をインストールしてからRIAを起動できないと報告してきたユーザーがいる場合には、7u67にアップグレードするよう案内してください。
7u67のリリースノートでJDK-8050875について説明しています。
7u67 Update Release Notes
http://www.oracle.com/technetwork/java/javase/7u67-relnotes-2251330.html
[#JDK-8050875] regression - java_arguments not accepted after Update to 7u65
https://bugs.openjdk.java.net/browse/JDK-8050875
この問題は、RIAのmanifest自体は <param name="java_arguments" value="-Xmx192m"> といったjava_argumentsパラメータを使って起動できますが、クライアントの deployment.properties ファイルには、マッチする "deployment.javaws.jre.X.args=" エントリが含まれていないために発生します。
是非、ユーザーに対し、Java 7 update 67をダウンロードし、インストールするようご案内ください。
ユーザーがアップグレードできない場合には、以下の手順でこの事象を回避するようご案内ください。
  1. Javaコントロール・パネルを開く
  2. [Java]タブを選択
  3. [表示]をクリック
    • [ランタイムパラメータ]のフィールドに、数字の7を入力し、その後、バックスペースキーでその値を削除
  4. [OK]をクリック

[Solaris] Oracle Solaris 11.2 and Oracle Solaris Cluster 4.2 Now Available

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

Oracle Solaris 11.2が完全にリリースされました(つまりGAです)。これにより、ずっと多くのすてきな機能を利用できます。
Oracle Solaris 11.2 Now Generally Available
http://www.oracle.com/us/corporate/press/2254736
4月のローンチイベントから多くの記事が執筆されてきましたが、一歩引いて意味を検討してみましょう。
Oracle Solaris 11.2: All the Posts
https://blogs.oracle.com/solaris/entry/solaris_11_2_bloglist
Oracle Solaris 11.2 Launch
http://oracle.com/goto/solaris-11-2

“Zero to Cloud” in minutes


このリリースに関する多くの記事は、OpenStackに関するものでしたが、いったいどれほどお客様のお役に立つのでしょうか。
Oracle Joins OpenStack Foundation; Plans for Oracle Solaris Announced
https://blogs.oracle.com/solaris/entry/solaris_and_openstack
まず第一に、OpenStack自体は非常に魅力的な機能であり、コンピュートリソース、ネットワークリソース、ストレージリソースを一つの管理ペインから展開・管理するオープンかつ相互運用可能な手段なので、Oracle Solarisに非常に多くの能力を増強します。
OpenStack Open Source Cloud Computing Software
http://www.openstack.org/
しかしながら、Oracle SolarisとOpenStack(ちなみに"Havana"です)の組み合わせが本当に光るポイントは、以下の3方向の密な統合にあります。
  • Oracle Solarisの既存もしくは新しい基盤機能との統合
  • Oracleスタックとの統合
  • OpenStackプロジェクトに参画する、文字通り数多ある他社が出している製品との統合
OpenStack Havana Release
http://www.openstack.org/software/havana/ 
それではこの統合を使って、その他のSolaris 11.2の新機能と、どのようにすることの統合を使用してみましょう、そしてどのような関係にあるのかをご紹介しましょう。

Unified Archives


11.2では個人的にはSolaris 10以後最も進化したプロビジョニング、インストール、ソフトウェアメンテナンスの分野、手短に言えば「ソフトウェアライフサイクル」の分野で、新たな機能が追加されています。

IPS、AIや完全に統合されたブート環境を有することで、以前のSolarisから非常に大きく進化しています。他社が提供しているものに対しはるかに先行しています。End-to-Endの配信およびサービス環境の維持をシンプルかつ迅速にすすめることができます。

Unified Archives機能はこのリストに値する追加機能です。お客様に単一のシステムアーカイブでネット経由もしくはローカルで起動され、物理環境または仮想環境のいずれかにインストールすることができる、そんなアーカイブを作成する機能を提供します。
Introducing Unified Archives in Solaris 11.2
https://blogs.oracle.com/maineoffice/entry/introducing_unified_archives_in_solaris
このすべてが深くOpenStackのイメージサービスであるGlanceと密に統合されています。つまり、OpenStackユーザーは、同じ標準管理ツールや他のプラットフォームのAPIを使って、瞬時にOracle Solarisが提供する最も洗練された機能にアクセスできるということです。

Kernel Zones


Oracle Solarisの組み込み仮想化機能は柔軟性が向上しました。
Oracle Solaris 11 Virtualization Technology
http://www.oracle.com/technetwork/server-storage/solaris11/technologies/virtualization-306056.html
Install a kernel zone in 3 steps
https://blogs.oracle.com/zoneszone/entry/install_a_kernel_zone_in
計り知れないスケーラビリティのメリットを犠牲にせずに、個々のZoneを基盤のグローバル環境からさらに分離することができます。Zonesには個々の別のカーネルインスタンスを有し、個別に更新、グローバルZoneや他のZoneとは異なるバージョンレベルで実行できます。将来これは他のメリットを提供することになるでしょう。詳細は後ほど。

OpenStack computeスケジューラ(Nova)は、Oracle Solarisに組み込まれた仮想化機能を活用して、ベアメタルや利用可能な仮想化のさまざまなオプションをプロビジョニングしたり更新したりすることができます。

SDN - Elastic Virtual Switch


Oracle Solaris 11でSoftware-defined networking (SDN)を強化しました。
Oracle Solaris SDN and Network Virtualization
http://www.oracle.com/technetwork/server-storage/solaris11/technologies/networkvirtualization-312278.html
Oracle Solaris 11.2で、Elastic Virtual Switchを導入しました。これにより、物理システムや仮想システムの集合全体に対しSDNの機能を拡張することができます。
Solaris 11.2 Networking Overview: Application-Driven SDN and Beyond
https://blogs.oracle.com/droux/entry/solaris_11_2_networking_at
ここでもOpenStackのNeutronコンポーネントを使って管理することができ、Oracle Solaris Zonesと完全に統合されています。

そしてさらによいこととして、より上位アプリケーション層と紐付いています。クラウド環境全体でサービスレベルを定義することができるため、Oracle DatabaseやJavaアプリケーションはネットワークの利用方法を定義することができます。これはネットワーク構成をシンプルにするだけでなく、管理性およびハードウェア要件をも簡素化します。サービス展開のライフサイクルで、調達コストとサポートコストの両方を削減します。

Security and Compliance


セキュリティについて、Oracle Solarisは定評がありますが(ま、当然なのですが)、OSの基本的な部分として、コンプライアンスフレームワークを追加するという、数年前に作成した重要な「ライフスタイル」の選択肢には、数多くの機能が追加されています。Oracle Solaris 11.2では、SCAP基準やプロトコルスイートに基づいて、complianceコマンドを導入しています。
Compliance reporting with SCAP
https://blogs.oracle.com/darren/entry/compliance_reporting_with_scap
これを使うと、セキュリティ・コンプライアンスベンチマークに基づき、事前構成済みのアセスメントを実行することができます。PCI-DSSや弊社社内推奨標準に基づく事前構成済みのベンチマークが含まれています。これらを貴社環境に合わせてカスタマイズできます。

また、「Immutable Zones」というコンセプトに対し、注目すべき拡張が追加されました。Immutable ZonesとはZoneに読み取り専用のルート環境を提供することで、基本的に「改ざん防止」することができるものですが、Oracle Solaris 11.2では、グローバルゾーンにこの概念を拡張しています。
Solaris 11.2: Immutable Global Zone
https://blogs.oracle.com/casper/entry/solaris_11_2_immutable_global
そしてもちろん、これはOpenStackを通して活用することができるように設計され統合されています。
OpenStack Security integration for Solaris 11.2
https://blogs.oracle.com/darren/en_GB/entry/openstack_security_in_solaris

Is that all?


もちろんもっとあります。ZFSテクノロジーとOpenStackの統合により、クラウドデータ管理がよりシンプルかつ信頼性を高め、さらに非常にスケーラブルになります。PuppetやChefといったより多くの標準な管理機能を追加しています... おっと、Oracle Solaris Cluster 4.2についてお話していませんでしたね。
Oracle Solaris Cluster 4.2
http://www.oracle.com/technetwork/server-storage/solaris-cluster/
まだベータ版でOracle Solaris11.2を試していないのであれば、今が腰を据えて学習するタイミングですよ。
Oracle Solaris 11
http://oracle.com/solaris