[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など)

[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

[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リリースノートに含まれています。

[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に貢献してくださった方々への感謝をもって、この発表の結びとします。

[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での動作検証も計画中

[WLS, FMW] WebLogic Server 12.1.3 Developer Zip Update 3

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

WebLogic Server 12.1.3 Developer Zip (開発者向けZipインストーラ)Update 3がOTNからダウンロードいただけるようになりました。
Update 3にはWebLogic Server 12.1.3.0.4 Patch Set Updateと同等のバグ修正が含まれています。このアップデートにより、開発者は本番環境として利用している最新のWebLogic Server 12.1.3に対応する開発者向けZipインストーラを手にすることができます。
ダウンロードページ
http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html
Update 3 READMEファイル
http://download.oracle.com/otn/nt/middleware/12c/wls/1213/README_WIN_UP3.txt

[Applications] Windows 10 Certified with Oracle E-Business Suite

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

エンドユーザーがOracle E-Business Suite 11.5.10.2、12.1、12.2へアクセスする際に、以下のコンポーネントを使っていることを条件に、Microsoft Windows 10 (32-bitおよび64-bit) が動作保証されたデスクトップクライアントOSとしてサポート対象になりました。

EBS 12.1 and 12.2

  • Browsers
  • Microsoft Internet Explorer 11
  • Mozilla Firefox ESR 38
  • Chrome 44 以上 (HTML/OA Framework モジュールのみ)
  • Javaクライアントプラグイン
  • JRE 1.8.0_51以上
  • JRE 1.7.0_85以上

EBS 11.5.10.2

  • Browsers
  • Microsoft Internet Explorer 11
  • Mozilla Firefox ESR 38
  • Javaクライアントプラグイン
  • JRE 1.8.0_51以上
  • JRE 1.7.0_85以上

Windows 10で以後にリリースされるJRE 7およびJRE 8を使う場合

基本的なポリシーは、全てのE-Business Suiteをご利用のお客様は全てのJREアップデートをエンドユーザー・デスクトップに適用することができます。このポリシーは上記のJREリリースに対するWindows 10デスクトップでも同様です。
全ての新しいJREリリースのテストは、JRE開発プロセスと並行して実施しているので、全ての新規JREリリースをE-Business Suiteでの動作保証をJavaチームがJREをリリースした同日に実施することにしています。
貴社のEBSユーザーが利用するWindows 10デスクトップに新しいJRE 7もしくはJRE 8を適用する前に動作保証の発表を待つ必要はありません。

現在保留中の動作保証

Desktop Client/Server Products

様々なClient/Server製品の動作保証、例えばJDeveloper OA Extensions、Forms DeveloperやWorkflow BuilderのWindows 10での動作検証を現在実施中です。製品の完全なリストは以下のSupportドキュメントに記載されています。
Recommended Set Up for Client/Server Products with Oracle E-Business Suite 11i & R12 (ドキュメントID 277535.1)
https://support.oracle.com/rs?type=doc&id=277535.1
このドキュメント中にある動作保証マトリックスは動作検証が完了するとアップデートされます。

Microsoft Edge Browser

Windows 10のMicrosoft Edgeに対するOracle E-Business Suite 12.1および12.2の動作検証を現在実施しています。Oracle E-Business Suite 11iに対するこのブラウザの動作保証は現在の時点で予定にありません。

Oracle E-Business Suite R12には2種類のインターフェースがあります。iProcurementやiStoreのようなWebベース (OA Framework/HTML) モデルと、Oracle Financialsのような専門的なモジュール用のOracle Forms/Javaベースモデルです。Microsoft EdgeはJavaをサポートしておらず、そのためWebベース (HTML / OA Framework) のEBS製品のみ動作保証されています。Running JavaベースのEBS製品をEdgeで実行することはできません。

Oracleの収益認識(Revenue Recognition)ルールでは、Oracle社員が動作保証やリリース日を説明することを禁じていますが、このブログをご覧になったり購読されたりするのはご自由にどうぞ。上記コンポーネントについて利用可能になった時点で速やかに情報をアップデートする予定です。

参考資料

関連エントリ

[Java] JSON-P 1.1 Early Draft Released!

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

JSR 374 Expert Groupが、「JSON-P 1.1 EDR1」としても知られる、「Java API for JSON Processing specification version 1.1」の最初の早期ドラフトをリリースしました。
JSR 374: JavaTM API for JSON Processing 1.1
https://jcp.org/en/jsr/detail?id=374
JSR-000374 JavaTM API for JSON Processing 1.1
https://jcp.org/aboutJava/communityprocess/edr/jsr374/index.html
これはJSON-P 1.1 APIの最初のドラフトで、Java EE 8で取り込まれる予定です。仕様の範囲がわずかに変化し、追加や削除が発生しています。例えば、JSON Merge PatchのサポートはもともとこのJSRが開始した時点では予定されていませんでしたが、現在EDR1に含まれています。
JSON Merge Patch
https://tools.ietf.org/html/rfc7386
その代わりに、Big JSONのサポートは現在も議論しています。とはいえ、まだドラフトなので、今後APIが変化する可能性があります。
この段階で重要なのは、皆様にJavadocを読んでいただき、APIを試してフィードバックしてもらうことです。まだまだ調整する時間はたっぷりありますので、フィードバック頂くことが本当に重要なのです。JSON-P 1.1を簡単に試してみよう、ということであれば、以下のリソースを試すことをお薦めします。
JSON-P 1.1 (JSR 374) update: JSON Merge Patch
https://blogs.oracle.com/theaquarium/entry/json_p_1_1_jsr1
実用的な話として、Javadocこそが仕様ですので、PDFの仕様書を探さないで下さい。早期ドラフト期間は10月2日で終了します。この間、Expert Groupが皆様からのフィードバックをお待ちしています。いつも通り、コメントやフィードバックはJSON-Pのユーザーメーリングリストへ送って下さい。
JSON-P users mailing list
https://java.net/projects/json-processing-spec/lists/users/archive

[Database] Things to consider BEFORE upgrading to Oracle 12.1.0.2 to AVOID poor performance and wrong results

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

ようやくMy Oracle Support (MOS) ポータルに登場しました。アップグレードや移行を準備するにあたって最も有用なNoteの一つで、しかもおそらくMOSで最も長いタイトルのNoteです。
Things to Consider Before Upgrading to 12.1.0.2 to Avoid Poor Performance or Wrong Results (Doc ID 2034610.1)
https://support.oracle.com/rs?type=doc&id=2034610.1
Oracle Database 12.1.0.2へのアップグレードや移行をしない場合には、11.2.0.4以前のリリースにも対応している次の3個のNoteも有用です。
Things to Consider Before Upgrading to 11.2.0.2 to Avoid Poor Performance or Wrong Results (Doc ID 1320966.1)
https://support.oracle.com/rs?type=doc&id=1320966.1
Things to Consider Before Upgrading to 11.2.0.3 to Avoid Poor Performance or Wrong Results (Doc ID 1392633.1)
https://support.oracle.com/rs?type=doc&id=1392633.1
Things to Consider Before Upgrading to 11.2.0.4 to Avoid Poor Performance or Wrong Results (Doc ID 1645862.1)
https://support.oracle.com/rs?type=doc&id=1645862.1

[Java] New for Java 9: jshell

原文はこちら。
https://blogs.oracle.com/jtc/entry/new_to_java_9_jshell

PYPLやTIBOEといった、コンピュータプログラミング言語の人気をはかる指標のサンプリングでは、Javaは、20年たった今でもたくさんの方々に支持されています。
PYPL PopularitY of Programming Language
http://pypl.github.io/PYPL.htmlTIOBE Software : TIOBE Index
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
一般的には、いつ、誰に尋ねるかによって変わるとはいえ、Javaは通常、こうした調査では第1位もしくは第2位にランクインします。最近のコンピュータサイエンスの卒業生がJavaを知らないということを想像するのは難しいかもしれませんが、ある傾向がはっきりしています。それは、トップの大学では、プログラミング入門クラス用にJavaの代わりにより簡単な言語を教育用言語として使うという流れです。

Pythonのような言語と比較して、標準Javaプラットフォームには、現在、Read-Eval-Print-LoopもしくはREPLとして知られているものは備わっていません。完全に構文として正しいプログラムを作成し、コンパイルしなければ、フィードバック(結果)を得ることができませんが、REPLを使うと、学生やプログラマーがちょっとしたコードスニペットを入力し、即座にフィードバックを得ることができるので、ずっと対話的になります。この新しいjshell機能の概要を説明するJava Enhancement Proposal (JEP) では、「教育する言語としてJavaを選択しなくなっている第1の理由は、他の言語には ”REPL” 機能があり、これが最初の"Hello World"プログラムのハードルを下げているのだ、と学校が述べている」と言っています。
JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)
http://openjdk.java.net/jeps/222
来るJava 9で導入されるjshellにより、この欠点が解消されます。

Kullaと呼ばれるOpenJDKのプロジェクトの後援を受けてREPL機能を示すコードが作成されていますが、現時点ではまだコアのJDK 9早期アクセスリリースに組み込まれておらず、このエントリを記載している時点(2015年7月下旬)では、別のビルドが必要です。
JDK™ 9 Early Access Releases
https://jdk9.java.net/download/
(うまくいけばそれほど遠くない)将来の早期アクセスリリースでは、これらの機能が全て組み込まれ、余計な作業をする必要がなくなるはずです。当座の間、ここでjshellの機能を紹介する簡単な動画をご紹介しましょう。

JDK 9のfeature completeフェーズが近づいているので、重要な新機能がJDK 9へ統合され組み込まれることを期待しています。

[訳注]
Java 9リリースの詳細情報を知りたい方、テスト方法を知りたい方は、以下のリンクをご覧下さい。
JDK 9 Outreach program
https://wiki.openjdk.java.net/display/Adoption/JDK+9+Outreach

[Java] Java SE 8: Creating a Basic REST Web Service using Grizzly, Jersey, and Maven

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

最新のJavaチュートリアルがUpされました。このチュートリアルでは基本的なRESTサービスをGrizzly、Jersey、Mavenを使って作成する方法を取り扱っています。こうしたツールにまだ不慣れであれば、実際に試して見るよい機会でしょう。チュートリアルは以下のリンクから始めることができます。
Java SE 8: Creating a Basic REST Web Service using Grizzly, Jersey, and Maven
https://apexapps.oracle.com/pls/apex/f?p=44785:24:13162294735526::NO::P24_CONTENT_ID,P24_PREV_PAGE:11586,1
チュートリアルではオープンソースのGrizzly WebサーバとApache Jerseyライブラリを使うアプリケーション作成し、RESTful Webサービスを作成します。JerseyライブラリはJAX-RS Java REST WebサービスAPIの参照実装で、Jerseyを使うと、RESTful Webサービスを本当に簡単に作成できます。チュートリアルではこの作成プロセスを順を追って説明します。

最後に、Apache MavenとはJavaビルドツールであり、これを使うと簡単にプロジェクトを作成、管理することができますし、よく知られたツールやテンプレートを使って新しいプロジェクトを作成したり、必要なライブラリのダウンロードプロセスを自動化することもできます。Mavenを使ってuber jarファイルを作成し、アプリケーションで必要なライブラリを全て1個のファイルに保存します。

[Java] Servlet 4 Early Draft Needs You!

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

Servlet 4によるHTTP/2 supportは、Java EE 8での重要な変更の一つですが、早期ドラフトをJavaOne 2015までに出したいという意図のため、Servlet 4仕様は現在最初の早期ドラフトのために準備しています。Servlet 4に関心があるのであれば、このタイミングで是非ドラフト作成に参加し支援してください。スペックリードであるEd Burnsが早期ドラフトに最低限組み込むことを考えている2項目には、以下のものが含まれています。
  • HTTP/2 server pushのサポート
  • Reactive Streamsコンセプトを追求するか、意図的に無視するかの判断
  • 現時点でのメーリングリストにおける未解決の問題
いつも通り、様々な方法で参加することができます。いつでも仕様のJCPページから専門家グループへ参加できます。
JSR 369: JavaTM Servlet 4.0 Specification
https://www.jcp.org/en/jsr/detail?id=369
Servlet 4仕様のユーザーエイリアスに参加し、シンプルに議論に参加することもできます。
Servlet Specification Mailing Lists
https://java.net/projects/servlet-spec/lists
JUGを通じてグループとして参加を希望されるのであれば、Adopt-a-JSRを通じて簡単に参加することができます。

[Linux] Announcing the general availability of Unbreakable Enterprise Kernel Release 3 Quarterly Update 6

原文はこちら。
https://blogs.oracle.com/linux/entry/announcing_the_general_availability_of1

Oracle Linux 6および7向けUnbreakable Enterprise Kernel Release 3 Quarterly Update 6 (UEKR3U6) がリリースされました。これがUEK Release 3 (Version 3.8.13-98) の6回目の4半期ごとのアップデートリリースで、ドライバのアップデートやバグやセキュリティのセキュリティ問題の修正がまとまっています。
このアップデートの目玉は次のようなものです。
  • Intel Sandy Bridgeメモリコントローラ (sb_edac) のドライバ (version 1.0.0) 
  • SGI UltraViolet 3プラットフォームのサポート
  • コンテナ作成時の新しいオプション --privilege を含む、カーネルやユーザースペースにおけるLXCの機能改善
  • 長時間実行中のハイパーコールによるソフトルックアップの抑止やXebブロックドライバでのメモリリークを抑止するXenの機能改善
  • 64Bitホスト上での32BitアプリケーションにおけるUser-Level Statically Defined (USDT) プローブを使うことに対するDTraceの機能改善
  • 8個を超える PTP hardware clocks (PHC) のサポート
  • 主要パートナーのストレージデバイス、ネットワークカードなどのドライバアップデート
    • Adaptec
    • Broadcom
    • Cisco
    • Emulex
    • Intel
    • QLogic
    • VMware
このリリースの詳細情報は、リリースノートをご覧下さい。
Oracle® Linux Release Notes for Unbreakable Enterprise Kernel Release 3 Quarterly Update 6
https://docs.oracle.com/cd/E52668_01/E63227/html/index.html
ソースコードはパブリックYumリポジトリからご利用頂けます。
linux-uek3-3.8.git / summary
https://oss.oracle.com/git/?p=linux-uek3-3.8.git;a=summary