[WSM] Running OWSM WLST commands - 11g

いくつかのエントリを掲載して少々時間が経ちましたが、ここで多くの方がよく躓くと思われる、「OWSM関連のWLSTコマンドを実行する方法」についてお伝えします。
よくあるのは、間違った場所からWLSTコマンドを実行しているためにOWSMに関連する処理が動かない、というものです。正しくは、以下の場所のWLSTコマンドを実行する必要があります。
<Oracle_Home>/oracle_common/common/bin/wlst.sh(もしくはwlst.cmd)
[例]
/home/Oracle/Middleware/oracle_common/common/bin/wlst.sh
これはOWSMのマニュアル(セキュリティおよび管理者ガイド)に記載されています。

Oracle® Fusion Middleware Security and Administrator's Guide for Web Services
Accessing the Web Services Custom WLST Commands (英語)
http://docs.oracle.com/cd/E21764_01/web.1111/b32511/intro_ws.htm#CHDFCCII

Oracle Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド
WebサービスのカスタムWLSTコマンドへのアクセス(日本語)
http://docs.oracle.com/cd/E23549_01/web.1111/b56247/intro_ws.htm#CHDFCCII

[注意]SOA用のWLSTコマンドとは異なる場所ですので、ご注意下さい。

誤った場所のWLSTコマンドからOWSM関連のコマンドを実行した場合、以下のようなエラーメッセージが現れることでしょう。
"The MBean ,@ oracle.wsm:*,name=WSMDocumentManager,type=Repository was not found"

原文はこちら。
http://blogs.oracle.com/owsm/entry/running_owsm_wlst_commands_11g

[SOA/BPM, .NET] Using the TaskQueryService from .Net

C#の.NETアプリケーションからHuman WorkflowサービスのWebサービス(TaskQueryService)を利用する方法に関するエントリが公開されています。

Using the TaskQueryService from .Net (C#) (RedStack)
http://redstack.wordpress.com/2011/11/30/using-the-taskqueryservice-from-net-c/

[訳注]
上記エントリの筆者は、.NETのカスタムワークリストアプリケーションを現在作成しています。できあがり次第発表するとのことなので、ご興味ある方は要チェックです。

原文はこちら。
http://blogs.oracle.com/ateamsoab2b/entry/using_the_taskqueryservice_from_net

[SOA/BPM] List of all states from COMPOSITE_INSTANCE, CUBE_INSTANCE, DLV_MESSAGE tables

インスタンスのパージ関連での問題をトラブルシューティングしている際に特に尋ねられるのですが、11gのコンポジットの状態とその意味について問い合わせを受けます。そこで、COMPOSITE_INSTANCE、CUBE_INSTANCE、およびDLV_MESSAGEのテーブルからすべての状態をまとめました。これらは、BPELコンポジット利用時に使われる主要な表であり、ECID(Execution Context ID/実行コンテキストID、Oracle Enterprise Managerでのメッセージ・フローの追跡に使用)と共にどのように使われているかを知って頂けると幸甚です。

コンポジットの状態

COMPOSITE_INSTANCE (STATE)
状態意味
0 Running
1 Completed
2 Running with faults
3 Completed with faults
4 Running with recovery required
5 Completed with recovery required
6 Running with faults and recovery required
7 Completed with faults and recovery required
8 Running with suspended
9 Completed with suspended
10 Running with faults and suspended
11 Completed with faults and suspended
12 Running with recovery required and suspended
13 Completed with recovery required and suspended
14 Running with faults, recovery required, and suspended
15 Completed with faults, recovery required, and suspended
16 Running with terminated
17 Completed with terminated
18 Running with faults and terminated
19 Completed with faults and terminated
20 Running with recovery required and terminated
21 Completed with recovery required and terminated
22 Running with faults, recovery required, and terminated
23 Completed with faults, recovery required, and terminated
24 Running with suspended and terminated
25 Completed with suspended and terminated
26 Running with faulted, suspended, and terminated
27 Completed with faulted, suspended, and terminated
28 Running with recovery required, suspended, and terminated
29 Completed with recovery required, suspended, and terminated
30 Running with faulted, recovery required, suspended, and terminated
31 Completed with faulted, recovery required, suspended, and terminated
32 Unknown
64 -



CUBE_INSTANCE (STATUS)
状態意味
0 STATE_INITIATED
1 STATE_OPEN_RUNNING
2 STATE_OPEN_SUSPENDED
3 STATE_OPEN_FAULTED
4 STATE_CLOSED_PENDING_CANCEL
5 STATE_CLOSED_COMPLETED
6 STATE_CLOSED_FAULTED
7 STATE_CLOSED_CANCELLED
8 STATE_CLOSED_ABORTED
9 STATE_CLOSED_STALE
10 STATE_CLOSED_ROLLED_BACK

DLV_MESSAGE (STATE)
状態意味
0 STATE_UNRESOLVED
1 STATE_RESOLVED
2 STATE_HANDLED
3 STATE_CANCELLED
4 STATE_MAX_RECOVERED

11gからInvoke_Messages表がなくなりましたので、新しいメッセージ(Invoke)なのか、コールバック(DLV)なのかを区別するため、DNV_TYPEという列を用意し、そこでメッセージの種類を定義しています。

DLV_TYPE
状態意味
1 Invoke Message
2 DLV Message

次回のエントリでは、以下のユースケースにおいて上記の状態を使用するBPELプロセスのライフサイクルを辿る予定です。
  • 新しいBPELプロセス:起動時のReceiveアクティビティ
  • コールバックBPELプロセス:途中のReceiveアクティビティ
コメント、質問随時受け付けています。


原文はこちら。
http://blogs.oracle.com/dasoa/entry/list_of_all_states_from

[Java] Build Open JDK 7 on Mac OSX (TOTD #172)



OpenJDK 7 をMac OSXにポートする際の要件や事前条件、ビルド手順の詳細は以下のwikiに記載されています。

Mac OS X Port
http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port

わかりやすく手順が説明されていますので、読めばわかるはずです。
今回はMacBook Pro 10.7.2上で試してみました。
  1. 以下のコマンドでプリインストールされているJavaのバージョンを確認します。
    > java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511c)
    Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
    
  2. Mercurial を mercurial.berkwood.com からダウンロードし、インストールします(10.7用zip bundleはこちらからダウンロードできます)。
    今回は the /usr/local/bin にインストールしています。
  3. 太字で強調したコマンドを使い、ソースコードを取得します。
    hg clone http://hg.openjdk.java.net/macosx-port/macosx-port
    destination directory: macosx-port
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 437 changesets with 364 changes to 33 files
    updating to branch default
    31 files updated, 0 files merged, 0 files removed, 0 files unresolved
    cd macosx-port
    chmod 7555 get_source.sh
    ./get_source.sh
    # Repos:  corba jaxp jaxws langtools jdk hotspot
    Starting on corba
    Starting on jaxp
    Starting on jaxws
    Starting on langtools
    Starting on jdk
    Starting on hotspot
    # hg clone http://hg.openjdk.java.net/macosx-port/macosx-port/corba corba
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 396 changesets with 3275 changes to 1379 files

    . . .

    # exit code 0
    # cd ./corba && hg pull -u
    pulling from http://hg.openjdk.java.net/macosx-port/macosx-port/corba
    searching for changes
    no changes found
    # exit code 0
    # cd ./jaxp && hg pull -u
    pulling from http://hg.openjdk.java.net/macosx-port/macosx-port/jaxp
    searching for changes
    no changes found
    # exit code 0
  4. App Storeから Xcode をダウンロード、インストールし、環境変数PATHに /Developer/usr/bin を含めておきます。
    注意
    JDK 1.6.0_26 がプリインストールされており、その上にXcodeをインストールしています。今回はこの組み合わせでうまく動作し、wikiの手順にあるようなMac OSXへのJava再インストールは不要でした。
  5. 以下のようにコードをビルドします。
    make ALLOW_DOWNLOADS=true SA_APPLE_BOOT_JAVA=true
    ALWAYS_PASS_TEST_GAMMA=true ALT_BOOTDIR=`/usr/libexec/java_home -v
    1.6` HOTSPOT_BUILD_JOBS=`sysctl -n hw.ncpu`
    ビルドが終了すると、以下のような表示が現れるはずです。
    >>>Finished making images @ Sat Nov 19 00:59:04 WET 2011 ...
    >>>Finished making images @ Sat Nov 19 00:59:04 WET 2011 ...
    ########################################################################
    ##### Leaving jdk for target(s) sanity all docs images #####
    ########################################################################
    ##### Build time 00:17:42 jdk for target(s) sanity all docs images #####
    ########################################################################
    
    ## Build times ##########
    Target all_product_build
    Start 2011-11-19 00:32:40
    End 2011-11-19 00:59:04
    00:01:46 corba
    00:04:07 hotspot
    00:00:51 jaxp
    00:01:21 jaxws
    00:17:42 jdk
    00:00:37 langtools
    00:26:24 TOTAL
    #########################
    
  6. ディレクトリを移動して、バージョンを確認しましょう。
    >cd build/macosx-universal/j2sdk-image/1.7.0.jdk/Contents/Home/bin
    >./java -version
    openjdk version "1.7.0-internal"
    OpenJDK Runtime Environment (build 1.7.0-internal-arungup_2011_11_19_00_32-b00)
    OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode)
これでできあがりです。今すぐバグを修正したり、新しいバグを登録してください。もしくは、macosx-port-dev メーリングリストでディスカッションして下さい。

現在のバグ報告はこちら。
http://java.net/jira/secure/IssueNavigator.jspa?mode=show&requestId=10795

バグ登録はこちら。
http://java.net/jira/browse/MACOSX_PORT

macosx-port-devメーリングリスト登録はこちら。
http://mail.openjdk.java.net/mailman/listinfo/macosx-port-dev

原文はこちら。
http://blogs.oracle.com/arungupta/entry/build_open_jdk_7_on

[Exadata] Best Practices For Database Consolidation On Exadata - New Whitepapers

Best Practices For Database Consolidation On Exadata Database Machine (2011.11月)
Consolidation(統合)により、空きリソースを最小限にし、効率を上げ、対象システム上の複数のスキーマ、アプリケーション、データベースをホストする際のコストを削減するkとができます。Consolidationはパブリック/プライベートクラウド上にOracle Databaseを展開するための中心となる考え方・手法です。
このホワイトペーパーではExadata Database Machine (Exadata) へ統合し、システムやアプリケーションをセットアップして安定性と可用性を高めるためのベストプラクティスをご紹介します。

ホワイトペーパーはこちら。
http://www.oracle.com/technetwork/database/features/availability/exadata-consolidation-522500.pdf

Oracle Exadata Database Machine Consolidation: Segregating Databases and Roles (2011年9月)
このホワイトペーパーでは、Oracle Exadata Database Machineにプラットフォームを統合した環境で、各々のデータベースを分離する側面に焦点を当てています。プラットフォームの統合は、複数のデータベースを単一のOracle Exadataデータベースマシンへ統合することです。複数のデータベースを単一のデータベースマシン上に統合する場合、ビジネス要件を満たし、セキュアな統合のためのベストプラクティスを提供するために、特定のデータベースのコンポーネントまたは機能を分離する必要がでてくることがあります。本稿では、Oracle Exadataにおいてセキュアにデータベース管理を分離する、データベースに焦点を当てたセキュリティを概説した上で、ベストプラクティスを示す詳細なケーススタディを提供します。
ホワイトペーパーはこちら。
http://www.oracle.com/technetwork/database/focus-areas/availability/maa-exadata-consolidated-roles-459605.pdf

原文はこちら。
http://blogs.oracle.com/exadatapartnercommunity/entry/best_practices_for_database_consolidation

[BPM] Gauging Maturity of your BPM Strategy - part 2 / 2

先のエントリでは成熟度評価の本質と、BPMのコンテキストで同様のことをするためにビジネスで必須のことを説明しましたが、このエントリではOracleのBPM成熟度評価方法を説明します。
OracleのBPM成熟度モデルは以下のコンポーネントからなります。
  • 成熟度(Maturity)貴社のBPM能力の進化の段階を表します。0が最低で、5が最高レベルです。 
  • ドメイン(Domain)貴社のBPM能力を評価する上での、技術指向および業務指向の複数の視点を表します。
  • 採用(Adoption)プロジェクトレベルで開始し、エンタープライズレベルまでBPMを本格展開するまでの規模を表します。

注意

貴社のBPMの能力は、異なるドメインでは異なる成熟度のレベルとなる場合があります。
OracleのBPMアセスメント手法は、BPMの個々のドメインレベルにおける能力だけでなく、集約レベルの成熟度をも測定します。 OracleのBPMアセスメント結果は、次の2点でお客様にメリットをもたらします。

  • ギャップ分析(Gap Analysis)現在のBPM能力と期待される将来のBPM能力を種々のドメインに沿って比較します。 (Figure 1参照)
  • 組織的な採用(Systematic Adoption)複数フェーズのロールアウトとBPM能力の進化を合わせます。 (Figure 2参照)   


原文はこちら。
http://blogs.oracle.com/bpm/entry/gauging_maturity_of_your_bpm1

[BPM] Gauging Maturity of your BPM Strategy - part 1 / 2

このエントリでは、成熟度評価の本質とBPMのコンテキスト内で成熟度評価をする場合のビジネス上のルールを説明します。社会心理学では、個人が初心者の状態から、自己認識の四つの段階に沿って特定のアクティビティまたはタスクの専門家に進行すると称しています。
  1. 無意識にして無能(Unconscious Incompetence)
    どうすればいいか理解していなかったり知らず、必ずしも弱点を認識しておらず、スキルの有用性を否定さえする可能性があるという状態
  2. 意識的に無能(Conscious Incompetence)
    弱点を認識しており、また弱点に対応する上で新しいスキルの価値を認識している状態
  3. 意識的に有能(Conscious Competence)
    どうすればいいか理解し、知っているが、スキルの説明に明示的に意識が必要な状態
  4. 無意識に有能(Unconscious Competence)
    非常に熟達していて第2の天性という状態となっており、他の補完的な能力開発の基礎として機能している状態
組織を構成する個人の能力レベルの集合として、組織の特定のエリアや能力のレベルを測定することによって、上述の考え方を組織全体に拡張することができます。なんだかんだ言っても、組織は個人と同じで、経験を通じて進化し、学習、忘却、再学習という一定のサイクルを通じて形成される「記憶」や能力を向上させるのです。したがって、組織の成功の鍵は、こうした能力を開発して外部環境(需要、競争、経済など)を使って直列に戦略を実行できるようにすることにあります。しかし能力開発は以下のような行動のためにベースラインを確立することにつながります。
  • 過去の投資から改善の程度を評価する
  • ギャップや欠点を識別する
  • 正しい領域への将来の投資に優先度を付ける
成熟度評価は、基本的に組織の自己認識のチェックであり、現在の能力のそのままをスナップショットとして描くことを目的としています。これは、ビジネス目標に直結する能力を開発するための将来の投資をガイドします。

組織の能力は、そのアーキテクチャ、ルーチン、文化と暗黙的ないし明示的にビジネスプロセスに埋め込まれている知的資源に起因します。ビジネスプロセスにより組織能力の発揮が支えられているならば、ビジネスプロセスはビジネスの変革とプロセス管理の取り組みを促すものです。従って、組織のBPMの能力は、予定された利点が確実にもたらされることを継続的に測定する必要があります。

次のエントリでは、OracleのBPM成熟度評価手法について説明します。


原文はこちら。
http://blogs.oracle.com/bpm/entry/gauging_maturity_of_your_bpm