Solar Pattern Authoring サンプルについて

このサンプルでは、地球上の特定の日付と位置に対応した日の出と日没のそれぞれの時刻を計算する Solar パターンを作成します。

日付は、WebSphere MQ XML メッセージで用意し、位置は、パターン・ユーザーが Solar パターンを使用してインスタンスを生成するときに指定します。パターンの各インスタンスで、位置変数を指定することになります。

出力は、以下の詳細が含まれている WebSphere MQ XML メッセージです。

Solar Pattern Authoring サンプルを使用して、以下のパターン・オーサリング機能のデモを実行します。

ターゲット・プロパティー
パターンでユーザー定義プロパティーをターゲット・プロパティーとして公開します。
列挙
列挙を作成します (列挙はドロップダウン・リストとして表示されます)。列挙の各値には、緯度と経度の両方が入ります (緯度と経度をスペースで区切った形です)。
変換
XPath ストリング式を使用して、列挙から緯度と経度を抽出し、ターゲット・プロパティー「緯度」「経度」をパラメーターに変更します。
有効化
XPath ストリング式を使用して、列挙の選択項目が「カスタム・プレース」の場合にターゲット・プロパティー「緯度」「経度」を有効にし、列挙の選択が特定の場所の場合に無効にします。

このサンプルでは 1 つのメッセージ・フローが使用され、以下のアクションが取り上げられます。

  1. MQInput ノードは、協定世界時 (UTC) の日付が含まれている XML メッセージを SOLAR WebSphere MQ キューから受け取ります。
  2. PHPCompute ノードを使用して、着信メッセージから日付を抽出し、ユーザー定義プロパティー (UDP) から「緯度」「経度」の値を収集し、日の出と日没の時刻を計算し、その時刻の情報を XML メッセージに追加します。
  3. MQOutput ノードは、そのようにして補強した XML メッセージを SUNSETSUNRISETIMES WebSphere MQ キューに送信します。

メッセージの XML スキーマ

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://caspian.hursley.ibm.com"
  xmlns:solar="http://caspian.hursley.ibm.com" elementFormDefault="qualified">
  <element name="sun">
    <complexType>
      <sequence>
        <element name="dateQuery" type="date"/>
        <element name="sunEventTime" minOccurs="0" maxOccurs="1">
          <complexType>
            <sequence>
              <element name="sunrise" type="date"/>
              <element name="sunset" type="date"/>
              <element name="transit" type="date"/>
              <element name="civil_twilight_begin" type="date"/>
              <element name="civil_twilight_end" type="date"/>
              <element name="nautical_twilight_begin" type="date"/>
              <element name="nautical_twilight_end" type="date"/>
              <element name="astronomical_twilight_begin" type="date"/>
              <element name="astronomical_twilight_end" type="date"/>
            </sequence>
          </complexType>
        </element>
      </sequence>
    </complexType>
  </element>
</schema>

入力メッセージの XML の例

<?xml version="1.0" encoding="UTF-8"?>
<solar:sun xmlns:solar="http://caspian.hursley.ibm.com"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://caspian.hursley.ibm.com solar.xsd">
  <solar:dateQuery>2010-04-15</solar:dateQuery>
</solar:sun>

サンプルのホームに戻る