2015年4月18日

[Java] Longer Young Collections with JDK7 as Compared to JDK6

原文はこちら。
https://blogs.oracle.com/poonam/entry/longer_young_collections_with_jdk7

JDK 6からJDK 7へ移行した結果、Young世代のGCがJDK 6当時よりも時間を要している場合、以下のオプションで改善できます。
-XX:+JavaObjectsInPerm
JDK 7では、クラスの統計情報や、intern()を使った文字列をPermGenからJava Heapへ移動しており、その結果少々Young世代のGCに要する時間が増加しています。JavaObjectsInPermというオプションを有効化すると、JDK 6での仕組みに戻すことができます。つまり、クラスの統計情報やintern()を使った文字列をPermGen領域に割り当てます。

それゆえ、PermGenのチューニングは問題ではなく、Young世代のGC時間が悩みの種なのであれば、-XX:+JavaObjectsInPerm を使うとその悩みが緩和されることでしょう。ご注意頂きたいのは、このオプションはJDK 7u80から利用可能になった、ということです。Diagnostic VMオプションとして以下のCRで利用可能になりました。
Minor GC times doubled from JDK 6u35 to JDK 7u51
https://bugs.openjdk.java.net/browse/JDK-8048271
診断オプションなので、次のオプションと一緒に使う必要があります。
-XX:+UnlockDiagnosticVMOptions
JDK 8ではPermGenが削除されたため、このオプションはJDK 8では使えませんので、ご注意ください。

2015年4月17日

[Database] Oracle Announces Oracle Application Express 5

原文はこちら。
https://blogs.oracle.com/apex/entry/oracle_announces_oracle_application_express

Oracle Application Express 5が利用可能になりました。2.5年の開発期間を経て、10年の歴史の中でOracle Application Express (APEX)の最大の進化です。Oracle Application Express 5を使うと、お客様はエレガントにしてレスポンシブな、データベース主導のデスクトップアプリケーションやモバイルアプリケーションをブラウザだけを使って開発、設計、展開することができます。
「Oracle APEX 5はOracle Application Express史上最大かつ最も重要なリリースです」とMichael J. Hichwa(Vice President of Oracle Database Tools)は述べています。「 Oracle APEX 5のUniversal Themeを使うと、SQLに精通した開発者が素早くかつ簡単に、レスポンシブなWebアプリケーション、アクセシブルなWebアプリケーションのいずれも作成できます。Universal Themeを使うと、CSS/HTMLの「ぬし」の手を借りずとも、私のような開発者が堅牢なカスタマイズされたUIを作成することができます。」

Oracle Application Express 5の目玉機能をご紹介しましょう。

Universal Theme: A Better UI for Your Apps

Universal Themeとは、全く新しい、アプリケーション用UIです。Application Express 5用に真っ白な状態から作成しました。以前のテーマよりもシンプルにして使い勝手のあるテーマで、カスタマイズも簡単です。Universal Themeを使うと、HTMLやCSS、JavaScriptの専門知識がなくても、開発者がモダンでレスポンシブな、洗練されたアプリケーションの作成をすることができるようになります。
Universal Themeと共に、テーマとテンプレートの取り扱いに様々な機能拡張が入っています。このリリースでは、テーマのサブスクリプション、テンプレートのオプション、テーマのスタイル、リストベースの階層ナビゲーションメニュー、そしてテンプレートやApplication Expressエンジンが出力するHTMLでの非常にすてきなコントロール、などです。アプリケーションのUIの制御がこれまでと比べてより簡単になりました。

Page Designer:  The New Intuitive Browser-Based IDE

Page Designerとは新しいIDEで、Application Expressアプリケーションのプロトタイピング、設計、開発、メンテナンスを実施する開発者の生産性を引き上げることを目指してデザインされました。Page Designerでは視覚的なプレゼンテーションを提供しています。これにはアプリケーションのページを素早く開発するための、その場で直感的にドラッグ&ドロップが可能なインターフェースを包含しています。強化されたコードエディタは、インライン・エラー付きのSQLおよびPL/SQLの検証機能、自動補完、構文の強調表示、正規表現のサポートツキの検索・置換、完全なUndo/Redoサポートを提供します。

New Application Builder Design

簡単なナビゲーション、ビジュアルデザインのためのシンプルなアクセス、乱雑さの削減を意図してデザインされた、新しいApplication Builder UIに加え、新たなカラーパレット、簡単に、視覚的に識別するためのアイコン、直感的なワークフローベースのメニュー、キーボードとアクセシビリティの改善されたサポートも含まれています。

Mobile Reporting

新しいモバイルレポーティング機能では、開発者がほぼ全てのモバイルデバイスで表示可能なレポートを作成することができます。画面サイズに制限のある小さなデバイス向けには、見やすくするため、インテリジェントなColumn Toggle and Reflow Table Wrap機能を使って重要なデータを明示したり、それほど重要ではない情報を見えないようにすることができます。

Modal Dialogs

モーダル/非モーダル・ダイアログを使うと、標準のApplication Expressページを使って開発者が手早くダイアログを定義できます。モーダル・ダイアログを使いたい場合、開発者は表示タイプとページのテンプレートを指定するだけでOKです。あとはApplication Expressがページの描画プロセスを適切にやってくれます。

All New Calendar

新たなカレンダーコンポーネントでは、月、週、日、そしてAgendaビューを組み込みでサポートしており、ずっとカスタマイズしやすくなっています。カレンダーコンポーネントは、人気のあるFullCalendarライブラリをベースにしており、ドラッグ&ドロップ、時間ベースのイベントをサポートしています。

Packaged Applications 

Oracle Application Express 5には幅広いパッケージアプリケーションが含まれています。これらはApplication Expressアプリケーションで、すぐに使うことができ、Oracleがサポートします。以下のものを含め、19個のパッケージアプリケーションがあります。
  • Project Tracking(プロジェクト進捗管理)
  • Survey Builder(アンケート作成ツール)
  • Meeting Minutes(ミーティング議事録)
  • Group Calendar(グループカレンダー)
さらに、16個のサンプルアプリケーションがあり、これらを使い、Sample ChartsからSample Data Loadingといった、Oracle Application Expressの機能紹介をしています。Oracle Databaseの強力なSpatial機能を説明するサンプルアプリケーションもございます。

「Oracle APEXテクノロジの興味深い特徴は、Oracle APEXが非常にクラウド向きであることです。Oracle APEXはブラウザベースで、開発者やデプロイメントのアクセスがシームレスで、ブラウザから離れる必要はありません。Oracle APEXはOracle Database Cloud Serviceの一部サービスでも本日からご利用いただけます。Oracle APEXは、クラウドでも、貴社のサーバーでも、そしてあなたのラップトップでも等しく利用可能という、希有なデータベース・ツールの一つです」とHichwaは続けました。

Additional Information

Oracle Application Expressのことをもっと知りたい方は、以下のURLにアクセスしてください。
Oracle Application Express
https://apex.oracle.com/
Oracle Database Cloudのことをもっと知りたい方は、以下のURLにアクセスしてください。
Database Cloud Service
https://cloud.oracle.com/database

2015年4月15日

[Java, Security] JDK 8u45, 7u79 and 7u80 Released!

原文はこちら。
https://blogs.oracle.com/thejavatutorials/entry/jdk_8u45_7u79_and_7u80

JDK 8u45、7u79(CPU / Critical Patch Update)、7u80(PSU / Patch Set Update)がリリースされ、ダウンロードできるようになっています。Java SEダウンロードページから最新のJDKリリースをダウンロードできます。
Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
これらのリリースに含まれる機能や修正に関する情報は、以下のリリースノートをご覧下さい。
[追記]
  • JDK 7のパブリックアップデートは今回のリリースが最後になる予定です。
  • セキュリティベースラインはそれぞれ7u79、8u45にあがります。

2015年4月10日

[Java, JavaScript] Java Day Tokyo 2015 - Nashorn In the Future

今年のJava Day Tokyo 2015は、4月8日(水)に最高気温4度という真冬の寒さの中、東京国際フォーラムにたくさんの皆様に来場いただき、そして、
#てらだよしおがんばれ
#てらだよしおがんばった
#JavaDayTokyo
のハッシュタグとともにTweetくださった皆様、どうもありがとうございました。Java誕生20年を盛大にお祝いできたことを中の人の一人としてうれしく思います。
江草家の人々(と言いながら一人でやっているのですが)も、2年連続でNashornについてお話する機会をもらいました。セッションに参加いただいた方、どうもありがとうございました。
セッション参加者の方に伺ったところ、Nashornをご存じの方が2割ぐらい、Rhino使っている方は2割、「Nashorn何それおいしいの?」という方も数名いらっしゃいまして、まだまだ認知度は高くないな、という感じを受けましたが、まずは「Rhinoもいいけど、Nashornもね」という軽い気持ちでもかまわないので、食わず嫌いにならずにNashornと戯れていただければと思います。しかも、来週はJava SE JDK/JRE 7の最後の公式アップデート(Critical Patch Update / CPU)ですから……。

セッションでお伝えした通り、Nashornには、8u40でCode Cache、Optimistic Typingなど、パフォーマンス向上のために様々な機能が追加されています。Avatarがお蔵入りになったことで、開発の目的がなくなったんじゃないの、と不安視する声も伺いましたが、現時点ではNashorn自体の開発が止まることはありませんので、是非使ってみて、何かあれば開発チームにフィードバックしてください。

# もちろん、Avatar(というよりはAvatar.js)をベースにもっと性能の出るNode.js互換フレームワークを作る、なんてのもありです!

今回の発表スライドをSlideshareにUpしておきましたので、参考までにどうぞ(日本語、英語版)。なお、セッションの中ではパフォーマンス測定した結果をご紹介しましたが、公開スライドには含めていません。これはセッションに参加いただいた方への敬意と感謝を込めたもの、とご理解いただければ幸甚です。デモでご紹介した簡単なコードはこちらからどうぞ。




# もう本名を隠しようがないですね。。。

夜はパーティーで @kikutaro_ さんや @peko_kun さん、 @bitter_fox さん、@yamadamn さんとお話できる機会があり、非常に有意義でした。どうもありがとうございました。

2015年4月6日

[Big Data, Data Integration] Announcing Oracle Data Integrator for Big Data

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

Oracle Data Integrator for Big Dataのリリースを発表いたします。このリリースは、お客様のHadoopプロジェクトを一歩先のレベルへ進む手助けとなるようOracle Data Integrationが展開しているアップデートや機能の最新版です。
Oracle Adds New Data Integration Technologies to Enterprise Big Data Portfolio
https://blogs.oracle.com/bigdata/entry/announcing_oracle_data_integrator_for
Oracle Data Integrator Enterprise Edition Big Data Options—Resources
https://www.oracle.com/middleware/data-integration/enterprise-edition-big-data/resources.html

Increasing Big Data Heterogeneity and Transparency

このリリースでは、異種接続やガバナンスといったお客様にとって重要な追加があります。例えば以下のようなものです。
  • Apache Sparkのサポート
  • Apache Pigのサポート
  • Oozieを使ったオーケストレーション
Oracle Data Integrator (ODI)の新機能のリストは以下のページをご覧下さい。
Oracle Data Integrator 12c New Features Overview
Advancing Big Data Integration
http://www.oracle.com/us/products/middleware/data-integration/odi-12c-new-features-wp-2226353.pdf
Oracle Data Integrator for Big Dataを使うと、ビッグデータの貯水池やデータの湖内のデータを変換したり、データの修飾をすることが簡単になります。データ操作に必要な言語をユーザーが学ぶ必要はありません。
WHITE PAPER
Data Integration Platforms for Big Data and the Enterprise
http://www.oracle.com/us/products/middleware/data-integration/di-oracle-informatica-ibm-wp-2438402.pdf
ODI for Big Dataはネイティブコードを生成し、そのコードをHadoopプラットフォーム上で実行します。このとき追加のエージェントは不要です。ODIは、ロジックを構築するための設計インターフェースとコードを実行する物理的な実装レイヤーを分離しているため、HiveQL、Pig LatinやMap Reduceを学ばなくても、ODIのユーザーはビジネスマッピングやデータマッピングを構築することができます。

Oracle Data Integrator for Big Data Webcast

Oracle Data Integrator for Big Dataについて知って頂くため、そしてBig Data Integrationに関するみなさんの質問へ回答するため、4月30日に開催するWebcastに是非参加してください。
Data Integration Advances Big Data Accessibility, Adoption
http://event.on24.com/r.htm?e=966962&s=1&k=1EE9638A2447B3C94C13F5A64F531D19&partnerref=bigdataws#4_pr
このWebcastでは発表したてのOracle Data Integrator for Big Dataについて説明いたします。
  • ビッグデータプロジェクトのための高度なスケールと拡張された異種接続性を提供します
  • 意思決定を迅速化するためのHadoopの強みを他にはない方法で補完します
  • Oracle GoldenGate for Big Dataと共に1秒以下の遅延を保証します。

2015年3月29日

[JavaScript, Database] node-oracledb 0.4.2 is on NPM (Node.js driver for Oracle Database)

原文はこちら。
https://blogs.oracle.com/opal/entry/node_oracledb_0_4_2

Node.js driver for Oracle Database 0.4.2がリリースされました。
Oracle Database Node.js driver
https://github.com/oracle/node-oracledb
  • Node-oracledbは公式にnpmjs.comリポジトリに載りました。この結果、GitHubから手作業で複製したりダウンロードしたりする必要がなくなり、インストールが簡単になっています。
    oracledb - Oracle Database driver by Oracle Corp
    https://www.npmjs.com/package/oracledb
    インストール手順
    https://github.com/oracle/node-oracledb/blob/master/INSTALL.md
    Tim Branyenがこのあたりの設定や手配をしてくれました。どうもありがとうございます。
    Tim Branyen
    https://github.com/tbranyen
  • メタデータのサポートが追加されました。execute() コールバックのresultオブジェクトでカラム名を提供しています。詳細情報はドキュメントのサンプルをご覧ください。
    Query Column Metadata
     https://github.com/oracle/node-oracledb/blob/master/doc/api.md#querymeta
  • Node 0.10の旧バージョンを使おうとしている方がいらっしゃることがわかりましたので、システム要件の下限を少々引き上げました。これはNode.jsの0.10版の最新パッチセットを利用することを強制するものではありませんが、セキュリティ脆弱性の修正に対し最新版に追随すべきでしょう。
  • Node 0.12でビルドしたいと考えてらっしゃるのであれば、Richard Nataiが作成してくれたコミュニティ・パッチが出ていますのでご利用ください。これを使うとnode-oracledbをio.jsでも利用できるようになります。
    Richard Natai
    https://github.com/Bigous
    Build with NaN #43
    https://github.com/oracle/node-oracledb/pull/43
  • その他の小規模の変更として、Windowsへのインストールのためのドキュメントを改良しました。
    Windows install documentation
もちろん、その他の機能について今なお作業を引き続き実施しています。

2015年3月25日

[WLS, FMW] Oracle WebLogic Server Now Running on Docker Containers

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

Oracle WebLogic ServerのDockerコンテナでの動作保証を発表できることに興奮しています。動作保証と共に、Oracle WebLogic Serverのイメージを作成するためのDockerfilesとサポート・スクリプトをGitHubにリリースしています。
WebLogic on Docker
https://github.com/oracle/docker/tree/master/OracleWebLogic
これらのイメージは既存のOracle Linuxイメージの拡張として構築されています。
Oracle Linux Repository
https://registry.hub.docker.com/_/oraclelinux/
Oracle WebLogic Server Dockerイメージを使ったり、自身用のイメージを作成することができます。使い始めたり作成したりするにあたって、サンプルとしてDockerfilesやスクリプトをGitHubにUpしてあります。

Dockerはユーザーが分散アプリケーションをビルド、パッケージ、リリースおよび実行できるプラットフォームです。Dockerユーザーは自身が作成したアプリケーションや依存性のあるライブラリやファイルをDockerイメージにまとめます。DockerイメージはLinux環境間で配布可能な移植性のあるアーティファクトです。配布されたイメージは、コンテナをインスタンス化するために利用することができます。このコンテナでは、同じホストOS上の別のコンテナで動作する他のアプリケーションとは分離された状態で、アプリケーションが動作可能です。
Docker
https://www.docker.com/ 
下表は種々のWebLogic Serverのバージョンで動作保証済みの構成を示したものです。Dockerイメージを作成するにあたって、Oracle WebLogic Server、JDK、Linux、Dockerのこうした組み合わせを使うことができます。
 Oracle WebLogic Server JDK Version Host OS Kernel Docker Version
 12.1.3  7/8  Oracle Lunux 6 UL 5+  Unbreakable Enterprise Kernel Release 3 (3.8.13)+  1.3.3+
 12.1.3  7/8  Oracle Linux 7 UL 0+  Unbreakable Enterprise Kernel Release 3 (3.8.13)+
or
Red Hat  Compatible Kernel (3.10)+
 1.3.3+
 12.1.3  7/8  Red Hat Enterprise
Linux 7+
 Red Hat  Enterprise Linux Kernel (3.10)+  1.3.3+
現在のWebLogic Serverがサポートしている最新の構成情報は、Certificationのページをご覧下さい。
Supported Virtualization and Partitioning Technologies for Oracle Fusion Middleware
http://www.oracle.com/technetwork/middleware/ias/oracleas-supported-virtualization-089265.html
提供したDockerfileとスクリプトを使うと、1個のホストOSやVM上で動作する、開発、本番モードを含め、クラスタ構成、非クラスタ構成のOracle WebLogic Serverドメイン構成を作成することができます。構成したドメインで動作する各サーバはDockerコンテナで動作し、必要に応じて他のサーバと通信することもできます。これらのDockerfilesやスクリプトの使い方を説明しているドキュメントについては、OTNのホワイトペーパーをご覧下さい。
Oracle WebLogic Server on Docker Containers
http://www.oracle.com/technetwork/middleware/weblogic/overview/weblogic-server-docker-containers-2491959.pdf
他の構成や他の構築方法も可能ですが、これらのリソースがWebLogic Server on Dockerを始めるにあたって役にたつことを願っています。是非フィードバックを頂ければと思います。