2015年9月2日

[Database] Oracle Database 12.1.0.2 Standard Edition (SE2) available for download

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

とうとうです。
Oracle Database 12.1.0.2 Standard Edition (SE2) がリリースされ、ダウンロードできるようになりました。詳細情報は追ってご紹介しますが、一部の情報はすでにOracle Database Licensing Informationに記載があります。
Oracle Database Licensing Information
http://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109

OTNからOracle Database 12.1.0.2 Standard Edition (SE2) をダウンロードいただけます。
Oracle Database Software Downloads
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html



Oracle Software Delivery Cloudが推奨されるダウンロード場所です。
Oracle Software Delivery Cloud
https://edelivery.oracle.com


2015年8月21日

[Java. JavaScript] Nashornの機能強化に伴うドキュメントへの追加・修正

JDK 8u60がリリースされましたが、そのリリースノートの中で、Nashornの機能強化に伴うドキュメントの記載内容の変更が取り上げられています。
8u60 Update Release Notes
http://www.oracle.com/technetwork/java/javase/8u60-relnotes-2620227.html
データ型のマッピングに対する機能強化で、ドキュメントへの追加が1件、修正が2件です。いずれも以下の箇所に関係します。
Java Platform, Standard Edition Java Scripting Programmer's Guide
3.10 Mapping Data Types
http://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147390

Oracle Java Platform, Standard Edition Javaスクリプト・プログラマーズ・ガイド
3.10 データ型のマッピング
http://docs.oracle.com/javase/jp/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147390
それでは見ていきましょう。

  • Addition:
    In the previous section, we mentioned that every JavaScript object when exposed to Java APIs implements the java.util.Map interface. This is true even for JavaScript arrays. However, this behavior is often not desired or expected when the Java code expects JSON-parsed objects. Java libraries that manipulate JSON-parsed objects usually expect arrays to expose the java.util.List interface instead. If you need to expose your JavaScript objects so that arrays are exposed as lists and not maps, you can use the Java.asJSONCompatible(obj) function, where obj is the root of your JSON object tree.

  • 追加
    前章(3.10 データ型のマッピング)で、「APIでマップを直接受け取ることができるように、すべてのJavaScriptオブジェクトがjava.util.Mapインターフェースを実装している」、と述べました。これはJavaScript配列に対しては今なお変わりません。
    しかし、JavaコードがJSONパース済みのオブジェクトを期待している場合、これは予期せぬ、期待されない挙動になることがあります。JSONパース済みのオブジェクトを操作するJavaライブラリは通常java.util.Listインターフェースで受け取ることのできる配列を期待しています。配列をマップではなくリストとして受け取るよう、JavaScriptオブジェクトを受け取る必要がある場合、Java.asJSONCompatible(obj) 関数を利用することができます。ここでobjはJSONオブジェクトツリーのルートです。

  • Correction:
    The caution mentioned at the end of Mapping Data Types section, is no longer applicable.
    Nashorn ensures that internal JavaScript strings are converted to java.lang.String when exposed externally.

  • 修正
    「データ型のマッピング」の最後に記載した注意点は、JDK 8u60以後考慮する必要はありません。
    内部文字列を取り出す場合、Nashornは内部JavaScript文字列をjava.lang.Stringに変換します。

  • Correction:
    The statement in the section Mapping Data Types, that mentions "For example, arrays must be explicitly converted,........." is not correct.
    Arrays are automatically converted to Java array types, such as java.util.List, java.util.Collection, java.util.Queue and java.util.Deque and so on.

  • 修正
    「データ型のマッピング」で述べている、「たとえば、配列は明示的に変換する必要があり…」の記述は間違っています。
    配列は自動的にJavaの配列型に変換されます。(例:java.util.Listjava.util.Collectionjava.util.Queuejava.util.Dequeなど)

2015年8月20日

[Java] A new CDI scope in Java EE 8 ?

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

MVC Expert Group (JSR 371) がリダイレクトをサポートするために、新たなCDIカスタムスコープ ( @RedirectScoped ) の導入のプロセスを進めているので、新しいCDIスコープがJava EE 8に導入される予定、ということをこの段階でお伝えしても大丈夫でしょう。
JSR 371: Model-View-Controller (MVC 1.0) Specification
https://jcp.org/en/jsr/detail?id=371
[jsr371-experts] [MVC_SPEC-40] @RedirectScoped
https://java.net/projects/mvc-spec/lists/jsr371-experts/archive/2015-08/message/49
この考えはシンプルなものです。MVCコントローラがクライアントを特定のURL、特定のコントローラメソッドにリダイレクトすることを決定できる、というものです。典型的な例として、匿名ユーザーがログインが必要なページに出くわしたときに、コントローラがユーザーをログインページにリダイレクトする、というものです。これを実現するために、コントローラはHTTP 302(moved temporarily / 一時的に移動した)のステータスコードを使ってクライアントに対し、に対し異なるURLや異なるコントローラへの新たなリクエストを作成するよう依頼します。その2個目のリクエストは新たな(そしてそれゆえに異なる)リクエストーレスポンスサイクルになります。
302 Found
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3
そしてこれがこの新たな @RedirectScoped スコープの"raison-d'être"(存在理由)です。つまり、2個のリダイレクトのリクエストーレスポンスサイクルの間で状態を維持することを許容するためです。ご注意頂きたいのは、この新たなスコープはMVC APIのみを対象にしている、ということです。この新スコープは "Flash scope" と呼ばれることもあります。リダイレクトの仕組みと @RedirectScoped の動作の仕組みは以下のリンクから確認していただけます。
sources / test / redirectScope
https://java.net/projects/ozark/sources/sources/show/test/redirectScope?rev=9ed86e485c3adc92ac6a56c70eba9c7d943a6e0e
この新スコープのすばらしい点は、新たなCDIカスタムスコープに過ぎない、というところです。これはJava EEプラットフォームが自身の基盤を利用して進化している、という格好の例です。

最後に、JSR371は早期ドラフトレビューの期間中ですので、フィードバックをお忘れなく(訳注:原文に則していますが、実際には早期ドラフトレビュー期間は終了しているので、おそらくこれから始まる早期ドラフト2のことを意図しているのでしょう)。
MVC 1.0 (JSR 371) Early Draft Review period has started!
https://blogs.oracle.com/theaquarium/entry/jsr371_edr

2015年8月19日

[Java] Advanced Management Console 2.0 is Available

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

Oracle Java SE AdvancedおよびOracle Java SE Suiteをご利用の方がお使い頂ける、Advanced Management Console (AMC)の新バージョンがご利用頂けるようになりました。
Oracle Java SE Advanced & Suite Products
http://www.oracle.com/technetwork/java/javaseproducts/overview/index.html
AMCを使うと、Javaのバージョンや貴社のJavaアプリケーションの利用状況を管理することができます。2.0リリースで、以下の機能が追加されました。
  • 企業内で動作するJavaアプリケーションの情報を収集
  • Advanced Management Consoleが管理するデスクトップにインストールされているJavaのバージョンを識別
  • Webベースのユーザーインターフェースで収集したデータを分析
  • デプロイメントルールセットの管理・配布
  • JREインストール用MSIファイルの構成
詳細情報は、リリースノートをご覧いただくか、Advanced Management Consoleのドキュメントをご確認ください。
Advanced Management Console (AMC) 2.0 Release Notes
http://www.oracle.com/technetwork/java/javaseproducts/documentation/amc20-relnotes-2566726.html
Commercial Features: Java Components
https://docs.oracle.com/javacomponents/

[Java] JDK 8u60 Released!

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

JDK 8u60がダウンロードできるようになりました。最新のJDKリリースは以下のURLからダウンロードできます。
Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html 
このリリースでの新機能やバグの修正に関する情報は、リリースノートを確認してください。
JDK 8u60 Release Notes
http://www.oracle.com/technetwork/java/javase/8u60-relnotes-2620227.html
このリリースには、JDK 8u60 for ARMも含まれており、JDK 8u60 for ARMに関する情報はJDK 8u60リリースノートに含まれています。

2015年8月17日

[Database, JavaScript] Node-oracledb goes 1.0: The Node.js add-on for Oracle Database

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

Announcement

本日Oracleはnode-oracledb 1.0をリリースしました。これは高性能のOracle Databaseアプリケーションを実現するためのNode.jsのAdd-onです。
Node.js
https://nodejs.org/
Node-oracledbはnpmjs.comやGitHubからご利用いただけます。
Oracle Database Driver by Oracle Corp. (npmjs.com)
https://www.npmjs.com/package/oracledb
Oracle Database driver for Node.js (GitHub)
https://github.com/oracle/node-oracledb
GitHubに今年頭に最初のコードをPushしてからほぼ毎月、新機能を加えながら、node-oracledbのアップデートをリリースしてきました。非常にエキサイティングなことに、すでに採用され、本番運用されている重要なアプリケーションで動作しているそうです。node-oracledbとしての8回目のリリースである今回のリリースは、これまでの中で最高のものであることをお約束します。

node-oracledb 1.0 add-on for Node.jsでは、以下の標準機能や拡張機能をサポートしています。
node-oracledbは、他のオープンソース言語用のOracle Database ドライバのように、Oracleがオープンソースチャネル(GitHub)を通じて機能強化、メンテナンス、サポートします。このAdd-onはApache 2.0ライセンスに基づきます。

node-oracledbの入手方法

Oracle Technology NetworkのNode.js Developer Centerにnode-oracledbを始めるにあたって必要なすべてのリンクや情報があります。
Node.js Developer Center
http://www.oracle.com/technetwork/database/database-technologies/node_js/index.html
まずは、node-oracledbの手順に従ってスタートしてください。
Installing node-oracledb
https://github.com/oracle/node-oracledb/blob/master/INSTALL.md

過去のリリースからの変更点

大きな変更点は以下の通りです。
  • LOBに対するクエリ、インサート、PL/SQLでのLOBバインド変数のサポートを追加し、CLOB、BLOB型のStreamインターフェースを実装しました
    多くのレガシースキーマを取り扱う際に必要になっただけでなく、LOBのサポートもあって、アプリケーション開発者はOracle Database 12.1.0.2のJSONデータ型をVARCHAR2の最大長の制限を気にせずに利用できます。
    お客様からは、いつLOBがサポートされるのか、早期アクセスしたい、と毎日のようにコンタクトしてこられましたが、ようやく、サポートしました。引き続き負荷テストやベンチマークを実施して機能強化に努めていきます。
    LOBをnode-oracledbで利用する方法は、以下のドキュメントやサンプルをご覧ください。
    Working with CLOB and BLOB Data
    https://github.com/oracle/node-oracledb/blob/master/doc/api.md#lobhandling
    node-oracledbのサンプル
    https://github.com/oracle/node-oracledb/tree/master/examples
    Oracle DatabaseでのJSONサポートに関する一般的な情報は、以下のドキュメントもしくはJSONチームのブログエントリをご覧ください。
    JSON in Oracle Database
    http://docs.oracle.com/database/121/ADXDB/json.htm#CACGCBEG
    http://docs.oracle.com/cd/E57425_01/121/ADXDB/json.htm#CACGCBEG
    JSON in the Oracle database
    https://blogs.oracle.com/jsondb/
  • Oracledb.fetchAsStringexecute()の新たなfetchInfoプロパティを追加し、数字(number)、日付(date)、ROWIDを文字列としてフェッチできるようになりました。
    日付(date)と数字(number)はアプリケーションレベルで、日付と数字、ROWIDは文レベルで利用可能です。これらの機能を使うと、JavaScriptの表現や変換における制限を克服することができます。
  • DATE型としてのDATE、TIMESTAMP、ローカルタイムゾーン付きTIMESTAMPをDML RETURNING(RETURNING INTO)型にバインドできるようになりました。
    これらのデータ型を文字列としてバインドできます。
  • 内部Oracleクライアント文字セットが常にAL32UTF8に設定されるようになりました。
    これでもう外部でNLS_LANGを設定する必要はありません。ユーザーから報告された、マルチバイトデータに関連するバグは内部バッファの割り当てを正したことにより修正されました。NLSエクスペリエンスの一貫性が向上しました。
  • テストスィートの資格証明やサンプルデータベースの資格証明を環境変数から設定できるようになりました。
    自動的にプロビジョニングされた環境でのテストを支援するちょっとした変更です。テストスィートっはすでに大規模な件数をカバーしています。将来のリリースで機能強化を続けていきます。
  • node-oracledbのバグ修正。これらは変更履歴に列挙しています。
    Change Log
    https://github.com/oracle/node-oracledb/blob/master/CHANGELOG.md

次は?

ダイナミックに変化する環境におけるオープンソースプロジェクトゆえ、我々のStatement of Directionは、簡単かつ柔軟な目標としていました。積極的にOracle Databaseの機能のサポートやプロジェクトに関係するユーザーから機能要求に取り組んでいます。我々の優先順位リストは、それぞれのポイントリリースで再評価します。
そして今、version 1.0に到達しました。では次は?ここからスタートです。数多くの重要で興味深いタスクが目の前にあります。開発プロセスから、ドライバの機能、配布に至るまでのプロジェクトのレビューからスタートします。このレビューで、次のタスクを決定します。ユーザーからのヒアリングは優先順位付けのために重要なので、躊躇せずにGitHubへのコメントをお願いします。
oracle/node-oracledb : Issues
https://github.com/oracle/node-oracledb/issues
io.jsとの再マージやNode.js Foundationの構成など、Node.jsには大きな変化が起こっています。マージされたNode.jsのコードベースが安定し、Node.js FoundationのLTS(長期間サポート)の計画が固まると、node-oracledbのスケジュールの詳細について、より秩序だってお話することができるようになるでしょう。Node.jsやパートナーの皆様と一緒に最高のエクスペリエンスを提供するように取り組んでいます(テクニカルノートで、互換性レイヤNANのV2リリースは直近の数日間で行われたため、node-oracledb 1.0への取り込みには間に合いませんでした。そのため、最新、最先端のio.jsのサポートはnode-oracledbの将来バージョンにて実施する予定です)。
成長しているnode-oracledbミュニティ、特にコードや提案、議論でnode-oracledbに貢献してくださった方々への感謝をもって、この発表の結びとします。

2015年8月15日

[Database] Oracle Databases and Microsoft Windows 10

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

もうMicrosoft Windows 10にアップグレードした方、これからアップグレードされる方にとっては、Microsoft Windows 10の動作保証に関するStatement of Directionが非常に有用でしょう。
Statement of Direction - Oracle Database – Microsoft Windows 10 August, 2015
http://www.oracle.com/technetwork/database/windows/whatsnew/oracle-db-win10-sod-2626195.pdf
まとめると以下のようです。
  • OracleはOracle Database 12.1.0.2の動作検証・保証を2015年10月までに実施する予定
  • OracleはOracle Database 12cの次期メジャーリリースのWindows 10での動作検証も計画中