quinta-feira, 18 de agosto de 2016

MuleSoft Estrutura e linguagem

Bom vamos lá.

Vou falar um pouco da estrutura do MuleSoft e sua linguagem.

O Mulesoft usa o MEL como sua linguagem.

Vamos falar um pouco sobre:

Mule Expression Language (MEL)

MEL é uma linguagem de expressão leve, específicos de mula que você pode usar para acessar e avaliar os dados na carga útil, propriedades e variáveis ​​de uma mensagem Mule. Acessíveis e utilizáveis ​​a partir de praticamente todos processador de mensagens em Mule, MEL permite agir rapidamente e filtro elegantemente, rota, ou de outra forma sobre as diferentes partes do objeto de mensagem Mule.

Pré-requisitos
Este documento assume que você está familiarizado com Mule ESB e seus conceitos básicos. Considere a leitura do capítulo, primeiros 30 minutos com Mule ganhar familiaridade antes de prosseguir.

Benefícios do Uso de MEL
Era uma vez, quando o desenvolvimento de aplicações de mula, você teria tido pouca outra opção além de usar uma linguagem de script, como Groovy ou uma linguagem de programação como Java, para manipular o conteúdo de um objeto de mensagem. Embora eficaz, o uso dessas línguas nem sempre foi eficiente porque não havia nenhum método consistente e padronizada para avaliar expressões.

Digite MEL, uma linguagem de expressão que fornece uma maneira consistente, padronizada para os desenvolvedores a trabalhar com carga útil, propriedades e variáveis ​​de uma mensagem Mule. Ele faz uso de objetos de contexto Mule específicos de, é fácil de usar (auto-completar em todos os lugares!) E ele se comporta bem quando testar seu aplicativo. Além disso, e mais importante, MEL impõe consistência ao acessar informações sobre a mensagem: em vez de usar vários avaliadores de expressão, você pode usar MEL, o avaliador de expressão padrão, para acessar de forma consistente e manipular a informação.


Expression MEL #[payload.cpf]















XML Gerado

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:sfdc="http://www.mulesoft.org/schema/mule/sfdc" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/sfdc http://www.mulesoft.org/schema/mule/sfdc/current/mule-sfdc.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
    <sfdc:config name="Salesforce__Basic_Authentication" username="${sales.user}" password="${sales.password}" securityToken="${sales.token}" doc:name="Salesforce: Basic Authentication"/>
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
    <flow name="query_in_salesforce_with_cpfFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/" metadata:id="77c3ec7a-1f21-4d5c-9e84-31e5923a4fd4" doc:name="HTTP"/>
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
cpf:payload.CPF
}]]></dw:set-payload>
        </dw:transform-message>
        <set-variable variableName="variavelCPF" value="#[payload.cpf]" doc:name="Variable"/>
        <sfdc:query config-ref="Salesforce__Basic_Authentication" query="dsql:select id , Nome__c, CPF__c, Idade__c from Informacoes__c where CPF__c = #[flowVars.variavelCPF]" doc:name="Salesforce"/>
        <dw:transform-message metadata:id="dc0aa15c-8bcd-4db9-85fb-e560187db077" doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%input paayload application/java
%output application/json
---
payload]]></dw:set-payload>
        </dw:transform-message>
        <logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

Bom pessoal Obrigado a todo.

Nenhum comentário:

Postar um comentário