Oracle Coherence 概要 - KVS/分散キャッシュがもたらす可能性とは

66,015 views
68,764 views

Published on

KVS/分散キャッシュの進化の最先端を突き走るOracle Coherence。その最新版でどんな機能が実装されてきたのか? それらがどこに効いてくるのか?
次世代アーキテクチャとして、ぜひ検討いただきたい、パフォーマンス向上だけではない「インメモリ技術」の今をご紹介します。

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
66,015
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
92
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Oracle Coherence 概要 - KVS/分散キャッシュがもたらす可能性とは

  1. 1. <Insert Picture Here>Oracle Coherence 3.6概要日本オラクル株式会社Fusion Middleware 事業統括本部
  2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標の可能性があります。 Copyright Oracle Corporation Japan, 2010. All rights reserved. 2
  3. 3. Oracle Coherence 情報爆発の時代に応える企業向けインメモリ分散キーバリュー・ストア(KVS) HW横断型の分散共有メモリ領域 → スケールアウト型でHWコストを最適化 メモリ・データの信頼性向上 → ディスクIOの最小化(高速化) インメモリ・イベント処理基盤 → サブシステム間連携を最適化(高速化・効率化) アプリケーション A アプリケーション B アプリケーション A アプリケーション B アプリに特化した アプリに特化した データ処理 データ処理 Coherence 個々のメモリ内で抱えきれない 共通データ処理 リクエスト量・データ量 メモリ・データの 信頼性と一貫性 属性による検索/更新 メモリ/CPUの SQLライクなインターフェース 拡張性 インメモリ・パラレル分散処理 Copyright Oracle Corporation Japan, 2010. All rights reserved. 3
  4. 4. Oracle Coherence国内でも採用例、続々と Copyright Oracle Corporation Japan, 2010. All rights reserved.
  5. 5. アーキテクチャと主要機能 Copyright Oracle Corporation Japan, 2010. All rights reserved. 5
  6. 6. Oracle Coherence 大容量かつ高信頼性のインメモリ・データ管理• アプリケーションが利用するそのままの 形式(オブジェクト)でデータを インメモリ保持 – 処理途中の情報(セッション、ステート) Java .NET C++ – 高頻度の更新情報 P: プライマリ B: バックアップ – 参照データ Application – 取引確定データ etc… Coherence API• アプリケーションは一つのメモリ領域と やり取りしている感覚基本API: Key-Value 形式 A B C DNamedCache cache = CacheFactory.getCache(“orders”); P A P B P C P DOrder o1 = (Order)cache.get(key1); B B D B A B B Ccache.put(key2, o2); Coherenceプロセス 1 Coherenceプロセス 2 Coherenceプロセス 3 Coherenceプロセス 4• メモリ・データの一貫性維持は Coherenceが担保。アプリケーションは 影響を受けずに処理を継続可能 (ノード追加対応、障害対応) Copyright Oracle Corporation Japan, 2010. All rights reserved. 6
  7. 7. 一般的なKVS• キーバリューストア/KVS、NoSQL、分散キャッシュ… • put / get による一件ずつのアクセス アプリケーション • 値の範囲指定や絞り込みは責任範囲外 画面系 画面系 画面系 処理 処理 処理 → データ取得後にデータ処理側で個別に実施 フロー フロー フロー 処理 処理 処理 データ データ 処理 121, “新鮮りんご100g” • 数値や文字列データのみ データ 処理 122, “新鮮りんご200g” • 構造的データをサポートして 処理 123, “新鮮りんご500g” いるものは少ない • サーバー/プロセス障害には個別対応が必要 → データ消滅の可能性があるため、基本的にはキャッシュ Copyright Oracle Corporation Japan, 2010. All rights reserved. 7
  8. 8. Oracle Coherence• インメモリ・データグリッド: 高信頼性・自律的・パラレル処理 • put / get アプリケーション • 値の範囲指定や絞り込みのためのパラレル問い合わせ • 複数ノードを協調動作させたカスタム処理 画面・ フロー 画面・ フロー 画面・ フロー • SQLライクなクエリ・インタフェース 【NEW】 • 論理保持領域をまたがる分散トランザクション 【NEW】 Access API • キーにも値にもオブジェクト型を利用可能 (複雑な企業内データに対応可能) • Java、.Net、C++ でオブジェクト共有 DB アクセス処理 • サーバー/プロセス障害に自律的に対応 → アプリケーション側でのエラー制御は不要 • ノード間でメモリ・データを暗黙的にミラー化 • ノード間通信のSSL化 【NEW】 Copyright Oracle Corporation Japan, 2010. All rights reserved. 8
  9. 9. Oracle Coherence拡張可能・高信頼性・高可用性のワケ NamedCache cache = CacheFactory.getCache( <キャッシュ領域名> ); String key = “cust1”; -- キャッシュのキーコード cache.put(key, <注文データ> ); -- キャッシュ するデータをPut キャッシュ・クラスタ内の ノードにデータを配置 注文データ 自動的にクラスタ内の別ノードに データをバックアップ (デフォルト設定はバックアップ数 1 もちろん変更可能) 注文データ 共有メモリ空間 Copyright Oracle Corporation Japan, 2010. All rights reserved. 9
  10. 10. Oracle Coherence 拡張可能・高信頼性・高可用性のワケ NamedCache cache = CacheFactory.getCache( <キャッシュ領域名> ); String key = “cust1”; -- キャッシュのキーコード Object <注文データ> = cache.get(key); -- キャッシュ するデータをGet オブジェクトの実際の位置 に関係なく取り出し可能 注文データノードがダウンしても… ノードのダウンを検知 → バックアップ・データを 有効な別ノードに プライマリに昇格 バックアップを作成 注文データ 注文データ 共有メモリ空間 Copyright Oracle Corporation Japan, 2010. All rights reserved. 10
  11. 11. Oracle Coherence その他のキャッシュ構成 Java .NET C++• ニア・キャッシュ Application ニア・キャッシュ A – 一度取得したデータを Coherence API クライアント側に保持 – サーバー側でデータ値の変更が A B C D 行われるとイベント通知によって ニア・キャッシュ側を破棄 A C D B Coherenceプロセス 1 Coherenceプロセス 2 Coherenceプロセス 3 Coherenceプロセス 4• Replicated Cache Java .NET C++ –すべてのノードでデータを重複保持 – データの更新は全てのノードに伝播 Application → 作業コストが高いので更新の 頻度が高いデータには不向き A A A A – 変更が少ないマスターデータ向き B D B D B D B D C C C C Coherenceプロセス 1 Coherenceプロセス 2 Coherenceプロセス 3 Coherenceプロセス 4 Copyright Oracle Corporation Japan, 2010. All rights reserved. 11
  12. 12. Oracle Coherence サーバー数/クライアント数の増加に対応するために• クラスタ内プロトコルの最適化 Tangosol Cluster Management Protocol(TCMP) TCMPで通信可能なネットワーク範囲 – UDPユニキャストの拡張実装 • 到達保証(ACK/NACK) アプリケーションJVM アプリケーションJVM • Flow Control Application Application • データの分割/復元 Coherence API Coherence API • Packet Bundling … A get(A)• TCMP内では P2Pによってデータに到達 get(C) return null – マスターやインデックス的位置づけのサーバーはない – Keyオブジェクトから独自ロジックによって分散位置を 算出した後、ダイレクトに特定ノードにアクセス – P2P型ゆえ、サーバー数/クライアント数によらず データ取得はリクエスト/レスポンスの一往復で完結 A B D JVM 1 JVM 2 JVM 3 JVM 4• 一度取得したデータはローカルにキャッシュ (ニア・キャッシュ利用時) Coherenceデータグリッド Copyright Oracle Corporation Japan, 2010. All rights reserved. 12
  13. 13. Oracle Coherence データアクセス バックエンド・データアクセス コードを排除可能 NamedCache cache = CacheFactory.getCache( <キャッシュ領域名> ); String key = “cust1”; -- キャッシュのキーコード Object <注文データ> = cache.get(key); -- キャッシュ するデータをGet get put 対応する キャッシュ キャッシュ 注文 注文 CacheStoreから にない に存在 データCacheStoreの データをロード データ 実装しだいで load/storeを自由に記述可能 (製品同梱のCacheStore実装の 書き込みエラー 利用も可能) CacheStore CacheStore 時は、キューに 残ってリトライ SELECT ‘A’ FROM … JDBC JMS Copyright Oracle Corporation Japan, 2010. All rights reserved. 13
  14. 14. Oracle Coherence 2つのキーとなる機能 • イベント通知 : • パラレル処理 : リアルタイム型処理に必須の機能 大量データ処理時に必須の機能 – P2P型のイベント通知 – 各ノードのCPUを活用したデータ処理 → ノード数に依存しない性能 – ノード数の増加 = パラレル度向上データ追加 アプリケーション更新・削除 条件を引数として 処理命令(Invocation) をコール 各ノードでパラレルに 処理を実行 ニア・キャッシュの リモート 破棄通知 他クライアント サイトとの への通知 同期化 事前定義問合せ 後続処理 キャッシュ・ノード1 キャッシュ・ノード2 キャッシュ・ノード3 キャッシュ・ノード4 結果セットの更新 の起動 Copyright Oracle Corporation Japan, 2010. All rights reserved. 14
  15. 15. Oracle Coherenceパラレル処理機能 → 処理性能を維持した拡張 データ量、 データ量が リクエスト量の増加 2倍になると… 同じ時間内に 増やしたノードのCPUを活用して 処理を完了するのは難しい 処理完了時間を維持 総データ量 応答時間 Copyright Oracle Corporation Japan, 2010. All rights reserved. 15
  16. 16. Oracle Coherence パラレル型データ処理 条件に基づくパラレル問い合わせ例 - productsStore.entrySet( new AndFilter( new LikeFilter(“getName”, “%りんご%”), アプリケーション new GreaterFilter(“getPrice”, 2000) ) ); - employeeCache.entrySet( new EqualsFilter( new ChainedExtractor( “getHomeAddress.getState”), “CA” ) ); 条件に基づくパラレル集計例 -productsStore.aggregate( new AndFilter(キャッシュ・ノード1 キャッシュ・ノード2 キャッシュ・ノード3 キャッシュ・ノード4 new LikeFilter(“getName”, “%りんご%”), new GreaterFilter(“getPrice”, 2000) ), Class Product { Class Employee { private int id; new DoubleAverage(“getPrice”) private int id; private String name; private String name; ); private int price; private Date hireDate; private String detail; private Date birth; private String pictureUrl; private Address homeAddress; ... ... public String getName(); public String getName(); ... } ... } Copyright Oracle Corporation Japan, 2010. All rights reserved. 16
  17. 17. Oracle Coherence Continuous Query 事前定義済み条件の問合せ結果取得の効率化/高速化従来型 : リクエスト/レスポンス型 データグリッド : Push型による問合せ結果の更新 アプリケーション アプリケーション 問合せ結果セット (ContinuousQuery) SQLの すでに用意された 問合せ結果を利用 結果の コール 取得 条件に合致したデータのみ送信 問合せ 実行他ユーザーからの 他ユーザーからの 更新処理 更新処理 Coherenceノード Coherenceノード Coherenceノード Coherenceノード データ追加イベントを 機に、事前定義条件に 合致するかどうか判別 Copyright Oracle Corporation Japan, 2010. All rights reserved. 17
  18. 18. 補足 主な機能機能 目的 効果自動的なデータのミラーリング/ 物理サーバー構成に依存 信頼性向上データ復旧処理 しない透過的なメモリデータ 運用効率化 アクセス HWリソース効率化パラレル処理 大量データ処理の高速化 処理性能向上KVS型(put/get) および アプリケーションに 開発生産性向上SQLライクな条件句での 使いやすいAPIの提供 アプリケーション保守性向上オブジェクトデータへのアクセスバックエンド・データソースとの同期 - DBへの負荷を軽減 運用効率化/非同期連携 - DBの可用性からアプリ (アプリとDBの運用依存性を ケーションを分離 分離)イベント処理 連携効率向上 HWリソース効率化 開発生産性/保守性向上 Copyright Oracle Corporation Japan, 2010. All rights reserved. 18
  19. 19. Coherence 3.6 Copyright Oracle Corporation Japan, 2010. All rights reserved. 19
  20. 20. Oracle Coherence 3.6 利用の敷居を下げる機能 大規模適用向け機能強化 • “適用しやすさ” の向上 • 自律型の管理機能の強化 – SQLライクな – ポリシーに基づくサービスCohQL> クエリ・インタフェース 機能のON/OFF制御 (Coherence Query Language) (サービスに必要なサーバーの – Eclipse ベースの 最低稼働数の設定など) 開発支援機能 – マシン・レベルでの障害検知 • .Net 環境での機能強化 • ミッションクリティカル向け強化 – ASP.Net に設定レベルで – 複数のキャッシュ領域を 組込可能なセッション管理 横断する分散トランザクション (セッションのインメモリ化) – MVCC によるデータ整合性 – SSLによるノード間/ クライアント接続 Copyright Oracle Corporation Japan, 2010. All rights reserved. 20
  21. 21. Oracle Coherence 3.6 利用の敷居を下げる機能 大規模適用向け機能強化 • “適用しやすさ” の向上 • 自律型の管理機能の強化 – SQLライクな – ポリシーに基づくサービス 開発生産性/保守性向上CohQL> クエリ・インタフェース 運用コスト低減 機能のON/OFF制御 トレーニングコスト低減 (Coherence Query Language) (サービスに必要なサーバーの – Eclipse ベースの 既存Appの適用作業を軽減 停止リスクの極小化 最低稼働数の設定など) 開発支援機能 – マシン・レベルでの障害検知 • .Net 環境での機能強化 • ミッションクリティカル向け強化 – ASP.Net に設定レベルで – 複数のキャッシュ領域を 組込可能なセッション管理 パフォーマンス効果 横断する分散トランザクション トランザクション強化 (セッションのインメモリ化) – MVCC によるデータ整合性 ディスク節約 セキュリティ強化 – SSLによるノード間/ クライアント接続 Copyright Oracle Corporation Japan, 2010. All rights reserved. 21
  22. 22. Oracle Coherence 3.6• Coherence Query Language(CohQL)• トランザクション機能の強化• Quorum ポリシーによる動作制御• .NETセッション管理• その他新機能/機能強化 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  23. 23. Oracle Coherence 3.6Coherence Query Language (CohQL)• Coherenceクラスタでキャッシュ操作を行うためのSQLライクな クエリ表現が可能 –APIおよびコマンドラインツールで利用可能• API: –FilterやValueExtractor の生成コードを簡易化 → 開発生産性向上、コードの可読性向上(保守性向上)• コマンドライン: –Oracle Database の SQL*Plus のイメージ • SELECT, UPDATE, INSERT, DELETE, CREATE/DROP CACHE, CREATE/DROP INDEX, BACKUP, RESTORE, SOURCE → テスト/確認工数削減、運用のためのプログラミング作業軽減 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  24. 24. Oracle Coherence 3.6 パラレル型データ処理 with CohQL条件に基づくパラレル問い合わせ例 条件に基づくパラレル問い合わせ例- productsStore.entrySet( - productsStore.entrySet( new AndFilter( QueryHelper.createFilter( new LikeFilter(“getName”, “%りんご%”), “name like „%りんご%‟ and price > 2000” ) new GreaterFilter(“getPrice”, 2000) ) ); );- employeeCache.entrySet( - employeeCache.entrySet( new EqualsFilter( QueryHelper.createFilter( new ChainedExtractor( “homeAddress.state = „CA‟” ) “getHomeAddress.getState”), “CA” ) ); );条件に基づくパラレル集計例 条件に基づくパラレル集計例-productsStore.aggregate( -productsStore.aggregate( new AndFilter( QueryHelper.createFilter( new LikeFilter(“getName”, “%りんご%”), “name like „%りんご%‟ and price > 2000” ), new GreaterFilter(“getPrice”, 2000) ), new DoubleAverage( new DoubleAverage(“getPrice”) QueryHelper.createExtractor(“price”) ); ); Copyright Oracle Corporation Japan, 2010. All rights reserved. 24
  25. 25. コマンドライン CohQL – 例 CohQL> select min(zipCodes.size()), min(zipCodes.size()) from cityinfo Results: 0,0 CohQL> delete from cityinfo where zipCodes.size() is 0 or areaCodes.size() is 0 CohQL> select areaCodes from cityinfo where name is “Dallas” Results: {214,972} CohQL> update cityinfo set areaCodes = {214, 469, 972} where CohQL> name is “Dallas” and state is “TX” … Copyright Oracle Corporation Japan, 2010. All rights reserved.
  26. 26. 例えば… 開発: プログラミングAPI - productsStore. entrySet( QueryHelper.createFilter( 開発・テスト “name like „Oracle%‟ and price > 2000” ); … CohQL> アプリケーション サンプル・データの内容の確認、調整 - insert、update、delete、select…画面・ 画面・ 画面・フロー フロー フロー 運用・監視 監視 - JMX、Enterprise Manager Access API コマンドラインでの運用・チューニング CohQL> - BACKUP CACHE … TO [File] DB - CREATE INDEX … アクセス処理 保守・改修 保守: プログラムコード内の可読性と変更容易性 - productsStore. entrySet( QueryHelper.createFilter( “name like „Oracle%‟ and price > 1500” ); Copyright Oracle Corporation Japan, 2010. All rights reserved. 26
  27. 27. Oracle Coherence 3.6トランザクション機能の強化• トランザクションで、以下の機能 • XA準拠のリソースアダプタ をサポート –Java EEコンテナのトランザクション –キャッシュ領域をまたいだACID マネージャと連携した トランザクション グローバル・トランザクションを実現 –外部からのクエリ/集計に対する 読取り一貫性 画面・ begin commit begin フロー commit データ操作 データ操作 Coherence Resource Adapter Copyright Oracle Corporation Japan, 2010. All rights reserved.
  28. 28. トランザクション – コネクションAPI Connection con = new DefaultConnectionFactory(). createConnection( "TxCacheService" ); con.setAutoCommit(false); try {begin commit OptimisticNamedCache c1 = con.getNamedCache( "tx-cache1" ); データ操作 OptimisticNamedCache c2 = con.getNamedCache( "tx-cache2" ); c1.insert(key1, value1); c2.insert(key2, value2); con.commit(); catch (Exception e) { con.rollback(); throw e; } finally { con.close(); } Copyright Oracle Corporation Japan, 2010. All rights reserved.
  29. 29. トランザクション – XA UserTransaction ut = (UserTransaction) ic.lookup( "java:comp/UserTransaction" ); ConnectionFactory cf = (ConnectionFactory)ic.lookup( "java:comp/env/eis/CoherenceTxCF“ ); 画面・begin フロー commit DataSource ds = (DataSource) ic.lookup( "jdbc/OracleDS“ ); ut.begin(); データ操作 try { OptimisticNamedCache Coherence c1 = cf.createConnection( "TxCacheService“ ). Resource Adapter getNamedCache( "tx-cache1“ ); java.sql.Statement s1 = ds.getConnection().createStatement(); s1.executeUpdate( "INSERT INTO ... “ ); c1.insert(key1, value1); ut.commit(); catch (Exception e) { ut.rollback(); throw e; } Copyright Oracle Corporation Japan, 2010. All rights reserved.
  30. 30. Oracle Coherence 3.6Quorumポリシーによる動作制御• 設定されたポリシーに応じてサービス動作を制御する• サービスとは? – Coherence 内の各種処理サービスのこと • クラスタ・サービス • Partitioned Cacheサービス • Proxyサービス• ポリシーとは? – 事前設定済のポリシー: リアルタイムの以下の情報から判定 • クラスタ内のノード数 • Proxyノードの数 – カスタム・ポリシー: サービスの状態や外部環境の情報を使って判定するロジックを カスタム実装可能 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  31. 31. Quorumポリシーによる動作制御例ルール例 制御例 目的 カスタム?キャッシュ・ノード数 バックアップの 限られたリソース内で< 10 再作成処理を禁止 追加のデータ作成が発生することによるキャッシュ・ノード数 put を禁止 メモリ・オーバーフローを防ぐ< [特定数]特定の期間の間 外部リクエストを禁止 定期メンテナンス期間中は ユーザーリクエストを制御する 初期ロード処理の間 外部リクエストを禁止 データの状態がレディでない場合に ユーザーリクエストを制御する バックエンドDBの DBアクセスができない Write-through のDB連携の場合の稼働状況 状態なら特定キャッシュ 書き込み処理の可否を  領域への put を禁止 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  32. 32. Oracle Coherence 3.6.NETセッション管理• ASP.NETのセッションをCoherence上で管理する Session Providerを提供 – SQL Serverセッションプロバイダよりも格段に速くスケーラブル + ディスク節約、高信頼性 – 柔軟なセッションモデルを全てサポート • Traditional ・・・セッション属性個別に格納 • Monolithic ・・・セッション属性をまとめて格納 • Split ・・・サイズ大の属性は個別、小さい属性はまとめて格納 –既存アプリケーションのコード変更は当然不要 • web.configファイルの修正のみで対応可能 –設定によって、アプリケーションをまたいだセッション共有も可能 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  33. 33. .NETセッション管理 – 最小構成例 IIS サーバー(Coherenceクライアント) 1. Coherence for .NET をインストール 【前提条件】 2. ASP.NET の BIN参照設定で .NET coherence.dll を指定 2.0、3.0、3.5 3. キャッシュ構成ファイル(xml)を作成 (外部Coherenceサーバーへの接続設定) 4. web.config に構成を追記 − configSections セクションで 1 2 coherence セクションを定義SessionProvider for .Net − coherence セクションを追加し キャッシュ設定ファイルの場所を指定 − system.web セクションで セッションプロバイダの利用構成を追記 3 Coherence Proxy サーバー 1. .NETからの外部接続のための構成を追記 メモリ処理化、DB負荷軽減 2. Coherence Proxy サーバーを起動 ※ 構成の記述方法の詳細は製品ドキュメント Coherenceサーバー 「Oracle Coherence Client Guide / 1. Coherence サーバーを起動 クライアントガイド」を参照ください Copyright Oracle Corporation Japan, 2010. All rights reserved.
  34. 34. Oracle Coherence 3.6その他: パフォーマンス/可用性/セキュリティ• パフォーマンス –ユーザー定義インデックス • 複雑な構造に対応したインデックス、条件に柔軟なインデックス… • インデックスに必要なメモリ領域の最適化• 可用性 : 障害検出の短縮化 –3つの手法を組み合わせた死活監視 • Coherence上のサービス・レベル: 処理のタイムアウト管理(従来から) • プロセス・レベルの検出 : TCP Ring の強化 • マシン/ネットワーク・レベルの障害検出 : ランダムな ping (IP Monitor)• セキュリティ –SSLサポート(TCMP、Coherence*Extend) –Coherence*Extend Proxyクライアントの認証 + リモートでのキャッシュ・サービス/Invocationサービスの権限制御 Copyright Oracle Corporation Japan, 2010. All rights reserved.
  35. 35. Oracle ExalogicElastic Cloud Copyright Oracle Corporation Japan, 2010. All rights reserved. 35
  36. 36. Oracle Exalogic Elastic Cloud • 100万 Webリクエスト/秒 • 180万 メッセージ送信/秒 • 200万 SQLオペレーション/秒超高速 Java ミッションクリティカル 事前統合されたプラットフォーム クラウド システム 集約化→運用コストを 展開までの時間を 10倍 60% 90%までレスポンス改善 削減 削減 Copyright Oracle Corporation Japan, 2010. All rights reserved. 36
  37. 37. スペシャル・サイトのご案内 ■ アプリケーション・グリッド / Coherence http://www.oracle.co.jp/appgrid/ - 業種や課題別の解決策のご紹介 - 効果をわかりやすくアニメーションで紹介 - 事例動画(字幕付き) - その他、関連ライブラリ■ Oracle WebLogic Server マニアックス ■ CIO for Tomorrow http://www.oracle.co.jp/weblogic/ http://www.oracle.co.jp/campaign/cio/ 【3つの迷信】 【連載コラム】 - CIOのミッション 【伝説のエキス - アナリストの提言 パートが語る】 【ソリューション】 他 【ライブラリ】 他 Copyright Oracle Corporation Japan, 2010. All rights reserved. 37
  38. 38. あなたにいちばん近いオラクル Oracle Direct まずはお問合せください Oracle Direct 検索 システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。 システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。 Web問い合わせフォーム フリーダイヤル 専用お問い合わせフォームにてご相談内容を承ります。http://www.oracle.com/jp/direct/inquiry-form-182185-ja.html 0120-155-096 ※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録さ ※月曜~金曜 9:00~12:00、13:00~18:00 れている連絡先が最新のものになっているか、ご確認下さい。 (祝日および年末年始除く) Copyright© 2010, Oracle. All rights reserved. 38
  39. 39. Copyright Oracle Corporation Japan, 2010. All rights reserved. 39

×