Tampilkan postingan dengan label Coherence. Tampilkan semua postingan
Tampilkan postingan dengan label Coherence. Tampilkan semua postingan

[Coherence, Java] New: VisualVM Plugin for Coherence - released through the Coherence Incubator

Posted by Unknown Kamis, 05 Desember 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/coherence_jvisualvm_plugin_released_in

新しいCoherence Incubator 12.1.0のリリースにあわせ、開発者向けのCoherence VisualVM plug-inがご利用いただけるようになったことを発表でき、わくわくしています。

このコミュニティプラグインを使ってJMXを有効にしたCoherenceクラスタに接続すると、開発者は集約したCoherenceに関連する統計情報を確認することができます。情報を様々なCoherenceのMBeansから収集・集約し、表形式やグラフ形式で表示します。様々なサービスやキャッシュを選択し、それぞれについてより詳細のノードレベルの情報を表示させることも可能です。

インストールし、MBeanサーバーが動いているCoherenceプロセスに接続すると、Coherenceというタブが追加されていることがわかります。このタブを選択すると、'Cluster Summary'タブが表示されます。

Features

Coherenceタブ内に表示されるタブ数は利用する機能によって変化しますが、以下のものを含んでいます。
  • Cluster Overview - Coherenceクラスタのハイレベルの情報(クラスタ名、バージョン、メンバーの個数、クラスタのStatusHAなど)を表示。全クラスタの利用可能なメモリサイズおよび使用メモリサイズ、パケットの発行・受信の成功率、Coherenceを実行しているマシンの平均負荷をグラフでサマリ表示。
  • Machines - Coherenceクラスタを構成する物理マシンのリストならびに、平均負荷やこれらのマシンで利用可能なメモリに関する情報を表示する。
  • Members - 個々のメンバーのパケット送受信の成功率、メモリおよび送信キューサイズといった、Coherenceメンバー/ノードの完全なリスト。
  • Services - パーティション数とstatusHA値を含む実行中のサービスに関する情報。サービスを選択すると、次回のデータ更新時にサービスの各ノードのスレッド詳細情報ならびにその情報をグラフ化して表示する。
  • Caches - キャッシュサイズ、メモリ使用量といった、任意のキャッシュに関する情報を表示する。メモリ使用量の正しい情報を表示するためには、バイナリ単位変換機能を利用する必要がある。キャッシュを選択した場合、次のデータ更新のタイミングで、サービスやキャッシュをホストしている各ノードの詳細情報を確認出来る。
  • Proxy Servers - クラスタがプロキシサーバーを実行している場合、このタブには、プロキシサーバーおよび各プロキシサーバとの合計接続数に関する情報を表示する。また、NameServiceを含める・除外して表示することもできる。
  • Coherence*Web - クラスタをCoherence*Web用に構成している場合、このタブはデプロイされたアプリケーションの個数、保存されたHTTPセッション数といった情報ならびに、その他のセッション取得に関する情報を表示する。
Membersのタブの例を以下に示します。さまざまな画面に含まれている視覚的な手がかりを使って、潜在的な問題に対する注意を喚起していることがわかります。

Servicesのタブ(下図)では、個々のサービスを選択し、スレッドの利用率のように詳細なメトリックを監視する方法を示しています。


Getting the Plug-in

最新のCoherence Incubator (12.1.0) のためのソースをホストしているGitHubからプラグインを入手することができます。
GitHub for Coherence Incubator 12
http://coherence-community.github.io/coherence-incubator/12.1.0/
The Coherence Incubator  12.1.0
https://java.net/projects/cohinc/
このCoherence IncubatorはCommon Development and Distribution License (CDDL) ライセンスを使っています。
Common Development and Distribution License (CDDL-1.0)
http://opensource.org/licenses/cddl1.php
プラグインのビルド方法やインストール方法が記載されているドキュメントは以下にあります。
The JVisualVM Plug-In
http://coherence-community.github.io/coherence-incubator/12.1.0/jvisualvm/index.html
事前ビルド済みのNetBeans Module (NBM) はsearch.maven.orgから入手できますし、Incubatorのソースからビルドすることも可能です。
Maven Central Repository
http://search.maven.org/#search%7Cga%7C1%7Ccoherence-jvisualvm
VisualVMツールはJDK 1.7をダウンロードするとご利用いただけます。もしくは以下のリンクからダウンロードいただけます。
Visual VM
http://visualvm.java.net
CoherenceプラグインはJDK 7 Update 40以上で動作するように設計されています。

クラスタが以前のバージョンのJavaで動作している場合、これまで通り、最新のJVisualVMを使ってリモートから接続し、統計情報を見ることができます。

(注意)
これは単一クラスタの情報を一度に確認するための開発者向けツールです。他の監視ツール(Oracle Enterprise Managerや他社製品など)はエンタープライズレベルの監視・管理、アラート発信に適したものです。

Baca Selengkapnya ....

[Big Data, Coherence] Hadoop MapReduce and Coherence - A Perfect Match

Posted by Unknown Senin, 18 November 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/hadoop_mapreduce_with_coherence

Hadoop MapReduce (M/R)は、HDFSクラスタ上で大規模データセットを並列・分散アルゴリズムを使って処理するための最も人気のあるプログラミングモデルです。
Hadoop MapReduce(リンクはチュートリアル)
http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html
Coherenceは業界をリードするインメモリデータグリッドです。Hadoopはバッチで処理できる、(テラバイト以上のデータを扱うような)大規模な処理操作に対して強みを発揮するのに対し、Coherenceは、よりリアルタイムの処理が必要で、かつデータ量が小さい場合には、データ保持においてHDFSよりも強みを発揮します。

そんなわけで、Hadoop M/Rについて詳しくなろうと思ったのですが、両者を組み合わせるのはそれほど難しくないはず、と認識しました。以下で提示するソリューションは、標準的なHadoop M/R APIを使って、あたかもHDFSクラスタ上に保存されているかのようにCoherenceデータグリッドに格納されているデータを処理する、というものです。HadoopのWordCountサンプルだと以下のようになります。
import com.oracle.coherence.mapreduce.JobClient;
...

JobConf conf = new JobConf(WordCount.class);
conf.setJobName("coherence-wordcount");
conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(IntWritable.class);

conf.setMapperClass(Map.class);
conf.setCombinerClass(Reduce.class);
conf.setReducerClass(Reduce.class);

conf.setInputFormat(CoherenceInputFormat.class);
conf.setOutputFormat(CoherenceOutputFormat.class);
CoherenceInputFormat.setInputPaths(conf,new Path("coherence://wordcount-Input");
CoherenceOutputFormat.setOutputPath(conf,new Path("coherence://wordcount-Result"));
RunningJob job = JobClient.runJob(conf);
元のHadoopサンプルから変更したのは、CoherenceInputFormatとCoherenceInputFormatクラスを使い、入出力パスをHDFSではなくCoherenceキャッシュにした、という点だけです。その他は全て、ユーザー定義のMapクラス、Reduceクラスを含めて、Hadoop M/R APIと同じです。このM/Rジョブを実行するために、Hadoopクラスタを構築・実行する必要はありません。必要なものはCoherenceクラスタです。

Under the Hood

まず、Entry ProcessorsとAggregatorsはmapperとreducerを実装する上で自然な選択のように見えますが、両者には結果を導くために一つのメンバー/スレッドを必要としますので、mapper/aggregatorの結果セットが一つのメンバーヒープにフィットできる場合に限って、このソリューションを適用することができます(詳しくは、Christiona FeldeのCoherenceとM/Rに関するすばらしいエントリをご覧下さい)。
Oracle® Coherence Developer's Guide Release 3.7.1
Performing Transactions
Using Entry Processors for Data Concurrency
http://docs.oracle.com/cd/E24290_01/coh.371/e22837/api_transactionslocks.htm#BEIJCGDF
Processing Data In a CacheData Grid Aggrigation
http://docs.oracle.com/cd/E24290_01/coh.371/e22837/api_processcache.htm#CHDFFFEI

Oracle® Coherence開発者ガイド リリース3.7.1
トランザクションの実行
データの同時実行性のための入力プロセッサの使用方法
http://docs.oracle.com/cd/E26853_01/coh.371/b65026/api_transactionslocks.htm#BEIJCGDF
データ・グリッドの集計
http://docs.oracle.com/cd/E26853_01/coh.371/b65026/api_processcache.htm#CHDFFFEI

Oracle Coherence and MapReduce (Blog of Christion Felde)
http://blog.cfelde.com/2012/12/oracle-coherence-and-mapreduce/
この制限を回避するため、このソリューションでは分散起動サービス(Distributed Invocation Services)をメンバーアフィニティと共に利用し、MapperとReducer機能を実装します。
Oracle® Coherence Developer's Guide Release 3.7.1
Processing Data In a Cache
Node-Based Execution
http://docs.oracle.com/cd/E24290_01/coh.371/e22837/api_processcache.htm#CHDGJJEI

Oracle® Coherence開発者ガイド リリース3.7.1
キャッシュ内のデータの処理
ノードベースの実行
http://docs.oracle.com/cd/E26853_01/coh.371/b65026/api_processcache.htm#CHDGJJEI
これにより、2個の起動サービスとCoherenceキャッシュ上のいくつかのHadoopインターフェースの実装だけが問題になりました。
Fig-1
Fig-1

JobClient

Hadoopでは、JobClientはユーザーのジョブがクラスタと対話するための主要なインターフェースです。JobClientはジョブの発行、進捗の追跡といった機能を提供します。通常ユーザーはアプリケーションを作成し、ジョブの様々な側面をJobConfを使って設定し、JobClientを使ってジョブを発行し、その進捗を監視します。
JobConf (Apache Hadoop Main 2.2.0 API)
https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/JobConf.html
このソリューションはJobClient Hadoopクラスの独自実装を提供します。Mapフェーズの入力データは既にCoherence InputCacheに格納されていることを想定しています。JobClientはその作業をMapperサービスとReducerサービスの実行を調整するRunningJobクラスに委譲します。Mapper、Reducerとも、JobInfo Coherenceキャッシュを通じて進捗やステータス情報を通信します。

MapperService

MapperServiceはCoherence非同期実行サービス(Coherence Async InvocationService)として実装されています。これはCoherenceクラスタの全てのストレージが有効なメンバー上で動作します。データ処理の現場で実装するためには、MapperServiceを実行する各メンバーは、CoherenceRecordReaderを使って、そのメンバーに格納されているInputCacheエントリのみを処理します。MemberPartitionsListenerを使って、クラスタメンバー毎のParitionSetの経過を追跡し、PartitionFilterを使って関連するローカルエントリのみを取り出します。
<distributed-scheme>
<scheme-name>dist-default</scheme-name>
<partition-listener>
<class-name>com.oracle.coherence.mapreduce.listeners.MemberPartitionsListener</class-name>
</partition-listener>
Fig-2
MapperServiceは、マルチスレッド化されており、各スレッドがMapperTaskを実行し、そのメンバーに格納されているエントリのサブセットを処理します。MapperTaskはユーザー定義された、各InputCacheエントリに対応するMapクラスを実行し、HadoopのOutputCollectorのCoherenceベースの実装に渡します。OutputCollectorはメモリ内のMapperクラスが送出したエントリをバッファリングし、事前に定義されたサイズに達すると、MapperOutputCacheにバッファフラッシュします。

このMapperOutputCacheは、同じ送出されたキーを持つ全てのエントリが同じパーティションに格納されるようにPartition Affiinyを使って構成します。Partition Affiinyを持つことで、Reducerを実行する前にサイドデータをシャッフルする必要がありません。

OutputCollectorは、MapperUniqueKeysCacheに送出された各々の一意なキーに対するエントリも作成します。MapperCacheと同様に、マスタエントリやMapperCacheエントリに関連する全てのエントリが同じCoherenceパーティションに格納されるよう、MapperUniqueKeysCacheは同じ関連キーで定義されたPartition Affinityを持っています。

ユーザ定義のCombineクラスをジョブに設定すると、OutputCollectorはMapperCacheへバッファをフラッシュする前にローカルでCombineクラスを適用します。これにより、reducerが処理するエントリの個数が減ります。

ReducerService

ReducerServiceははCoherence非同期実行サービス(Coherence Async InvocationService)として実装されています。これはCoherenceクラスタの全てのストレージが有効なメンバー上で動作します。サービスの各インスタンスは、サービスインスタンスを実行するメンバーにローカルに格納された中間キャッシュエントリを削減するだけです。

ReducerServiceはMapperがMapperUniqueKeyCacheに送出した一意なキーのリストを反復処理します。各々の一意なキーについて、KeyAssiciatedFilterを使い、同じ一意のキーを持つ全てのMapperOutputCacheエントリを発見します。結果セットをHadoop OutputCollectorクラスのCoherenceベースの実装と共にユーザー定義したReduceクラスに渡します。その後、ReduceクラスはOutputCollectorを使い、(透過的に)結果をCoherenceのResultCacheに送出します。
Fig-3

Installing the demo

デモソリューションを2個用意しました。一つはWordCount、もう一つはStandardDeviationです。サンプルを実行する方法は以下の通りです。
  1. ソリューションをダウンロードしZipファイルを展開します。
  2. ソリューションには全ての依存関係のあるjarファイルがlibディレクトリに入っています(hadoop、coherenceなど)。
  3. setEnv.cmdを編集し、関連する環境変数を変更します。
  4. cache-server.cmd scriptスクリプトを実行し、1個以上のCoherenceキャッシュサーバーを立ち上げます。

WordCount Sample

WordCountは最も有名なMapReduceのサンプルです。このサンプルはまず、テキストの約100,000行をキャッシュに取り込みます。Mapperは行をトークンに分割し、キーとして単語、値として1を持つキー・バリューのペアを送出します。Reducerは同じ単語について全ての1を集約します。
サンプルを実行するには、run-wordcount.cmdを実行します。
2013-11-13 23:27:10.868/16.038 Oracle Coherence GE 3.7.1.1  <Info> (thread=Invocation:InvocationService, member=5):  CoherenceMapReduce:JobId=1660803 JobClient:ReducerObserver - Member 1  Completed :  Machine=MBENOLIE-IL Process=8148
Job Completed
**** Job Summary:
**** Job Id: 1660803
**** Job Name: wordcount
**** Mapper ****
------------Input Cache Size: 100000
------------Duration: 4036 ms
**** Reducer ****
------------Intermediate Cache Size: 162164
------------Unique Entries Size: 11108
------------Duration: 3964 ms

Standard Deviation Sample

Standard Deviationサンプルは、これも有名なサンプルの一つで、MapReduceを使い、図4の式に基づいてサンプルの標準偏差を計算します。
Fig-4
Fig-4

サンプルの各値に対して、MapperはX(値そのもの)、X2、そして数1の三個からなる値を送出します。Reducer/Combinerは送出された値を足しあわせ、N、sum(X2)、(sum(X))2の結果エントリを作成します。
サンプルを実行するには、run-stddev.cmdスクリプトを実行します。次のような出力が出てきます。
2013-11-13 23:44:55.818/6.953 Oracle Coherence GE 3.7.1.1 (thread=Invocat ion:InvocationService, member=6): CoherenceMapReduce:JobId=114742004 JobClient:R educerObserver - Member 1 Completed :  Machine=MBENOLIE-IL Process=8148
Final Calculation : entries in outputcache=3
Count = 20000.0
Sum = 1327351.1950964248
Sum of Sqrt = 8.83890996020529E7
Job Completed
Standard deviation= 3.8474319265580275
**** Job Summary:
**** Job Id: 114742004
**** Job Name: StandardDeviation
**** Mapper ****
------------Input Cache Size: 20000
------------Duration: 313 ms
**** Reducer ****
------------Intermediate Cache Size: 60
------------Unique Entries Size: 3
------------Duration: 51 ms

Tracking the M/R jobs 

非常に原始的なコンソールを提供しています。console-mapreduce.cmdスクリプトを実行してコンソールを起動します。このコンソールを使い、ジョブの進行状況を追跡し、ジョブの結果(つまり数えた単語のリスト)を表示することができます。

Summary

既存のM/Rアセットを維持しつつ、開発者に最も適切なデータストアの選択の自由を提供して、既存の強力なCoherenceの機能を活用して、ソリューションはCoherenceインメモリ・データ・グリッドのリアルタイム/Fast Dataの性質と、人気のあるHadoop MapReduce APIを結びつけています。

Baca Selengkapnya ....

[Coherence, Exa*] Coherence on Exalogic: 6x Speeds on Half the Hardware is Possible

Posted by Unknown Sabtu, 26 Oktober 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/coherence_on_exalogic_6x_speeds

スケーラビリティとリアルタイムデータ配信の機能を強化したOracle Coherence 12cが先頃リリースされました。お披露目の一環として、CoherenceがExalogic Elastic Cloudと密結合していることをご紹介しました。CoherenceはInifinibandファブリックを活用し、Exalogicのわずか半分のハードウェアで、最大6倍ものスピードで稼働することができます。このブレークスルーはお客様のハードウェア費用を節約しつつ、データグリッドの性能向上のお手伝いをします。

このテクノロジーの関係をより詳しく説明している無料のリソースがあります。
New Coherence 12c White Paper: The Advantages of Coherence on Exalogic
http://www.oracle.com/webapps/dialogue/ns/dlgwelcome.jsp?p_ext=Y&p_dlg_id=14927609&src=7882476&Act=6
Coherenceの詳細情報を知りたい方は、11月5日に開催されるVirtual Developer Dayに参加し、開発者がCoherenceを日々の仕事で活用できる方法を目の当たりにして下さい。
Virtual Developer Day - Harnesing the Power of Oracle WebLogic and Oracle Coherence
https://oracle.6connex.com/portal/harnessingweblogic/login
(訳注)
Virtual Developer Dayは以下の日程で開催されます。APAC向けの時間帯ではありませんが、EMEA向け開催であれば、夜遅くなりますが日本からも参加しやすいかと思います。

  • Americas
    • 2013年11月5日(火)
      • (PDT)9時〜13時
      • (EDT)12時〜16時
      • (BRT)13時〜17時
      • (JST)2時〜6時[2013年11月6日(水)]
  • EMEA
    • 2013年12月3日(火)
      • (GMT)9時〜13時
      • (GST)13時〜17時
      • (IST)14時30分〜18時30分
      • (JST)18時〜22時

Baca Selengkapnya ....

[Coherence] One Client Two Clusters

Posted by Unknown Minggu, 15 September 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/felcey/entry/one_client_two_clusters

一つのクライアントが複数のクラスタに接続したほうがよい場合があります。それはデータが離散しているためであったり、例えばクラスタが高可用性を担保するため異なる場所に配置されていたりするためであったりします。TCP通信でプロキシサービスを介しCoherenceクラスタに接続するCoherence拡張クライアントや外部クライアントにとって、これは非常に単純です。このエントリではこの方式の実現方法を説明し、ご自身でも試して頂けるような簡単なサンプルを用意しました。この構成のアーキテクチャは以下のようになっています。

クライアントが同じ環境に共存しない場合には、Coherence*Extendの構成が望ましいでしょう。これはCoherence*Extendの性能がクラスタに影響を与えず、接続・切断時にはデータの復旧やリバランスされず、クラスタメンバーは変化しないからです。

複数のクラスタに接続するクライアントを構成、拡張するには、各クラスタ用の別のキャッシュ構成ファイルを定義するだけでよいのです。ここで各構成ファイルにはキャッシュ名からクラスタのリモートアドレスが引けるようなマッピングが記載されています。これを使うと、複数のクラスタに対し同じキャッシュ名を持たせることができます。このリモートクラスタ構成の一意の要素例を以下に示します。

各リモートクラスタのサービス名は一意である必要があります。ただし、リモートスキーム名が同じでもかまいません。リモートアドレスもまた明らかに各クラスタで異なっています。

各キャッシュ構成ファイルを別のConfigurableCacheFactoryがロードします。そのため、各クラスタにはそれぞれのConfigurableCacheFactoryがあります。このConfigurableCacheFactoryを使って当該クラスタのNamedCacheを開始します。ここで完全に他のクラスタのNamedCacheから分離します。別々のNamedCacheを異なるConfiguratbleCacheFactoryを使用して作成する方法のサンプルを以下でご紹介します。

POFを使っている場合は、クライアントおよび各クラスタには同じシリアライゼーション情報を含める必要がありますが、これは非常に簡単です。

最後に、2個の別のクラスタと接続し、やりとりするところをただ今説明しましたが、12個以上のクラスタであっても、クライアントがJava以外の.NETやC++クライアントであっても同じです。

Coherenceを利用するソリューションの構築にあたり追加の選択肢として、このエントリがお役に立つことを願っています。この方法を試したい方は、簡単な1クライアントー2クラスタのJavaのサンプルを用意しましたのでお試し下さい。

Baca Selengkapnya ....

[WLS, FMW] Oracle Cloud Application Foundation 12c – Viewers Loved the Content!

Posted by Unknown Kamis, 08 Agustus 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/cloudappfoundation/entry/oracle_cloud_application_foundation_12c

7月31日(日本時間8月1日未明)、OracleはCloud Application Foundation 12c (WebLogic Server 12.1.2とCoherence 12.1.2)のLaunch webcastを実施しました。ご覧になってない方は、オンデマンドでご覧いただけます。
Online Launch Webcast
Announcing Oracle Cloud Application Foundation for Next-Generation Applications
https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=651242&sessionid=1&key=C96B0428F5647966361342531047AB28
Cloud Application Foundationを使うと、お客様はミッションクリティカルなクラウドプラットフォームを使って、モバイルアプリケーションのような次世代のアプリケーションを提供が容易になります。このリリースでは生来のクラウド管理にさらに投資をした結果、運用がより簡単になっています。対して開発者にとっては、この新しいリリースがもたらす最新の開発プラットフォームや統合されたツールにより、生産性が向上し、市場投入までの時間を短縮できます。

それでは、Webcast視聴者のお気に入りは何だったのでしょう。実はブレイクアウトセッションでした。アンケート回答の皆様からプレゼンテーションをVery goodもしくはbetterと評し、75%の方がexcellentと評してくれました。ほんと信じられないほどすばらしい評価に感謝しています。

(左) Mike Lehmann, Vice President of Product Management, CAF
(右) Will Lyons, Director of Product Management, WebLogic Server


4コマのブレイクアウトセッションでは、12cの機能詳細を説明しつつ、4個のデモや複数のお客様の声をご紹介しました。

Release Highlights

  • クラウドの弾力性(elasticity)のためのOracle WebLogic ServerのDynamic Clusterに加え、Oracle Database 12cとの深い統合、およびOracle WebLogic ServerとOracle Coherenceの管理フレームワークを集約し、運用効率を向上
  • Oracle CoherenceはOracle GoldenGate HotCacheと統合し、リアルタイムにデータキャッシュを更新可能に。
  • 革新的なアプリケーション開発のため、プラットフォーム全体でMavenとWebSocketをサポート。
  • Oracle Enterprise Managerと開発者のためのツール(Oracle JDeveloper 12c、Oracle Enterprise Pack for Eclipse 12c、Web開発およびモバイル開発のためのOracle Application Development Framework)はこの新リリースをサポート
デモや機能詳細をご覧になりたい方は、以下のYouTube Channelをご覧下さい。
Oracle WebLogic Server YouTube channel
http://www.youtube.com/OracleWebLogic
Oracle Coherence YouTube channel
http://www.youtube.com/user/OracleCoherence
3時間のイベントでは複数のOracle Cloud Application Foundationのお客様や業界のエキスパート(Oracle ACE DirectorのSimon Haslam:17年以上Oracle製品を利用しており、イギリスOracle User Groupの Application ServerおよびMiddleware SIG(Special Interest Group)の議長を5年務めています)の声もご紹介しています。

Live Chat Highlights

ライブチャットセッションは非常にインタラクティブでした。以下に視聴者から頂いた質問と回答の一部をまとめました。
質問 回答
12.1.2でのDynamic Clusterをサポートするってことは、今のクラスタ構成を変更しなければならないってことですか? いいえ。今既に「構成済み」のクラスタ(これまでのやり方のクラスタ)は継続してサポートされますし、今後もサポートされ続けます。構成を変更する必要はありません。
Dynamic Clusterは新しく追加したクラスタ構成のオプションです。
Dynamic Clusterでサーバーを変更(サーバーをもっと追加)する場合、デプロイされているアプリケーションはどうなりますか。新しいサーバーにコピーされ、デプロイされますか? はい、実行時に実施します。Dynamic Clusterは構成済みのクラスタと同様です。新しいクラスタのメンバーサーバーを追加すると、クラスタにデプロイされているアプリケーションは利用しているデプロイメントのステージングモード(stage/nostage/external_stage)に従ってデプロイされます。 
Coherenceのリリース番号体系が変わった理由は何ですか?これは今後WebLogic Serverでしか利用できないことを意味しているのでしょうか。 いい質問ですね!
まず、Coherenceは現在もこれからもスタンドアロンでWLSがなくてもご利用いただけます。いろいろな方面からCoherenceがWLSと統合されると聞いてらっしゃると思いますが、Coherenceは継続して単独でも、他のアプリケーションサーバーと共に利用できます。
Coherence 3.xから12c(12.1.2)という、この番号体系の変更は、Cloud Application FoundationにおけるCoherenceの役割を示しています。
Coherenceは、Oracleのミドルウェアやアプリケーションの全スタックとますます統合していきます。
CoherenceとWLSは同じライセンスになるのでしょうか。 Coherence (Enterprise Edition) はWebLogic Suiteに含まれています。単独製品として販売するCoherence Enterprise Editionには、Managed Coherence Serverを管理するための WebLogic Management Frameworkを利用する権利が含まれています。
同じマシンでJDeveloper 11gと12cをインストール、実行できますか? はい、別のディレクトリにインストールする限り、同時に実行することができます。
WebLogic 12c (12.1.2)でサポートされるADFはどのバージョンですか? ADF 12.1.2はWLS 12.1.2で動作保証・サポートされます。
Oracle Fusion
Middleware 11g (classic domain) には、Forms、Reports、Discovererが含まれていますが、こうした製品をWLS12cで動作保証する予定はありますか。それとも別バージョンがあるのでしょうか. 
FormsやReportsは将来のFusion Middleware 12cでリリースされる予定です。
Mavenのサポートはバージョン縛りがありますか?もしそうだとすれば、どのバージョンをサポートするのでしょうか。 3.0.4
ビルドと依存性の管理のためにMavenをつかっていますが、ADFはMavenをサポートしていますか? はい、CAF 12cの注力エリアはMavenをすべての製品に渡って利用できるようにすることです。ADFライブラリもMavenリポジトリで管理できます。ADF archetypeをプロジェクトレイアウトでご利用いただけます。
JDeveloperでもOEPEでもMavenベースのADF開発をサポートしています。

ライブイベントを見逃した方は、オンデマンドでご覧下さい。

CAF 12cのアセットをダウンロードするには、弊社のWebサイトへどうぞ。
Cloud Application Foundation製品ページ
(日本語)http://www.oracle.com/jp/products/middleware/cloud-app-foundation/overview/index.html
(英語)http://www.oracle.com/us/products/middleware/cloud-app-foundation/overview/index.html
技術的な詳細情報やバイナリのダウンロード、ドキュメントはOracle Technology Networkからどうぞ。
Oracle Technology Network
(日本語)http://www.oracle.com/technetwork/jp/middleware/fusion-middleware/overview/index.html
(英語)http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html

Baca Selengkapnya ....

[Coherence, FMW] Planning a Successful Coherence Deployment

Posted by Unknown Rabu, 07 Agustus 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/planning_a_successful_coherence_deployment

できたてほやほやです!うまくいくCoherenceの展開計画に関する新しいホワイトペーパーをダウンロード頂けるようになりました。
Oracle Coherence 12c Planning a Successful Deployment
http://www.oracle.com/technetwork/middleware/coherence/planning-coherence-deployment-1985929.pdf
これは以前発行したホワイトペーパーを書き直したもので、考慮すべき事柄、12cの新機能の適用方法、ヒントやトリック、アプリケーション設計からキャパシティプランニングに至るまでのあらゆることに関する実用的なアドバイスを取り扱っています。Coherenceアプリケーションを管理・監視する必要のある管理者であっても、Coherence初心者の開発者やアーキテクト、はたまた既にCoherenceをお使いのユーザーであっても、このガイドが既存のCoherenceのヘルプやドキュメントと並んできっとお役に立つことでしょう。

Baca Selengkapnya ....

[Coherence] Running the Managed Coherence Servers Example in WebLogic Server 12c

Posted by Unknown Selasa, 06 Agustus 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/running_the_managed_coherence_servers

先頃リリースされたCoherence 12c (12.1.2)について新機能の一つであるManaged Coherence Serversの詳細と、WebLogic Server 12.1.2をインストールすると利用頂けるサンプルアプリケーションの実行方法を概説します。

Managed Coherence Serverとは

Managed Coherence Serverは、WebLogic ServerとCoherenceの緊密な統合を提供します。この統合により、分散アプリケーションのための開発および管理環境を簡略化し、合理化しています。この機能を使うと、エンドユーザーは新しいアーカイブタイプ(GARとしても知られるGrid Archive)を作成でき、標準的なWebLogic Serverのベストプラクティスに従って展開、管理することが可能です。開発者は、GARファイルを生成するためのビルドプロセスを合理化することができます。オペレーション部門は、テスト環境ならびに本番環境でのCoherenceとCoherenceアプリケーションの展開を標準化することができます。

これまでは、(多くの場合、DefaultCacheServerクラスを利用する)スタンドアロンキャッシュサーバーJVMの層と共に、CoherenceをJavaアプリケーション(例えば、WARやスタンドアロンJavaアプリケーション)に組み込まれたjarファイルとしてデプロイされることが一般的でした。組み込みJavaの用途(例えばWARファイルでの利用)はクライアントと呼ばれ、スタンドアロンキャッシュサーバーはサーバーと呼ばれています。「クライアント」やキャッシュサーバーののライフサイクルは、キャッシュサーバーをカスタムのシェルスクリプトで管理しつつ、多くの場合は手作業で、それぞれ別々で管理されています。このモデルでのアプリケーション開発や展開は、カスタムの管理プロセスが必要な多くの部品を含む、複雑なプロセスになることがあります。
この新しいモデルでは、Coherenceベースのアプリケーションを走らせるために必要なアーティファクト(例:POJO、サーバー側のロジック、キャッシュ構成)を、GARにパッケージ化しています。これは、Web Archives (WAR) のような他のJava EEアーティファクトの構造をかなりの程度反映しています。このGARファイルを、以下のような標準のWebLogic Serverツールを使用して同じようにデプロイ、管理することができます。
  • 管理コンソール
  • WLST 
  • WebLogic Deployer
  • WebLogic Development Maven Plugin
Coherenceクラスタの運用構成や構造は、管理コンソール内もしくはWLSTから定義し、クラスタ(新しいCoherence Clusterとは違いますので混同しないで下さい)のような、これまで使って来たWebLogic Serverの構造を利用して、データ層、アプリケーション層、プロキシ層を含む、階層化されたアプリケーションアーキテクチャを構築することができます。Coherenceの構成はそれらのWebLogic Serverクラスタを対象としており、WebLogic Serverクラスタに割り当てられた管理対象サーバーは、WebLogic Severクラスタのメンバーであることによって、動作設定を継承します。それゆえCoherenceベースのアプリケーション(EAR、GAR)をクラスタにデプロイでき、さらにクラスタのすべてのメンバーにアプリケーションが自動的にデプロイされます。

詳しく説明した動画やManaged Coherence Serverのデモは是非Oracle Coherence YouTubeチャネルをご覧下さい。
Oracle Coherence YouTube Channel
http://www.youtube.com/user/OracleCoherence

サンプルアプリケーションの実行

WebLogic Server 12cをダウンロードし完全インストールを終了すると、新機能に慣れていただくためのサンプルアプリケーションやサンプルのWLSTスクリプトがあります。以下の手順をご説明しましょう。

WebLogic ServerとサポートされているJDKをダウンロードする

まず、Oracle Technology NetworkからWebLogic Server 12cをダウンロードする必要があります。
Oracle Fusion Middleware Software Downloads
http://www.oracle.com/technetwork/middleware/downloads/index-087510.html 
「Generic WebLogic Server and Coherence Installer」もしくは各自のOS用のインストーラをダウンロードします。generic installerを選択した場合、動作保証されているJDKもダウンロードする必要があります。詳細情報は以下のリンクをご覧下さい。
Planning an Installation of Oracle Fusion Middleware
1 Preparing for Oracle Fusion Middleware Installation
1.7 Installing a JDK
http://docs.oracle.com/middleware/1212/core/ASINS/preparing.htm#ASINS355
今回の例では、最新のJava SE Development Kit 7u25をダウンロードしました。以下のリンクからダウンロードできます。
Java SE Development Kit 7 Downloads
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

WebLogic Serverのインストール

今回の例では、Windows 7上でコマンドプロンプトを管理者として実行し、JAVA_HOMEをインストールしたJDKのパスに設定して、インストーラを起動しました。
Starting the installer
ようこそ画面で[次へ]をクリックし、インストール先として適切なディレクトリを指定(このエントリではC:\Oracle\Middleware)し、[次へ]をクリックします。
次画面では[完全インストール]を選択して下さい。この選択でサンプルもインストールします。[次へ]を押して先へ進みましょう。

インストーラを進めてインストールが終了した後に[WebLogicサンプルの構成]のチェックボックスがチェックされていることを確認し、[終了]をクリックします。
[訳注]
英語では、"Automatically Launch the Quickstart Configuration Wizard"と表示されています。

クイック・スタート構成ウィザードが開始すると、パスワード(例えばwelcome1など)を選択して[作成]をクリックし、サンプルを構成します。

作成が完了したら、これらのサンプルのドメインを起動する必要はありません。

サンプルホームページの表示

サンプルのホームディレクトリ中のindex.htmlを開きます(このエントリの場合、ホームディレクトリはc:\Oracle\Middleware\user_projects\applications\wl_server\index.html)。このページはすべてのWebLogic Serverサンプルのホームページで、Managed Coherence Servers Examples のリンクを選択してサンプルを表示することができます。
数多くのサンプルで新機能を紹介しています。お使いのマシンのメモリが多くない(例えば4GBに満たない)場合、管理サーバーにだけデプロイするというSingle Serverの例を使うことも可能です。以下では、階層型アプローチを使うMulti Serverの例を実行する方法を説明します。

Multi-Serverのサンプルを実行する

コマンドプロンプトを開き、setWLSEnv.cmdもしくはsetWLSEnv.shを使い、WebLogic Serverの環境を設定します。このエントリの場合、setWLSEnv.cmdはC:\Oracle\Middleware\wlserver\server\binにあります。

次に、サンプルのホームディレクトリに移動します。これはかなり長いディレクトリ名です(このエントリの場合、C:\Oracle\Middleware\user_projects\applications\wl_server\examples\src\examples\coherence\managed-coherence-servers)。
[訳注]
原文に間違いがあるので、正しく書き直しています。

このディレクトリには多くのディレクトリがありますが、今回はマルチサーバーのサンプルを実行するので、multi-serverディレクトリに移動します。
次に、 ant deployを実行し、アプリケーションをビルド、インストールします。antが見つからない場合、正しくsetWLSEnv.cmd/shを実行したかどうかを確認して下さい。完了すると、パスワード(これはクリアテキストで表示されます)とマシンのホスト名を入力するようプロンプトが現れます。他のポート番号はデフォルトのままでもOKです。

ビルドプロセスでは新しいドメイン(multi_domain)をデータ層、アプリケーション層と共に作成し、アプリケーションをこのドメインにデプロイします。

完了すると、上記で示されたURLにアクセスし、下図と同じJSPアプリケーションを実行できます。管理コンソールにアクセスしてアプリケーションや作成した構成を表示することもできます。

まとめ

他にも、ローリング再デプロイの実行方法や、すべての管理対象サーバーのスレッドダンプをWLSTを使用して取得する方法を説明するサンプルが同じ場所にあります。
Coherence 12.1.2やManaged Coherence Serverに関する詳細は以下のリンクをご覧下さい。

Baca Selengkapnya ....

[Coherence] Coherence on Exalogic: dealing with the multiple network interfaces

Posted by Unknown Senin, 29 Juli 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/csoto/entry/coherence_on_exalogic_dealing_with

先日、EECS(Exalogic Elastic Cloud Software)のアップグレード後、以下のようなエラーメッセージがCoherenceサーバー起動時に出る、という事象に対応しました。
Oracle Coherence GE 3.7.1.8 (thread=Thread-3, member=n/a): Loaded Reporter configuration from "jar:file:/u01/app/fmw_product/wlserver_103/coherence_3.7/lib/coherence.jar!/reports/report-group.xml"
Exception in thread "Thread-3" java.lang.IllegalArgumentException: unresolvable localhost 192.168.10.66 at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:199)
...
Caused by: java.rmi.server.ExportException: Listen failed on port: 8877; nested exception is:
java.net.SocketException: Address already in use ...
weblogic.nodemanager.server.provider.WeblogicCacheServer$1.run(WeblogicCacheServer.java:26)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.UnknownHostException: 192.168.10.66 is not a local address
at com.tangosol.net.InetAddressHelper.getLocalAddress(InetAddressHelper.java:117)
at
com.tangosol.internal.net.cluster.LegacyXmlClusterDependencies.configureUnicastListener(LegacyXmlClusterDependencies.java:195)
...

Exalogicにはいくつかのネットワークインターフェース(bond/eth 0、1、2など)があることはよく知られていることです。Coherenceがどのインターフェースに接続すべきかを判断する際に利用するロジックでは、tangosol.coherence.localhostパラメータを適切に指定していることを確認することが、(以前のリリースのCoherenceよりもずっと)重要になります。その理由は、具体的には、複数のネットワークインターフェースを持つマシンや、ローカルアドレスをネットマスクとして指定し大規模なクラスタ全体にわたって容易に構成できるような機能強化をサポートするためです。そのIPアドレス(または適切にマッピングされたホストアドレス)から、利用される所望のネットワークインタフェースを簡単に見つけることができます。そうすれば、Coherenceクラスタはうまく動作するはずです。

Baca Selengkapnya ....

[Coherence] Upgrading to Coherence for C++ 12.1.2 and The "Ambiguous Compilation Error" in Types Derived From AbstractAggregator

Posted by Unknown Senin, 15 Juli 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/middlewareplace/entry/upgrading_to_oracle_coherence_for

今週末、Coherence for C++ 3.7.1 APIを使って作成したいくつかの古いC++アプリケーションを数日前にリリースされた最新の12.1.2のAPIに移行し始めました。12.1.2ではCoherenceに対して多くの素敵な変更や機能が追加されています。インストール、WebLogicとの統合、TCMP、Exabus、RESTおよびCoherence*Extendといったような様々な領域で改善がなされていることは言うまでもありません。こうした変更や改善の詳細は以下のリンクからどうぞ。
Oracle Fusion Middleware Documentation
Release Notes for Oracle Coherence
http://docs.oracle.com/middleware/1212/coherence/COHRX/index.html
数時間で旧バージョンから最新バージョンに移行した後、ビルド時に以下のようなコンパイラメッセージが出てびっくりしました。
call of overloaded 'Float64Sum(const coherence::lang::TypedHandle<coherence::util::extractor::ReflectionExtractor &)' is ambiguous
同じコンパイラメッセージを見たことがあるなら…ご心配無用です。簡単かつ明快な解決策があります。このコンパイラエラーが発生したのは、Coherence for C++ APIの12.1.2で、ファクトリメソッドcreate()のオーバーロードバージョンが、coherence::util::aggregator::AbstractAggregatorクラスから派生した型に導入されたからです。

ver 3.7.1までは、AbstractAggregatorオブジェクトのインスタンスを作成するには、coherence::util::ValueExtractorのインスタンスをファクトリメソッドに渡すしかありませんでしたが、12.1.2からはcoherence::lang::String::Viewのインスタンスを渡してインスタンスを作成することもできるようになりました。このオブジェクトには集約された属性の名称が含まれているはずです。裏で自動的に、Coherence for C++ APIがcoherence::util::ValueExtractorを作ってくれます。

今回の場合、以下の部分を
Float64Sum::Handle scoreAggregator = Float64Sum::create(ReflectionExtractor::create("getScore")); 
次のように変更しました。
Float64Sum::Handle scoreAggregator = Float64Sum::create("getScore"); 
これでプロジェクトが再度コンパイル可能になり、GNU Linux G++でもMicrosoft Visual Studioの両方のC++のコンパイラを使うことができるようになりました。

このエントリがコードデバッグの手助けになることを希望します :-)

Baca Selengkapnya ....

[Coherence, WLS] Can't Miss Event: Oracle Coherence 12c Launch Webcast

Posted by Unknown Selasa, 02 Juli 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/can_t_miss_event_oracle

今月のCloud Application FoundationのLaunchの一環として、Oracle Coherence 12cのLaunchが迫っていることに、非常にわくわくしています。
是非みなさまにCloud Application FoundationのLaunch Eventに参加いただき、Coherenceのすばらしい機能を知っていただきたいと思っています。
ミッションクリティカルなクラウドプラットフォームをアプリケーションにもたらします。
高可用性を担保するためのデプロイの選択肢を強化しています。統合された製品および管理により、オペレーションが簡素になっています。
アプリケーションをスケールしてモバイルやクラウドの需要を満たしましょう!

Oracle Cloud Application Foundation Launch
(Oracle WebLogic Server、Oracle Coherence、Oracle Enterprise Manager、Oracle Development Toolsを含みます)

[日時]
2013年7月31日(水) 10時(PDT)
2013年8月1日(木) 2時(JST)

登録はこちらからどうぞ!(もちろん無料です)
https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=651242&sessionid=1&key=C96B0428F5647966361342531047AB28
このCohereceのリリースは初めてOracle WebLogic Serverのリリースと同時にご利用いただけるものですが、偶然ではありません。このLaunchに際して、お使いの皆様にシンプルなオペレーションを享受頂くことが今回のリリースの注力ポイントの一つでした。この中にはWebLogic Serverだけでなく、クラウド管理ツール(Enterprise Manager)、開発ツール(JDeveloper、Eclipse、ADF Mobileなど)と密に統合していることも含んでいます。そのため、使い出したその日からすぐに生産性が高いはずです。

さらに、リアルタイムデータ処理、弾性スケーラビリティ、開発者にとってテクノロジー・フレンドリーで、7月10日にLaunch EventがあるOracle Database 12cとの密な統合、といったあたりの非常に重要な機能をCoherenceが提供しています。
でも言い過ぎましたね。皆様とお会いできるのを楽しみにしています!
Launch Webcast: Plug into the Cloud with Oracle Database 12c
https://event.on24.com/eventRegistration/EventLobbyServlet?target=registration.jsp&eventid=617926&sessionid=1&key=8D5918DABF87924314A8E84FA29A9178.

Baca Selengkapnya ....

[Coherence] Oracle Coherence Special Interest Group Presentations Published

Posted by Unknown Jumat, 22 Maret 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/oracle_coherence_special_interest_group1

2012年11月15日、ロンドンのCoherence Special Interest Group(CSIG)で数多くのすばらしいプレゼンテーションがあり、これらを録画することができました。そしてこのたび、YouTube Channelに動画をUpし、新しいCSIGプレイリストに追加しました。
November 15th 2012, London, UK -  Coherence Special Interest Group
http://coherence.oracle.com/display/CSIG/15+November+2012+-+London%2C+UK
Oracle Coherence YouTube Channel
http://www.youtube.com/oraclecoherence
Coherence Special Interest Group
http://www.youtube.com/playlist?list=PLxqhEJ4CA3JubAjL-KCkdKmAPiKdNsBYt
以下のコンテンツが含まれています。
  • Oracle Event Processing and Oracle Coherence (Phil Aston, Technical Director, Oracle)

  • Evolving the Evolvable in Coherence (Aleksander Seović, Solutions for Human Capital)
  • Oracle Coherence Pivot Tables (Jonathan Knight, TheGridMan)
  • Oracle Coherence MessageBus (Rob Lee, Coherence Architect, Oracle)
CSIGに参加すると、Coherenceや製品をとりまく活発なコミュニティで起こっていることを知ることができます。Coherenceのエンジニアやアーキテクトに出会ったり、他のCoherenceユーザーやお客様ととつながったりしましょう。近日開催のイベントはWikiをご覧下さい。
Coherence Special Interest Group (Coherence Wiki)
http://coherence.oracle.com/display/CSIG/Home

Baca Selengkapnya ....

[Coherence] Coherence Incubator 11 Now Available

Posted by Unknown Rabu, 06 Maret 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/coherence_incubator_11_now_available

Incubator 11が正式にリリースされました。詳しくは、Brian OliverのCoherence Incubator 11のリリースに関するエントリや、最近の変更に関するエントリをご覧下さい。
Coherence Incubator 11 Released
http://brianoliver.wordpress.com/2013/02/26/coherence-incubator-11-released/
Coherence Incubator 11 (coming to an open-source repository near you soon…)
https://brianoliver.wordpress.com/2013/02/03/coherence-incubator-11-coming-to-an-open-source-repository-near-you-soon/
[訳注]
ロジ子も以下のエントリでご紹介しましたね…。
[Coherence] Open Sourcing the Coherence Incubator
http://orablogs-jp.blogspot.jp/2013/02/open-sourcing-coherence-incubator.html
Coherence Incubatorを使い始めるにあたって、以下のリンクが参考になるかと思います。

Baca Selengkapnya ....

[Coherence] Open Sourcing the Coherence Incubator

Posted by Unknown Rabu, 06 Februari 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/incubator_goes_opensource


一年間でOracle Coherence Incubatorプロジェクト界隈で数多くの変更がありました。多くのお客様、パートナー、現場の専門家と相談し、Coherence Incubatorプロジェクトをオープンソースにすることを決定しました。リリース11現在、すべてのソースコードおよびドキュメントが正式にCDDLの下でライセンスされ、Incubatorプロジェクトにさらなるオープン性をもたらしています。
Coherence Incubator (Release 10)
http://coherence.oracle.com/display/INC10/Home
Coherence Incubator 11
http://coherence-community.github.com/coherence-incubator/11.0.0-SNAPSHOT/
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)
https://oss.oracle.com/licenses/CDDL
この変更をサポートするために、以下のような数多くのインフラ面での変更も必要でした。
(Brian Oliverが彼のブログで言っているように)maven.java.netでご利用いただけるリリースを使ってプロジェクト全体がMavenizedされました。
Coherence Incubator 11 (coming to an open-source repository near you soon…) (Brian Oliver)
http://brianoliver.wordpress.com/2013/02/03/coherence-incubator-11-coming-to-an-open-source-repository-near-you-soon/
maven.java.net
http://maven.java.net
この動きに非常にわくわくしています。Oracle Coherenceコミュニティがさらに広がることを期待しています。

Baca Selengkapnya ....

[OSB, Coherence] OSB Result Cache Invalidation from C++ Client

Posted by Unknown Rabu, 30 Januari 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/jaylee/entry/osb_result_cache_invalidation_from

[訳注]
この方法はサポートされていません。参考にされるのは結構ですが、あくまでも自己責任でお願いします。

最近お客様よりOSB結果キャッシュのデータを無効化したい、との問い合わせを受けました。データを無効かするキーを作成する方法はないので、取り得る最善の方策はフィルタを使うことです。コードスニペットを以下に記載します。
extern "C" void invalidate(char* key) {
try {
String::View vsCacheName = "/osb/service/ResultCache";
NamedCache::Handle hCache = CacheFactory::getCache(vsCacheName);
ValueExtractor::Handle hExtractor = KeyExtractor::create(ReflectionExtractor::create("getToken"));
Filter::View vEqualsFilter = EqualsFilter::create(hExtractor, String::create(key));
hCache->invokeAll(vEqualsFilter, ConditionalRemove::create(AlwaysFilter::getInstance(),true));
}
catch (const std::exception& e) {
std::cerr << "error: " << e.what() << std::endl;
}

}
ここで一つ問題があります。それは、ビジネスサービスのどの結果を無効化すべきかわからないということです。2個のビジネスサービスがたまたま同じトークンを持っている場合、これは両方のトークンを削除することになって望ましいことではありません。また、インデックスが所定の位置にないため、キャッシュサイズが巨大である場合、パフォーマンスの課題も考えられます。現在のところ、Keyのクラスを作成する方法はわかっていません。独力でやってみようとしましたが、どういうわけか、作成したものとOSBが生成したものが異なっていました。そのため、最後には自作のResultCacheロジックを作成し、この目的を達成したのです。

public class ResultCacheHelper {

private static String CACHE_NAME = "dist-test";

public static void put(String key, org.apache.xmlbeans.XmlObject value) throws IOException {
NamedCache cache = CacheFactory.getCache(CACHE_NAME);
cache.put(key, serialize(value));

CacheFactory.log("Cache Key : " + key + " is put in Cache!:" + serialize(value).toString());
}

public static org.apache.xmlbeans.XmlObject get(String key) throws IOException, ClassNotFoundException, XmlException {

XmlObject result;
NamedCache cache = CacheFactory.getCache(CACHE_NAME);

byte[] bytes = (byte[]) cache.get(key);

if(bytes == null) {
String xmlNull = "null";
result = org.apache.xmlbeans.XmlObject.Factory.parse(xmlNull);
CacheFactory.log("Cache Key : " + key + " is not found in Cache!");
}
else {
result = (org.apache.xmlbeans.XmlObject)deserialize(bytes, Thread.currentThread().getContextClassLoader());
CacheFactory.log("Cache Key : " + key + " is found in Cache!:"+result.toString());
}

return result;
}


protected static Object deserialize(byte[] bytes, final ClassLoader cl) throws IOException, ClassNotFoundException {

ObjectInputStream ois = null;

try {

ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
ois = new ObjectInputStream(bais) {

protected Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
return Class.forName(desc.getName(), false, cl);
}

};

return ois.readObject();
}
finally {
if (ois != null) ois.close();
}
}


protected static byte[] serialize(Object object) throws IOException {

ObjectOutputStream oos = null;

try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);
oos.writeObject(object);
return baos.toByteArray();
}
finally {
if (oos != null) oos.close();
}
}
}


これで、キャッシュを無効化することができます。
String::View deleteKey = key;
String::View vsCacheName = "dist-test";
NamedCache::Handle hCache = CacheFactory::getCache(vsCacheName);
hCache->remove(deleteKey);
近い将来OSBのキャッシュ無効化機能が追加されると信じています。

Baca Selengkapnya ....

[Coherence] Focus On The Community: Best practice when using Coherence Cache Listeners

Posted by Unknown Sabtu, 19 Januari 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/best_practice_when_using_coherence

Coherenceキャッシュリスナーはアプリケーションがリアルタイムにイベントに反応できるようするための有用かつよく知られている機能です。使いやすい機能ではあるのですが、それゆえに誤解されていたり、間違って使われる可能性もあります。Here Alexey Ragozinがキャッシュリスナーの動作の仕組みを説明し、落とし穴にはまらないための有益なアドバイスをしてくれています。
Coherence 101, Beware of cache listeners (Alexey Ragozinのブログより)
http://blog.ragozin.info/2012/12/coherence-101-beware-of-cache-listeners.html
この機能を使おうと考えている全ての人にとって必読のエントリです。

Baca Selengkapnya ....

[Coherence] Focus On The Community: Avoiding Multiple Simultaneous Database Calls When Using the Cache Aside Pattern

Posted by Unknown Rabu, 16 Januari 2013 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/avoiding_multiple_simultaneous_database_calls

CoherenceのRead-Through機能が使えない場合があります。そのような場合、Cache Asideパターンがよく使われます。
Oracle® Coherence Developer's Guide Release 3.7.1
Read-Through Caching
http://docs.oracle.com/cd/E24290_01/coh.371/e22837/cache_rtwtwbra.htm#CFHHEEBE
Oracle® Coherence開発者ガイド リリース3.7.1
リードスルー・キャッシング
http://docs.oracle.com/cd/E26853_01/coh.371/b65026/cache_rtwtwbra.htm#CFHHEEBE
"cache aside"パターンは、キャッシュを既存のアプリケーションに導入する方法の中でおそらくもっとも簡単でしょう。この方法ではたいていの場合、最小限のコードへの変更が必要ですが、AOPを使うことでコードを変更せずに「注入」することも可能です。些細なことではありますが、いくつか落とし穴があります。例えば、Cache Asideパターンを使う場合には、ご利用の環境で同じデータに対する複数の同時キャッシュリクエストの結果、複数のデータベースリクエストが発生する、というものです。

このパターンを実際のソリューションとして実装する方法と、こうした潜在的な問題を避ける方法について説明している、Anrew Wilson(Coherence Architect@RBS)によるすばらしい記事をご紹介します。
Coherence Cache Aside Pattern
http://wiki.fullten.com.hk/display/AWKL/Coherence+Cache+Aside+Pattern

Baca Selengkapnya ....

[Coherence, WLS] Turkcell: Processing 70 million messages per day with Coherence and WebLogic

Posted by Unknown 0 komentar
原文はこちら。
https://blogs.oracle.com/OracleCoherence/entry/turkcell_processing_70_million_messages

Mike Lehmann (Senior Director of Product Management@Oracle)とNiyazi Fellahoglu (Senior Expert, Application & Web Server Administrator@Turkcell)が、Turkcellという、トルコ最大の携帯電話会社が組織全体でOracle WebLogic ServerとOracle Coherenceをどのように使っているかを議論・説明しています。

主要な部分については以下のWebLogic Serverのブログエントリをご覧ください。
Turkcell's usage of WebLogic and Coherence across its Telecom. Environment (The WebLogic Server Blog)
https://blogs.oracle.com/WebLogicServer/entry/turkcell_s_usage_of_weblogic

Baca Selengkapnya ....

[Coherence] Using Coherence API to get POF bytes

Posted by Unknown Rabu, 24 Oktober 2012 0 komentar
原文はこちら。
https://blogs.oracle.com/brunoborges/entry/coherence_pof_for_raw_byte

Coherence APIを使ってPOF(Portable Object Format)のオブジェクトのバイト列をプログラムで取り出す方法を質問している人がいたので、こんなコードを思いつきました。非常にクールなAPIの簡単な利用方法がわかると思います。
Oracle® Coherence Java API Reference Release 3.7.1.0
http://docs.oracle.com/cd/E26853_01/coh.371/e22843/index.html
Portable Object Formatの使用
http://docs.oracle.com/cd/E26853_01/coh.371/b65026/api_pof.htm (日本語)
http://docs.oracle.com/cd/E24290_01/coh.371/e22837/api_pof.htm (英語)
SimplePofContext spc = new SimplePofContext();
spc.registerUserType(0, User.class, new UserSerializer());
// consider UserSerializer as an implementation of PofSerializer

User u = new User();
u.setId(21);
u.setName("Some Name");
u.setEmail("some.name@domain.com");

ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutput dataOutput = new DataOutputStream(baos);
BufferOutput bufferOutput = new WrapperBufferOutput(dataOutput);
spc.serialize(bufferOutput, u);

byte[] byteArray = baos.toByteArray();
System.out.println(Arrays.toString(byteArray));
com.tangosol.io.pof
Interface PofSerializer
http://docs.oracle.com/cd/E26853_01/coh.371/e22843/com/tangosol/io/pof/PofSerializer.html

ね、簡単でしょ?

Baca Selengkapnya ....
Trik SEO Terbaru support Online Shop Baju Wanita - Original design by Bamz | Copyright of apk zipalign.