FeaturesPluginsDocs & SupportCommunityPartners

BPEL デザイナー開発者ガイド: BPEL のデザインビューとソースビュー

目次

このページの内容は NetBeans 6.0 IDE が対象です

BPEL デザイナー開発者ガイド

のデザインビューとソースビューについて

この節では、BPEL デザイナーの機能について説明します。BPEL デザイナーでは、WS-BPEL 2.0 仕様に準拠する BPEL ソースコードが自動的に生成されるプロセス図を視覚的に作成できます。ラウンドトリップエンジニアリングを完全にサポートし、視覚的な図とコードを同期させるために、BPEL デザイナーにはデザインビューとソースビューがあります。

「デザイン」ビュー

デザインビューは、ビジネスプロセス図を作成できるビジネスプロセスデザイナーです。デザインビューでは、図の要素の追加、編集、および削除ができます。デザインビューで作成した図から、WS-BPEL 2.0 仕様に準拠する BPEL ソースコードが自動的に生成されます。その例外については、『BPEL サービスエンジンユーザーガイド』の「BPEL 2.0 言語構文」の節に一覧表示されています。

デザインビューは、「プロジェクト」ウィンドウで「BPEL モジュール」プロジェクトから BPEL ソースファイルをダブルクリックしたときにデフォルトで表示されます。ソースビュー内の対応する位置に表示を切り替えるには、デザインビュー内で要素を右クリックし、「ソースへ移動」(Alt-O) を選択します。

ソースビュー

ソースビューには、ビジネスプロセス図のコードが表示されます。ソースビューは、IDE の XML ソースビューを基礎としており、コードの折り畳み、XML 構文の強調表示、コード補完などの機能を備えています。

ビジュアル設計だけでなく、ソースレベルの編集を実行できます。BPEL デザイナーは、ラウンドトリップ 2 方向エンジニアリングを実行して、デザインビューとソースビューが互いに同期するようにします。IDE は、ユーザーがソースファイルを手動で編集するごとに、自動的に BPEL ソースファイルを再解析して、図を再構築します。

デザインビュー内の対応する位置に表示を切り替えるには、ソースビュー内で該当する行にカーソルを置き、右クリックして「デザインへ移動」(Alt-I) を選択します。

ページの先頭へ

ナビゲータ

「ナビゲータ」ウィンドウは BPEL デザイナーに付随します。「ナビゲータ」ウィンドウが表示されていない場合は、メインメニューから「ウィンドウ」>「ナビゲート」>「ナビゲータ」を選択するか、Ctrl-7 キーの組み合わせを押して、手動で表示することができます。

「ナビゲータ」ウィンドウには、BPEL 論理ビューと XML ビューという 2 つの異なる BPEL プロセスのビューがあります。XML ビューと BPEL 論理ビューを切り替えるには、「ナビゲータ」ウィンドウの上部にあるドロップダウンメニューを使用します。

「XML」ビュー

XML ビューはナビゲータビューと同じであり、IDE で開かれたすべての XML ドキュメントに使用できます。XML ビューは、BPEL ソースビューに付属します。ナビゲータ内で任意のノードをダブルクリックすると、選択した要素がソースビューで現在の行になります。

論理ビュー

ナビゲータには、BPEL プロセスの BPEL 論理ビューもあります。デザインビューで BPEL 構文を選択すると、BPEL 論理ビューで同じ要素が選択されます。また、BPEL 論理ビューのツリーでノードを選択すると、対応する要素が図上で選択されます。

BPEL 論理ビューでノードを右クリックすると、ポップアップメニューが呼び出され、特定のノードに関連するアクションが表示されます。たとえば、代入要素には「ソースへ移動」、「デザインへ移動」、「ラップ」、「上へ移動」と「下へ移動」、「ブレークポイントを切り替え」、「削除」、「BPEL マッパーを表示」、および「プロパティー」のアクションがあります。ほとんどのノードにある「ソースへ移動」アクションと「デザインへ移動」アクションには、対応するキーボードショートカットがあります。「ソースへ移動」は Alt-O、「デザインへ移動」は Alt-D です。

一般に、「ナビゲータ」ウィンドウ内のノードは、図上の要素に対応します。さらに、「変数」や「相互関係セット」など、図からは直接使用できない機能に関連するノードがあります。ビジネスプロセスで使用している変数を表示するには、「ナビゲータ」ウィンドウの BPEL 論理ビューで「変数」ノードを展開します。変数のポップアップメニューには次のコマンドがあります。

  • ソースへ移動. BPEL ファイルのソースが開き、変数が最初に出現する位置にカーソルが配置されます。
  • ソース入力へ。変数型の定義を含むソースファイルが開きます。これはたとえば WSDL ファイルです。
  • 使用法を検索. BPEL ファイル内での変数の使用状況が表示されます。このコマンドは、相互関係セットとパートナーリンク要素のポップアップメニューにもあります。

特に関連の深いのが「 インポート 」ノードで、このノードには、BPEL ファイル内の Import 要素を頼りに参照される XSD ファイルと WSDL ファイルの一覧が表示されます。「インポート」ノードのポップアップメニューを使用して、XSD ファイルまたは WSDL ファイルへの参照を追加できます。参照できるのは、プロジェクトフォルダ内にあるファイルだけです。

リソースファイル (.wsdl または .xsd) をインポートとして追加するには、次の手順に従います。

  1. 「ナビゲータ」ウィンドウの BPEL 論理ビューで、「インポート」ノードを右クリックし、インポートするファイルの形式によって「WSDL インポートを追加」または「スキーマインポートを追加」を選択します。
  2. 「新規インポートの作成」ダイアログで、インポートとして追加するファイルをプロジェクト構造内で選択します。
    注: 最初に、プロジェクトディレクトリに格納されているファイルをプロジェクト構造に追加してください。そのあと、それらをインポートとして追加できます。すでに参照されているファイルには、取り消し線が表示されます。
  3. 読み取り専用の「名前空間」フィールドおよび「型」フィールドに値を表示し、「了解」をクリックします。
    追加したばかりのリソースファイルが「ナビゲータ」ウィンドウの「インポート」ノードの下に表示されます。

BPEL ドキュメント内で参照されている WSDL ファイルにプロパティーおよびプロパティー別名を追加できます。

WSDL ファイルにプロパティーを追加するには、次の手順に従います。

  1. 「ナビゲータ」ウィンドウの BPEL 論理ビューで、「インポート」ノードの下の WSDL ファイルを右クリックし、ポップアップメニューから「プロパティーを追加」を選択します。
  2. 「新規相互関係プロパティーの作成」ダイアログで、プロパティー名を指定します。
  3. プロパティーの型を選択し、「了解」をクリックします。

WSDL ファイルにプロパティー別名を追加するには、次の手順に従います。

  1. 「ナビゲータ」ウィンドウの BPEL 論理ビューで、「インポート」ノードの下の WSDL ファイルを右クリックし、ポップアップメニューから「プロパティー別名を追加」を選択します。
  2. 「新規プロパティー別名の作成」ダイアログで、「プロパティー」フィールドの横の「参照」ボタンをクリックしてプロパティーを指定します。
  3. 「プロパティーの選択」ダイアログで、別名を作成するプロパティーを選択し、「了解」をクリックします。「新規プロパティー別名の作成」ダイアログの「プロパティーの型」フィールドに、種類が表示されます。
  4. 「プロパティーのマッピング先」ツリーで、WSDL ファイルノードを展開し、メッセージまたはメッセージ部分を選択します。
  5. クエリーを追加するには、「クエリー」テキストフィールドにクエリー文字列を入力します。
    「ツリーと同期」チェックボックスが選択されている場合、「プロパティーのマッピング先」ツリーの選択内容を変更するたびに「クエリー」フィールドが更新されます。
  6. 「了解」をクリックします。

WSDL エディタを使用したプロパティーとプロパティー別名の定義については、『WSDL エディタ開発者ガイド』を参照してください。

ページの先頭へ


デザインビューの操作

デザインビューがアクティブな場合、BPEL デザイナーのパレットも表示されます。パレットが表示されていない場合は、メインメニューから「ウィンドウ」>「パレット」を選択します。

パレットには、ビジネスプロセスをモデル化するために使用する一連の視覚的要素があります。パレット内の要素のセットは、ビジネスプロセスの作成者がドラッグアンドドロップによって図に追加できるBPEL 要素に対応します。

パレットには、すべてではありませんがほとんどの BPEL 要素のアイコンがあります。パレットには、親要素のコンテキスト内でのみ意味を持つ BPEL 要素のアイコンはありません。デザインビューは、パレットのドラッグ&ドロップ機能に基づかない、異なる設計イディオムを通じて、これらの追加の BPEL 要素の作成をサポートします。

デザインビューのナビゲーション機能

大規模な図を操作するときは、デザインビューにあるナビゲーション機能を使用できます。

  • ナビゲーションモードを使用した図のスクロール。ナビゲーションモードを使用して、図を任意の方向にスクロールできます。この機能を使用すると、大きな図の中を移動できます。エディタのツールバーで「ナビゲーションモード」アイコン 「ナビゲーションモード」アイコン をクリックすると、ナビゲーションモードが有効になります。図の編集に戻るには、「編集モード」アイコン 「編集モード」アイコン をクリックします。
    編集モードでキーボードのスペースバーを押すとナビゲーションモードを有効にできます。
  • 図の拡大と縮小。ズーム機能によって図のサイズを拡大または縮小することが可能で、図の細部を表示したり、縮小サイズで広範囲に表示したりできます。エディタのツールバーの「ズーム値」ドロップダウンリストを使用してズーム値を変更できます。ウィンドウに合わせて図の大きさを調整するには、「図に合わせる」をクリックします。ウィンドウの幅に合わせて図の幅を調整するには、「幅に合わせる」ボタンをクリックします。
    最小の拡大率は 33% であり、また大きな図はウィンドウに収まらない可能性があることに注意してください。
  • サムネールビューの使用。サムネールビューを使用すると、ビジネス図の別の部分まですぐに移動できます。このビューには、図全体が縮小されて表示されます。サムネールビューを有効にするには、デザインビューの右下にあるサムネールビューのアイコン サムネールビューのアイコン をクリックします。現在の表示領域は、影付きの四角形で示されます。影付きの四角形を、図の中で表示する部分までドラッグします。
  • 編集中の図のスクロール。次の方法で、図をスクロールするか、要素間を移動できます。
    • マウスホイールを回す
    • 水平スクロールバーと垂直スクロールバーを使用する
    • Tab キーを押すか、Shift キーと矢印を同時に押して要素間を移動する
  • エラーストライプの使用。右側のスクロールバーの近くにあるエラーストライプをクリックして、図の中の特定の位置までジャンプできます。エラーストライプは、警告、妥当性検査のエラー、ブレークポイント、妥当性の状態、および現在選択されている箇所を示します。

デザインビューでの要素の操作

デザインビューでは、要素に次の操作を行うことができます。

  • 要素をパレットから図にドラッグして要素を作成する。デザインビューは、「ドロップポイント」という概念をサポートしています。これは、要素をドラッグする場合にそれらの要素をドロップポイントにそろえなければならないことを意味します。パレットからのドラッグアンドドロップですべての要素が作成されるわけではありません。これらのほかの要素は、図の既存の要素を右クリックすると呼び出されるポップアップメニューアクションを使用して作成します。
  • 図の中の要素を選択する。要素をクリックするとその要素が選択されます。選択は、要素の削除、移動、または編集など、ほかのいくつかの操作を実行するのに必要な手順です。
  • 図の要素に対してポップアップメニューのアクションを実行する。各 BPEL 要素にはポップアップメニューがあります。このポップアップメニューは、要素を右クリックすると表示できます。ポップアップメニューは、選択したその要素に関連する一連のアクションを提供します。
  • 図の要素を移動する。図の要素を選択し、それを新しい位置にドラッグすることで、図の要素を移動できます。コンテナ要素を移動すると、そのすべての子がコンテナとともに移動されます。
  • デザインビューで要素名を直接編集する。図の中で要素名をダブルクリックして編集できます。
  • XML の妥当性検査を実行する。デザインビューのエディタツールバーで「XML の妥当性検査」ボタンをクリックすると、XML の妥当性検査を呼び出すことができます。詳細は、「BPEL の妥当性検査」の節を参照してください。
  • 図の要素にフィルタを適用する。エディタのツールバーには、「パートナーリンクを表示」と「シーケンスを表示」のトグルボタンがあります。パートナーリンク要素とシーケンス要素の両方がデフォルトで表示されます。「パートナーリンクを表示」ボタンをクリックすると、図でパートナーリンク要素が非表示になります。「シーケンスを表示」ボタンをクリックすると、図でシーケンスコンテナが非表示になります。それぞれのボタンをもう一度クリックすると、ボタンに応じてパートナーリンク要素またはシーケンス要素が再び表示されます。
    注: パートナーリンク要素またはシーケンス要素を非表示にしているときは、図にこれらの要素を新しく追加することはできません。
  • 図の中で要素を検索する。デザインビュー内の BPEL 要素を名前または型で検索できます。「検索」バー (「編集」>「検索」または Ctrl-F) または詳細検索機能 (「編集」>「詳細検索」または Alt-Shift-F) のいずれかを使用できます。「検索」バーでは、検索の種類を選択し、検索する文字列を入力して「検索」をクリックします。「詳細検索」ダイアログでは、検索内容を詳細に指定し、BPEL 要素を名前または型、あるいはその両方で検索できます。
  • 図の中の要素を展開または収縮する。デザインビューで大きな図を開いているとき、選択した要素の近くに表示されるボタンを使用して、シーケンスやスコープなどのコンテナ要素を収縮または展開できます。デフォルトでは、デザインビューで図を開くと、すべてのコンテナ要素が展開されます。図の中のすべての要素を展開するには、エディタのツールバーにある「すべてを展開」アイコン 「すべてを展開」アイコン をクリックします。使用できるキーは次のとおりです。Enter キーを押すと、選択した要素が展開されます。Shift-Enter キーを押すと選択した要素が収縮されます。Alt-Enter キーを押すと図の中の要素がすべて展開されます。
  • アクティビティーをコンテナ要素でラップする。1 回クリックするだけで、要素をコンテナアクティビティーでラップできます。ラップ機能は、たとえばアクティビティーを簡単に別のアクティビティーの中に入れる場合に便利です。デザインビューで、ラップするアクティビティーを右クリックし、「ラップ」オプションをポイントし、ラッパー BPEL アクティビティーを選択します。

デザインビュー内の要素のプロパティーの設定

BPEL アクティビティーを図に追加したあとは、設定が必要です。設定には「プロパティーエディタ」ダイアログまたは IDE の「プロパティー」ウィンドウを使用できます。「プロパティーエディタ」ダイアログが使用できるのは、一部の要素のみです。

要素のプロパティーエディタを開くには、次のいずれかを実行します。

  • 要素を右クリックし、「編集」を選択します。
  • 要素をダブルクリックします。

要素の「プロパティー」ウィンドウを開くには、要素を右クリックし、「プロパティー」を選択します。この要素のプロパティーが IDE の標準の「プロパティー」ウィンドウに表示されます。IDE の「プロパティー」ウィンドウが表示されない場合は、メインメニューから「ウィンドウ」>「プロパティー」(Ctrl-Shift-7) を選択します。

変更の保存

BPEL デザイナーは、次のようにしてデザインビューとソースビューの同期をとります。

  • 図に加えた変更は、対応するソースコードに直ちに反映されます。
  • ソースコードに加えた変更は、デザインビューに切り替えたときに図に反映されます。

デザインビューまたはソースビューでの変更を保存するには、「ファイル」>「保存」を選択するか、Ctrl-S を押します。

ソースまたは図の印刷

BPEL 図とソースファイルを印刷したり、ボーダー、ヘッダー、フッター、色、行番号、拡大率などの印刷設定を好みに合わせてカスタマイズしたりすることができます。

BPEL 図をプレビューし、印刷するには、次の手順に従います。

  1. デザインビューで BPEL ファイルを開きます。
  2. メインメニューから「ファイル」を選択し、次のいずれかのコマンドを選択します。
    • 印刷 。BPEL 図をプリントアウトします。
    • 印刷プレビュー 。印刷レイアウトをプレビューするか、印刷オプションをカスタマイズします。

BPEL ソースファイルを印刷するには、次の手順に従います。

  1. ソースビューで BPEL ファイルを開きます。
  2. メインメニューから「ファイル」を選択し、次のいずれかのコマンドを選択します。
    • 印刷 。ファイルをプリントアウトします。
    • 印刷プレビュー 。印刷レイアウトをプレビューするか、印刷設定を構成します。
    • HTML に出力 .bpel ファイルを HTML ファイルとして印刷します。

印刷オプションをカスタマイズするには、次の手順に従います。

  1. IDE で、印刷するオブジェクトを選択します。
  2. 「ファイル」>「印刷プレビュー」を選択します。
  3. 「印刷プレビュー」ウィンドウで、「オプション」をクリックします。
    「印刷オプション」ダイアログが表示されます。
  4. 好みに合わせて印刷設定を変更します。
    • ボーダーを印刷 。印刷されるページにボーダーを付加します。ボーダー色を変更するには、色アイコンをクリックします。
    • ページ設定。用紙の向き、余白のサイズ、およびプリンタを指定します。「ファイル」>「ページ設定」を選択することにより、「ページ設定」ダイアログを起動することもできます。
    • ヘッダーを印刷」および「フッターを印刷」。ヘッダーとフッターのテキスト、位置、色、およびフォントを指定します。ヘッダーまたはフッターを非表示にするには、それぞれ、「ヘッダーを印刷」チェックボックスまたは「フッターを印刷」チェックボックスの選択を解除します。ヘッダーまたはフッターのパターンテキストを指定するには、位置に対応するフィールド (「左」、「中央」、または「右」) をクリックし、次のいずれかのボタンを選択します。
      たとえば、左下隅にページ番号を付加するには、「ヘッダーを印刷」チェックボックスを選択し、「左」フィールドをクリックし、「ページ番号」アイコンをクリックします。ページのヘッダーまたはフッターの色とフォントを変更するには、「フッターの色を選択」アイコンと「フッターのフォントを選択」アイコンをクリックします。
    • 行番号 。ソースファイルの行番号を印刷するかどうかを指定します。
    • 行を折り返す。行をページに収まるように折り返します。
    • テキストのフォントと色」および「背景色」。ソースファイルなどの印刷時にテキストの色と背景を指定します。
    • ズーム。ページに印刷されるテキストまたは図の倍率を指定します。幅または高さに合わせるか、または特定のズーム倍率を選択できます。
  5. 「了解」をクリックします。

リバースエンジニアリング

BPEL デザイナーを使用すると、ソースファイルを直接編集して、それらの変更をデザインビューに反映させることができます。

ソースを編集する必要が生じる可能性があるのは、次の場合です。

  1. 標準の BPEL 要素セットの一部ではない、ベンダー固有の BPEL 拡張を使用する場合は、ソースビューを使用してください。
  2. デザインビューを通じてコードを生成することができない BPEL 構造を追加しなければならない場合。変数への静的 XML の割り当てなど、現在の「プロパティーエディタ」ダイアログには表示されない、いくつかの極端なケースの BPEL 構造があります。
  3. ソースビューの使用中に、整形式ではない BPEL ソースを修正して保存する場合、デザインビューは、その「壊れた」BPEL の図を描画できません。デザインビューには、「図を表示できません」と記したページが表示されます。ソースビューに戻ってエラーを修正し、修正後、ソースビューで XML の妥当性検査を実行して変更の妥当性検査を行なってください。BPEL ソースを有効な状態に戻すと、デザインビューが再び図を描画できるようになります。

メッセージフローの構成

アクティビティーは、メッセージフローに関わる BPEL アクティビティーを表す、図の要素です。

メッセージフローは、Web サービスアクティビティー (呼び出し、受信、返信) を、パートナーリンク内の対応するアクティビティーと接続する破線です。プロセス間の情報の流れが指定されるので、この関係をメッセージフローと呼びます。

Web サービスアクティビティーをその「プロパティー」ウィンドウで完全に構成すると、アクティビティーとパートナーアクティビティーの間にメッセージフローコネクタが表示されます。

ただし、メッセージフローをユーザーが直接描くこともできます。これを行うには、次の手順に従ってください。

  1. Web サービスアクティビティーを選択します。アクティビティーアイコンの左側に小さい封筒が表示されます。
  2. 封筒のドラッグを開始します。ソースアクティビティーと、ドラッグしている封筒とをつなぐ破線が表示されます。
  3. マウスをターゲットアクティビティーに移動します。ターゲットアクティビティーがソースに対応する場合、マウスカーソルにそのことが示され、マウスを離すことができます。アクティビティー間の接続が確立します。

メッセージフローを直接削除することはできないことに注意してください。Web サービスアクティビティー内でプロパティーの一部を設定解除することで、間接的にメッセージフローを削除することができます。ただし、通常は、メッセージフローを変更して別の関係を作成します。

描画ツールは、BPEL プロセス内の Web サービスアクティビティーからパートナーリンク内の対応するアクティビティーまでの、1 方向でのみ機能することにも注意してください。

メッセージフローの変更

既存のメッセージフローの接続を変更して、異なるターゲットアクティビティーとの新しい接続を確立する場合は、希望のペアリングを使用して接続を初めて作成するかのように実行してください。新しいペアリングを作成すると、IDE が古い接続を自動的に削除します。

パレット要素

パレットに表示される基本的な要素の一覧を次の表に示します。すべての BPEL 要素がパレットにあるわけではなく、いくつかの要素は、図を右クリックしてポップアップメニューから適切なアクションを選択すると作成されます。

パレットマネージャーを使用して、パレット要素の有効化、無効化、および並べ替えができます。パレットマネージャーを開くには、パレット内を右クリックして「パレットマネージャー」を選択します。

要素の種類は次のいずれかです。

  • Web サービス. パートナー Web サービスとの対話形式でのメッセージ交換に使用される要素。
  • 基本アクティビティー. 特定の作業を実行するアクティビティー。
  • 構造化アクティビティー. アクティビティーのセットを正確に順序付けるのに使用される要素。構造化アクティビティーはほかのアクティビティーを含むことができます。
アイコン 要素 定義
Web サービス
呼び出し 呼び出し パートナーによって提供されるポート型に対する単方向操作または要求/応答操作をビジネスプロセスが呼び出せるようにします。このプロセスがパートナーにメッセージを送信できるようにします。操作は、パートナーの WSDL 内で定義されます。
受信 受信 特定のメッセージの着信のブロッキング待機をビジネスプロセスが実行できるようにします。
パートナーリンク パートナーリンク ビジネスプロセスとメッセージを交換する Web サービスを識別します。各パートナーリンクは、そのパートナーリンクのインタフェースによってサポートされる使用可能な Web サービスアクティビティーに対応する子要素を含むようになります。
注: パートナーリンクコンテナにユーザーが要素を直接追加することはしません。デザインビューはパートナーの WSDL を調べて、適切な子要素を自動的にパートナーリンクコンテナに格納します。パートナーリンクを修正しなければならない場合は、パートナーリンクをデザインビューが再描画できるようにパートナー WSDL ファイルを編集します。これによって、修正されたインタフェースが反映されます。
返信 返信 受信を通じて受信されたメッセージに応答して、ビジネスプロセスがメッセージを送信できるようにします。
基本アクティビティー
空 何もしないアクティビティー。フォルトの捕捉と抑止が必要な場合に役立ちます。
待機 待機 特定の時点まで、または指定された期間、待機します。
スロー スロー ビジネスプロセス内からフォルトを生成します。
代入 代入 変数の値を新しい値で更新します。
終了 終了 ビジネスプロセスインスタンスの実行をただちに終了します。
構造化アクティビティー
フロー フロー 1 つまたは複数のアクティビティーを同時実行するよう指定します。
シーケンス シーケンス アクティビティーの集合を、字句順に順次実行することを定義します。
If If 一連の選択肢からアクティビティーの 1 つの分岐を選択します。
ピック ピック 適切なメッセージの着信をブロックして待つか、タイムアウトの満了を待ちます。ピックの本体に指定されたイベントが発生すると、ピックが完了します。実際に発生するのは、ピックの本体内の 1 つのアクティビティーだけです。
スコープ スコープ 入れ子になったアクティビティーと、そのアクティビティー独自の関連するローカル変数、イベントハンドラとフォルトハンドラ、およびメッセージ交換を定義します。
While While 条件が真の間、アクティビティーを繰り返します。条件は、アクティビティーの実行前に検査されます。
Repeat Until Repeat Until 条件が真になるまでアクティビティーを繰り返します。実行後に条件が検査される点が While とは異なります。
For Each For Each アクティビティーを正確に N+1 回、繰り返します。ここで、N は最終カウンタ値から開始カウンタ値を減算した値です。


ページの先頭へ

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by