El ejemplo Nodo .NETCompute filtra, modifica y transforma mensajes utilizando código que se ha escrito en C#. Puede utilizar el nodo .NETCompute en intermediarios de Windows para construir mensajes de salida e interactuar con aplicaciones de Microsoft .NET Framework (.NET) o de Modelo de objetos componentes (COM).
El ejemplo utiliza nodos .NETCompute cuyo código se ha escrito en C# y luego se ha incorporado a un ensamblado (con extensión .dll) utilizando Microsoft Visual Studio 2010. WebSphere Message Broker instala Plantillas en Microsoft Visual Studio, que proporcionan una estructura de método Evaluate básica a la que un desarrollador de flujos puede añadir luego su propio código. Este es un concepto similar al del nodo Compute, el nodo JavaCompute y el nodo PHPCompute. Puede que los lectores de este ejemplo no tengan acceso a una instalación de Microsoft Visual Studio, por lo que se proporciona un archivo de ensamblado precompilado. Esto significa que incluso sin Microsoft Visual Studio, puede igualmente desplegar y ejecutar el ejemplo. El tema Preparación para el despliegue del ejemplo de Nodo .NETCompute describe el lugar donde se encuentra el archivo de ensamblado y cómo se puede utilizar. El ejemplo también proporciona el código fuente en C#, el cual puede ver aquí.
Una empresa minorista tiene varias tiendas en distintos lugares de una ciudad. Las tiendas realizan transacciones de venta durante todo el día. Cada transacción da lugar a un mensaje XML que se direcciona a una cola de entrada en una oficina central de TI. Las tiendas también están introduciendo un programa de fidelización de clientes. Para cada registro de cliente en el programa de fidelización, se envía un mensaje XML en un formato diferente (que contiene los detalles personales del cliente) a la misma cola de entrada. La empresa ha decidido utilizar WebSphere Message Broker para procesar los mensajes. El direccionamiento y las transformaciones que se utilizan en la solución demuestran las funciones del nodo .NETCompute.
El flujo de mensajes utilizado es:
Los mensajes pasan a través del flujo de mensajes de la siguiente manera:
Las secciones siguientes incluyen ejemplos de los dos tipos distintos de mensajes XML de prueba de entrada (SaleEnvelope y LoyaltyProgram). Los mensajes de salida se incluyen en la sección Ejecutar el ejemplo.
<SaleEnvelope> <Header> <SaleListCount>1</SaleListCount> </Header> <SaleList> <Invoice><Initial>K</Initial> <Initial>A</Initial> <Surname>Braithwaite</Surname> <Item><Code>00</Code> <Code>01</Code> <Code>02</Code> <Description>Twister</Description> <Category>Games</Category> <Price>00.30</Price> <Quantity>01</Quantity> </Item> <Item> <Code>02</Code> <Code>03</Code> <Code>01</Code> <Description>The Times Newspaper</Description> <Category>Books and Media</Category> <Price>00.20</Price> <Quantity>01</Quantity> </Item> <Balance>00.50</Balance> <Currency>Sterling</Currency> </Invoice> <Invoice> <Initial>T</Initial> <Initial>J</Initial> <Surname>Dunnwin</Surname> <Item> <Code>04</Code> <Code>05</Code> <Code>01</Code> <Description>The Origin of Species</Description> <Category>Books and Media</Category> <Price>22.34</Price> <Quantity>02</Quantity> </Item> <Item> <Code>06</Code> <Code>07</Code> <Code>01</Code> <Description>Microscope</Description> <Category>Miscellaneous</Category> <Price>36.20</Price> <Quantity>01</Quantity> </Item> <Balance>81.84</Balance> <Currency>Euros</Currency> </Invoice> </SaleList> <Trailer> <CompletionTime>12.00.00</CompletionTime> </Trailer> </SaleEnvelope>
<LoyaltyProgram xmlns:applicant="http://www.example.org/applicant" xmlns:store="http://www.example.org/store"> <applicant:ApplicantDetails> <applicant:FirstName>Ben</applicant:FirstName> <applicant:LastName>Thompson</applicant:LastName> <applicant:HouseNo>1</applicant:HouseNo> <applicant:Street>Happiness Avenue</applicant:Street> <applicant:Town>Grumpyville</applicant:Town> </applicant:ApplicantDetails> <store:StoreDetails> <store:StoreID>001</store:StoreID> </store:StoreDetails> </LoyaltyProgram>
Después de haber importado y desplegado el ejemplo, puede ejecutarlo siguiendo las instrucciones de la sección Ejecutar el ejemplo.