Quantcast
Channel: Oracle Blogs 日本語のまとめ
Viewing all 760 articles
Browse latest View live

[Database] Advanced Compression option - Common Questions

$
0
0
原文はこちら。
https://blogs.oracle.com/DBStorage/entry/advanced_compression_option_common_questions

このエントリでは、Advanced Row Compression(高度な行圧縮)についてよく尋ねられる質問について議論していきます。これらの質問とは以下のようなものです。
  • 既存の表やパーティションに対してAdvanced Row Compressionを有効化するには?
  • Advanced Row Compressionが最適なのはOLTP、データウェアハウスのどちらのアプリケーション?
  • 圧縮すべきではない表とはどのようなものか?
既存の表やパーティションについては、Advanced Row Compressionを有効化するベストプラクティスアプローチが3個あります。
  • ALTER TABLE … ROW STORE COMPRESS ADVANCED
    • 今後のすべてのDMLについてAdvanced Row Compressionを有効化しますが、表の既存のデータについては非圧縮のままにします。
  • オンライン再定義(DBMS_REDEFINITION)
    • 今後のDMLについてAdvanced Row Compressionを有効化し、さらに既存のデータも圧縮します。移行中に、読取り/書込みの両方のアクティビティに対して、表がオンライン状態で維持されます。表のオンライン再定義に適用される制限事項については、以下のリンクを参照してください。
      Oracle® Database 管理者ガイド 12c リリース1 (12.1)
      表のオンライン再定義に関する制限事項
      http://docs.oracle.com/cd/E57425_01/121/ADMIN/tables.htm#ADMIN01510
      Oracle® Database Administrator's Guide 12c Release 1 (12.1)
      Restrictions for Online Redefinition of Tables
      https://docs.oracle.com/database/121/ADMIN/tables.htm#ADMIN01510
  • ALTER TABLE … MOVE ROW STORE COMPRESS ADVANCED
    • 今後のDMLについてAdvanced Row Compressionを有効化し、さらに既存のデータも圧縮します。 ALTER TABLE...MOVEを実行中、表に対するDMLはブロックされます。
ってわけで、「どれがうちに最適なのさ?」とおたずねになるかと思うのですが、そうですね、状況次第です。圧縮を有効化している間に表やパーティションをオンラインのまま利用可能にしたいというのであれば、オンライン再定義がベストでしょう。圧縮のための停止時間を取る場合には、ALTER TABLE MOVEを使ってください。ですが、どちらを利用されたとしても、同じレベルの圧縮を提供します。

Oracle Database 12cをお使いのお客様であれば、Advanced CompressionのAutomatic Data Optimization (ADO) 機能を使って、表やパーティションをその場で圧縮することができるので、表やパーティションを移動する必要はありません。将来のエントリでこの新しい圧縮方法について説明しますので、お楽しみに。
Advanced Row CompressionはOLTPアプリケーション、データウェアハウス・アプリケーションのどちらにも最適です。Advanced Row Compression(とHybrid Columnar Compression)を使った圧縮階層化ソリューションの展開について説明する予定にしていますので、是非心にとめておいてください。
ご利用のお客様との会話で、データベース中のすべての表やパーティションを圧縮しているかどうか尋ねられたとき、一般的にはある例外を除いて、データベース中のすべての表を圧縮することを推奨します、とお伝えしています。その例外とは、表をQueueとして利用している場合、つまり行を表に挿入し、後に削除したり、多くの行を挿入、削除するような場合です。こうした目的に使われる表を圧縮するべきではありません。
Much more information regarding Advanced Compressionのベストプラクティスに関するずっとたくさんの情報がダウンロードいただけます。是非、Oracle Advanced Compression Whitepaper(の8~9ページ)をご覧ください。
Oracle Advanced Compression with Oracle Database 12c
http://www.oracle.com/technetwork/database/options/compression/advanced-compression-wp-12c-1896128.pdf
Oracle Database 12cのOracle Advanced Compression
http://www.oracle.com/technetwork/jp/database/options/compression/advanced-compression-wp-12c-1896128-ja.pdf
データベース・ストレージ最適化の冒険は次のエントリに続きます。次回は、Hybrid Columnar Compressionに関連する同様の質問について説明する予定です。

[Database] What is an In-Memory Compression Unit (IMCU)?

$
0
0
原文はこちら。
https://blogs.oracle.com/In-Memory/entry/what_is_an_in_memory

以前の一連のエントリ"Getting Started"で、In-Memory column store (IM column store / インメモリ列ストア)がSystem Global Area(SGA)に含める方法、初期化パラメータ inmemory_sizeを設定してインスタンス立ち上げ時に割り当てる方法を紹介してきました。
Getting Started / Oracle Database In-Memory
https://blogs.oracle.com/In-Memory/tags/getting_started
このブログエントリの目的のため、今回の実行環境では、Oracle Database 12.1.0.2をinmemory_sizeとして800MB、sga_targetとして3008MBを割り当てています。

この結果、SGAの割り当ては以下のようになっています。

説明しなかったことは、IM列ストアは実際には2個のプール(1MBと64KBのプール)に分かれており、動的パフォーマンスビューの v$inmemory_area をクエリすることで監視することができます。

IM列ストアに割り当てられている800MBのうち、639MBが1MBプールに、144MBが64KBプールに割り当てられていることがわかります。

それでは、これらのプールがどのような目的で使われるのでしょうか。

1MBプールは移入されたデータをIM列ストアに格納するために、64KBプールは移入されたデータのメタデータを格納するために使われています。よく領域の割り当てを変更できるのか、という質問をいただきますが、その答えはNoで、これらのサイズはOracle Databaseが判断、決定します。

下図はIM列ストアを1MBプールと64KBプールのイメージを図示したものです。

1MBプールのデータがIMCUに格納され、64KBプールのデータがSMUに格納されていることがわかります。
ところで、インメモリー圧縮単位(IMCU、In-Memory Compression Unit)とスナップショットメタデータ単位(SMU、Snapshot Metadata Unit)って何なんでしょうか。

IMCUは、IM列ストア内のストレージの論理単位で、凡そ表領域内のエクステントとほぼ同等です。
セグメントをIM列ストアに移入した場合、1個もしくはそれ以上のIMCUに格納されます。各IMCUにはセグメントからのたくさんの行が含まれています。行の長さの平均値と選択された圧縮タイプによってIMCU毎の行数が管理されます。高圧縮レベルを選択すると、それに応じてIMCU中の行の個数が増えます。指定されたセグメントのすべてのIMCUにはほぼ同数の行が含まれます。IMCU内に含まれる行数は動的パフォーマンスビュー(v$im_header dynamic)で確認することができます(後述します)。

IMCUにはIMCUヘッダが含まれています。これはIMCUに関するメタデータとcolumn compression unit(column CU / 列圧縮単位)を保持しています。デフォルトではセグメントの各列に対し1個のcolumn CUがありますが、列の値に対応するROWIDのためにもう一つcolumn CUが加わります。デフォルトでは、セグメント内の各列に1個のcolumnn CUがあり、さらに列の値に対応するROWIDのための1個のcolumn CUがあります。この構成により、簡単に元の行に対応する列をステッチバックすることができます。基本的なレイアウトを以下に示します。

各IMCUは、IMCUのメタデータを保持する64KBプールのSMUにマップされます。
v$inmemory_areaビューをクエリする場合、IMCUと1MBプールの関係性についてよく質問を受けます。
オブジェクトをIM列ストアに移入し、IMCUとSMU、そしてこの2個のプールの関係について調べてみましょう。例としてLINEORDER表を使います。表をINMEMORYに変更してから、MEMCOMPRESS FOR QUERY LOWのデフォルトの圧縮レベルを受け入れます。この場合、デフォルトの優先度がNONE(LINEORDER表へ初めてアクセスされるまでインメモリへの移入は発生しないことを意味します)なので、表からSELECTを実行します。

移入の間、バックグラウンドプロセスが実際の移入を実施しています。これらのプロセスはora_wxxx_sidという形式の名前になっており、今回の例ではora_w000_orcl、ora_w001_orcl、ora_w002_orclという3個のプロセスをtopコマンドで確認できます。

移入が完了し、v$im_segmentsとv$inmemory_areaビューをクエリすると以下のような結果を得ることができます。

LINEORDER表は完全に移入され(つまりbytes_not_populated = 0)ており、1MBプールで550MB、64KBプールで1472KB使っていることがわかります。それではこの値とIMCUの関係はどうなっているのでしょうか。

これはつまりLINEORDER表のために550IMCUを有しているということでしょうか(つまり550 1MB IMCU)。

確認してみましょう。

別の動的パフォーマンスビュー(v$im_header)を使って先ほど述べた把握することができます。これはセグメントが割り当てるIMCUを表示するものです。1個のセグメントだけが移入されたので、LINEORDER表をどのように移入したかを非常に簡単に確認できるはずです。

クエリに抽出条件「where is_head_piece = 1」がついていることにお気づきかもしれません。この条件を追加した理由は、v$im_headerビューの複数列が取り出される場合、IMCUが1個以上の「piece」から構成されうることがわかるでしょう。
このクエリの結果、1MBプールから割り当てられているため、IMCUが1個もしくはそれ以上の1MBエクステントから構成されていて、各IMCUは1個以上のピースから構成される可能性があることがわかります。

ではなぜIMCUが1個以上のピースから構成されているのでしょうか。

前述のように、IMCUが保持する行数はIMCUが消費する領域の量に影響します。対象となる行数によって、IMCUが1MBプールで利用可能な連続した1MBエクステントのサイズを上回ると、追加ピースもしくはエクステントを作成して、残りのcolumn CUを保持しようとします。

まとめると、オブジェクトをIM列ストアに移入する場合、1個もしくは複数個のIMCUに移入され、これらのIMCUには、1MBプールから割り当てられた一つもしくは複数の1MBエクステントが含まれます。各IMCUには対応するSMUもあり、これは64KBプールから割り当てられます。

[WLS, FMW] WebLogic Server 12.2.1: Elastic Cluster Scaling

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

WebLogic Server 12.2.1では、動的クラスタの弾性スケールのサポートが追加されました。
Oracle® Fusion Middleware Configuring Elasticity in Dynamic Clusters for Oracle WebLogic Server 12c (12.2.1)
What is Elasticity?
http://docs.oracle.com/middleware/1221/wls/ELAST/overview.htm#ELAST529
Elasticity allows you to configure elastic scaling for a dynamic cluster based on either of the following:
  • Manually adding or removing a running dynamic server instance from an active dynamic cluster. This is called on-demand scaling. You can perform on-demand scaling using the Fusion Middleware component of Enterprise Manager, the WebLogic Server Administration Console, or the WebLogic Scripting Tool (WLST).
  • Establishing policies that set the conditions under which a dynamic cluster should be scaled up or down and actions that define the scaling operations themselves. When the conditions defined in the scaling policy occur, the corresponding scaling action is triggered automatically.
以下の情報に基づいて、動的クラスタの弾性スケールを実現できます。

  • 動的サーバインスタンスを実行中の動的クラスタに手作業で追加、もしくは除去する(オンデマンド・スケーリング)。Enterprise ManagerのFusion Middlewareコンポーネント、WebLogic Server管理コンソール、WebLogic Scripting Tool (WLST) を使って、オンデマンド・スケーリングを実行することができる。
  • 動的クラスタをスケールアップ、スケールダウンするための条件を設定し、スケール操作を定義したポリシーを確立する。スケーリングポリシーで定義された条件に到達した場合、対応するスケーリング・アクションが自動的に呼び出される。

動的クラスタの弾性スケールの動作をご覧いただくため、いくつかのデモ動画がYouTube上のOracleWebLogicチャネルにUpしました。この動画をご覧になると、様々な弾性スケールの方法を利用できることがご理解いただけると思います。


WebLogic Server 12.2.1 Elastic Cluster Scaling with WLST


WebLogic Server 12.2.1 Elastic Cluster Scaling with WebLogic Console


WebLogic Server 12.2.1 Automated Elastic Cluster Scaling

[JavaScript] Oracle JETがオープンソース化されました

$
0
0
本日から、Oracle JET(JavaScript Extension Toolkit)はオープンソースになりました。
Oracle JET
http://oraclejet.org
ソースはGitHubに公開されています。現在のバージョンは2.0.0です。
oracle/oraclejet
https://github.com/oracle/oraclejet 
早速jaxenterで記事になっていますね...と読んでみたら、執筆者は最近はJETに関するエントリをたくさん書いているNetBeansのEvangelist(Geertjan Wielenga)でした。
Visualize data in the Cloud with enterprise JavaScript
Open Sourced: Oracle JET, An Enterprise-Ready JavaScript Toolkit
https://jaxenter.com/open-sourced-oracle-jet-124350.html

[Database] Hybrid Columnar Compression Common Questions

$
0
0
原文はこちら。
https://blogs.oracle.com/DBStorage/entry/hybrid_columnar_compression_common_questions

先週と同様、Hybrid Columnar Compression (HCC)についてよく尋ねられる質問についてこのエントリでご紹介します。質問は以下のようなものです。
  • 既存の表やパーティションに対してHybrid Columnar Compressionを有効化するには?
  • Hybrid Columnar Compressionが適しているのはOLTP、データウェアハウスのどちらのアプリケーション?
  • Hybrid Columnar Compressionは別ライセンスが必要?
既存の表やパーティションに対し、Hybrid Columnar Compressionを有効化するベストプラクティスアプローチが3個あります。どの方法でも既存データに対してHybrid Columnar Compressionを有効化し、バルクロードで将来ロードされるデータを圧縮します。メソッドの違いはHCC圧縮を有効化しつつ表にアクセス可能にするか否か、という点です。
  • オンライン再定義(DBMS_REDEFINITION)
  • ALTER TABLE … MOVE PARTITION … ONLINE
    • ステートメント実行中、パーティション/サブパーティションはRead/Writeのアクティビティ両方に対してオンラインを維持します。
  • ALTER TABLE … MOVE COLUMN STORE COMPRESS FOR …
    • ステートメント実行中、ALTER TABLE MOVE では表に対するDMLをブロックします。

ってわけで、「どれがうちに最適なのさ?」とおたずねになるかと思うのですが、そうですね、あなた次第です。圧縮を有効化している間に表やパーティションをオンラインのまま利用可能にしたいというのであれば、オンライン再定義やALTER TABLE MOVE PARTITION ONLINEが最適でしょう。圧縮のための停止時間を取る場合には、ALTER TABLE MOVEを使ってください。ですが、どちらを利用されたとしても、同じレベルの圧縮を提供します。

どのタイプのアプリケーションがHCCに最適化という質問は実のところそれほどよくある質問ではありませんが、この質問への回答を理解することは重要だと思います。HCC圧縮をOLTPやData Warehouseアプリケーションで利用できますが、HCCを表やパーティションだけに有効化し、DMLのINSERT/UPDATEの操作を実施しない、もしくはしたとしても頻繁には実施しないことをおすすめします。Hybrid Columnar圧縮された表のデータを従来のデータ操作言語(DML)のオペレーション、具体的にはINSERTやUPDATE、DELETEを使って変更することができますが、そのような操作を実施した結果、HCC圧縮率が下がる可能性があります。そして、この操作を頻繁に実施すると、JCC圧縮率が時間の経過とともに低下します(表やパーティションの再圧縮が必要です)。表やパーティションに対して頻繁にDML操作を実施する予定がある場合、そういったデータに対してはAdvanced Row Compressionがより適しています。

HCCに別ライセンスが必要か否かは、これもユーザーの方々がよく誤解されていることです。HCCを使うためには、 Exadata、SuperCluster、ZFS Storage Appliance、FS Flash Storage Systemを含む、HCCをサポートするOracleプラットフォームで、11.2.0.3以後のOracle Database Enterprise Editionを実行しなければなりません。

Hybrid Columnar Compressionのベストプラクティスに関するより多くの情報はホワイトペーパー(6~8ページ)に記載されていますので、是非ご覧ください。
Hybrid Columnar Compression (HCC) on Exadata (and Oracle Storage)
http://www.oracle.com/technetwork/database/database-technologies/performance/hybridcolumnarcompression-oow2010-200703.pdf
(訳注)
日本語版はまだですが、類似の内容は以下のリンクにあります。
ExadataのHybrid Columnar Compression(HCC)
http://www.oracle.com/technetwork/middleware/bi-foundation/ehcc-twp-131254-ja.pdf 

データベース・ストレージ最適化の冒険は次のエントリに続きます。次回は、Advanced Row CompressionとHybrid Columnar Compressionがどのように直接Information Lifecycle Management (ILM) のベストプラクティスに関わるのか、について説明する予定です。

[JavaScript] Oracle JET 2.0.0: Now Available Open Source with New Data Visualization Features

$
0
0
原文はこちら。
https://blogs.oracle.com/data-visualizations/entry/oracle_jet_now_open_source

Oracle JET 2.0.0 (JavaScript Extension Toolkit) がオープンソースとしてリリースされました。ソースはGitHubで公開されています。
Oracle JET 2.0.0
http://www.oraclejet.org/oracle/oraclejet
https://github.com/oracle/oraclejet
JET 2.0.0には数多くのデータ可視化機能(Data Visualization)が含まれています。以下で一部をご紹介します。
What's New in Oracle JET 2.0.0
https://community.oracle.com/community/development_tools/oracle-jet/blog/2016/03/01/whats-new-in-oracle-jet-200

Picto Chart

新しいPictoChart可視化コンポーネントを使うと、数値データをイメージで可視化できます。Infographicでよく使われていますが、このコンポーネントを使うと、これまでの表やグラフよりもより興味深い、効果的な方法で数値情報を表現することができます。JETのPictoChartは選択、ハイライト、フィルタリングだけでなく、他の可視化機能と同様のアニメーションや対話機能をサポートしています。魅力的なダッシュボードを作成する上で不可欠な要素になると考えます。


For an in-depth look at PictoChartについての詳細は、以下のJETのブログエントリをご覧ください。
Introduction to PictoCharts
https://community.oracle.com/community/development_tools/oracle-jet/blog/2016/02/29/introduction-to-pictocharts

New Charting Features

グラフにも新たな表現形式が追加されています。
  • 一方向のみでグラフのズーム&スクロールが可能になりました

  • 積み上げ棒グラフで棒の総数を表示できるようになりました

    • グラフの軸ラベルにラベルテキストをラップできるようになりました

    • ズーム&スクロールウィンドウで、異なるデータ系列や異なるグラフの種類を表示できるようになりました
    • 参照オブジェクトがデータ可視化コンポーネント間でハイライトやフィルタリングできるよう、参照オブジェクトでのカテゴリをサポートします。
    JET 2.0.0では新しいデータ可視化機能やフレームワーク機能がたくさん追加されています。新機能の完全なリストをご所望であれば、以下のエントリとリリースノートをご覧ください。
    What's New in Oracle JET 2.0.0
    https://community.oracle.com/community/development_tools/oracle-jet/blog/2016/03/01/whats-new-in-oracle-jet-200JET v2.0.0 Release Notes
    http://www.oracle.com/webfolder/technetwork/jet/releaseNotes.html
    JET Data Visualizationsに関する詳細を説明した一連のエントリは、以下のリンクからどうぞ。
    JET Data Visualizations: FAQ
    https://community.oracle.com/docs/DOC-993442

    [Java] Self-Documented Services Using JAX-RS Analyzer

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

    SOAPで最もありがたかったのは、Javaのように、強く型付けされているというところです。つまり、WSDLを見るとサービスが何をするのか理解することができます。同様に、生成するクライアントやGUI可視化ツール、正確なドキュメントを含む、SOAPサービスをツールが簡単に読み、使うことができます。WADLはこうした欠点を克服するため、RESTの世界で考案されましたが、不幸にも、WADLはあまりサポートされず、使われていません。全くの未知のユーザーを含む、外部のユーザーが利用するRESTサービスを記述している場合、これは非常に大きな問題です。これまでこの問題に対する回答は手作業でRESTサービスのドキュメントを作成するというもので、非常に面倒で間違いが発生しやすく、しかも最新情報に追随できないものでした(因みに、JAX-RSの参照実装であるJerseyはWADLをサポートしていることはご存知と思います)。
    しかしながら、JAX-RS開発者にとって、JAX-RS Analyzerというお助けツールがあります。JAX-RS Analyzerはシンプルですが非常に有用なオープンソースのJAX-RSプラグインで、Sebastian Daschnerが作成しました。このツールはJAX-RSアノテーションやメタデータを自動的に読みとり、プレーンテキスト、AsciiDoc、もしくはSwaggerの形式でドキュメントを作成します。Swaggerオプションは特に魅力的です。Swaggerは現段階においてRESTにおけるWSDLやUDDIのギャップを埋めるものとして最も近いものです。
    JAX-RS Analyzerについてあまりご存知でないようでしたら、是非Sam Sepassiのすばらしいエントリをご一読ください。REST APIのドキュメント作成に掛けるうんざりするほどの時間を節約することができるようになるでしょう。
    REST API Documentation Using JAXRS-ANALYZER
    https://dzone.com/articles/rest-api-documentation-using-jaxrs-analyzer
    (訳注)
    簡単なJAX-RSサービスで試してみました。。。

    [JavaScript, MFT] MFT 12.2.1 Nashorn Java Script Integration

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/integration/entry/mft_12_2_1_nashorn

    MFT(Managed File Transfer)のスクリプティング・コールアウトに関するエントリに対し、高い関心をいただきました。
    Scriptable MFT: The Ginsu Knife of MFT Callouts
    https://blogs.oracle.com/SOA/entry/scriptable_mft_the_ginzu_mother
    Java JDK1.8を使用するMFT12.2.1にアップグレードする場合、JavaScriptを使ってすべてのMFT、SOAやすべてのWebLogic ServerのJava APIをネイティブに呼び出すRunJSコールアウトを使うためのオプションをすでに有しています。
    Samples and Demos for Oracle Managed File Transfer
    http://www.oracle.com/technetwork/middleware/mft/learnmore/index.html
    MFTをホストするWebLogic Serverのクラスパスにある任意のJarやclassファイル(SOA Adapterが使う多くのものを含みます)がMFT transferと同じスレッドで呼び出すことができます。

    (訳注)
    MFTではソース(入力側)、ターゲット(出力側)の操作(アクション)としてスクリプトを呼び出すことができます。そのスクリプトの中には、JavaScriptも含まれています(以下はターゲット側での前処理アクションで選択可能なアクションの例)


    なぜ気にしておくべきなのでしょうか。本当に、セキュリティ、パフォーマンス、リソース使用率、利便性に加えてコンパイラのない環境という柔軟性、その結果実質的に無限のユースケースだけでなく、それ以外にも影響がありますので、気にしない理由なんて全くありえません。Nashorn JavaScriptエンジンは、Javaコールアウトが実施するのと同様に、MFTコールアウト・コンテキストと入力、出力ストリームを受け取りますので、非常に簡単にファイルを検証したり変更できます。
    Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM
    http://www.oracle.com/technetwork/articles/java/jf14-nashorn-2126515.html[Java, JavaScript] Oracle Nashorn: A Next-Generation JavaScript Engine for the JVM
    http://orablogs-jp.blogspot.jp/2014/03/oracle-nashorn-next-generation.html
    以下はサンプルにあるユースケースです。
    • ファイル名の変更
    • 誤った文字のクレンジング
    • Native Translationライブラリを使ったCSVからXMLへの変換
    • XMLからCSVへの変換
    • CSVからJSONへの変換
    これらのユースケースは単に読者に食指を伸ばしてもらうことに過ぎず、ほぼ何でもできます。もしかすると、「データベースやJMS、ファイルシステムに書き込むことができるのか?」と質問されるかもしれません。そうですね、そういったことを実現するJava APIがありますかね?
    ダウンロードや構成はきわめて簡単です。単純にMftJS.zipファイルをダウンロードし、MFTの<DOMAIN_HOME>配下にZipの内容を展開するだけです。mft/js/READMEファイルを開いて記載の手順に従ってください。MFT RunJSコールアウトのUI(下図)でActionパラメータが呼び出すことができる、利用可能なサンプルライブラリは以下のようなものがあります。

    LocationとFunctionの値はデフォルト値ですが、ScriptParametersを変更したり、オーバーライドしたりして調整することができます。特別に難読化されたPasswordもパラメータを隠すために利用できます。以下のように、提供されたEnd to Endの転送をインポート、デプロイ、実行することができます。

    [Database, Cloud] Application Express in the Cloud

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/proactivesupportDevTools/entry/application_express_in_the_cloud

    ご存知でしたか?
    Oracle Application ExpressがCloudで利用できることを。
    Oracle Database Cloud Serviceはいくつかの異なる機能をご利用いただけます。Database Schema Service (スキーマベースのAPEXサービス) ではOracle DatabaseへのHTTPSアクセスが可能で、開発者を対象にしています。Database as a Service および Virtual Image (占有データベースインスタンスサービス) はデータベースやSQL*Netの接続を必要とするお客様に適しています。

    下図は両サービスのアーキテクチャの違いを示したものです。

    試使用アカウントは、cloud.oracle.comからどうぞ。

    Application ExpressがCloudで提供する機能は以下のFAQをご覧下さい。
    FAQ
    https://cloud.oracle.com/en_US/faq?resolvetemplatefordevice=true&subcatID=1383678917367

    [Database] ORDS 3.0.4 was released

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/proactivesupportDevTools/entry/ords_3_0_4_was

    ORDS (Oracle REST Data Services) の新バージョン (3.0.4) が2016年3月3日にリリースされました。
    Oracle REST Data Services Download
    http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.htmlドキュメント(リリースノートやインストール方法など)
    https://docs.oracle.com/cd/E56351_01/index.htmBugs Fixed in Release 3.0.4
    http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/ords-bugsfixed-304-2895222.html
    また、このバージョンの新機能に関する詳細は以下のリンクをご覧下さい。
    ORDS 3.0 New Features
    http://www.oracle.com/technetwork/developer-tools/rest-data-services/ords-30-newfeatures-2373784.html

    [Cloud, FMW] New Oracle Developer Cloud Service Rolls Out in March 2016 Release

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/fusionmiddleware/entry/new_oracle_developer_cloud_service

    (Shay Shmeltzerによるエントリです)
    3月の最初の週末に、OracleはOracle Developer Cloud Service 16.1.5(以下、DevCS)をロールアウトしました。このリリースでは迅速に利用開始できる多くの新機能を追加しています。以下で主要なポイントをご紹介します。

    Integration with the Oracle Application Container Cloud

    Oracle ACC (Application Container Cloud Service)はJava SEアプリケーションやnode.jsアプリケーションをデプロイするための基盤を提供します。DevCSの新バージョンでは、Deployタブから直接Oracle ACCに対してアプリケーションをデプロイできるようになりました。

    Code Snippets Support

    Snippetsと呼ばれるタブを確認できると思いますが、これは追跡、管理したいコードスニペットを保存するための場所です。これはチームメンバー間でコードを共有する上で有用な機能といえるでしょう。


    Git Push Triggers Build

    Gitリポジトリでプッシュ後、自動的に呼び出されてビルドするようセットアップすることが非常に簡単になっています。

    Refined Git Repository Control

    Gitリポジトリに管理オプションを追加し、完全に特定のブランチをロックできるようにしました。また、プッシュ、マージが可能なチームメンバーのブランチへのアクセス権を制御することもできます。

    Build audits

    何を契機にしたのか、誰がジョブをキャンセルしたのか、などを含めてビルドの完全な履歴を知る必要がありませんか?新たなauditボタンにより、こうした情報を入手することが簡単になりました。




    その他にも多くの機能強化があります。以下のページにリンクを含めたまとめがありますので、是非ご覧ください。
    What’s New in Oracle Developer Cloud Service
    http://docs.oracle.com/cloud/latest/devcs_common/CSDWN/toc.htm#CSDWN-GUID-88FCFA5A-9EA1-4E43-BF2B-7D5B647B5A07

    [Cloud, WebCenter] REST API Now Supports Metadata in DOCS

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/webcenter/entry/rest_api_now_supports_metadata

    (Victor Owuorによるエントリです)

    Oracle Documents Cloud Service (DoCS) が簡単にクラウドアプリケーションを構築するためのプラットフォームとすることを我々のゴールとしています。これを可能にするため、DoCSのユーザーエクスペリエンスをみなさんのアプリケーション内に組み込むためのフレームワークを提供していますし、DoCSを呼び出すためのREST APIを提供しています。これらを使えば、みなさまが作成されたアプリケーションのユーザーインターフェースでDoCSの機能を使うことができます。今回、REST APIがメタデータをサポートしたことを発表でき、うれしく思っています。
    不動産リストのサイトのためのアセット管理をするアプリケーションにアプリケーションを例にして、メタデータを説明していきます。このアプリケーションはDoCS内の関連アセットを管理し、別々に描画するUIでこうしたアセットを使えるようにしています。ご想像の通り、アプリケーションにはアプリケーションにリスト表示される不動産の様々なイメージ画像を格納する必要があります。例えば、正面画像やいろいろな部屋の写真などがあるかもしれません。また、資産に関する追加説明情報を付ける必要があるかもしれません。この追加説明情報こそがメタデータとして参照しようとするものです。

    アプリケーションには各不動産の住所を付ける必要があるかもしれません。住所には以下の情報が含まれています。
    • 番地
    • 市区町村
    これらの情報はDoCSのメタデータフィールドと呼ばれます。関連フィールドはメタデータ・コレクションにまとめられます。アプリケーションは複数のコレクションを定義し、各フォルダやドキュメントをこうしたコレクションに関連づけることができます。例えば、addressコレクションに加えて、売り出し中の不動産を、以下のフィールドを含むforsaleコレクションと関連づけることになるかもしれません。
    • 売価
    • 地税
    • 以前の売価
    対して、賃貸物件の場合は、以下のフィールドを含むfor-rentコレクションと関連づけることになるかもしれません。
    • 賃貸価格
    • リース期間
    DoCSを使うと管理者が簡単にメタデータ・コレクションやコレクション内にフィールドを定義することができます。上記の例の場合、管理者は以下の方法でaddressコレクションを定義します。
    POST …/metadata/Address?fields=Street,City,State
    addressコレクションを変更して、以下のようにcountryを含めることも簡単にできます。
    PUT …/metadata/Address?addFields=Country
    collectionとcollectionのフィールドを定義したら、以下のようにしてコレクションをフォルダやドキュメントに割り当てることができます。
    POST …/folders/{folder id}/metadata/Address
    POST …/files/{file id}/metadata/Address
    当然ながら、フォルダやドキュメントに対してコントリビュータ権限を持つユーザーだけがcollectionを割り当てることができます。
    collectionを割り当てると、ユーザはcollectionの各フィールドに値を設定することができます。
    POST …/folders/{folder id}/metadata?collection=Address&Zip=55347&City=Minneapolis
    POST …/files/{file id}/metadata?collection=Address&Zip=55347&City=Minneapolis
    フォルダに割り当てられたcollectionsと値はサブフォルダとフォルダ内のドキュメントが継承します。継承された値は、アイテムのメタデータのフィールドに対して特定の値を割り当てることでオーバーライドできます。
    以前文書に割り当てたメタデータの値を取得できなければ、メタデータプロパティに価値はありません。以下のようなシンプルな呼び出し方で、メタデータの値を取得することができます。
    GET …/folders/{folder id}/metadata
    GET …/files/{file id}/metadata
    この呼出しで、HTTPレスポンスの中にJSON形式でメタデータが返ってきます。以下はメタデータのレスポンスの例です。
    {
      "errorCode": "0",
      "idList": "{file id}",
      "metadata": {
        "Address": {
          "City": "Minneapolis",
          "State": "Minnesota",
          "Street": "9560 Dogwood Circle"
        },
        "Description": {
          "Color": "Red",
          "Type": "Single Family"
        }
      },
      "type": "file"
    }
    メタデータの機能に関する詳細は、以下のドキュメントをご覧ください。
    Oracle® Cloud Developing for Oracle Documents Cloud Service
    Metadata Collection Resource
    https://docs.oracle.com/cloud/latest/documentcs_welcome/WCCCD/GUID-1EC33747-53E0-4162-AD2B-9533E9F2FAD4.htm#WCCCD-GUID-1EC33747-53E0-4162-AD2B-9533E9F2FAD4

    [Database, Support] What does DEPRECATED mean? And DESUPPORTED?

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

    時々DEPRECATED(非推奨)という言葉の意味を誤解されていることがあります。DESUPPORTED(サポート終了)とどう違うのでしょうか。実際のところ、Database Upgrade Guideで、1章まるまる使ってdeprecatedの機能とdesupportedの機能を説明しています。
    Oracle® Databaseアップグレード・ガイド 12cリリース1 (12.1)
    Oracle Database 12cで非推奨となった機能とサポートが終了した機能
    http://docs.oracle.com/cd/E57425_01/121/UPGRD/deprecated.htm#BABBIBFB
    Oracle® Database Upgrade Guide 12c Release 1 (12.1)
    Deprecated and Desupported Features for Oracle Database 12c
    https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60000

    Deprecated(非推奨)

    特に、「Oracle Database 12cで非CDBのアーキテクチャが非推奨になった」というこのメッセージで、多くのお客様が困惑しました。


    Database Upgrade Guideでは、明確にdeprecatedの意味を説明しています。
    "By deprecate, we mean that the feature is no longer being enhanced but is still supported for the full life of the 12.1 release."
    (非推奨になると、機能は強化されなくなりますが、12.1リリースの有効期間中は引き続きサポートされます。)
    つまり、Oracleがさらに開発したり、機能強化しないので注意してください、という意味です。とはいえ、この機能を利用してもこの時点ではまだ完全にサポートされます。
    もう一つ、よく知られている例をあげますと、「Oracle Streamは完全にOracle Database 12cでサポートされていますが、Oracle Multitenantではサポートされませんし、非推奨ですので、今後機能強化や開発をしない予定です」。


    または別の例をあげると、Oracle Restartは非推奨になっていますが、まだサポートは終了していません。しかも、多くのお客様が数百のデータベース上でOracle Database 12.1.0.2とともにOracle Restartを本番環境で使ってらっしゃることを存じております。
    Oracle Restartの非推奨
    http://docs.oracle.com/cd/E57425_01/121/UPGRD/deprecated.htm#BABBEHJH
    Deprecation of Oracle Restart
    https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60149

    Desupported(サポート終了)

    たとえサポートが終了したとしても(Rule Based Optimizerを覚えてらっしゃいますでしょうか)、サポート終了した機能を使うことができますが、Oracleはバグや問題を今後修正することはありませんので、「ご自身でリスクを負う」、という前提がつきます。
    これも、Database Upgrade Guideで明確に説明しています。
    "By desupported, we mean that Oracle will no longer fix bugs related to that feature and may remove the code altogether."
    (サポートが終了すると、Oracleではその機能に関連するバグは修正されなくなり、コードが完全に削除される可能性があります。)
    Oracle Database 12cにおけるその他の有名な例をあげると、Oracle Database 12cにはもはや存在しないEnterprise Manager Database Controlや、RAW記憶域デバイスのサポート終了があります。
    Oracle Enterprise Manager Database Controlのサポート終了
    http://docs.oracle.com/cd/E57425_01/121/UPGRD/deprecated.htm#BABCFBAH
    Desupport of Oracle Enterprise Manager Database Control
    https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60005
    RAW記憶域デバイスのサポート終了
    http://docs.oracle.com/cd/E57425_01/121/UPGRD/deprecated.htm#BABCFBAH
    Desupport for Raw Storage Devices
    https://docs.oracle.com/database/121/UPGRD/deprecated.htm#UPGRD60120

    Summary

    Deprecatedは将来機能が無くなる可能性があり、今後機能強化されないというシグナルであって、将来の計画に対して気にとめておく以外に何か対策をする必要はありません。Desupportedはサポートを終了した機能や製品に対し今後修正しない、という意味で、その機能や製品は将来なくなる可能性があります。しかし、多くの場合、機能はまだ存在しますし、ご自身でリスクを負うという前提でご利用いただくことはできます。

    [Java] New Java SE Releases

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

    Java SE 8 update 77 (Java SE 8u77) およびJava SE Embedded 8 Update 77 がダウンロードできるようになっています。このアップデートには重要なセキュリティ脆弱性の修正が入っているため、Java SEをご利用のみなさまに対しては、最新のJava 8 update 77へアップグレードされることをOracleは強く推奨します。ダウンロードは以下のリンクからどうぞ。
    Java SE Downloads
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    Oracle Java SE Embedded Downloads
    http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/index.html
    これらのリリースに含まれる新機能やバグ修正に関する情報は、以下のリリースノートをご覧ください。
    (訳注)
    このアップデートは、セキュリティアラートCVE-2016-0636に対応するためのアップデートです。
    Oracle Security Alert for CVE-2016-0636
    http://www.oracle.com/technetwork/topics/security/alert-cve-2016-0636-2949497.html
    サーバ側ではなく、クライアント側に影響するものです。これに伴い、セキュリティベースラインが8u77に変更されていますので、ご注意ください。

    [Java] G1: from garbage collector to waste management consultant

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

    Javaのガベージ・コレクション機能のおかげで、開発者は、不使用のメモリの解放について神経質にならずに、ソフトウェアの作成や手元の作業に集中しやすくなっています。JDK 9では、G1ガベージ・コレクタ(以下、G1GC)がデフォルトのガベージ・コレクタになり、単純にメモリを解放する以上のことが実現できます。単にGCでメモリを解放するだけでなく、G1GCは廃棄物管理コンサルタント(waste management consultant)の役割も担います。つまり、不使用のメモリを解放し、ガベージのトータルの量を削減する方法を特定します。

    String Deduplication may decrease heap usage by about 10%

    Stringオブジェクトはほぼすべてのアプリケーションで使われるオブジェクトですが、アプリケーションは同じStringオブジェクトを様々な理由で1個のクラス、もしくは複数のクラスで複数回格納することがあります。これらのStringオブジェクトを分析することで、JDKはこれらのStringオブジェクトを格納するために必要なトータルのメモリ所要量を削減することができます。String Deduplication(Stringオブジェクトの重複除外)によってヒープの使用量が10%ほど削減できる可能性があります。
    String deduplicationはJDK8u20で導入され、バックグラウンドタスクとして振る舞います。G1GCがクリーンアップすべきメモリ参照をチェックして、重複するStringを分析し、重複するString間にメモリ節約のためのリンク(memory-saving link)を作成します。他のGCタスクと同様に、開発者はString Deduplicationを機能させるためにコードを変更する必要はありません。CodecentricのFabian Langeが実施した分析によると、「String deduplicationは非同期かつGC中に並行して動作するため、実行時に余計なオーバーヘッドはみられない」とのことです。
    下表はJDK 8でString Dedupulicationを有効化するために必要なフラグをまとめたものです。
    -XX:+UseG1GCG1GCを有効にする
    -XX:+UseStringDeduplicationG1GCでString Deduplication機能を有効にする
    -XX:+PrintStringDeduplicationStatistics詳細な重複除外統計を出力する(オプションフラグ)
    -XX:StringDeduplicationAgeThreshold=3Optional flag to change when Strings become eligible for deduplication.いつStringオブジェクトが重複除外の候補になるかを変更する(オプションフラグ)

    Example: Decreasing memory used by the Eclipse IDE

    Eclipseは開発者がソースコードの閲覧、作成を支援する人気のあるIDEです。G1GCは一般的にスループット(例えばサーブレットコンテナ)に焦点を当てた、長期実行中のアプリケーションにとって効果があるとされていますが、クライアントアプリケーションにとっても有用です。
    次の例は、Eclipse MarsとJDK8u72の組合せで実行し、Java Flight Recorderを有効化してGCやオブジェクトの割り当て、全体的なメモリの消費量への影響を確認しようとしています。今回、同じ操作を2回実行していますが、そのうち1回は–XX:+UseStringDeduplicationを付けず、before.jfrという名前を付けて実行して、比較できるようにしています。
    以下の行はeclipse.ini内で最後に追加しています。
    -XX:+UseG1GC
    -XX:+UseStringDeduplication
    #以下の設定はG1GCのために必ずしも必要ではありませんが、差を評価するために含めています
    -XX:+UnlockCommercialFeatures
    -XX:+FlightRecorder
    -XX:StartFlightRecording=filename=after.jfr,dumponexit=true,maxage=5m,settings=c:/Users/ecostlow /desktop/Everything-Costlow.jfc
    -XX:FlightRecorderOptions=dumponexit=true,disk=true,maxage=10m
    バックグラウンドタスクとして、String deduplicationに要した時間は、簡単な使用であればおよそ0.0000908 秒(90.8マイクロ秒)でした。おそらく統計表示により時間がかかっていると思われます。テストしたノートPCは管理された環境ではなく、同じアクションを手作業で実施しましたが、5分間の利用でトータルのヒープ使用量は233MBから213MBへと約9%低下しました。
    JFR of G1 String Deduplication: before and after
    以下はString Deduplication Statistics(-XX:+PrintStringDeduplicationStatisticsを指定しています)の最終出力です。
    [GC concurrent-string-deduplication, 14.5K->6120.0B(8744.0B), avg 38.6%, 0.0000908 secs]
       [Last Exec: 0.0000908 secs, Idle: 0.8590383 secs, Blocked: 0/0.0000000 secs]
          [Inspected:             142]
             [Skipped:              0(  0.0%)]
             [Hashed:              89( 62.7%)]
             [Known:               21( 14.8%)]
             [New:                121( 85.2%)     14.5K]
          [Deduplicated:           96( 79.3%)   8744.0B( 58.8%)]
             [Young:                0(  0.0%)      0.0B(  0.0%)]
             [Old:                 96(100.0%)   8744.0B(100.0%)]
       [Total Exec: 52/0.1772395 secs, Idle: 52/103.0713572 secs, Blocked: 2/0.1476086 secs]
          [Inspected:          322160]
             [Skipped:              0(  0.0%)]
             [Hashed:          164740( 51.1%)]
             [Known:            61960( 19.2%)]
             [New:             260200( 80.8%)     20.3M]
          [Deduplicated:       144975( 55.7%)   8037.4K( 38.6%)]
             [Young:                2(  0.0%)     72.0B(  0.0%)]
             [Old:             144973(100.0%)   8037.3K(100.0%)]
       [Table]
          [Memory Usage: 4213.1K]
          [Size: 131072, Min: 1024, Max: 16777216]
          [Entries: 132446, Load: 101.0%, Cached: 3622, Added: 170306, Removed: 37860]
          [Resize Count: 7, Shrink Threshold: 87381(66.7%), Grow Threshold: 262144(200.0%)]
          [Rehash Count: 0, Rehash Threshold: 120, Hash Seed: 0x0]
          [Age Threshold: 3]
       [Queue]
          [Dropped: 0]

    [Java] Project Jigsaw: The module system

    $
    0
    0
    原文はこちら。
    http://mreinhold.org/blog/jigsaw-module-system

    Project Jigsawは、6個のJEPを包含し、数多くのエンジニアが長年をかけて実装してきた大きなプロジェクトです。これまでにJDKのモジュラー構造を定義(JEP 200)し、モジュラー構造に従ってソースコードを再編成して(JEP 201)JDKとJREランタイムイメージを再構築してモジュールをサポートするようにしました(JEP 220)。最後の主要なコンポーネントであるモジュールシステムそのもの(JSR 376とJEP 261)をJDK 9に今週初めに統合し、early-access build 111でテストできるようになりました。
    Project Jigsaw
    http://openjdk.java.net/projects/jigsaw/
    Project Jigsaw - JEPs
    http://openjdk.java.net/projects/jigsaw/#jeps
    JEP 200: The Modular JDK
    http://openjdk.java.net/jeps/200
    JEP 201: Modular Source Code
    http://openjdk.java.net/jeps/201
    JEP 220: Modular Run-Time Images
    http://openjdk.java.net/jeps/220
    JSR 376: Java Platform Module System
    http://openjdk.java.net/projects/jigsaw/spec/
    JEP 261: Module System
    http://openjdk.java.net/jeps/261
    JDK 9 Early Access Build Download
    http://jdk9.java.net/download

    Breaking changes

    モジュラーランタイムイメージの導入のような以前のメジャーな変更と同様、モジュールシステムの導入によって、直接モジュールシステムを使っていないとしても何らかの影響を受ける可能性があります。
    Project Jigsaw: Modular run-time images
    http://mreinhold.org/blog/jigsaw-modular-images
    それは、モジュールシステム、少なくとも(JEP200に記載の通り)JDKそのものを含むモジュールがコンパイル時ならびに実行時の両方で完全に機能しているからです。JDKの内部APIのほとんどは、その結果として完全に隠蔽されているので、デフォルトではJDK外のコードからアクセスできません。標準のJava SE APIだけを使用し、JDK 8で実行している既存アプリケーションの場合、JDK 9でも動作するはずですが、JDK内部のAPIを使っている場合、JDK内部のAPIを使うライブラリやフレームワークを使っているアプリケーションの場合は、実行できないでしょう。多くの場合、javacおよびjavaコマンドに対するオプション( -XaddExports )を付けることで回避できます。例えば、アプリケーションが内部クラス( sun.security.x509.X500Name )を使っている場合、以下のオプションを付けることで内部クラスにアクセスできるようになります。
    -XaddExports:java.base/sun.security.x509=ALL-UNNAMED
    この設定で、java.base モジュールの sun.security.x509 パッケージのすべてのメンバーが、クラスパスからクラスが定義された特別な無名モジュールにエクスポートされます。
    The unnamed module (The State of the Module System)
    http://openjdk.java.net/projects/jigsaw/spec/sotms/#the-unnamed-module
    JDKの外部で適切に実行することができない、広く使われている内部APIとして、たとえば sun.misc.Unsafe がありますが、これは現時点ではまだアクセスすることができますが、JEP 260で説明しているように、これらは適切な標準APIに置き換えられると将来のリリースで削除される予定になっています。
    JEP 260: Encapsulate Most Internal APIs
    http://openjdk.java.net/jeps/260
    JDK内部APIの隠蔽は、既存アプリケーションを実行する際に気付く変化でしょう。他の関連するけれどもほとんどの場合気付かれることのない変更をJEP 261のrisks-and-assumptionsで説明しています。
    JEP 261: Module System
    http://openjdk.java.net/jeps/261
    既存アプリケーションをJDK 9 build 111もしくはそれ以後のビルドで実行した際に問題があった場合、その問題がモジュールシステム導入が原因のようだが、JEP 260、JEP 261で記載されている変更によるものではないと考えられる場合、jigsaw-devメーリングリストに知らせる(未登録の方はまず最初にサブスクライブする必要があります)か、バグレポートをJava Bug Databaseにあげてください。
    jigsaw-dev -- Technical discussion about Project Jigsaw
    http://mail.openjdk.java.net/mailman/listinfo/jigsaw-devJava Bug Database(bug登録)
    http://bugs.java.com/

    New features

    モジュールシステム自体の学習を始めたいというのであれば、Devoxx BE 2015の基調講演の動画でハイレベルの概要を説明していますし、"The State of the Module System"には、JSR 376で提案したモジュールシステムのデザインがまとまっています。
    Devoxx BE 2015 Keynote

    The State of the Module System - AUTOMATIC EDITION
    http://openjdk.java.net/projects/jigsaw/spec/sotms/
    より詳細の情報は、メインプロジェクトページに記載の6個のJigsawに関連するJEPでご覧いただけますし、JavaOne 2015やDevoxx BE 2015でのセッション動画もご利用いただけます。
    Project Jigsaw - JEPs
    http://openjdk.java.net/projects/jigsaw/#jeps
    Project Jigsaw: Talks
    http://openjdk.java.net/projects/jigsaw/talks/
    モジュールシステムのデザインは、フィードバックや体験に基づいて、しばらくの間まだ引き続きこのJSRで進化していきます。実装はProject Jigsawの"Jake" forestで並行して進化していき、より安定したJDK 9ビルドとは別のコードに基づいた最先端の早期アクセスビルドを引き続き提供していく予定です。
    Java Platform Module System (JSR 376)
    http://openjdk.java.net/projects/jigsaw/spec/
    "Jake" forest
    http://hg.openjdk.java.net/jigsaw/jake
    Project Jigsaw: Early-Access Builds
    http://openjdk.java.net/projects/jigsaw/ea
    JDK™ 9 Early Access Releases
    http://jdk9.java.net/download

    [Mobile] Oracle MAF 2.3 Release

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

    Oracle MAF 2.3がOTNからダウンロードいただけるようになりました。本リリースは直前のメジャーリリース後半年以内に出てきたMAFのメジャーアップデートで、いくつかの新機能や興味深い機能が含まれています。本リリースでの主要機能を以下でご紹介します。

    Windows Platform Support

    よくいただくリクエストに応じて、MAF 2.3では Universal Windows Platform (UWP) をサポートします。複数プラットフォームに1つのコードベースで対応するという約束を維持していますので、お客様はiOSやAndroidに加え、既存のMAFアプリケーションをWindows 10デスクトップやタブレットに展開することができるようになりました。Windowsプラットフォームへのインストール、セットアップに関しては、以下のドキュメントを参照してください。
    Oracle® Mobile Application Framework Installing Oracle Mobile Application Framework 2.3.0
    Installation Requirements for MAF Applications to be Deployed to the Universal Windows Platform
    http://docs.oracle.com/middleware/maf230/mobile/install/GUID-A5D8B5B6-94FB-4ACA-AC7B-84B5DAD3970F.htm#MAFIG142
    Windowsのサポートに関する主要なポイントは以下の通りです。
    • MAFアプリケーションをx86チップセットベースの任意のWindowsデバイスにデプロイ可能
    • UWPのネイティブなルック&フィール、UXデザインパターンをサポート
    • サイドローディングによるWindowsタブレットへのデプロイをサポート



    Enterprise Mobile Management (EMM) Support

    MAFで作成されたアプリケーションは、AppConfigコミュニティが提供するベストプラクティスやガイドラインに従うことで、AirwatchやMobileIronのEnterprise Mobile Managementソリューションで管理することができます。
    AppConfig Community
    http://www.appconfig.org/
    お客様は既存のEMMソリューションに対する投資を活用し、iOSやAndroidのネイティブ機能を使ってMAFアプリケーションの保護、構成、管理することができます。MAFはAppConfigコミュニティが指定している主要な機能をすべてサポートしています。
    • App Tunnel
    • Security Policies and Access Control
    • Single Sign On
    OracleがサポートするAirwatchやMobileIronの具体的なバージョンについては、以下のページをご覧ください。
    Oracle Mobile Application Framework 2.3.0 Certification Matrix
    http://www.oracle.com/technetwork/developer-tools/maf/documentation/maf230certmatrix-2952859.html

    ListView Enhancements

    ListViewコンポーネントでのアニメーション効果をサポートしました。利用可能なアニメーションは以下の通りです。
    • listItem row insert (行の追加)
    • listItem row delete(行の削除)
    • listItem divider group disclosure change (グループの表示・非表示)
    コンポーネントに含まれるデフォルトのアニメーションは、CSSスタイルクラスをオーバーライドすることでカスタマイズすることができます。
    Disclosure

    Insert/Delete


    Mobile Cloud Service(MCS) Analytics Integration

    本リリースでは、MCSアナリティクスイベントの生成機能が組み込まれています。MCSをバックエンドとして利用する場合、アプリケーション開発者は簡単にアプリケーションの利用状況に関するイベントを生成し、MCS Analyticsサービスへアップロードすることができます。この機能の主要なポイントは以下の通りです。
    • 標準的なアプリケーションライフサイクルイベント(起動、ユーザーログインなど)の分析イベントを、コーディングせずに簡単な構成で生成可能
    • カスタムのアプリケーションイベントを生成するためのAPIを提供
    • 分析イベントをデバイスローカルに永続化するので、デバイスがオフラインであってもイベントをキャプチャ可能
    • ラウンドトリップ回数を最小化するよう、イベント情報をバルクアップロード 
    この機能の詳細は以下の開発者ガイドをご覧ください。
    Oracle® Mobile Application Framework Developing Mobile Applications with Oracle Mobile Application Framework 2.3.0
    Sending Analytics Information to Oracle Mobile Cloud Service
    http://docs.oracle.com/middleware/maf230/mobile/develop-maf/GUID-220BE3F9-C427-410B-BB5E-717C1942A17D.htm#ADFMF-GUID-41DE8BC2-C8EC-4B44-A621-4FD33F583856

    Security Enhancements

    本リリースでは認証時の2-way SSLをサポートします。この機能を使うと、お客様は証明書やソフトウェアPKIベースの認証を使って、MAFアプリケーションで先進的なセキュリティ要件をサポートさせることができます。MDMベンダーや、クライアント証明書インストールのためのMAFの支援機能を使って、クライアント証明書をインストールすることができます。この機能に関する詳細は開発者ガイドをご覧ください。
    Oracle® Mobile Application Framework Developing Mobile Applications with Oracle Mobile Application Framework 2.3.0
    Configuring a MAF Application to Enable Two-Way SSL for Authentication
    http://docs.oracle.com/middleware/maf230/mobile/develop-maf/GUID-3975EBAB-DB9E-4BC2-B814-619F30AF897D.htm#ADFMF-GUID-921E4406-ABBF-4DDB-96F6-92CBFFC8897F

    Data Visualization Features

    本リリースではDVT(データ可視化)コンポーネントも機能強化をしています。
    1.  Range Charts: レンジ領域グラフとレンジ棒グラフは、変化する値の大小とともにデータセットを視覚化します。
    Range Area Chart
    Range Bar Chart

    2.  カテゴリ軸ラベルに個別にスタイルを設定することができるようになりました。これにより、特定のグループを強調することができるようになっています。カテゴリ軸ラベルに対するツールチップもサポートしています。


    3.  階層型ラベルを使って、カテゴリ型軸グラフに階層データを表示することができるようになりました。


    4.  ゲージ (Gauge) コンポーネントに対して数多くの機能強化がなされています
    • ステータス・メーター・ゲージ
      プロットエリア、文字列のタイトル、角の丸みや境界、境界、プロット領域よりも広い表示インジケータを指定することができます
    • 円形ステータス・メーター・ゲージ
      半径、開始角度、角度範囲を管理する機能
    • 縦方向のレーティングゲージ
    Circular Gauge


    Vertical Rating Gauge

    JDeveloper 12.2.1 Integration

    MAF 2.3のextensionはJDeveloper 12.2.1で動作します。これにより、MAF開発者は最新のJDeveloperのリリースでIDEとして提供している新機能をすべて利用することができます。1個のIDEを使ってWebアプリケーションの開発もモバイルアプリケーションの開発もできます。JDeveloper 12.2.1を使うことによって得られるメリットとして、もうJDeveloper、MAFとも最新のJDK 8をサポートするため、JDK 7は開発環境にインストールしておく必要がなくなりました。

    [Cloud, WLS] WebLogic Server 12.2.1 on JCS (Java Cloud Service)

    $
    0
    0
    今週から、Java Cloud ServiceでWebLogic Server 11.1.1.7、12.1.3だけでなく、12.2.1も利用できるようになりました。以下のスクリーンショットではJCSを選択してからのステップを示していますが、JCS VI(Java Cloud Service Virtual Image)でも同じく12.2.1を利用することができます。

    Standard Edition、Enterprise Edition、Enterprise Edition with Coherence(ライセンスで言うところのWebLogic Suite)から選ぶことができるのは、これまで通りです。

    ただ、現時点では、ドメインパーティションの個数は0もしくは1のみ選択可能という制限があります。これは、オンプレミスのライセンスで、1パーティションまでであれば、Multitenantオプションを契約しなくても利用できる、という制約に沿ったものです。

    Java EE 7 Full Platform Compatible ImplementationのPaaSが出た、ってことですね。

    [Cloud] On-Premises Integration Cloud Service

    $
    0
    0
    Oracle Integration Cloud Service (以下、ICS) は、Cloud to Cloud、Cloud to On-Premise、On-Premise to Cloud のシステム連携を可能にする、PaaSとして提供されるクラウドサービスです。
    Oracle Integration Cloud Service (ICS)
    https://cloud.oracle.com/ja_JP/integration 
    このサービスを契約すると、On-Premise to On-Premiseの連携を可能にするコンポーネントが使えます。それがOn-Premises Integration Cloud Serviceです(長いので、OnP ICSとします)。
    ダウンロードするには、[エージェント]をクリックし、[エージェント・インストーラのダウンロード]をクリックして、Execution Agent(実行エージェント)をクリックします。Connectivity Agent(接続性エージェント)はCloud to On-Premiseのためのエージェントですので、お間違えないよう。


    インストール手順などは以下のドキュメントに記載があります。
    Oracle® Cloud
    Using Oracle Integration Cloud Service
    Release 16.2
    Using On-Premises Integration Cloud Service
    https://docs.oracle.com/cloud/latest/intcs_gs/ICSUG/GUID-28DED387-A06E-4C98-8E10-15F12038CA54.htm#ICSUG-GUID-28DED387-A06E-4C98-8E10-15F12038CA54
    インストール時にサブスクリプションのチェックがありますので、事前に情報を手元に用意しておくことをおすすめします。

    インストールしてみるとわかることですが、このOnP ICSの構成にあたってはChefを使っており、JDKやWebLogic Server、ICS、Patchなどをダウンロードしてrecipeに従って構築していきます。ダウンロードに失敗するようであれば、事前にインストールに必要なバイナリをダウンロードしておき、所定のディレクトリに配置しておけば、ダウンロードのステップを省略することができます。インストールが完了すると、ICSの[エージェント]の実行エージェントの個数が増えているはずです。

    OnP ICSはWebLogic Server 12.1.3上でcompact domainとして構成された環境で動作します。OnP ICSにアクセスできるユーザーを個別に登録できる点が、On-Premiseっぽいところでしょうか(なお、ユーザー情報はWebLogic Serverの組み込みLDAPに登録されます)。内部ではデータベースを使用していますが、デフォルトではJava DBを使っています。もちろん、Oracle Databaseを利用することもできます。

    使える機能はPaaSのICSと同様ですが、一部、OnP ICSではサポート対象外のAdapterがあります。詳細はドキュメントに記載がありますのでご注意ください(今後バージョンが上がるに従い、この制限が変化する可能性があります)。

    [SOA/BPM] 12c XSLT Editor Overview

    $
    0
    0
    原文はこちら。
    https://blogs.oracle.com/integration/entry/12c_xslt_editor_overview

    JDeveloper用SOAおよびService Busのツールプラグインで提供するXSLT Editorは、12cで新しくなりました。このエントリではこの新しいエディタをご紹介します。
    11gのXSLTエディタを使ったことがあれば、この新しいエディタはよくご存知のことと思います。11gのエディタから再利用したコードをつかっているため、全体的なルック&フィールには同じままですが、エディタのコア部分はより大きなスキーマを使ってより複雑なXSLTをサポートするように書き直されつつ、グラフィカルに表示する機能は引き続き提供しています。これを実現するため、新しいエディタではDesign Viewで2個のグラフィカルビューを提供しています。
    • Map View - すべてのターゲットツリーノード(マッピングの有無にかかわらず)を表示する
    • XSLT View - マッピング済みターゲットツリーノードを含む、現存するXSLTステートメントを表示する 
    エディタのツールバーがビューの右上にあるので、MapもしくはXSLTを選択して切り替えることができます。
    Map Viewは11gのXSLTエディタと非常に機能が似ていますが、このビューでは、シンプルにドラッグ&ドロップでマッピングしたり、簡単なXSLTステートメント(xsl:for-each、xsl:if、xsl:choose/whenなど)を使ったりすることができます。11gのXSLTエディタのように、ソースツリーからターゲットツリーにドラッグ&ドロップでマッピングを作成し、中央のパネルでXPathステートメントを追加することができます。


    XSLT Viewは12cで初めて登場しました。基本的に、XSLTのソースコードをグラフィカル表示するビューですが、XSLTを知っているが、エディタに対し、XSLTでするべきものは何でもするための柔軟性を持ちつつ、スキーマ情報を提供させたいと思っているユーザーを対象にしています。

    このビューでは、ソースビューに現れるXSLTステートメントを表示しますが、すべてのXPath式を作成したり、グラフィカルに表示したりする機能が加わっています。マッチ済みテンプレート(テンプレートルール)、名前付きテンプレートやすべてのXSLT 1.0ステートメントといったより高度なXSLTコンストラクトもサポートしています。

    直接XSLTソースを編集するのに比べ、このビューで高度なXSLTを編集することの明確な利点は以下の通りです。
    • XSLT Viewはcontext-nodeを認識します(context nodeという言葉をご存知ない場合は、将来のエントリでこの言葉の意味を説明する予定にしています。今の段階では、context nodeを知ることは、XPathステートメントの書き方を知ることの中核です)。
    Context-node awareとは、エディタの見地からすると、次のような意味を持ちます。
    • 複数のテンプレート・ルールを使ってXSLTファイルを編集している場合、ユーザーがソースから特定のテンプレートにドラッグ&ドロップすると、エディタが各テンプレートのコンテキスト・ノードを決定し、自動的に正しい相対XPath式を作成することができます。
    • 逆に、エディタはテンプレートのコンテキストノードに関する情報を必要とするマッピングの結果を表示することができます。
    • XSLTでテンプレートを選択することで、任意のテンプレートのコンテキストノードをソースツリーで見つけることができるので、コンテキストノードをソースツリーで強調表示します。
    • XPath式を編集しながら、ユーザーはXPath編集中に参照するためのコンテキストノードとその子を提供するミニツリーへのアクセスができます。
    下図ではアイデンティティ・テンプレートを利用していますが、選択されたテンプレートのコンテキスト・ノードが、ソースツリーでバブルハイライトされています。

    • XSLT Viewでは現在のマッピングにおけるXSLTステートメントとノードのみを表示します。これはターゲット側の多くのノードがマップされない大きなスキーマを取り扱っている場合にはメリットでしょう。マップされていないターゲットノードが明示的に現れなくても、簡単にターゲットノードを追加挿入したり、スキーマからノードを生成するにはいくつかの方法があります。これは将来のエントリで説明する予定です。
    • XSLT Viewではスキーマの利用の有無に関係なく、自由形式のXSLT編集をサポートします。XSLT Viewでは以下のことが実現できます。
      • すべてのXSLT 1.0ステートメントを、任意の所望の方法で挿入することができます。追加すると、追加されたXSLT要素の属性値入力が要求されます。
        • 選択したノードの子として
        • 選択されたノードの親として
        • 選択したノードの上または下の兄弟として
      • ターゲットスキーマに含まれない要素や属性を作成できます。
      • 名前付きテンプレートを編集できます(他のXSLTファイルへインポートすることを目的として、名前付きテンプレートがXSLTファイルに含まれていることがあります。結果的にソースや定義されたターゲットスキーマを必要としないことがあります)
      • ツリー内でドラッグ&ドロップすることで、簡単にステートメントの並べ替えをすることができます。
    将来のエントリでこれらのグラフィカルビューそれぞれの機能を詳細に紹介します。
    Viewing all 760 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>