Sobre a Amostra Solar Pattern Authoring

Esta amostra cria um padrão Solar para calcular vários horários de nascer do sol e pôr do sol para uma data específica e posição da Terra.

A data é fornecida em uma mensagem XML do WebSphere MQ e a posição é especificada quando o padrão Solar é usado pelo usuário do padrão para gerar uma instância. Cada instância do padrão possui a variável de posição especificada.

A saída é uma mensagem XML do WebSphere MQ que contém os seguintes detalhes:

A amostra do Solar Pattern Authoring é usada para demonstrar os seguintes recursos de autoria padrão:

Propriedades de destino
Expondo as propriedades definidas pelo usuário como propriedades de destino em um padrão.
Enumerações
Criando uma enumeração, que é apresentada como uma lista suspensa. Os valores da enumeração contêm a latitude e a longitude, delimitados por um espaço.
Transformações
Usando as expressões de sequência XPath para extrair a latitude e a longitude da enumeração para transformar as propriedades de destino de Latitude e Longitude nos parâmetros.
Ativação
Usando as expressões de sequência XPath para ativar as propriedades de destino de Latitude e Longitude quando a seleção de enumeração é Local Customizado e para desativá-los quando um local é selecionado a partir da enumeração.

Essa amostra utiliza um fluxo de mensagens e abrange as seguintes ações:

  1. Um nó MQInput recebe uma mensagem XML que contém uma data no Coordinated Universal Time (UTC) a partir da fila do SOLAR WebSphere MQ.
  2. Um nó PHPCompute é usado para extrair a data da mensagem de entrada, coletar os valores de Latitude e Longitude a partir das Propriedades Definidas pelo Usuário (UDPs), calcular os horários de nascer do sol e de pôr do sol e anexá-los na mensagem XML.
  3. Um nó MQOutput envia a mensagem XML aumentada para a fila WebSphere MQ SUNSETSUNRISETIMES.

Esquema XML para a mensagem

<?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>

Exemplo XML da mensagem de entrada

<?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>

Voltar para Home da Amostra