2014年4月30日

[Solaris] Oracle Solaris 11.2 Announced

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

今朝ニューヨーク市で、Mark Hurd、John Fowler、Markus Flierlが参加しOracle Solaris 11.2の発表をいたしました。多くの方がおそらくこのリリースに注がれた労力や、このリリースに含まれている画期的なテクノロジーを理解できないのではないかと思います。多くの方は「Solarisは死んでいる」という言葉で何年もの間葬り去ろうとしてきましたが、まだ生きてますし、SPARCプロセッサおよびSPARCシステムのロードマップと同じように、継続的に技術開発し、着実に提供し続けます。
Oracle Introduces Oracle Solaris 11.2 – Engineered for Cloud
http://www.oracle.com/us/corporate/press/2195450
What Partners are Saying About Oracle Solaris 11.2
http://www.oracle.com/us/corporate/press/2195449
SPARC processor and system roadmap
http://www.oracle.com/us/products/servers-storage/servers/sparc/oracle-sparc/sparc-roadmap-slide-2076743.pdf
このリリースについて要約する必要があるならば、このリリースのタグラインは全く持っていつも通り「Engineered for Cloud」です。これこそが、Solarisの開発のはじめからずっとある駆動力です。我々のエンジニアは常に確かな基盤から設計されている真のEngineered Systemを提供します。Oracle Solaris 11は、本当にゲームを変えるような数多くの新機能をもたらします。
  • Unified Archives
    Unified Archivesは、Oracle Solaris 10で使われていたSolaris Flash Archivesの後継版で、基本的にOVFに準拠したフォーマットで構築されていますがZFSストリームを利用している、新しいアーカイブ形式です。Unified Archivesは、クラウド環境内でのクローニング、バックアップ、ディザスタリカバリの目的で実行中のシステムの環境をキャプチャできます。これまでの標準的なゴールデンイメージとは異なり、Unified Archivesはベアメタルおよび仮想化環境(またはその両方の組み合わせ)のどちらでもキャプチャし、強力なイメージ変換をして、ベアメタルや仮想環境に対して展開することができます。プロセスを進めるにつれ、ゴールデンイメージをキャプチャし、迅速に展開する必要のある一般的な開発、テスト、本番のライフサイクルにおいて、この機能は特に有用です。しかし、どれほどの数の開発者がSPARC M6システムへのアクセス権を持っているでしょうか?Unified Archivesを使えばアクセス権がなくてもかまいません。開発者はSPARC T5システムをキャプチャできますし、本当に重要ならばより大きなシステムに展開することができます。
  • Kernel Zones
    Kernel ZonesはOracle Solaris Zonesの機能で、スタンドアロンのカーネルを持つ完全に独立・分離した仮想環境を持つことができます。我々のお客様はこの機能を待望されていました。そしてこの高集積クラウド環境の立ち上がりと共に、異なるバージョンのカーネルをサイドバイサイドで実行する機能が機能が極めて重要になっています。この機能を使うと、管理者は簡単にシステム保守のためのワークロードを移行したり、global zoneのバージョンによって制約を受けずにワークロードを再バランスすることができます。
  • Compliance
    この件についてお客様からしばらくの間ヒアリングしてきました。コンプライアンス要件は、当分去りゆくものではなく、実際には、仮想化されたクラウドコンピューティングの世界で複数の異なるソフトウェアバージョンを使ってコンプライアンスを管理することはますます難しくなっています。Oracle Solaris 11.1では、業界標準のSCAPをサポートするよう統合しました。お客様の悩みを乗り越えるのに役立つように、数多くの組み込みポリシーを使ったコンプライアンスの自動監視・レポートのためのツールセットを提供することで、さらに一歩前進しています。
  • Software Defined Networking
    Oracle Solaris 11は、かなりの時間をかけて数多くのネットワーク仮想化機能を取り込んできました。仮想ネットワーク·インターフェース(VNIC)の追加は、ネットワークトポロジ構造における前例のないレベルの柔軟性をもたらし、ソフトウェア内でのリソース管理をシームレスに実現します。Oracle Solaris 11.2では、Elastic Virtual Switchを導入し、Software Defined Networking(SDN)で引き続き拡張、展開し続けています。Elastic Virtual Switchを使うと、管理者がシームレスに単一のソースから、クラウド内の複数のノード間で一連の仮想スイッチを管理することができます。新しいソケットレベルAPIを使うと、開発者は、専用アプリケーションレベルのフローを、VMから直接ネットワーク·ハードウェアおよびバックエンドストレージに至るリソース管理ネットワークトラフィックに書くことが出来ます。
  • OpenStack
    そして大事なことを言い忘れていましたが、業界標準のクラウドコンピューティング基盤ソフトウェアであるOpenStackを採択しました。Oracle Solaris 11.2は、完全なOpenStackのディストリビューションであり、様々なOpenStackのサービスに、Oracle Solarisの基盤を統合しました。Nova (compute virtualization)、Neutron(networking)、CinderとSwift(ブロックストレージとオブジェクトストレージ)、Glance(イメージ管理)、Keystone(アイデンティティ管理)、そしてもちろん、統一された管理インターフェースのHorizon(均一でないデータセンターリソースを管理するための機能)です。自社にOpenStackを導入したいというお客様の声を聞いてきましたので、この分野で相互運用可能であること、OpenStack Unified Archiveのような基盤を提供して、お客様が自社のビジネスをクラウドコンピューティングにシフトし始めるお手伝いが出来ることに非常に興奮しています。
しかしこのリストは手始めにすぎません。Oracle Solaris 11.2 What's New Guideを一読し、その他の新しく統合された幅広い内容を確認してください(拡張されたOracle SolarisのPuppetのサポート、他の新しい統合の広大な配列を参照して、読み取り専用のルート環境であるImmutable Global Zones、SMFステンシルを用いたサードパーティの構成管理、シームレスなIPSリポジトリのミラーリング、Automated Installerを使用した、セキュアなエンドツーエンドの展開、など)。
Oracle Solaris 11.2 What's New Guide
http://www.oracle.com/technetwork/server-storage/solaris11/documentation/solaris11-2-whatsnew-2191087.pdf
Puppet Labs: IT Automation Software for System Administrators
http://puppetlabs.com/
もしOracle Solarisを却下した方の一人であれば、Oracle Solaris 11.2を是非チェックしてください。大きな発展を遂げました。Oracle Solaris 11.2は、これまで見たことのない、本当に貴社のITニーズをずっとうまく管理することができるエンタープライズ対応のテクノロジです。

2014年4月29日

[WLS] Oracle, yet again, #1 in the Application Platform [previously known as Application Server] Market for 2013

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

2014年3月のGartnerの「Market Share: All Software Markets, Worldwide 2013」レポートによると、Oracleは2013年のApplication Platform Market Segmentのマーケットシェアの第1位でした。

参考資料

レポートの詳細情報は、Gartnerにお問い合わせください。
http://www.gartner.com/technology/contact/contact_gartner.jsp
Facebook、Twitter、YouTubeのOracle WebLogic Serverでもつながって下さい。

2014年4月28日

[Java] Java ME 8 Specifications Approved

原文はこちら。
http://terrencebarr.wordpress.com/2014/04/27/java-me-8-specifications-approved/

約18ヶ月前に我々は、JCP(“JSR 360 and JSR 361: A Big Leap for Java ME 8”) でJSR 360 (Connected Limited Device Configuration 8) と JSR 361 (MEEP 8)を提出し、Java MEプラットフォーム標準のメジャーアップデートを実現するための野心的な旅に乗り出しました。
JSR 360 and JSR 361: A Big Leap for Java ME 8
https://terrencebarr.wordpress.com/2012/11/18/jsr-360-and-jsr-361-a-big-leap-for-java-me-8/
JSR 360: Connected Limited Device Configuration 8
https://jcp.org/en/jsr/detail?id=360
JSR 361: JavaTM ME Embedded Profile
https://jcp.org/en/jsr/detail?id=361
そして今週、JSR360とJSR361が両方とも全会一致(25のYES票)で承認されました。Java ME 8が今や現実のものとなりました。小型組み込み機器に対しJava8の力をもたらすことができます。まもなくたくさんの発表をしますので、お楽しみに。
Java 8 Launch: Learn about Java ME 8 + other screencasts
https://terrencebarr.wordpress.com/2014/03/25/java-8-launch-learn-about-java-me-8-other-screencasts/
しばらくの間は、“Introduction to Java ME 8”というWebcastや、”Java ME 8 Deep Dive”というプレゼンテーションをチェックしてください。
Webcast: Introduction into Java Micro Edition (ME) 8

New presentation: Java ME 8 Deep Dive
https://terrencebarr.wordpress.com/2014/03/28/new-presentation-java-me-8-deep-dive/

2014年4月23日

[Hardware, Big Data] Announcing: Big Data Appliance 3.0 and Big Data Connectors 3.0

原文はこちら。
https://blogs.oracle.com/datawarehousing/entry/announcing_big_data_appliance_3

本日、Big Data Appliance 3.0(先頃リリースしたOracle NoSQL Database 3.0を含みます)とBig Data Connectors 3.0をリリースしました。このリリースでは、数多くのおもしろい、クールな機能を提供すると共に、これからの情報管理の中核となると考えられる、Oracle Big Data Management System全体を機能強化しています。


このエントリでは、BDA、NoSQL DB、BDCスタックで新たに機能強化された点をいくつかご紹介します。

Big Data Appliance 3.0:

  • 事前構成済みかつ事前インストール済みのCDH 5.0(YARNとMR2をデフォルトでサポート)
  • BDA 2.5 (CDH 4.6) から BDA 3.0 (CDH 5.0)へアップデート
  • アプライアンス内で単一ベンダーによる(データ保存時ならびにネットワーク上での)完全暗号化
  • KerberosおよびApache Sentryを事前構成済み
  • Oracle SQL Connector for Hadoopを使ったPartition Pruning
  • Apache Spark(Spark Streamingを含む)のサポート
  • その他は以下のリンクをご覧下さい。
    Big Data Appliance X4-2
    http://www.oracle.com/technetwork/database/bigdata-appliance/overview/index.html

    Oracle NoSQL Database 3.0:

    • 分散キーバリューモデル上で表データモデルをサポート
    • Secondary Indexingのサポート
    • 「データセンター」のサポート。つまり、Disaster Recoveryのためのメトロゾーンと、読み取り専用ワークロードのためのセカンダリゾーン
    • 認証ならびにネットワーク暗号化
    • その他は以下のリンクをご覧下さい。
      Oracle NoSQL Database
      http://www.oracle.com/technetwork/database/database-technologies/nosqldb/overview/index.html
    上記リンク先やOTNページ、データシート、その他関連情報から、これらの機能を全て確認戴けます。

    While BDA 3.0はBDA 2.5からのアップグレードを即時提供しますが、Oracleは現行のバージョンもサポートする予定です。CDH4.xベースのBDA2.xのリリースをとても期待しています。安全な方法で最新かつ最高のバージョンにアップグレードできることを知った上で、BDAの展開方法と利用したいバージョンについて、顧客の皆様は選択することができます。

    2014年4月22日

    [Java] New book: Java EE 7 with GlassFish 4 Application Server

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

    The third edition of David HeffelfingerのJava EE本第3版がリリースされました。この第3版では最新のJava EE 7を取り扱っています。
    Java EE 7 with GlassFish 4 Application Server
    David R. Heffelfinger
    http://www.packtpub.com/java-ee-7-with-glassfish-4-application-server/book
    この書籍はJava EEプラットフォームおよび最新バージョンの主要なAPI(JPA 2.1、EJB 3.2、JSF 2.2、CDI 1.1、JMS 2.0、JAX-RS 2.0、Beans Validation 1.1、JAX-WS 2.2など)を紹介しています。また、Java EE 7で新たに導入されたAPIの2つ、WebSocket APIとJSON-Pについても取り上げています。.
    ですから、Java EE 7初心者だったり、古いバージョンのプラットフォームで立ち往生されていたりするならば、この本を読めば、Java EE 7の技術概要、主なAPI、その動作方法などを理解することができるため、Java EE7の全体的にしっかりと理解でき、すぐにスタートできるでしょう。その後、プラットフォームやAPIの深い部分に入り込むことが簡単にできるようになるでしょう。

    注意:本のサンプルではGlassFish 4を使用していますが、書籍のコンテンツの多くは、他のJava EE 7アプリケーションサーバーでも利用できます。これがJava EEの美しいところですね。

    [Java] New Tech Article: PrimeFaces in the Enterprise

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

    PrimeFacesは人気のあるJavaServer Faces (JSF) UIフレームワークで、これを使って迅速に洗練された企業向けおよび標準的なWebサイト用のアプリケーションを開発することができます。OTNの技術記事「PrimeFaces in the Enterprise」では、企業向けデータ駆動型アプリケーションを効率的に作成する方法を取り上げています。
    PrimeFaces - Ultimate JSF Component Suite
    http://primefaces.org/
    PrimeFaces in the Enterprise (by Josh Juneau)
    http://www.oracle.com/technetwork/articles/java/java-primefaces-2191907.html
    開発者のJosh Juneauはエンタープライズアプリケーションを開発する際に、PrimeFaceを利用しユーザーフレンドリーにして堅牢なUIを作成しており、架空のAcmePoolsという会社の顧客情報や作業情報、プールの情報を登録・更新するフォームを開発する流れを説明しています。PrimeFacesをJSFアプリケーションで利用すると、アプリケーションで利用可能なオプションを大幅に増やすことができることを是非ご確認ください。
    是非OTNの「PrimeFaces in the Enterprise」をご一読ください。

    [Linux] Friday Spotlight: How to Test OCFS2 in a Virtual Environment with Oracle VM VirtualBox

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

    今週のスポットライトは、OCFS2環境をOracle VM VirtualBoxにセットアップする方法を手順を追ってご紹介する技術記事です。
    OCFS2 - Oracle Cluster File System for Linux
    http://www.oracle.com/us/technologies/linux/025995.htm
    Oracle VM VirtualBox
    http://www.oracle.com/us/technologies/virtualization/virtualbox/overview/index.html
    How to Test OCFS2 in a Virtual Environment with Oracle VM VirtualBox
    http://www.oracle.com/technetwork/articles/servers-storage-admin/linux-ocfs2-vm-2191874.html

    2014年4月19日

    [Java] CDI 1.2 Released

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

    ご存知のように、CDI 1.1はJava EE 7のなかで重要な部分ですが、そのCDI仕様がマイナーアップデートされ、CDI 1.2としてリリースされました。想像できると思いますが、このリリースには1.1の記述の修正と説明が含まれています。Java EEプラットフォームの一部のテクノロジーが個別にリリースされることを知って驚かれているならば、そんなに驚くことではありません。通常、様々な実際の理由で、JavaテクノロジーはプラットフォームJSRと同期するのですが、個々のJSRのリリーススケジュールは完全にその制約を受けないからです。過去の例では、JSFやJAX-RS(そしておそらくJCacheも)そのようになっています。

    詳細の変更リストはCDI仕様のWebページにありますので、そちらをご覧下さい。
    Contexts and Dependency Injection :: CDI 1.2 released
    http://www.cdi-spec.org/news/2014/04/14/CDI-1_2-released/

    2014年4月18日

    [Database] Compression Advisor estimates compression ratio possible with Oracle Advanced Compression

    原文はこちら。
    https://blogs.oracle.com/databaseinsider/entry/tool_estimates_your_compression_ratio

    ストレージを追加することを検討する前に、もしデータベース環境の圧縮率を見積もることができ、Oracle Advanced Compressionがどれふらいストレージの使用量を削減することができるかがわかるとどうでしょうか。
    貴社の直面している最大の課題がデータの増大コストを効率的に管理することだとすれば、より多くのストレージハードウェアやストレージ管理製品をこの問題に投入することを避ける、データベースストレージ環境の管理上のよりよい方針が必要でしょう。
    Compression AdvisorはOracleから無償で提供されているデータベースのツールですが、これを使うと、実際のデータを用いて、Oracle Advanced Compressoinオプションをデータベース環境に展開した場合の圧縮結果を見積もることができます。
    Compression Advisor
    http://www.oracle.com/technetwork/database/options/compression/index.html
    Oracle Advanced Compression Option
    http://www.oracle.com/us/products/database/options/advanced-compression/overview/index.html
    Compression Advisorの使い方は、以下のOracle Advanced Compressionの概要をご覧頂くと理解いただけるでしょう。
    Storage Savings with Oracle Advanced Compression
    http://medianetwork.oracle.com/video/player/3476493507001
    Compression Advisorパッケージ(DBMS_COMPRESSION)はOracle Database 12cに含まれています。

    2014年4月17日

    [Solaris] You're WEBvited: April 29, Oracle Solaris 11.2 Launch

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

    New Yorkで開催されるOracle Solaris 11.2のお披露目イベントに参加できない方向けに、ライブWebcastの登録が始まりました。
    イベントは13時(EDT)、10時(PDT)からMark Hurdのスピーチで幕を開けます(申し訳ありません、Webベースのランチサービスはありません :-p )。その後John FowlerMarkus Flierlが続き、企業のクラウドサービスに最適なプラットフォームをお探しの方にとって、このリリースが重要な理由を説明していきます。
    是非イベントの間にTwitterでもTweetしてください。ハッシュタグは、 #solaris です。

    Webcast: Announcing Oracle Solaris 11.2
    • 開催日時
      • 2014年4月29日(火)10時(PDT)
      • 2014年4月29日(火)13時(EDT)
      • 2014年4月30日(水)2時(JST)
    • 時間:90分
    登録は以下のリンクからどうぞ。
    http://oracle.com/goto/solaris-11-2

    2014年4月16日

    [Java] Asynchronous CDI Events?

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

    CDIイベントは非常に強力な機能で、非常にシンプルで型安全な方法で疎結合にすることができます。CDIイベントは、非同期というよりはむしろ同期型である、という側面があり、このことに驚かれる方が結構いらっしゃいます。イベントシステムが通常は非同期である、ということを考えれば、その驚きは当然と言えるでしょう。Piotr Nowickiが、EJBの@AsynchronousアノテーションやSingletonロック、JMSなどのプレーンなJava EEの機能を使用して、CDIイベントを非同期にするための様々なオプションを調査し、ブログエントリにまとめ、その中で問題を調べています。
    Asynchronous CDI Events
    http://www.javacodegeeks.com/2013/05/asynchronous-cdi-events.html
    node.jsやリアクティブ・プログラミングが徐々に発展しているため、この問題をさらに深掘りすることはきっと時宜に適っていると思います。
    非常に心強いことに、CDI 2.0のスペックリードであるAntoine Sabot-Durand自身が、自身のCDI 2ウィッシュリストで、非同期CDIイベントについて述べており、@Observes アノテーションへの非同期フラグを追加することを提案しています。
    Forward CDI 2.0 (Next Presso)
    http://www.next-presso.com/2014/03/forward-cdi-2-0/
    この提案における、考えられる不都合な点は、イベントプロデューサではなく、イベントコンシューマが非同期を使うことを決定する、という点です。もう一つの可能性は、Java SE 8で導入されたアノテーション機能を使って、プロデューサに非同期マーカーを付けることです。
    public class EventProducer {
    
      @Inject Event event;
    
      public void doSomething() {
          MyEvent e = new @Async MyEvent();
          e.data = "This is a test event";
          e.eventTime = new Date();
          event.fire(e);       
      }   
    }
    
    public class EventConsumer {
    
        public void afterMyEvent(@Observes MyEvent event) {
            // .. Insert event logic here
        }
    }
    この問題と可能性についてどう思いますか?そろそろ、CDI 2の将来がはっきりしてきたと、合図を出す時期ですね。

    [Java] Java EE 7 Tutorial Updated!

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

    Java EE 7 Tutorialの最新版がリリースされました。Update 7.0.4には、サンプルやドキュメントの両方の不具合修正を含まれています。これらの修正のほとんどは軽微なものですが、このおかげでチュートリアルの品質が劇的に向上しました。
    Kin-man Chungが徹底したレビューを行い、9章の式言語(Expression Language)の内容改善にあたって有用ないくつかの修正や良い提案をしてくれました。
    Chapter 9 Expression Language
    http://docs.oracle.com/javaee/7/tutorial/doc/jsf-el.htm#GJDDD
    Duke Tutoringケーススタディでは、ユーザーインターフェースや管理用インターフェースを使った追加インストラクションを追加しました。
    すべてのサンプルをチェックして、コードをきれいにし、サンプルを実行時や、IDEのコードエディタを使ってサンプルを構成するファイルの調査時に、警告をできる限り発生しないようにしました。
    全てのサンプルは、JDK 7、JDK 8、NetBeans 8.0の最新バージョンで適切に動作することを確認ずみです。
    出版社から戻ってきた内容を取り込み、オンラインでご覧頂いているものが、来月には2分冊の書籍として皆様のお気に入りの書店でお求めいただけるようになります。
    「Section 2.1 Required Software」に従い、アップデートを入手し、インストールしてください。
    2.1 Required Software
    http://docs.oracle.com/javaee/7/tutorial/doc/usingexamples001.htm#GEXAJ

    [Java] JDK 8u5 and JDK 7u55 Documentation Updates

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

    Java Development Kit 8 Update 5 (JDK 8u5) と JDK 7u55 がリリースされ、Java SE Downloadページからダウンロードできるようになっています。
    Java SE Downloads
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    このリリースの情報は、以下のリリースノートをご覧下さい。
    JDK 8u5 Release Notes
    http://www.oracle.com/technetwork/java/javase/8train-relnotes-latest-2153846.html
    JDK 7u55 Release Notes
    http://www.oracle.com/technetwork/java/javase/7u55-relnotes-2177812.html
    JDK 8u5 と 7u55 での機能強化ポイントをご紹介しましょう。
    • 何度も同じRich Internet Application(RIA)を実行するシステムで、セキュリティダイアログの出現頻度を減らしました。
    • スタンドアロンのアスタリスク(*)をCaller-Allowable-Codebase属性の値として指定した場合、JavaScriptコードからRIAの呼び出しでセキュリティ警告を表示します。ユーザーは呼び出しを許可するか、ブロックするかの選択が可能です。詳しくは、以下のリンクをご覧ください。
    JAR File Manifest Attributes for Security
    Caller-Allowable-Codebase Attribute
    Java SE 8
    http://docs.oracle.com/javase/8/docs/technotes/guides/jweb/security/manifest.html#caller_allowable
    Java SE 7
    http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#caller_allowable

    2014年4月15日

    [Database] How to configure EM Express for a single PDB ?

    原文はこちら。
    https://blogs.oracle.com/dba/entry/how_to_configure_em_express

    EM Expressとは?

    EM Expressは新しく追加された監視ツールで、Oracle Database 11gまで付属していたEM Database Controlを置き換えるものです。EM Expressはすぐに使えるWebベースの管理ツールで、XDBサーブレットとしてデータベースに組み込まれており、データベースのインストールプロセス(例えばdbcaの使用時)に自動的に構成されるため、別途インストールする必要はありません。EM Expressは使用していないときは非常にデータベースへの負荷が低く、システムリソースを消費せず、シングルインスタンスでも、RAC環境でもお使いいただけます。EM ExpressはEM 12c Cloud Controlに近いルック&フィールです。CDBインストール時に、EM Expressはルートコンテナ用にデフォルトで有効になっていますが、個々のPDB用には、個別のEM Expressポートを構成する必要があります。

    個々のPDB用にEM Expressが必要な理由

    EM Expressはアプリケーションのデータベース管理者(DBA、PDBAとも)にとって、割り当てられたPDB内のパフォーマンスを監視・管理する上で役にたちます。機密データを使わないテスト環境や開発環境での利用はさておき、Oracle Multitenantを使うと、開発者はPDB内のデータディクショナリへの完全なアクセスが可能で、これにより、開発者はPDBの範囲内で完全な制御が可能になりました。これまでは、長年にわたりDBAチームが管理していたためにわかりにくいところがありましたが、Oracle Multitenantの中では、開発者が多くの自律性を得ることができ、パフォーマンス・データカタログへのアクセスやクエリのチューニング、EM Expressを使ってPDBを変更するにあたって、DBAの手を煩わせる必要はありません。DBAは今後はよりシステムレベルのパフォーマンスや運用タスクに注力することができるようになります。

    XDBポートの構成方法

    XDBユーザーが所有するxdb$cdbports表が標準であります。この表を使って各PDBに割り当てたポート番号のリストを決定します。CDBにSYSDBA(SYSユーザー)としてログインし、以下のクエリを実行しましょう。ところで、ルートコンテナに割り当てられているデフォルトポート番号は5500です。

    PDBに割り当てられたポートのリスト

    SQL> l
      1  select c.name,c.open_mode,e.port
      2  from v$pdbs c, xdb.xdb$cdbports e
      3* where c.con_id = e.pdb (+)
    SQL> /
    
    NAME                           OPEN_MODE    PORT
    ------------------------------ ---------- ----------
    ORDERS                        READ WRITE    5501
    SPARK                         MOUNTED       5505
    JPM                           READ WRITE    
    NONCDB                        READ WRITE
    PDB_000                       READ WRITE
    PDB$SEED                      READ ONLY
    
    上記リストより、このCDB中の6個のPDBのうち、2個だけがポートを割り当てられていることがわかります。それでは、JPMというプラガブルデータベースにポート番号を割り当てましょう。まず、コンテナをJPMに変更し、値を返さないXDBポートを見つけましょう。
    SQL> alter session set container = JPM;
    
    セッションが変更されました。
    
    では、XDBポートを調べます。
    SQL> select dbms_xdb_config.gethttpsport() from dual;
    
    DBMS_XDB_CONFIG.GETHTTPSPORT()
    ------------------------------
    
    新しいポート番号5504を以下のプロシージャを使ってXDBポートに設定します。
    SQL> exec dbms_xdb_config.sethttpsport(5504);  
    
    PL/SQLプロシージャが正常に完了しました。
    ルートコンテナに戻り、先ほど実行したリストを取得してみましょう。
    SQL> alter session set container = cdb$root;
    
    セッションが変更されました。
    
    SQL> select c.name,c.open_mode,e.port
      2   from v$pdbs c, xdb.xdb$cdbports e
      3  where c.con_id = e.pdb (+);
    
    NAME                           OPEN_MODE    PORT
    ------------------------------ ---------- ----------
    ORDERS                         READ WRITE    5501
    SPARK                          MOUNTED       5505
    JPM                            READ WRITE    5504
    NONCDB                         READ WRITE
    PDB_000                        READ WRITE
    PDB$SEED                       READ ONLY
    
    ご覧いただけるように、プラガブルデータベース JPM にXDBポート5504が設定されました。またこのポートがリスナーに登録されているかを確認する必要があります。
    $ lsnrctl status | grep -i 5504
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5504))(Security=(my_wallet_directory=/scratch/dechatt/app/product/12.1.0/dbhome_1/admin/db12c/xdb_wallet))(Presentation=HTTP)(Session=RAW))
    
    リスナーに登録されていることを確認したら、あとはEM Expressロール(EM_EXPRESS_ALL もしくは EM_EXPRESS_BASIC)を持つ共通ユーザーやローカルユーザーでEM Expressにログインするだけです。今回の場合、URLはhttps://localhost:5504/em を使います。

    EM Expressにログインすれば、このプラガブルデータベース用のホームページを確認できます。

    [Java] Version 5.0 of the Java Secure Coding Guidelines now available!

    原文はこちら。
    https://blogs.oracle.com/mullan/entry/version_5_0_of_java

    Java Secure Coding Guidelinesの新バージョンが以下のURLからご利用いただけます。
    Secure Coding Guidelines for Java SE
    http://www.oracle.com/technetwork/java/seccodeguide-139067.html
    このバージョンには多くのアップデートが含まれていますが、その一部をご紹介しましょう。
    • Java SE 8の新機能に対応する情報を追加
    • 新しいガイドラインとサンプルを追加
    • Java Native Interfaceに関するAppendixを追加
    • 章の名前を変更
    • 形式の変更
    これらのガイドラインには、堅牢でセキュアなJavaアプリケーションの開発に非常に有用な、コーディングパターンやベストプラクティスが含まれています。

    2014年4月13日

    [Mobile] ADF Mobile - In the Dojo!

    原文はこちら。
    https://blogs.oracle.com/mobile/entry/adf_mobile_in_the_dojo

    先日誰かがMobile SuiteはDojoを扱えない、と言っていたのを聞いたのですが、DokoはHTML5テクノロジーで構築されており、Mobile SuiteはHTML5をネイティブサポートしていることを考えると、理解できませんでした。そんなわけで、ちょっとしたコンセプト検証(PoC、Proof of concept)を実施し、とても簡単にDojoプロジェクトをローカルHTMLページに作成できることをご紹介しようと考えました。
    まず、JDeveloperで新たにADF Mobileプロジェクトを作成し、一つのローカルHTML機能をadmf-features.xmlファイルに追加しました(View Controller/Application Sources/META-INFフォルダにあります)。
    Adding the Local HTML featutre to the project
    この設定のあと、ローカルHTML機能を追加したときに作成した、dojoExample.htmlファイルを開き、デフォルトのHTMLを以下の内容で書き換えました。
    <!DOCTYPE html>
    <!--
     ADF Mobile Dojo tutorial | Part I
    -->
    <html>
    <head>
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
     <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
     <meta name="apple-mobile-web-app-capable" content="yes"/>
     <title>Dojo ADF Mobile tutorial</title>
     <!-- application stylesheet will go here -->
     <!-- dynamically apply native visual theme according to the browser user agent -->
     <script type="text/freezescript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.9.2/dojox/mobile/deviceTheme.js"></script>
     <!-- dojo configuration options -->
     <script type="text/freezescript">
      dojoConfig = {
       async: true,
       parseOnLoad: false
      };
     </script>
           
     <!-- dojo bootstrap -->
     <script type="text/freezescript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.9.2/dojo/dojo.js"></script>
     <!-- dojo application code -->
     <script type="text/freezescript">
      require([
       "dojox/mobile/parser",
       "dojox/mobile/compat",
       "dojo/domReady!",
       "dojox/mobile/View",
       "dojox/mobile/Heading",
       "dojox/mobile/RoundRectList",
       "dojox/mobile/ListItem",
       "dojox/mobile/Switch"
      ], function (parser) {
                        // now parse the page for widgets
                        parser.parse();
      });
     </script>
    </head>
    <body style="visibility:hidden;">
     <!-- the view or "page"; select it as the "home" screen -->
     <div id="settings" data-dojo-type="dojox/mobile/View" data-dojo-props="selected:true">
      <!-- a sample heading -->
      <h1 data-dojo-type="dojox/mobile/Heading">ADF Mobile Dojo!</h1>
      <!-- a rounded rectangle list container -->
      <ul data-dojo-type="dojox/mobile/RoundRectList">
       <!-- list item with an icon containing a switch -->
       <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props="icon: 'images/ic-Airline-red48.png'">Airplane Mode
        <!-- the switch -->
        <div data-dojo-type="dojox/mobile/Switch"></div>
       </li>
       <!-- list item with an icon that slides this view away and then loads another page -->
       <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props="icon: 'images/ic_wireless.png', rightText:'mac'">Wi-Fi</li>
       <!-- list item with an icon that slides to a view called "general" -->
       <li data-dojo-type="dojox/mobile/ListItem" data-dojo-props="icon: 'images/ic_crm.png', rightText:'AcmePhone'">Carrier</li>
      </ul>
     </div>
            </body>
    </html>
    
    では、コンパイルしてエミュレータもしくは実機にデプロイします。結果は期待通りですね。
    The Dojo project in the iOS simulator
    ご覧になったように、非常に簡単です。次回はADF MobileインターフェースをDojoページから呼び出す方法をご紹介したいと思います。

    2014年4月12日

    [Java] vJUG

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

    virtual Java user group (VJUG) は発足後6ヶ月経過して、1200名のメンバーが参加しています。
    virtual Java user group
    http://www.meetup.com/virtualJUG/
    London Java CommunityのリーダーでありテクニカルエバンジェリストのSimon Mapleがこのユーザーグループを作って、Java開発者はバーチャルにつながることができるようになりました。グループが構成した10個のセッションは、全てオンラインでご覧戴けます。
    • Design is a Process, not a Document (Trisha Gee)
    • Drive by Contributions A GitHub session (Brent Beer, Matthew McCullough)
    • Don't be that guy! Developer Security Awareness (Markus Eisele)
    • Getting Started with Java EE 7 (Arun Gupta)
    • How To Do Kick-Ass Software Development (Sven Peters)
    • 55 New Features in Java SE 8 (Simon Ritter)
    • Comparing JVM Web Frameworks (Matt Raible)
    • WebSocket Applications using Java EE 7 (Arun Gupta)
    • Project Lambda: Functional Prog. Constructs and Simpler Concurrency in Java SE (Simon Ritter)
    • Java 8 Parallel Streams Workshop (Stuart Marks)
    このグループの目的は、Javaユーザーグループ(JUG)の集まりに参加できない開発者にコンテンツを提供するためです。Face-to-Faceの集まりを置き換えるものではありません。Simonは既存のJUGに役立つベストなアイデアを探しています。

    2014年4月11日

    [Linux] Announcing the availability of Oracle Linux 7 Beta 1

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

    Oracle Linux 7の最初のベータ版を発表できうれしく思っています。このベータ版はOTNのOracle Linuxのダウンロードページからダウンロードできます。
    Oracle Linux download
    http://www.oracle.com/technetwork/server-storage/linux/downloads/index.html

    このベータ版には、最新のUnbreakable Enterprise Kernel(UEK)Release 3 Update 2のベータ版、Red Hat互換カーネル(Red Hat Compatible Kernel / RHCK)が含まれています。皆様からのフィードバックをお待ちしております。ご質問やコメントを投稿するためのメーリングリストを用意しました。詳細の情報はOracle Linux Beta Release Notesをご覧下さい。
    Oracle Linux 7 Beta Release Notes
    http://docs.oracle.com/cd/E52668_01/E53499/html/index.html

    2014年4月10日

    [Database] Updates to Service Catalog paper, and a new paper from MAA

    原文はこちら。
    https://blogs.oracle.com/dbcloudcoverage/entry/updates_to_service_catalog_paper

    2013年秋に初版が公開された「Service Catalogs: Defining Standardized Database Services」がアップデートされ、新たな要素が追加されました。
    Service Catalogs: Defining Standardized Database Services
    http://www.oracle.com//technetwork/database/database-cloud/private/service-catalogs-for-dbaas-2041214.pdf
    • 標準化されたOracle DBaaSの4つのサービス機能の定義
    • 標準の可用性レベルのアップデート。Maximum Availability Architectureチームが先頃発表したホワイトペーパーの推奨に合わせています。
      High Availability Best Practices for Database Consolidation
      http://www.oracle.com/technetwork/database/availability/maa-consolidation-2186395.pdf
    • セキュリティ、アジリティ、パフォーマンスの各レベルの違い
    • サービスのサイジング例
    サービスカタログモデルを使いOracle DBaaSの提供を考えているプロバイダが、この記載されたサービスレベルを採用したり、このレベルに合わせることができます。

    2014年4月9日

    [Solaris] You're Invited: April 29, Oracle Solaris 11.2 Launch, New York City

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

    4月29日(火)、ニューヨークで、Oracle Solaris 11.2の発表イベントを開催します。Webcastを開催しますので、どこからでも参加いただけます。

    このイベントも楽しんでいただけるものになっていることをお約束します。OracleからはMark Hurd、John Fowler、Markus Flierlが参加し、いくつかの重要な新機能の紹介を通して、Oracle SolarisがCloud用に設計されていることを強調することでしょう。
    Mark Hurd
    http://www.oracle.com/us/corporate/press/Executives/mark-hurd-170533.html
    John Fowler
    http://www.oracle.com/us/corporate/press/Spokespeople/038283.htm
    Markus Flierl
    https://blogs.oracle.com/markusflierl/
    是非今すぐご登録ください。ライブイベントのキャパシティには限りがあります(もちろん、Webならもっと余裕がありますよ)。

    [注意]
    現時点(原文執筆時点、日本時間の2014年4月9日(水)15時現在でも)で、ニューヨークでのライブイベントのみ登録を開始しています。Webイベントの登録を含め、詳細はしばしお待ちください。
    Announcing Oracle Solaris 11.2: Live Event
    2014年4月29日(火)9時(PDT)、12時(EDT)
    2014年4月30日(水)1時(JST)
    http://eventreg.oracle.com/profile/web/index.cfm?PKWebId=0x74044d69f

    [SOA, Exalogic, Coheremce] Canon: A "Snapshot" of Using Coherence, SOA and Exalogic for Millions of Transactions

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

    カメラやイメージング、ドキュメントテクノロジーを提供する、世界有数の企業であるCanonは、新しく改良されたシステム·アーキテクチャで、数百万件にも及ぶリアルタイム・トランザクションを処理することができるようになりました。
    Canon Inc.
    http://www.canon.com/
    Oracle SOA Suite、Oracle Coherence、Oracle Exalogicなどをベースとし、Engineered Systemの利点により、拡張性、スピード、シンプルさがもたらされています。
    動画を表示できない場合はこちらからどうぞ。

    [Java] New book: EJB 3 in Action, Second Edition

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

    「EJB in Action」は、Java EEのこの重要な分野での参考図書の一つです。EJB3.2を取り扱う第2版が先頃発行されました。
    長年にわたり、EJB仕様は長い道のりをかけて非常にシンプルになりましたが、それにもかかわらず、EJBは仕様を把握するにはまだまだ大きな仕様です。この本は、EJBコンポーネントモデルを説明するすばらしい(かつ最新の)本です。EJBを詳細に説明するだけでなく、EJBに関連するテクノロジー、例えばCDIやJPA(昔のことをご存知の方であれば、以前はEJBを使って永続性を取り扱っていたことを覚えてらっしゃるでしょう)を説明しています。この本は、WebSocketといった、新しい重要なのJava EE 7のテクノロジーにもまるまる1章を使って説明しています。この本の最終章では、重要なのに時として見落とされるトピック、テストを取り上げています。
    EJBだけでなく、JPA、CDIなどをまず簡単に概要を説明し、その後EJBやその他のテクノロジーの使い方、つまり実際に動かす方法を説明しているため、純粋な理論の本ではありません。全体として見て、Java EE 7の参考図書として追加すべきすばらしい本です。
    EJB 3 in Action, Second Edition
    http://manning.com/panda2/
    Disclaimer:
    「EJB 3 in Action」はReza Rahman (@reza_rahman) が共著しましたが、正直に言えば、彼がOracleで働く前から、この本の初版を既に賞賛していました。

    2014年4月8日

    [Java] Virtual Developer Day - Java 2014 - Register!

    原文はこちら。
    https://blogs.oracle.com/otn/entry/virtual_developer_day_java_2014


    次回のVirtual Developer DayはJavaです。チュートリアルを見てJavaの知識を向上させ、ライブチャットで質問してください。この無料のバーチャルイベントでは以下の内容を取り扱います。
    • Java SE 8の新機能:Lambdaなど(Java SE 8 New Features: Lambdas and more
! )
    • Java EE 7の最新情報(The latest on the Java EE 7
)
    • Javaで簡単に幅広い組み込みデバイスを制御する(How Java makes it easy for you to control a wide range of embedded devices.)
    Java SE 8、Java EE 7、Java Embeddedのエキスパートからの話を聴いていただけるチャンスは、5月6日、5月14日、5月21日の3回です。

    登録は以下からどうぞ。
    Virtual Developer Day - Java 2014 (US)
    https://oracle.6connex.com/portal/java2014/login/
    Virtual Developer Day - Java 2014 (EMEA)
    https://oracle.6connex.com/portal/java2014emea/login/
    Virtual Developer Day - Java 2014 (APAC)
    https://oracle.6connex.com/portal/java2014apac/login/
    [訳注]
    APACの開催時間は、日本時間の5月21日(水)12時〜15時30分です。Java Day Tokyo 2014の予習にいかがでしょう。

    2014年4月7日

    [Java] Java ME 8 Developer Drop b58

    原文はこちら。
    http://terrencebarr.wordpress.com/2014/04/07/java-me-8-developer-drop-b58/

    Java ME 8の開発者向けビルドのb58が出ました。以前のエントリにもあるように現状のままで提供するものであり、安定性や機能面の保証はありません。
    以前のエントリ、とは・・・(Java ME 8 Developer Drop b54)
    http://terrencebarr.wordpress.com/2014/03/19/java-me-8-developer-drop-b54/
    ダウンロードするには、EA #2ダウンロードページで、"latest developer build"を探して下さい。
    Java ME 8 EA #2ダウンロードページ
    http://www.oracle.com/technetwork/java/embedded/downloads/javame/java-embedded-java-me-8ea-download-2015091.html
    Java ME SDK 8 EA #2ダウンロードページ
    http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/java-embedded-me-sdk-8ea-download-2015112.html
    質問やフィードバックは、Java ME EmbeddedのOTNフォーラムもしくは、java-me-embedded-feedback_ww_grp@oracle.comまでお願いします。
    Java ME Embedded(OTN Forum)
    https://community.oracle.com/community/developer/english/java/java_embedded/java_me_embedded/content

    2014年4月6日

    [Solaris] Don't miss the announcement of Solaris 11.2

    原文はこちら。
    https://blogs.oracle.com/markusflierl/entry/announcement_of_solaris_11_2

    この頃ブログを書くための時間があまりありません。最終的な機能をSolaris 11.2に入れ込むための作業で非常に忙しく過ごしています。4月29日に予定しているニューヨークでのSolaris 11.2の発表の準備をしつつ、残る重大な欠陥に対処できると確信しています。特に後者(Solaris 11.2の発表)が難しいと感じています。Solaris11.2の新機能のすべてを45分のプレゼンテーションに凝縮するというのは、VW Beetleに4頭の象を押し込むようなものですね。
    4月29日の現在の計画では、午前中の株式市場の開場を知らせるベルを鳴らしてスタートし、その後メトロポリタン・パビリオン(639 W.46th Street)での昼食の後、発表イベントが続きます。
    Solaris 11.2は巨大なステップ関数です。数多くの重要な差別化機能をSolarisに導入しています。我がチームがここ数年にわたって提供してきたものに対し、非常に誇りに思っています!
    お見逃しなく!

    [Java] Java 8's new Type Annotations

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

    Java 8で、2個の重要な変更をAnnotationに対して導入しました。これは、開発者がよりよいコードを書き、その品質確認のために、自動コード分析の正確性を向上するのに役立たせることを目的としています。

    Quick Annotations Webinar

    この新しい変更を説明する動画がJava 8 Launch Webcastで紹介されました。

    Enhanced Metadata - Annotations and Access to Parameter Names (by Alex Buckley and Michael Ernst)

    Annotation Improvements

    Type Annotationを使うと開発者は以前よりも多くの箇所でアノテーションを使うことができます。コンパイラはこれらのアノテーションを検証できます。例えば、Null値や突発的な値の変更、適切な検証をせずにデータが信頼境界線(trust boundary)をまたがるようなケースを識別します。いくつかのアノテーション可能な情報をJavadoc(人だけが理解できる)から、コード(人にもアナライザにも理解できる)に移すことで、より簡単に意図を理解し、特定のエラーがないことを確認することができます。ラッパーアノテーションの必要性が少なくなるため、アノテーションを繰り返すことで、これらのアノテーションの作成者が楽になります。Checker Frameworkは、ライブラリ開発者やアプリケーション開発者の両者にとってメリットがあるType Annotationを提供しています。
    The Checker Framework Manual: Custom pluggable types for Java
    http://types.cs.washington.edu/checker-framework/current/checkers-manual.html
    例えば、こんなアノテーションを提供しています。
    • @NonNull – NullPointerExceptionをデバッグしていなくても、コンパイラはコードパスがnull値を受け取る可能性があるかどうかを判断することができます。
    • @ReadOnly – コンパイラはオブジェクトを変更しようとする振る舞いに対し、フラグを立てます。Collections.unmodifiableListに似ていますが、より一般的で、コンパイル時に検証されます。
    • @Regex – 正規表現として使用することを意図したStringが正しい正規表現形式であることをコンパイル時に検証します。
    • @Taintedと@Untainted – 一緒に使われるべきではないデータタイプを識別します。例えば、システムコマンドでリモートユーザーの入力を使う、とか、機密情報をログストリームに入れる、などです。
    • @m – 測定単位は測定するオブジェクトで使われる数値が正しく使われ比較されていること、また、適切な単位変換をしていることをを保証します。

    Putting Type Annotations on your code

    Java SE 8を使うと、型を使っているところでType Annotationを使うことができます。以前はアノテーションは定義部にしか使えませんでした。例で説明しましょう。
    Annotationの例 意味
    @NonNull List<String>
    String型のNullではないリスト
    List<@NonNull String>
    非NullではないString型のリスト
    @Regex String validation = "(Java|JDK) [7,8]"
    コンパイル時にこのString型が有効な正規表現であるかどうかをチェックする
    private String getInput(String parameterName){
    final String retval = @Tainted request.getParameter(parameterName);
      return retval;
    }
    retvalに割り当てられたオブジェクトは、汚染されており、機密情報の操作では使えません。
    private void runCommand(@Untainted String… commands){
    ProcessBuilder processBuilder = new ProcessBuilder(command);
      Process process = processBuilder.start();
    }
    各コマンドは汚染されていてはいけません。例えば、以前汚染されたString型は、ここに渡される前に検証する必要があります。

    Automating issue detection

    Type Annotationは早期に潜在的な問題を発見するのに役立ちます。早期に発見した問題は、後で発見した場合よりも修正が容易で、そして早期に発見した潜在的な問題をもまた簡単に修正できます。一部のアノテーションについては、問題をすぐに発見できます。 @Overrideアノテーションは、開発者が間違ったメソッドシグネチャを書いたかどうかをコンパイラ(または静的解析ツール)がすぐに判断します。 @NonNullと@Readonlyのようなアノテーションは、Checker Framework、FindBugs、Eclipse、NetBeans、IntelliJその他の商用アナライザのようなツールによって利用されることがあります。
    The Checker Framework
    http://types.cs.washington.edu/checker-framework/
    FindBugs™ - Find Bugs in Java Programs
    http://findbugs.sourceforge.net/
    こうしたアナライザは、IDEでのバックグラウンドコンパイル、Ant/Maven、Continuous Integrationを通じて、コンパイル時に実行されます。
    Maven plugin
    http://types.cs.washington.edu/checker-framework/current/checkers-manual.html#maven-plugin
    Type Annotationこうしたアナライザに何を探すべきかを伝える役割を果たします。所定の位置にType Annotationがなければ、これらのアナライザは、まだNullの使用箇所や書き込みの変更箇所を探しますが、その変更が間違っているかどうかはわかりません。その結果、問題なしと報告したり、誤った問題を報告する可能性があります。

    Teamwork

    Type Annotationは、地理的に分散したり、多くのメンバーが含まれているチームに対し、多大なメリットをもたらします。コードの中にType Annotationを配置し、コミット前や、統合ビルド中にチェックを自動化することで、ある変更が気づかぬうちに別の機能に対し影響を与えるような状況を、チームメンバーが識別することができます。

    Optional Type Annotations are not a substitute for runtime validation

    Type Annotation登場以前は、Null値を許容するかどうかとか、範囲などを記述するための主な場所は、javadocでした。Type Annotationでは、このコミュニケーションは、コンパイル時の検証のためにバイトコードに付属します。あなたのコードは実行時の検証を実行する必要があるのは変わりません。

    Annotation validation versus Business Validation

    Type Annotationsはコンピュータサイエンスに関連するバリデーションの形式で最も使われていますが、ビジネスバリデーションには対応しないことがあります。
    Type Annotationに
    適している要件
    Type Annotationが
    適切ではないと考えられる要件
    Null値のチェック
    数値範囲のチェック
    正規表現などの基本的な型のチェック
    割り当てや更新(例えば読み取り専用など)
    データフロー検証の検知(例えば、関数の入力引数を正しい検証関数に流す、とか)
    休日や業務時間外にこの機能を実行できないことのチェック
    機能へのアクセスには特定のアカウントタイプが必要であることのチェック

    Appendix

    Annotations in core Java

    Java SE 8プラットフォームですぐ使えるデフォルトのType Annotationはありません。このエントリでご紹介した例ではすべて、Checker Frameworkを使用していました。 Java SE 8のType Annotationは、プログラムを記述する正しい領域にアノテーションを入れることに注力しました。独立した、現在アクティブではないJSR- 305(これはJava 8に含まれていません)は、こうしたアノテーションが何であるべきかを識別するために存在します。Checker Frameworkは現在、Java Annotation Index Filesを使って、コアのJavaランタイムやターゲットライブラリ、Java SE 7や6といった以前のJavaバージョンに対し、同等のサポートを得ようとしています。
    Annotation File Utilities
    http://types.cs.washington.edu/annotation-file-utilities/

    Removal of APT

    JDK 8はレガシーのAnnotation処理ツールであるaptも削除していますが、この変更による影響は少ないと考えています。これはJEP 117の一環として実施されました。その理由は、Annotation処理に必要なものはjavax.annotation.processingもしくはjarax.lang.modelに全てあるからです。
    JEP 117: Remove the Annotation-Processing Tool (apt)
    http://openjdk.java.net/jeps/117

    [Coherence] Union Pacific Railroad Runs 36K Miles of Rail Track with Oracle Coherence

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

    Union Pacific Railroadは北米で最大の鉄道会社であり、Fortune 150に含まれる売り上げ190億ドルのこの会社は、3万6000マイルにも渡る鉄路を所有・管理しています。彼らの所有する鉄道路線には、約4000個のセンサーが設置されており、このセンサーが,
    列車や車両の位置といった数多くのイベントを送信します。彼らの"Net Control"システムは、これらのイベントを捕捉し、常にネットワークの状態を再計画します。リアルタイムに感知、検出、分析、計画するこのしくみを、Oracle Coherenceがサポートしています。Arun Giri(Union PacificのEnterprise Architect)が、要件、課題、およびCoherenceがデータセンターで果たす重要な役割について説明します。
    是非動画で詳細をご覧ください。

    2014年4月4日

    [Database] Oracle NoSQL Database 3.0 Announced - Extends Security, Usability, and Performance.

    原文はこちら。
    https://blogs.oracle.com/databaseinsider/entry/oracle_nosql_database_3_0

    エンタープライズ・クラスのデータベースソリューションでリーダーシップを継続しているOracleは、Oracle NoSQL Database 3.0(旧Barkley DB)を発表しました。
    Oracle Announces Oracle NoSQL Database 3.0
    http://www.oracle.com/us/corporate/press/2182748
    この最新リリースで、Oracleは開発者に対し、高性能な次世代アプリケーション構築のための機能強化されたNoSQLソリューションを提供します。セキュリティ、可用性、拡張性、データモデルの柔軟性を兼ね備え、包括的な高性能なNoSQLソリューションをアプリケーション開発者にもたらします。
    詳細は以下のリンクからどうぞ。

    2014年4月3日

    [Java] Project Avatar, Avatar js, and Nashorn | David Delabassee

    原文はこちら。
    https://blogs.oracle.com/archbeat/entry/project_avatar_avatar_js_and

    David Delabassee(Glassfish and Java EE Principal Product Manager / Oracle)とのインタビューを収録した9分ほどの動画で、Java.netのProject Avatar、派生プロジェクトのAvatar.js、OpenJDK のProject Nashornに関する詳細の背景情報をたくさん入手いただけることでしょう。
    Project Avatar
    https://avatar.java.net/
    Avatar.js
    https://avatar-js.java.net/
    OpenJDK Project Nashorn
    http://openjdk.java.net/projects/nashorn/

    2014年4月1日

    [Java] Final Results from our Java EE 8 Community Survey

    原文はこちら。
    https://blogs.oracle.com/ldemichiel/entry/results_from_the_java_ee

    In the final phase of our Java EE 8 Community Surveyの最終フェーズで、コミュニティメンバーに対し、Part 1とPart 2で最もリクエストの多かった機能に対し、重み付けをお願いしました。この重み付けの対象にした機能は、Part 1、Part 2で、Yes(つまりJava EE 8で取り扱うべき)を少なくとも60%獲得したものです。Part 1およびPart 2の結果は以下のリンクからご覧戴けます。
    Results from the Java EE 8 Community Survey
    https://java.net/projects/javaee-spec/downloads/download/JavaEE8_Community_Survey_Results.pdf
    アンケート参加者は、下図のように、事前に与えられている100ポイントを各機能に割り当てていきました。

    ポイントの分布は下の円グラフのようになりました。

    このプロセスの次のステップは、このインプット情報を評価し、Java EEライセンシーや専門家グループ、お客様、スペックリードや社内アーキテクトからのフィードバックと整合することです。このステップでは、達成するために必要なリソースや時間に対し、競合する意見を評価し、競合するニーズや目的のバランスを取らなければなりません。
    現時点ではここで調査を終了しますが、もっと情報を提供したいということでしたら、以下の専門家グループのプロジェクトのいずれかに参加することを検討してください。
    Java EE Platform Specification
    https://java.net/projects/javaee-spec/pages/Home
    今後のアップデートはThe Aquariumブログをチェックしてください。
    The Aquarium
    https://blogs.oracle.com/theaquarium/