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

[Database] SE2 - Some questions, some answers ...

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

これまでにOracle Database Standard Edition 12.1.0.2 SE2に関する質問をたくさんいただきました。特に2015年9月1日のエントリのコメント(もちろん原文へのコメントです)にも現れています。
Oracle Database 12.1.0.2 Standard Edition (SE2) available for download
https://blogs.oracle.com/UPGRADE/entry/oracle_12_1_0_22
[Database] Oracle Database 12.1.0.2 Standard Edition (SE2) available for download
http://orablogs-jp.blogspot.jp/2015/09/oracle-database-12102-standard-edition.html
自身で回答できるものについてまとめてみようと思いますが、ライセンスおよびライセンス移行に関する質問に対しては期待しないでください。それらは当方の担当領域でも責任範囲でもないためです。そういったご質問はOracleの貴社担当営業におたずねください。

Oracle Database Standard Edition 12.1.0.2 SE2に関する以前のエントリは以下の通りです。

Software and Support

質問回答
Oracle Database Standard Edition 12.1.0.1 SE/SE1のPremier Support期間は?Oracle Database Standard Edition 12.1.0.1 SE と SE1 のPremier Support期間は2016/9/1までです。この日を境にSE/SE1はSustaining Support期間に入ります。
Oracle Database Standard Edition 12.1.0.1 SE/SE1でExtened Support期間はあるの?ありません。12.1 SE/SE1のExtended Supportは提供されません。ライフサポートポリシー文書にこの件が記載されています。

Oracle Lifetime Support Policy - Oracle Technology Products
http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
Oracle 12.1.0.2 SE/SE1がリリースされる予定はあるの?Oracle Standard Edition 12.1.0.2はSE2としてのみ提供されます。
SE2でハード・パーティショニングは使えるの?はい、サーバー上の物理ソケット数が2個を超えない範囲であれば、サポート対象のハードパーティショニングソフトウェアを使ってVMに特定のCPUを紐付けることができます。SE2はソケット数2個を上回るサーバー上での動作は許可されていません。
Oracle MultitenantはSE2で使えるの?Oracle MultitenantはOracle Enterprise Editionのみのライセンスですが、Oracle Single Tenantを利用することができます。これにより、プラガブルデータベースを一つのコンテナデータベース内で持つことができます。リモートクローニングのような機能を完全にサポートしています。詳しくは以下のエントリをご覧ください。

Can you have Multitenant with Oracle SE2?
https://blogs.oracle.com/UPGRADE/entry/can_you_have_oracle_multitenant

Database Installation and Patching

質問回答
Can I install Oracle Standard Edition 12.1.0.2 SE2を既存のOracle Home(in-place)にインストールすることはできるの?はい、たとえ現在のOracle Homeを消去することで潜在的なダウンタイムが増加し、切り戻し時には多大な作業が発生するという単純な理由のために推奨しないとしても、これは可能です。それでもなお、既存のOracle Homeにインストールしたい、という場合、Oracle Database 11.2.0.1以後、Oracle DatabaseリリースでOracle Homeに対する取り扱い方に変更はありません。詳しくは以下のエントリをご覧ください。

Why is every patchset now a full release?
https://blogs.oracle.com/UPGRADE/entry/why_is_every_patchset_now
どのPSUをOracle Database Standard Edition 12.1.0.2 SE2 に適用すればいいの?Take the same PSU as you would take for an EE Databaseに適用するものと同じPSUを使ってください。両者に違いはなく、SE2向けにリリースされた固有のPSU(SPU/CPU、BP)はないはずです。最新の推奨PSUは以下のMy Oracle Supportのサポート文書をご確認ください。

12.1.0.2 Patch Set - Availability and Known Issues (Doc ID 1683799.1)
https://support.oracle.com/rs?type=doc&id=1683799.1
RAC (Real Application Clusters) はSE2に含まれているの?serverはい。2ノードまでの制限があります。そして、各ノードはソケット数1個のサーバーで構成されている必要があります。
SE2でRACを使いたいと思っていますが、どのGrid Infrastructureをダウンロードすればいいの?When deploying a SE2 RAC Clusterを展開する場合、ふつうのOracle Grid Infrastructure (GI) パッケージを公式ダウンロードサイト(MOS, eDelivery)からダウンロードしてください。SE2用の個別のGrid Infrastructureはありません。
ソケット数4個のサーバーでSE2をインストール、利用することができるの?いいえ、SE2はソケット数2個までのサーバーにデプロイが可能です。
複数のSE2 Databaseを1個のサーバー上に展開することができるの?はい、もちろん可能です。

Database Upgrade

質問回答
Oracle 12.1.0.1 SE/SE1からOracle 12.1.0.2 SE2にアップグレードする場合、特別な手順やツールがあるの?アップグレードは期待通りに問題なく動作します。SE2へのアップグレード手順と、Oracle 12.1.0.1 EEからOracle 12.1.0.2 EEへのアップグレード手順とに違いはありません。
Oracle 12.1.0.1 SE/SE1からOracle 12.1.0.2 EEへアップグレードする場合、特別な手順やツールはあるの?アップグレードはSE、SE1、SE2、EEに関わらず常に同じ手順です。ただし、SE/SE1/SE2からEEへ移行する場合には、以下のMy Oracle Supportのドキュメントに従って実施してください。

How to Convert Oracle Database 12c from Standard to Enterprise Edition ? (Doc ID 2046103.1)
https://support.oracle.com/rs?type=doc&id=2046103.1

Other topics

質問回答
SE2におけるスレッドの制限(シングルインスタンスモードでは16、RACモードではノードごとに8)はバックグラウンドプロセスもその対象になっているの?いいえ。LGWRやPMONといったバックグラウンドプロセスはこの制限をうけません。
スレッド制限は同一サーバー上のすべてのインスタンスにわたって有効なの?いいえ。スレッド数はデータベースインスタンスごとに制限します。サーバー毎に制限を掛けるわけではありません。
Hyper Threadingを無効にしてデータベースにもっと「リアル」なスレッドを提供することはできるの?はい。これは可能ですが、効果はそれほど大きくないかもしれません。

[Database, Security] Deploying TDE for Existing Data with Near-Zero Downtime Using Data Pump and Data Guard

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

既存のデータにTDE (Transparent Data Encryption) 表領域暗号化を展開する方法はたくさんありますが、標準SQLコマンドの実行、Oracle Data PumpによるExport/Import、Oracle Online Table Redefinition(表のオンライン再定義)の利用がよく使われています。
それに加え、最近発行した2種類のホワイトペーパーで、さらなる設定方法をレパートリーに追加しています。これらのホワイトペーパーでは、Data PumpとData Guardを組み合わせて利用することで、ダウンタイムを極限まで小さくすることができるという革新的なテクニックを紹介しています。詳しくは以下のホワイトペーパーをご覧ください。
Converting to Transparent Data Encryption Using Data Guard Transient Logical Standby
Oracle Database 11g Release 2
http://www.oracle.com/technetwork/database/availability/tde-conversion-11g-2531187.pdf
Converting to Transparent Data Encryption Using Active Data Guard (DBMS_ROLLING)
Oracle Database 12c
http://www.oracle.com/technetwork/database/availability/tde-conversion-12c-2537297.pdf

[Database] Does ORDS Support RAC Fast Connection Failover?

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

手短に言うと、ORDS2.0.x、3.0.xの両方でYesですが、ちょっと詳しく説明します。
ORDSは、UCPをサポートするすべてのApplication Server環境(WebLogic Server、Tomcat、GlassFishなど)でUCP(Universal Connection Pool)とともに動作します。UCPはFast Connection Failover (FCF) をサポートします。UCPを有効にする方法を知っておく必要があります(現在のところ、ドキュメントには記載されていません)。

FCFはFAN (Fast Application Notification) イベントを待機、応答して、次の2個のシナリオに対処します。
  1. 計画外停止
    RACがインスタンス障害を検知すると、RACはFAN Downイベントを生成し、そのイベントをFCFが拾います。その後、FCFは障害が発生したインスタンスへのすべての接続を終了し、すべての将来のリクエストを生存しているRACインスタンスに向けます。
  2. 計画停止(DBAがRACインスタンスをメンテナンス実施などの理由で停止する場合など)
    インスタンスのシャットダウン時にFAN Planned Downイベントを生成し、FCFがそのイベントを拾います。その後、FCFがすべての新規リクエストを別のRACインスタンスに向け、「排出(drain)」します。つまり、インスタンスをシャットダウンしつつ、現在アクティブなトランザクションを完了させます(非常に長期間のトランザクションの場合、強制終了が必要になることがありますので、常にgraceful shutdownになるとは限りません)。
FCFの有効化にあたっては、FANイベントを送信するためのOracle Notification Service (ONS) を有効にする必要があります。ONSが有効になると、ORDSもFCFを自動的に有効にするには、次のようにORDSの構成ファイルdefaults.xml中のプロパティリストに以下のエントリを追加します。
<entry key="jdbc.enableONS">true</entry>
<entry key="jdbc.ONSConfig">nodes=racnode1:4200,racnode2:4200\nwalletfile=/oracle11/onswalletfile</entty>
フェールオーバーのような特定のFCFの機能を有効化したい場合、負荷分散のようなその他のFCF機能が必要な場合、構成ファイルを少々編集し、カスタム接続エントリを追加する必要があります。
<entry key="db.connectionType">customurl</entry>
<entry key="db.customURL">jdbc.oracle.thin:@(DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(LOAD_BALANCE=ON) (ADDRESS=(PROTOCOL=TCP)(HOST=prod_scan.example.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ISPRD)))</entry>
ORDSを実行している場合には、再起動が必要です。

UCPやRAC FCFに関する詳細や背景は以下のドキュメントをご覧ください。
Oracle® Universal Connection Pool for JDBC開発者ガイド 12cリリース1 (12.1)
Oracle RAC機能の使用方法
http://docs.oracle.com/cd/E57425_01/121/JJUCP/rac.htm#CHDCDFAC
Oracle® Universal Connection Pool for JDBC Developer's Guide 12c Release 1 (12.1)
Using Oracle RAC Features
http://docs.oracle.com/database/121/JJUCP/rac.htm#JJUCP8197
Information on the ORDSの構成ファイルに関する情報は以下のドキュメントをご覧ください。
REST Data Services Installation, Configuration, and Development Guide
About the Oracle REST Data Services Configuration Files
http://docs.oracle.com/cd/E56351_01/doc.30/e56293/config_file.htm#BABIBHAJ


[Cloud, SOA] SOA Cloud Service and API Manager Cloud Service are Available!

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

Oracleは北米およびヨーロッパベースのデータセンターでSOA Cloud ServiceとAPI Manager Cloud Serviceが使えるようになったことを発表しました。SOA CloudおよびAPI Manager CloudはIntegration Cloud Serviceと組み合わせ、最も幅広く完全なiPaaSを提供します。以下、OracleがSOA Cloud Serviceで満たすであろうビジネスドライバをあげてみました。
  • ITがより迅速に新規ビジネス要件に対応したい
  • クラウドへのワークロードの移動により、より低コストでITを運用したい
  • 新しい開発、テスト環境をクラウド上で数分のうちにプロビジョニングし、新規プロジェクトを即開始したい
  • 開発者が基盤構築ではなくイノベーションに時間を割けるようにしたい
Oracle SOA Cloud ServiceとAPI Manager Cloud Serviceはイノベーションを加速するためのプラットフォームです。このプラットフォームの機能をご紹介しましょう。
  • サイズ、構成をお客様が指定し、すぐにSOA 12c、Service Bus 12c、API Manager 12c環境をプロビジョニング可能
  • プラットフォームへのフルアクセスを提供(Linuxのrootアクセス、Enterprise Manager Fusion Middleware Controlコンソール、Service Busコンソール、WebLogic Server管理コンソールなど)
  • ワンクリックでパッチ適用可能。お客様のスケジュールに合わせてパッチを適用可能。
  • スケールアウトもワンクリックで可能。別のVMや管理対象サーバも、ボタンのクリックで追加可能。
  • バックアップ、リカバリ機能は組み込み済み。Oracle Storage Cloud Serviceをバックアップの長期間保存に利用。
  • Metered(従量制)サブスクリプションによる課金。利用したOCPU(Oracle CPU、Intel製CPUの1コア分に相当)の個数に対応した費用をお支払い。
非常に多くのOracle SOA Suiteのお客様がこのSOA Cloud Serviceを期待されている理由をご紹介します。

Faster Time to Market

新しい環境の作成がシンプルかつ簡単なので、開発者は新しいことに取り組み、迅速に新規プロジェクトをスタートすることができます。現在、開発者はあまりにも多くの時間を以下のいずれかの作業に費やしています。

  1. 新しい環境で作業開始できるまでの時間
  2. 最終的に自分たちの開発やテストを開始できるように、新しい環境を構築したり、新しい環境を作成するシステム管理者を支援したりする時間

SOA Cloud Serviceを使うと、オンプレミスで数週間、ややもすると数ヶ月かかるのとは異なり、新しい環境をほんの数分で作成できます。

Portability

SOA 12cプロジェクトを、オンプレミスのSOA環境、もしくはSOA Cloudにデプロイできます。というのも、同じバイナリを使っているからです。このことにより、デプロイした環境に将来もロックされることなく、その時々で理に適う場所にデプロイすることができるという柔軟性をお客様は手に入れることができます。要件が変われば、同じコードを別の環境に再デプロイすることも簡単です。この可搬性はつまり、ビジネス要件の変化に合わせて、柔軟かつ迅速に対応できるということです。

Easy Administration

迅速かつプロビジョニングの自動化とともに、バックアップ、パッチ適用、スケールアウトと(より多くの機能がすぐに出てきます)といった機能を内蔵しているので、システム管理者はバックアップやパッチ適用などの日常的なタスクに自分の時間を費やすのではなく、価値を生み出す作業に集中することができます。クラウドの自動化により、管理者は新しいことを始めたり、開発チームや運用サポートチームに対してより多くのサポートを提供したりするために時間を振り分けることができます。SOA CloudとAPI Cloudで自動化するステップをご紹介します。オンプレミスであれば手作業でしかも通常数ヶ月かかる作業です。

(訳注)
Chefなどを使う手もありますが、それはここでは触れません。
  • ハードウェアの調達
  • ネットワークのセットアップ
  • ストレージの割り当て、紐付け
  • OSのインストール、構成
  • 必要なソフトウェアのインストール(Java、WebLogic、SOA、API Manager)
  • RCUを実行し、SOAやAPI Managerで必要なデータベーススキーマを作成
  • SOA、Service Bus、API Managerのドメインタイプに合わせてドメインを構成

Quotes

"Oracle’s iPaaS portfolio, which now includes Oracle SOA Cloud Service and Oracle API Manager Cloud Service, meets various integration requirements and supports multiple use cases that today's competitive digital businesses need. It empowers integration developers to focus on enabling strategic initiatives by simplifying administration and configuration of the integration platform."
(by Ravi Gade, senior director, IT Applications at Calix)

「オラクルのiPaaSポートフォリオに、Oracle SOA Cloud ServiceとOracle API Manager Cloud Serviceが加わったので、様々な統合要件を満たし、競争の激しい今日のデジタルビジネスが必要とする複数のユースケースをサポートするようになりました。統合プラットフォームの管理と構成をシンプルにすることで、統合のための開発者が戦略的な取り組みに集中できるようになりました」
"With 88 percent of respondents to a recent Ovum survey showing inclination to adopt cloud-based integration platforms for appropriate use cases, it is clear that enterprises realize the need for an agile approach to hybrid integration. Digitalization and the need for greater agility at a lower cost of ownership are driving adoption of hybrid integration solutions with an 'SOA and iPaaS' combination being a preferred option. Enterprises should plan to distribute integration processes in a way that ensures efficient utilization of both on-premise and cloud-based integration infrastructure and operational spend. Oracle's unified iPaaS portfolio, which includes Oracle Integration Cloud Service and Oracle SOA Cloud Service, combined with its on-premises SOA Suite, enables users to ease the complexity of hybrid integration."
(by Saurabh Sharma, senior analyst, middleware at Ovum)

「最近のOvumの調査で、回答者の88パーセントが、適切なユースケースでクラウドベースの統合プラットフォームを採用する傾向を示していますが、このことからも、企業がHybrid Integrationへの迅速なアプローチの必要性を認識していることは明らかです。デジタル化と低所有コストで機敏性の向上に対する必要性がHybrid Integration Solutionの採用を駆り立てており、その中でも、「SOAとiPaaS」の組み合わせが好ましい選択肢です。企業はオンプレミスとクラウドベースの統合インフラストラクチャと運用費用の効率的な利用を確保するやり方で、統合プロセスの展開を計画する必要があります。Oracle Integration Cloud ServiceとOracle SOA Cloud Serviceを含むオラクルの統合されたiPaaSポートフォリオは、オンプレミスのSOA Suiteと組合せることで、ユーザーはHybrid Integrationをシンプルに考えることができます。」

Where to find more information

詳細情報はSOA Cloud Serviceのページへどうぞ。
SOA Suite Service
http://cloud.oracle.com/SOA
プレスリリースも出ています。
Oracle Announces New Oracle Cloud Platform for Integration with Oracle SOA Cloud and Oracle API Manager Cloud Services
http://www.oracle.com/corporate/pressrelease/cloud-platform-integration-soa-api-092815.html

[Mobile] MAF and OS X El Capitan and Xcode 6

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

本日AppleはOS X El Capitanが9月30日(日本時間10月1日)からMacユーザー向けに無料で提供すると発表しました。
OS X El Capitanのベータ版とXcodeの相性が悪いという報告が出ており、AppleはApple Developer Form上で回避策を提示しています。
Workaround for El Capitan Xcode issue
https://forums.developer.apple.com/thread/13458
この投稿では、Xcode 7はOS X El Capitanで完全にサポートされていることが明らかなのですが、Xcode 6が完全にサポートされているのかどうかは不明なままです。

MAF 2.1.3ではXcode 6が必要です。

OS X El Capitanのリリース後速やかにMAF開発チームはOS X El Capitan上でXcode 6を使いMAF 2.1.3の検証作業を開始します。この検証作業が完了するまで、現在のOS Xリリースをアップデートされないほうがよいでしょう。

[Virtualization] Oracle VM VirtualBox 5.0.6 Now Available!

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

OracleはVirtualBox 5.0 Maintenance Release 6をリリースしました。
このリリースは数多くの変更やバグ修正を含んでいます。その中でも大きな改善点としてお伝えしたいのが、ホスト、ゲストのいずれとしても、Microsoft Windows 10 RTM (Release 10240) プラットフォームをお使い頂けるようになったということ、それと同時に、(公式にはAppleから2日前に出たところですが)新しいOS XプラットフォームであるEl Capitanを、VirtualBox 5.0.6から公式にホストプラットフォームとしてOSとしてサポートします。
バグ修正の完全なリストは以下のリンクからどうぞ。
Changelog for VirtualBox 5.0
https://www.virtualbox.org/wiki/Changelog
ダウンロードは以下のリンクからどうぞ。
Download VirtualBox
https://www.virtualbox.org/wiki/Downloads

[SOA, Cloud] SOA Suite/Cloud ServiceをOracle Developer Cloud Serviceであれやこれややってみる

$
0
0
現在、SOA SuiteをOracle Developer Cloud Serviceと組み合わせて使ってみよう、という一連のエントリが掲載されています。タイトル上はSOA CS(SOA Cloud Service)となっていますが、オンプレミス版のSOA Suiteで説明しています。
SOA Suiteは12c (12.1.3) からMavenをサポートしており、Mavenを使ったビルドの自動化や依存性管理をするために必要な構成要素をMavenプラグインとして提供しています。
Oracle® Fusion Middleware Oracle SOA SuiteでのSOAアプリケーションの開発 12c リリース1 (12.1.3)
Oracle SOA Suite開発Mavenプラグインの使用
http://docs.oracle.com/cd/E57014_01/soasuite/develop-soa/soa-maven-deployment.htm
Developer Cloud Serviceは、Git、Mavenなど、開発に必要なサービスを提供するCloud Serviceです。
Oracle Developer Cloud Service
https://cloud.oracle.com/developer_service
Oracle Developer Cloud Serviceドキュメント
http://docs.oracle.com/cloud/latest/devcs_common/index.html
原文もそれほど難しくなく、動画を見ればわかるようになっていますので、「SOA SuiteやService Busの開発でも、Javaの開発で使っている同じしくみでビルドを自動化し、Continuous Integrationもできる」ことを理解いただければ、と思います。

原文はこちら(2015/10/07現在。今後も追加される予定です)
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapters_01
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_03
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_04
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_05
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_06
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_07
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_08
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_09
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_10
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_11
https://blogs.oracle.com/integration/entry/soa_plus_odcs_chapter_12

[Java] Join the J1 GlassFish - Java EE Community Events!

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

Oracle Java EEチームはJavaOneに先立ち、年次のいつものコミュニティイベントをホストしています。今年も、10月25日(日)の16:30から19:15、Moscone South (Room 307) で開催します。ちょうどJavaOneキーノート(13:45-16:00)の直後にスタートです。イベント参加にはJavaOneのパスが必要です。
JavaOne keynote
https://www.oracle.com/javaone/keynotes.html
流れは以下のようになっています。
そして最後に、従来のpre-JavaOne Sundayパーティーなるものがなければ、GlassFishイベントとは言えないでしょう。ってわけで、長い一日をThirsty Beerで開催するGlassFish - NetBeans - Payara Partyで締めましょう。参加は無料ですが、チケットの数に限りがあるので、参加登録をお願いします。
SUN, OCT 25, 2015 AT 8:00 PM
GlassFish, NetBeans, Payara Party
Thirsty Bear Brewing Company, San Francisco, CA
https://www.eventbrite.com/e/glassfish-netbeans-payara-party-tickets-18933363199


[Java] GlassFish 4.1.1 is now available!

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

GlassFish 4.1.1がリリースされました。マイナーバージョンアップとはいえ、4.1.1は些細なアップデートではありません。
昨年、JAX-RS (JSR 339)、JMS (JSR 343)、CDI (JSR 346)、WebSocket (JSR 356) の仕様アップデートがありました。
JSR-000339 The JavaTM API for RESTful Web Services 2.0 rev A (Maintenance Release)
https://jcp.org/aboutJava/communityprocess/mrel/jsr339/index.html
JSR-000343 JavaTM Message Service 2.0 (Maintenance Release)
https://jcp.org/aboutJava/communityprocess/mrel/jsr343/index.html
JSR-000346 Contexts and Dependency Injection for JavaTM EE 1.2 (Maintenance Release)
https://jcp.org/aboutJava/communityprocess/mrel/jsr346/index.html
JSR-000356 JavaTM API for WebSocket  (Maintenance Release)
https://jcp.org/aboutJava/communityprocess/mrel/jsr356/index.html
これらのメンテナンスリリースがGlassFish 4.1.1に統合されています。この期間に、Java EE 7仕様 (JSR 342) もまたメンテナンスリリースプロセスを通りましたが、変更点は仕様の明確化でしかなかったので、Java EE 7メンテナンスリリースは技術的には参照実装、つまりGlassFishへの影響はありません。
JSR-000342 JavaTM Platform, Enterprise Edition 7 Specification (Maintenance Release)
https://jcp.org/aboutJava/communityprocess/mrel/jsr342/index.html
GlassFish 4.1.1では、基礎となるGlassFishコンポーネントのほとんどがアップデートされました。以下のリストでアップデートされたコンポーネントの一部をご紹介します。
  • Jersey 2.21 (JAX-RS 2.0.1 aka JAX-RS 2.0 rev A) 
  • Weld 2.2.13.Final (CDI 1.2)
  • MQ 5.1.1-b02 (JMS 2.0.1)  
  • Tyrus 1.11 (WebSocket 1.1 )
  • Mojarra 2.2.12
  • EclipseLink 2.6.1-RC1
  • Grizzly 2.3.23
  • HK2 2.4.0-b31
  • JBatch Runtime 1.0.1-b09
  • JSON-P RI 1.0.4
    などなど
最後に、様々なバグ修正に加え、セキュリティに関連する修正も含まれています。
GlassFish 4.1.1は以下からダウンロードできます。
GlassFish Server Open Source Edition 4.1.1 Download
https://glassfish.java.net/download.html
ソースコードは以下からどうぞ。
GlassFish v3 Repository - Project Kenai
https://java.net/projects/glassfish/sources/svn/show/trunk/main

[SOA, Cloud] Extending SOA Cloud Service with Scheduler

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

Now that SOA Cloud Serviceが利用できるようになったので、スケジューリング機能を使ってSOA Cloud Serviceを非常に簡単に拡張できます。スケジューリング機能のユースケースは、たとえば以下のようなものがあります。
  • Pull AdapterからPush Aapterへ定期的にバルクでのデータ転送を実施したい
  • Cloud Adapterを起動するSOAコンポジットをスケジュール起動することで、クラウドのエンドポイントをスケジューリングしたい
  • ESSとSOA間が標準で有するネイティブ統合を使って、Adapterの有効化・無効化、フォルトのリカバリをまとめて実行するなどのようなことを実現したい
  • BPELを使う一連のジョブやジョブセットを編成したい
SOA Cloud Serviceを拡張してESSを利用可能にすることは簡単ですが、以下のことはオンプレミス環境では動作保証されていますが、SOA Cloud Serviceでは保証されていませんのでご注意ください。
  • すべてのサーバのシャットダウン
  • <Oracle_Home>/oracle_common/bin/rcuを実行して、SOAスキーマと同じ接頭辞を使ってESSスキーマを作成すること
  • <Oracle_Home>/oracle_common/common/bin/config.shを実行すること
    • ESS BasicテンプレートとEnterprise Manager plugin for ESSテンプレートの選択
    • ESS-MGD-SVRS(ユーザー拡張可能サーバーグループ)をSOA管理対象サーバに設定
    • ess_server1の削除

[Database] 15 years of MyNA - Japan MySQL User Group - Come to celebrate with us!

$
0
0
原文はこちら。
https://blogs.oracle.com/MySQL/entry/15_years_of_myna_japan

MySQL Japan User Group (MyNA) のドメインを登録して15年が経過したことを受け、この15周年を祝うことにしました。主要メンバーが一堂に会し、これまでの歴史を振り返るというまたとない機会です。次回のユーザー会を以下の要領で10月末に開催します。
  • タイトル:15th anniversary of MyNA, looking back User Group's 15 years and MySQL's 15 years(ユーザ会15周年記念パーティ〜ユーザ会とMySQLの15年を振り返る!〜)
  • 日時:2015年10月30日(金)19:00-21:30 (日本時間)
  • 会場:株式会社コロプラ(東京・恵比寿ガーデンプレイスタワー11階)
  • 4名の登壇者によるセッションを通じて、ユーザー会のこの15年間を振り返ります。
    • とみたまさひろ さん(ユーザ会代表・最初のMySQL日本語化)
    • 木下靖文 さん(InnoDB、XtraDBの元開発者)
    • 梶山隆輔 さん(MySQL K.K.→Sun Microsystems→Oracle MySQL GBU)
    • yoku0825 さん(Oracle ACE for MySQL、ユーザー会で大活躍)
  • ユーザー会のURL
    http://www.mysql.gr.jp/
イベント登録は以下からどうぞ。皆様のご来場をお待ちしています。
日本MySQLユーザ会15周年記念パーティー
http://connpass.com/event/21179/?utm_campaign=promote_21179

[Java] NPAPI Plugin Perspectives and the Oracle JRE

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

Javaが20年前に急激に世に知られるようになったのは、HotJavaブラウザで動作するDukeが宙返りするappletが出てからです。ブラウザの機能が非常に弱かったその当時、Appletはよりリッチな開発性と、ユーザーがアプリケーションをローカルでインストールしたり、アップデートしなくてもよいよう、アプリケーションの集中配布機能を提供しました。
Java at 20 Years, Part 1: What's In a Name?
https://adtmag.com/blogs/watersworks/2015/05/java-at-20.aspx
How to make Applets
https://docs.oracle.com/javase/tutorial/uiswing/components/applet.html
HotJava
https://en.wikipedia.org/wiki/HotJava
HotJavaのappletのサポートはNetscapeに引き継がれました。1995年、表示可能なコンテンツの種類が増えたことで、Netscape Navigator 2.0とプラグインの人気が増しました。
Netscape Navigator 2.0
https://en.wikipedia.org/wiki/Netscape_Navigator_2
Netscape Navigatorのプラグインインターフェース(NPAPI)は他のブラウザによって採用され、2004年からサポートされました。Webブラウザで動作するJavaアプリケーションのブラウザ間の互換性を提供する、共通のNPAPIプラグインインターフェースに依拠して各ブラウザでのJava appletがサポートされました。

Javvaが主要な開発プラットフォームの一つとして進化するにつれ、appletのホストであるWebブラウザも進化しました。通常はプラグインのサポートがないモバイルデバイスのブラウザでのWebの利用が増えたことにより、利用可能な一連の機能をデスクトップ版とモバイル版で統合しようとすることで、ブラウザ提供元は自身の製品からプラグインのサポートを制限したり、プラグインのサポートを取りやめたいと思うようになりました。
Thoughts on Flash
http://www.apple.com/hotnews/thoughts-on-flash/
モバイルの隆興に合わせ、アプリケーションの配布モデルとして「プラグインベース」のモデルではない、「app store」モデルが現れました。この「app store」モデルはシンプル、セキュリティ、可用性の集中化といった理由で成長しました。モバイル、アプリケーションの配信、機能といったこれらの進化を受け、標準ベースのプラグインのサポートを継続するブラウザは時間がたつにつれて少なくなっていきました。

Mozillaからの発表は、Mozilla Firefoxでアプレットを利用している開発者やユーザーに対し、代替策の評価や代替策への移行のためのタイムラインを提供するものです。
NPAPI Plugins in Firefox
https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/
Java Platform, Standard Edition Deployment Guide
Applet Development Guide
Migrating Java Applets to the Java Network Launching Protocol
http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/applet_dev_guide.html#JSDPG1032
通常のリリースやFirefox延長サポート版でFirefoxからNPAPI機能が取り除かれるまでに、Java Web Startのようなプラグインを使わないテクノロジーの利用や、プラグインをサポートする別のブラウザへの移行を検討する必要があります。

他のブラウザと同じように、Mozillaが必要なNPAPIのサポートを提供する限り、Oracle JREのみがFirefoxでのappletをサポートすることができます。過去数年間にわたるMozillaのエンジニアリングチームと定期的な会話を通じ、共通のユーザーがFirefoxとOracle JREでの改良の恩恵を受けることを保証するために、一緒に取り組んできました。私たちは、Java Web Startのようなプラグインを使わないテクノロジーへのスムーズな移行を可能にすることで引き続き協力していきます。

その一方で、現時点では、追加のブラウザ固有のプラグインを提供する予定はありません。それは、そのようなプラグイン作成のためには、サポート対象のブラウザ固有のappletを作成するアプリケーション開発者を必要とするためです。また、(開発をしたとしても)ブラウザ毎に異なる、アプリケーション開発者にもユーザーにも影響が及ぶ、必要な機能のサブセットを提供することしかできないでしょう。

以前の例と同様に、Oracle製品に関わる追加情報は対応する製品チームが提供する予定にしています。Internet ExploerおよびSafariブラウザはこの変更の影響を受けません。

Java and Google Chrome Browser
https://www.java.com/en/download/faq/chrome.xml

この変更に対応するための準備をし、貴社組織内で利用しているapplet(やその他のJavaアプリケーション)の知見をためてきたいと思うシステム管理者は、Java Advanced Management Consoleの評価をされることをお勧めします。
Java Advanced Management Console
http://www.oracle.com/technetwork/java/javaseproducts/advanced-mgmt/advancedmanagementconsole-2254207.html

[Database, WLS] Active GridLink Configuration for Database Outages

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

この記事では、Oracle Database RAC環境でのデータベース停止時に対応するための、Active GridLink (AGL) データソースの設計・展開について説明します。

AGL Configuration for Database Outages

Active GridLinkデータソースが以下のドキュメントに従って構成されているものとします。
Oracle® Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの管理 12c (12.1.3)
Active GridLinkデータ・ソースの使用方法
http://docs.oracle.com/cd/E57014_01/wls/JDBCA/gridlink_datasources.htm#JDBCA373
Oracle® Fusion Middleware Administering JDBC Data Sources for Oracle WebLogic Server 12.1.3
Using Active GridLink Data Sources
http://docs.oracle.com/middleware/1213/wls/JDBCA/gridlink_datasources.htm#JDBCA373
  • FANが有効化されます。FANはデータベースサービスやインスタンス、データベース自身、クラス田尾を構成するノードの状態が変化すると速やかに通知します。計画的なメンテナンスの間に、アプリケーションに対しどのような形であれエラー無しでインスタンスへの接続を返すことができます。
  • 自動ONSもしくは明示的なONSの設定
  • ダイナミックデータベース・サービス:データベースサービスやPDBサービスを使って接続しないでください。これらは管理用途のためであって、FACはサポートしていません。
  • 接続のテスト
    停止イベントが処理される前に接続を借り受けた場合、停止に応じて、アプリケーションは古い接続を受けとることがあります。例えばこの事象は、着信接続要求と同時にソケットを閉じた際にクリーンなインスタンスが停止した場合に発生することがあります。アプリケーションがエラーを受け取らないようにするためには、接続チェックを接続プールで有効化しておく必要があります。これはtest-connections-on-reserve(予約時に接続をテスト)をtrueにした上で、test-table(テスト表)を設定する必要があります(Oracle Databaseの場合、推奨値は"SQL ISVALID"です)。
  • SCANの利用の最適化
    DNSからSCANアドレス用に返されるSCANのIPアドレスの並べ替えの強制を最適化する場合、URL設定を12.1.0.2以後のデータベースドライバではADDRESSLISTのLOAD_BALANCE=TRUEを設定してURLを設定する必要があります(12.1.0.2以前では、接続プロパティoracle.jdbc.thinForceDNSLoadBalancingをtrueに設定します)。

Planned Outage Operations

計画停止において、ゴールは以下のことを達成することです。
  • 透過的な計画されたメンテナンス
    データベースサーバーでの計画的なメンテナンスプロセスがアプリケーションから見えるようになります。
  • セッションの排出
    データベースでインスタンスをメンテナンスのために停止すると、ノードでインスタンスを利用しているすべてのワークが完了し、アイドルセッションの削除がドレーニング(draining、排出)によって保証されます。セッションは実行中のワークに影響を与えずに排出されます。
目標は、データベース・サーバーでメンテナンスが進行中の場合にもアプリケーションを中断せずに計画されたメンテナンスを管理することです。メンテナンスの目的(例えば、ソフトウェアやハードウェアのアップグレード、修理、変更、システム内およびシステム間での移行)のため、利用されるサービスは、一度に1個もしくは複数のサービスを正常にシャットダウンします。FAN DOWNイベントの際に、AGLは、メンテナンスの対象となるインスタンスからセッションを排出します。(まだ残りの実行中のインスタンス上で利用可能であることを仮定して)メンテナンス対象のデータベース・インスタンス上で実行されている非シングルトンサービスを停止したり、シングルトンサービスをメンテナンス対象のインスタンスから別のインスタンスに再配置することが必要です。サービスがセッションを排出した後、インスタンスは、アプリケーションに対して全くエラーなしで停止します。
以下は計画停止が発生した場合の動きをまとめたものです。
  • メンテナンス対象のインスタンスに対してDBAが発生させた“DOWN”イベントを検知
  • 当該インスタンスからセッションを排出
  • 計画メンテナンスをデータベースサーバで実行
  • アップグレードされたノードで運用を再開
データベース・サーバと中間層の両方でオペレーションの調整が必要なマルチデータソースとは異なり、Active GridLinkではデータベースと協調し、これらのオペレーションすべてがデータベースから管理されるため、プロセスが簡素化されます。
下表はデータベース・サーバで実行される手順と対応する中間層での反応をまとめたものです。
データベースサーバでの操作手順コマンド中間層の反応

非シングルトンサービスを”-force”オプションを付けずに停止する、もしくはシングルトンサービスを別ノードに移す

インスタンス上のすべてのサービスで-serverオプションを省略する
    $ srvctl   stop service –db <db_name> -service <service_name> -instance   <instance_name>

    または

    $ srvctl   relocate service –db <db_name>
    -service <service_name> -oldinst <oldins> -newinst <newinst>
    サービスのFAN Planned   Down (reason=USER) (計画停止)イベントは接続プールに対し、サービスが利用できず、接続の排出が必要であることを知らせる。

    サービスのアイドル接続を即時解放する。利用中の接続はアプリケーションが返した(論理的に閉じた)際に解放される。

    新規接続は他のインスタンスやサービスを提供するデータベースで予約される。

    このFANアクションでは、アプリケーションを中断せずに、インスタンスからのセッションの排出を開始する。
    自動的に再起動されないことを保証するため、停止したサービスを必要に応じて無効化

    このステップは、メンテナンスが完了するまでサービスが再起動してはいけないメンテナンス時に推奨されるステップ 

    $ srvctl disable service –db <db_name> -service <service_name> -instance <instance_name>
    中間層で停止・利用できないサービスと新規接続を関連付けない。
    セッション排出


    セッション排出に要する時間はアプリケーションによって異なる。
    長時間実行中のクエリがある可能性がある。定期的に接続を返し、新しい接続を取得するようにバッチプログラムが作成されていない可能性があるため、バッチプログラムをメンテナンス前に排出することを推奨する。
    長時間実行中のセッションを確認

    トランザクションの切断を使用してこれらのセッションを終了させる

    セッションの排出を待つ

    セッションの残存を確認するためにクエリを再実行できる
    SQL>   select count(*) from ( select 1 from v$sessionwhere service_name in   upper('<service_name>') union all
    select 1 from v$transaction where   status = 'ACTIVE' )

    SQL> exec
    dbms_service.disconnect_session(
      '<service_name>', DBMS_SERVICE.POST_TRANSACTION);
    中間層の接続でエラーが発生する。
    Application Continuityを使用している場合は、自動的に別のインスタンスの新規接続でオペレーションを再生することで、アプリケーションからのエラーを隠すことが可能。それ以外の場合、アプリケーションはSQLExceptionを取得する。
    上記手順を繰り返す計画メンテナンス対象のすべてのサービスに対し繰り返す
    immediate オプションを使ってデータベースインスタンスを停止$ srvctl stop instance –db <db_name> -instance <instance_name> -stopoption  immediateデータベースやサービスが再起動されるまで中間層に影響はない
    必要に応じ、インスタンスを無効化し、メンテナンス中に自動的に再起動しないようにする

    これは、サービスがメンテナンス中に再開できないようにするためのステップ
    $ srvctl   disable instance –db <db_name> -instance <instance_name>
    計画メンテナンスを実行計画メンテナンスの実行(パッチ適用、修復、変更など)
    インスタンスの有効化および開始$ srvctl   enable instance –db <db_name> -instance <instance_name>
    $ srvctl start instance –db <db_name> -instance <instance_name>
    サービスを有効化し、再起動し、サービスが立ち上がり、実行中になっていることを確認$ srvctl   enable service –db <db_name> -service <service_name> -instance   <instance_name>
    $ srvctl   start service –db <db_name> -service <service_name> -instance   <instance_name>

    サービスのFAN UPイベントが、接続プールに新しいインスタンスが利用可能になったことを通知する

    次回のリクエスト送信で、このインスタンスでのセッション作成が可能

    セッションの自動リバランス開始

    下図は、計画停止前後の2個のRACインスタンスにわたるサービスへの接続の分散を示しています。接続ワークロードが両インスタンスで50:50から、100:0に遷移することに着目してください。言い換えると、メンテナンスビジネスに影響しないでRAC_INST_1のメンテナンスを実行することができる、ということです。
    (訳注)
    原文に記載されているリンクがアクセスできないリンクのため、このエントリでも非表示にしています。

    Unplanned Outages

    設定は計画停止、非計画停止で同じですが、非計画停止の場合にはいくつか相違点があります。
    • データベースサーバのコンポーネントが、当該ノードで実行中のインスタンス上のすべてのサービスを利用不可にすることに失敗する可能性があり、それゆえにサービスが停止、無効化されていない場合があります。
    • FANの非計画DOWNイベント (reason=FAILURE) が中間層に配信されます。
    • 非計画停止イベントに対応して、すべてのセッションが即座に閉じられ、アプリケーションがTCP/IPタイムアウトを待たなくてすみます。既存の他のインスタンスへの接続はそのまま利用可能で、必要に応じて他のインスタンスへの新規接続を開くことができます。
    • 接続は正常に排出されません。Application Continuityを使うよう構成されているサービスを利用するアプリケーションの場合、アクティブなセッションを生存しているインスタンスに復元し、オペレーションの再生、アプリケーションに対する停止の隠蔽をした上で、セッションを回復します。Application Continuityで保護されていない場合、インスタンスとのアクティブな通信している任意のセッションがSQLExceptionを受けとります。

    [Java] MVC 1.0 Second Early Draft Now Available

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

    Java EE 8に含まれる予定のMVC 1.0仕様の進捗が進み、このたび2回目の早期ドラフトレビュー(EDR, Early Draft Review)をリリースしました。JCPのWebサイトからドラフトをダウンロードしご覧頂けます。参照実装であるOzarkも試していただけます。
    JSR 371: Model-View-Controller (MVC 1.0) Specification
    https://www.jcp.org/en/jsr/detail?id=371
    Ozark - Reference Implementation for MVC 1.0
    https://ozark.java.net/
    MVCを支援するコミュニティの勢いも同様に成長を続けています。最近では、Bulgarian Java User GroupがAdopt-a-JSRを介して仕様のワークショップを開催しました。ワークショップはNayden GochevとIvan St. Ivanovが主導しました。ワークショップを進める上で必要な手順やコードなどの全てがJUGのサイトに掲載されています。
    Workshop JSR 371: MVC 1.0
    https://jug.bg/events/adopt-a-jsr-mvc-1-0/
    いつも通りフィードバックを送るだけでもいいですし、色々な形で関わることができます。仕様のJCPページを通じて、Expert Groupへの参加をいつでも歓迎いたします。
    JSR 371: Model-View-Controller (MVC 1.0) Specification
    https://www.jcp.org/en/jsr/detail?id=371
    いつも通り、MVC 1.0仕様のユーザーエイリアスを購読して議論に参加することもできます。
    MVC Specification Mailing Lists
    https://java.net/projects/mvc-spec/lists
    JUGを通じてグループとして参加したいという場合には、Adopt-a-JSRを通じて参加することができます。
    Adopt-a-JSR for Java EE
    https://glassfish.java.net/adoptajsr/

    [Cloud, WebCenter, JavaScript] Oracle Documents Cloud Service and Node.js

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

    Oracle Documents Cloud Serviceでは、クラウドで直接REST APIを使ってファイルやフォルダ、ユーザーの管理ができる一連の機能を提供しています。
    Oracle Documents Cloud Service
    https://cloud.oracle.com/documents
    この記事ではAPIの利用例をご紹介します。今回は、Node.jsでの操作についてご紹介します。
    メインコンテナ、メインコンテナの子、特定のフォルダやファイルに関する情報にアクセスします。また、特定のファイルの内容を取得したり、アイテムを削除したり、項目の名前を変更したりします。これらはすべてNode.jsのExpressフレームワークを使用して構築したWebアプリケーションを介して実行します。

    今回の例を実施するにあたっての前提条件は以下の通りです。
    • Node.js
    • Expressフレームワーク
    • 結果表示のためのテンプレートエンジン
    • 開発環境に含まれる、Node.js用RESTクライアント
    • スクリプト記述用テキストエディタ
    • APIのエンドポイントURL
    • 認証のための資格証明(ユーザー名とパスワード)
    • サービスのメインコンテナに配置する2個のテキストファイル
    アプリケーションの全貌は下図をご覧ください。
    img1
    Node.js自身がHTTP Serverの機能を持っており、ルーティング、テンプレート化が簡単という理由から、Expressフレームワークを使うことにしました。

    HTTP Serverが受け取ったリクエストは、REST APIと対話する適切なスクリプトにルーティングされます。スクリプトがAPIからレスポンスを受け取ると、即座に描画テンプレートを使ってブラウザに対してレスポンスを描画します。

    テンプレートエンジンとしてEJSを、専用RESTクライアントとしてnode-rest-clientを選択しました。これらの2種類はExpressフレームワークとともに以下のコマンドを実行し、node package managerを使ってインストールすることができます。
    • npm install ejs
    • npm install node-rest-client
    • npm install express
    アプリケーションサーバは非常に基本的なものです。Expressフレームワークと、テンプレートエンジン、2個のルーティングを設定します。最初のルーティングはインデックスページ、もう一つはREST APIへのHTTPリクエストを処理するページです。サーバーはポート番号3000でリクエストを受け付けます。

    APIのエンドポイントURLを知るため、サービスのWebアプリケーションにログインします(cloud.oracle.comでデータセンターを選択、アイデンティティ・ドメイン、ユーザー名、パスワードを入力、Documentsクラウドサービスを選択して、サービスのコンソールを開きます)。

    Webアプリケーションにリダイレクトされると、/home/nameascを/apiで置き換えることでAPIのエンドポイントを取得できます。WebアプリケーションのURLは以下のような構成になっています。
    https://<account>-<identity domain>.documents.<datacenter>.oraclecloud.com/documents/home/nameasc
    例として、実際のURLが以下のようであれば
    https://foo-bar.documents.us.oraclecloud.com/documents/home/nameasc
    APIのエンドポイントURLは以下のようになります。
    https://foo-bar.documents.us.oraclecloud.com/documents/api
    今後、このドメインを例にして説明を進めます。
    APIの認証に使うユーザー名とパスワードはWebアプリケーションログイン時と同じものですが、この場合、アイデンティティ・ドメインは不要です。

    前提条件として記載したように、サービスのメインコンテナに2個のテキストファイルを配置することを忘れないでください。

    サービスのフォルダ構成を明確にするために、下図をご覧ください。
    img1
    実際のREST APIとの通信を司るスクリプトには2個のハンドラがあります。一つはGETリクエスト用、もう一つは自身へのPOSTリクエスト用です。

    GETリクエストの場合、ボタンを持つフォームを含むテンプレートをレンダリングしますが、POSTリクエストの場合、さらにJSON形式で認証のための資格証明を含むテキストファイルを開き、その内容を解析してオブジェクトに格納します。

    ファイルの中身は、次のような感じになります。
    {"user" : "john.doe@company.com", "password" : "supersecret"}
    続いて、基本認証を使ってAPIに対し認証するための組み込み機能を提供するnode-rest-clientが必要です。
    var RESTClient = require('node-rest-client').Client;
    restClient = new RESTClient({user : credentials.user, password : credentials.password});
    その後、ファイルはAPIのエンドポイントURLを設定します。
    var apiURL = "https://foo-bar.documents.us.oraclecloud.com/documents/api";
    最後に、実際のリクエストをREST APIに対して送信する機能が含まれています。
    //perform the api request
    restClient.get(apiURL, function(data, apiResponse){
    //set up params to be passed into the template
    var params = {
    respData: ((typeof data) == 'object') ? JSON.stringify(data) : data
    }
    //send HTTP response (render template)
    res.render('rest', params);
    });
    ここで説明したPOSTハンドラはHTMLフォームが発行されたタイミングで呼び出されます。

    REST APIへのリクエスト発行の最終ステップでNodeサーバーを起動しています。

    この例はローカルのUbuntu上にインストールされたNode.jsを使っています。開始する場合には、ターミナルを開き、以下のコマンドを実行します。
    sudo nodemon <path file.js="" server="" to="">
    個人的には、スクリプト変更時に自動的にサーバーを再起動してくれ、手作業による再起動が不要なため、nodemonを使っています。

    サーバーが起動したら、ブラウザでhttp://localhost:3000にアクセスすると、アプリケーションのインデックスページが開きます。これはこの記事の最初に説明した2個目のルートです。

    2個目のルートへアクセスすると、フォームを含むテンプレートを表示するGETハンドラを起動します。フォームをルートに送信すると、POSTハンドラが呼び出され、スクリプトがAPIにアクセスします。APIからレスポンスが返ると、フォームの同じテンプレートを使って結果を表示します。

    注意いただきたいのは、APIへの最初のリクエストはAPIの基本パスへのGETリクエストです。APIのデータフォーマットのデフォルトはJSONで、以下のような形式です。
    {items: [{"version": "1.0", "isLatest": false}, {"version": "1.0", "isLatest": true }]}
    メインコンテナに関する情報を入手するために、スクリプトを編集し、"/folders/self"を付加してapiURL変数を変更します。URLを以下のような感じに変更します。
    https://foo-bar.documents.us.oraclecloud.com/documents/api/folders/self
    上記URLへのGETリクエストを実行すると、APIはメインコンテナの情報をレスポンスとして返します。メインコンテナの子の情報を取得するには、エンドポイントURLの"/self"を"/items"に置き換えます。変更した結果、URLは以下のようになります。
    https://foo-bar.documents.us.oraclecloud.com/documents/api/folders/items
    上記URLへのGETリクエストを実行すると、APIはメインコンテナの子、つまりファイルやフォルダの情報をレスポンスとして返します。今回の場合、子は事前にメインコンテナにアップロードした2個のファイルです。

    [注意]
    "/folders/items"パスを使ってメインコンテナの子にアクセスします。メインコンテナに含まれるすべてのフォルダとファイルはおのおののIDを使ってアクセスします。

    続いて、ファイルの一つの情報を取得しましょう。このために、ファイルのIDが必要です。このファイルのIDは先ほどメインコンテナの子の問い合わせの際に入手しました。この操作で利用するエンドポイントURLは以下のようになります。
    https://https://foo-bar.documents.us.oraclecloud.com/documents/api/files/<file id>
    上記URLに対するGETリクエストを実行すると、APIはファイルに関する情報(作成日、ファイル名、IDなど)を返します。ファイルの中身を取得したい場合には、URLに"/data"を付加します。URLは以下のようになります。
    https://foo-bar.documents.us.oraclecloud.com/documents/api/files/<file id>/data
    [注意]
    ファイルの内容を問い合わせる際、APIの応答はJSON形式ではなく、ファイルの中身のみを含むプレーンテキスト形式です。

    上記のURLに対しGETリクエストを発行すると、APIはファイルの内容を返します。以下はその例です。
    "Hello Docs. This is file1's content"
    開発、テストフェーズにて、このWebアプリケーションを使ってAPIが返す情報を常にダブルチェックすることができます。

    ここまでで、APIを使って情報を取得しましたが、続いての例ではファイルを削除します。

    アイテムの削除はアイテムの情報を入手するのと同じぐらいシンプルで、単にAPIへのリクエストメソッドをDELETEに変更すればよいのです。URLはアイテムの情報を入手した際に使ったものと同じです(先ほど追加した"/data"のことは忘れています)。RESTクライアントを使って、この形式でDELETEリクエストを送信することができます。
    client.delete(requestPath, function(data, response){
    // do something with the response
    });
    これらの修正をスクリプトに対して実施し、リクエストをAPIに送信すると、操作結果を含むレスポンスが返ってきます。以下はその例です。
    { "errorCode" : "0"… }
    これはファイルの削除が成功したことを示しています。

    最後の例として、既存のリソースの名前を変更します。今回は、メインコンテナに残る別のファイルを対象にします。

    ファイル名を変更するには、PUTリクエストをファイルのパスに対し発行しますが、ファイルの新規名称を含む追加のパラメータを指定する必要があります。URLのパターンはファイル情報を入手したときと同じです。以下はコード例です。
    var args = {  parameters:{"name" : "changed-name.txt"} };
    client.put(requestPath, args, function(data, response){
    // do something with the response
    });
    PUTリクエストをこのファイルのURLパスに送信すると、APIはファイルの情報を返します。その情報には新しいファイル名が含まれています。

    先ほど実施したように、Webアプリケーションを使ってファイル名が正しく変更されていることを確認できます。

    REST APIの機能に関する詳細情報は、REST APIリファレンスをご覧ください。
    Developing for Oracle Documents Cloud Service
    Oracle Documents Cloud Service REST API Reference
    http://docs.oracle.com/cloud/latest/documentcs_welcome/WCCCD/GUID-205EBBB4-F8D5-4FD0-B82F-210960F5C6F7.htm#WCCCD3724

    [Mobile] Oracle MAF 2.2 New Features

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

    Oracle Mobile Application Framework (MAF) の新リリースであるV2.2について、このリリースで追加された新機能をいくつかご紹介します。

    1. UI Components

    このリリースでは、いくつかの新しいコンポーネントや、最新のモバイルパターンをサポートする機能強化が導入されています。

    Swipe To Reveal

    ユーザーがリストの行をスワイプすると、Contextual Actionをコンテキスト・アクションを表示することができます。この機能は<amx:accessoryLayout/>をコンポーネントを使ってAMXページに追加できます。

    [実行例]
    Swipe To Reveal Sample


    Pull To Refresh :

    スワイプダウンして、ページのコンテンツを更新することができます。この機能は<amx:refreshContainer/>コンポーネントを使って追加することができます。

    [実行例]
    Pull to refresh

    New Layout Components 

    開発者が簡単にフレキシブルなダッシュボードやグリッドレイアウトを構築することができます。

    MasonaryLayout 
    通常、グリッド形式に配置したタイルを含むダッシュボードスタイルのページを作成する際に利用します。各タイルのサイズをCSSで調整でき、以下の主要機能を提供しています。
    1. 利用可能な幅を基にしてレイアウトを調整
    2. レイアウトでのタイルのドラッグ&ドロップが可能
    [実行例]
    Pull to refresh

    FlexLayout
    このレイアウト・コンポーネントを使うと、子レイアウトをグループで表示します。水平方向(holizontal)と垂直方向(vertical)をサポートし、デバイスの方向に従い自動的に変化します。デフォルトでは、レイアウトは子レイアウト各のスペースを均等に作成し、これらの子レイアウトを境界内で伸張します。

    [実行例]



    Data Visualization Enhancements :

    • Stock Charts(株価チャート):株価チャートは、時系列で株価データを表示するのに便利です。株価チャートのユニークな特徴として、始値、終値、高値、安値の株価データを表すローソク足チャートとして系列データを表示と系列データをレンダリングできることがあげられます。
    • Chart Drill Events(チャートドリルイベント):ユーザーが系列データ、グループ、データ項目をタップした際にグラフのデータにドリルインするためのイベントを発生させることができます。
    • タイムラインコンポーネントの概要および垂直方向のサポート

    Alta Mobile V1.4 :  

    Android LのGoogle Materialデザインをサポートする新しいスキン

    2. Data binding Enhancements

    Support For Nested DataControl Context:

    • 開発者がタスクフローを使って再帰ナビゲーションフローを構築できます。
    • タスクフローレベルで状態を分離します
    • スタックで維持されてされているタスクフローやデータコントロールインスタンスの個数を管理します
    • [例]Opportunity List -> Opportunity Detail -> Account Detail (Opportunityと関連づけられているaccountから) -> Related Opportunity List -> Opportunity Detail (以前のものとは異なるOpportunity)

    3. Navigation Enhancements

    •  Full support for Androidの[戻る(back)]ボタンのフルサポート
      • <amx:systemActionBehavior>タグやJavaScript APIを使ったデフォルトの挙動のオーバーライドをサポート
      • "__back"ナビゲーションルールをデフォルトで利用
    • タスクフロー境界にpageFlowScope変数を制限するためのサポート

    4. Performance Improvements

    • 以前のリリースに比べ、全体として30%の性能向上
    • 以下のポイントで特に性能が向上
      • JSONのパース:JSON-Pベースの新しいパーサーを使用
      • 新たに最適化されたJVM:Javaの処理で30~40%の性能向上
      • ページ表示時間が短縮され、UIの性能が向上

    Summary  

    Oracle MAF 2.2には多くのすばらしい機能が含まれていますので、皆様にアップグレードいただいて是非試していただきたいと思っています。上記の機能のいくつかはこのリリースで同梱されているサンプルアプリケーションでも使われています。サンプルコードを是非ご確認ください。コンポーネントギャラリー、レイアウトデモ、WorkBetterサンプルアプリで、上記の機能のほとんどを利用しています。

    [Database, Support] Extended Support Fee for Oracle 11.2.0.4 waived until May 31, 2017

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

    2015年10月16日(金)にOracleはOracle Database 11.2.0.4に対するExtended Supportの開始が2017年5月31日まで延期されると発表しました。この情報は以下のリンクのの6ページ、 Exceptions - For customers with a current support contract running に記載されています。
    Oracle Software Technical Support Policies
    http://www.oracle.com/us/support/library/057419.pdf
    (抜粋)
    (訳注)
    11.2.0.4に対するPremier Supportは2015年1月31日までで、現在は、11.2.0.4の初年度のExtended Supportを追加コスト無しでご利用いただける期間です。この無料期間が2017年5月31日まで延長される、ということです。誤解を招く表現がありましたことをお詫びします。

    いくつか補足しておきます。
    • Oracle Database 11.2.0.3以前に対するバグ修正のサポートはありません。
    • Oracle Database 11.2.0.4からOracle 12.1.0.2へのアップグレードの労力と比較する場合、テストなど全く同じ量の作業を実施する必要があり、差はありません。
    • 通常のサポートドキュメント(例:742060.1 / Release Schedule of Current Database Releases)をチェックした限りでは、まだ更新されておらず、この変更は反映されていません。おそらく来週初めに更新されることでしょう。
    • Release Schedule of Current Database Releases (ドキュメントID 742060.1) https://support.oracle.com/rs?type=doc&id=742060.1

    [Applications] Oracle E-Business Suite 12.2.5 Now Available

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

    Oracle E-Business Suite Release 12.2.5の一般提供を発表できうれしく思っています。

    このEBS 12.2コードライン用リリースアップデートパック(RUP / Release Update Pack)のダウンロード、および適用の手順は以下のサポートドキュメントに記載されています。
    What Does Release 12.2.5 Include?
    統合スイート全体のパッチセットとして、このRUPには、新機能、法令や規制に対応するためのアップデート、安定性、パフォーマンス、およびセキュリティのための機能拡張が含まれています。
    リリース12.2.5は累積的なパッチのため、新機能だけでなく、以前の12.2リリースに対する個別パッチとして当初利用可能だったアップデートも含まれています。
    新機能の全リストは以下のサポートドキュメントをご覧下さい。
    Common Questions About Upgrading
    • Release 11iからRelease 12.2.5へ直接アップグレードできますか?
    いいえ。Release 11iをお使いのお客様はまずRelease 12.2.へアップグレードしてから、12.2.5を適用する必要があります。
    Oracle E-Business Suite 12.2 Now Available
    https://blogs.oracle.com/stevenChan/entry/ebs_12_2_now_available
    [Applications] Oracle E-Business Suite 12.2 Now Available
    http://orablogs-jp.blogspot.jp/2013/09/oracle-e-business-suite-122-now.html
    • EBS 12.0から直接12.2.4へアップグレードできますか?
    いいえ。Release 12.0をお使いのお客様はまずRelease 12.2へアップグレードしてから、12.2.5を適用する必要があります。
    Oracle E-Business Suite 12.2 Now Available
    https://blogs.oracle.com/stevenChan/entry/ebs_12_2_now_available
    [Applications] Oracle E-Business Suite 12.2 Now Available
    http://orablogs-jp.blogspot.jp/2013/09/oracle-e-business-suite-122-now.html
    • EBS 12.2から12.2.5へ直接アップグレードできますか?
    はい。Release 12.2をお使いのお客様は、皆様の環境に対し直接EBS 12.2.5を適用することができます。EBS 12.2.5はオンラインパッチなので、EBS 12.2実行中に適用することができます。
    • EBS 12.2の準備はどこから始めるとよいのでしょう?
    まずは以下のサポートドキュメントをご覧になって準備してください。
    Oracle E-Business Suite Release 12.2: Technical Planning, Getting Started, and Go-Live Checklist (Doc ID 1585857.1)
    https://support.oracle.com/rs?type=doc&id=1585857.1

    Additional References

    Related Articles

    [Java] Servlet 4 Early Draft Now Available

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

    Java EE 8に取り込まれる予定の重要なServlet 4仕様の作業が進み、最初の早期ドラフトレビュー(EDR / Early Draft Review)がリリースされました。JCPサイトからダウンロードしてご覧頂けます。
    JSR 369: JavaTM Servlet 4.0 Specification
    https://www.jcp.org/en/jsr/detail?id=369
    サーバーサイドJavaへのHTTP/2のサポートを提供することがServlet 4の主要な目的です。Specification LeadのEd BurnsがHTTP/2とServlet 4を説明したスライドをUpしています(もし埋め込みのスライドがご覧頂けない場合は、こちらをクリックしてください)。
    関わったたり、いつものようにフィードバックを送信したり、様々な方法がありますが、今がそのタイミングです。JCPの仕様ページからExpert Groupに参加して頂いても結構ですし、単にServlet 4仕様のユーザーメーリングリストを購読して議論にいつでも参加できます。
    Servlet Specification Mailing Lists
    https://java.net/projects/servlet-spec/lists
    JUGを通じてグループとして参加したいという場合には、Adopt-a-JSRプログラムを通じて簡単に参加できます。
    Adopt-a-JSR for Java EE
    https://glassfish.java.net/adoptajsr/

    [Java] A Great Example of the Power of Flight Recorder

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

    以下はOracle  JVM Sustaining EngineeringチームのマネージャであるMattis Castegrenの寄稿です。

    先頃JFR (Java Flight Recorder) のレコーディング機能を使いバグを解決した格好の例がありましたのでご紹介します。

    The Problem

    この問題は別のチームからもたらされたもので、彼らのアプリケーションが完全に5~6秒ほど、およそ5分おきに完全に固まってしまう、という現象でした。

    GC?

    アプリケーションを実行してJFRでレコーディングしました。そう、まず最初にチェックするのはGCです。

    Parallel GCを使っており、30分のレコーディングで2回、4秒間のstop-the-worldが発生していました。しかし、このアプリケーションはその回数以上に固まっていました。この問題はGCによる停止が見られるクラスタの別のマシンなのか、このマシンが別のマシンを待っているのか、と考えましたが、G1GCですべてのマシンを実行した後、GCによる停止は減ったものの、まだ長時間の停止が見られました。

    WLS Events

    で、ほかに何を言うことができるでしょうか。このチームはWLDF(WebLogic診断フレームワーク / WebLogic Diagnostic Framework)を使っていました。このフレームワークはサーブレットのリクエストやデータベースのクエリのようなWLSアクションのイベントを生成し、非常に強力です。イベントグラフを見ると、サーブレット・リクエストのみを有効にし、ちょっと目を細めてみましょう。長いリクエストのバンドのような休止を確認することができます。



    より明確にするため、[ログ]タブに移動し、サーブレット呼び出しイベントを時間で並べ替え、4秒を上回るものを選択し、右クリックしてドロップダウン・メニューから[操作セット]>[選択項目の設定]を選択しました。[グラフ]タブに戻り、[操作セットのみを表示]を選択すると、かなり明確なイメージが得られます。



    どうも定期的に固まってしまうようで、しかもこれはGCが原因ではないように見えます(少なくともすべての一時停止がGCによって引き起こされたものではない)。

    Is the JVM frozen?

    次の疑問は、JVM全体が固まってしまうのか、それともワーカースレッドだけが固まるのでしょうか。ロックの問題か何かでしょうか。この疑問を解くため、すべてのイベントを有効にして「操作セットのみを表示」のチェックを外し、休止の一つにズームインしました。グラフビューに慣れていない場合、いささか雑然としているように見えるかもしれません(注意:上のタイムスライダーにズームインします)


    基本的に、各スレッドには異なるイベントプロデューサを表す複数の線があります。スレッドの一つにズームインします。



    上部の黄褐色のイベントは、長時間のサーブレット呼び出しです。その下の赤いイベントは長時間のデータベースへのリクエスト、長時間の青のイベントはI/Oイベントです。マウスカーソルをそれらの上におくと、各イベントの情報を得ることができます。
    ここでは、このスレッドが長時間のデータベースリクエストによって発生している長いI/Oを待っているように見えますが、その他のスレッドのほとんどはこのパターンには合致しませんでした。長時間のI/Oが一つのスレッドを一時停止させ、そのスレッドがあるリソースを保持していたことが問題だったのでしょうか。同期イベントを発見しなかったのですが、もしかするとその他の何かがあったのでしょうか。もしそうだとすれば、この時間範囲内で、そのリソースが必要なくなったスレッドから別のイベントが発見できたはずです。さらにスクロールダウンしてみたところ、あるスレッドから答えを見つけました。
    ちょっとズームインしてみましょう。以下のように見えるいくつかのスレッドが確認できました。



    黄色のイベントは待機イベントです。これらにはすべて1秒のタイムアウトがありますが、6秒間の待機イベントが2個突然現れました。タイムアウトは変更なく1秒であったにもかかわらず、です。これはJVM全体が固まっていることを強く示すものです。

    Why is it frozen?

    では、なぜJVMが固まったのでしょう。ここで、再度一時停止したスレッドにズームインし、[ログ]タブに移動しました。一時停止する直前に生成されたイベントを知りたかったので、開始時刻ですべてのイベントを並べ替え、すべてのイベントのリストをスクロールし、一時停止直前のイベントを見てみました。


    8時46分08秒に、4.8秒要した「VM Operation」イベントがあります。その後、8時46分13秒(約4.8秒後)まで他のイベントは作成されません。イベントを見ると、「oracle.webcenter.DefaultTimer」スレッドから呼び出されたThreadDumpイベント、であることがわかります。スレッドダンプは”stop the world”を引き起こすので、これは理にかなっています。

    Putting the pieces together

    操作セットをよい感じにしてみましょう。ズームアウトし、スレッドダンプが発生した4秒間のすべてのVMの操作イベントを選択しました(2回のGCに起因するParallelGCFailedAllocation操作に伴う2個のイベントもありました)。私は操作セットにこれらのイベントを追加しました。
    また、[イベント]タブに移動してoracle.webcenter.DefaultTimerスレッドを選択し、そのスレッドでのすべてのイベントを操作セットに追加しました。



    [グラフ]タブに戻り、すべてのイベントタイプを有効化し、[操作セットのみを表示]を選択すると、以下のいい感じのイメージができあがりました。



    DefaultTimerスレッドは定期的に4分45秒待機します。待機を終了すると、VMThreadのスレッドダンプを収集する2個のVMOperationを呼び出します。これらのオペレーションはこのアプリケーションで見られた休止タイミングと完全に相互に関連があります(GCによって発生したVMOperationsを除きます)。

    The problem?

    それでは、何が問題だったのでしょうか。スレッドダンプを引き起こしたDefaultTimerスレッドでスタックトレースを発見したアプリケーションチームへ調査を戻したところ、ソースコードは以下のようになっていました。
    ThreadInfo[] threadInfos = threadMXBean.getThreadInfo(threadIds, true, true);
    このメソッドのJavadocを見ると、以下のような記載がありました。
    Interface ThreadMXBean(Java SE 7)
    http://docs.oracle.com/javase/7/docs/api/java/lang/management/ThreadMXBean.html#getThreadInfo%28long[],%20boolean,%20boolean%29
    "This method obtains a snapshot of the thread information for each thread including:
    • the entire stack trace,
    • the object monitors currently locked by the thread if lockedMonitors is true, and
    • the ownable synchronizers currently locked by the thread if lockedSynchronizers is true.

    This method is designed for troubleshooting use, but not for synchronisation control. It might be an expensive operation."
    インタフェース ThreadMXBean (Java SE 7)
    http://docs.oracle.com/javase/jp/7/api/java/lang/management/ThreadMXBean.html#getThreadInfo%28long[],%20boolean,%20boolean%29
    "このメソッドは、スレッドごとにスレッド情報のスナップショットを取得します。たとえば次のとおりです。
    • スタックトレース全体、
    • lockedMonitorstrueの場合はスレッドによって現在ロックされているオブジェクトモニター、および
    • lockedSynchronizerstrueの場合はスレッドによって現在ロックされている所有可能なシンクロナイザ。

    このメソッドはトラブルシューティングのために設計されていますが、同期制御のためのものではありません。このメソッドの操作は負荷が大きくなる可能性があります。"
    これでわかりました。このメソッドを"true, true"で呼び出すことで、モニターを含めてスレッドダンプが生成され、その結果(Javadocが警告しているように)システムが数秒間固まったのです。監視情報を収集していなければ、この問題はわからなかったでしょう(わずかに長いParallel GCの休止を除けば、うまく動いているように見えたのですから)。

    Summary

    まとめると、このデバッグはJFRイベントによって可能になったもので、使えなかったとしたら、スレッドダンプによって発生した長時間の停止をとらえたログを見つけ出すまで何度も繰り返し実行しなければならなかったでしょう。そしてどのスレッドがスレッドダンプ生成のトリガーになっているのかを探し出すために、さらに繰り返しの作業が必要になったことでしょう。今や、必要なのは、1回の実行で取得できるデータ、つまり最初に失敗した際に取得したデータだけでよいのです。JFRのパワーを見せつける格好の例です。
    Viewing all 760 articles
    Browse latest View live


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