Histórico da Página
HTML |
---|
<link rel="stylesheet" href="/download/attachments/419548451/TotvsApiDoc.css?version=18&modificationDate=1545415351680&api=v2">
<script src="/download/attachments/419548451/TotvsApiDoc.min.js?version=1&modificationDate=1545939893691&api=v2"></script>
<script src="/download/attachments/419548451/TotvsApiDocCustom_Auto.js?version=51&modificationDate=1546542702197&api=v2"></script>
<div id="container1" class="TotvsApiDoc-wrapper" style="position: relative;"> </div> |
HTML |
---|
<div id="containerIntroducao" class="TotvsApiDoc_Tab" data-tabid="a_Introducao" data-titulo="Associações (Bindings)" data-current="current" style="display:none"> |
Associações (Bindings)
As associações especificam o mecanismo de comunicação a ser usado ao se comunicar com um ponto de extremidade e também indicam como se conectar a esse ponto de extremidade. Uma associação contém os seguintes elementos:
...
Na imagem abaixo estão apresentadas quatro associações que o RM dá suporte e suas caracteristicas.
...
HTML |
---|
</div>
<div class="img-div-description">
Associações as quais o RM dá suporte.
</div>
</div> |
...
HTML |
---|
<div id="containerReliableSessionNoRM" class="TotvsApiDoc_Tab" data-tabid="a_ReliableSessionNoRM" data-titulo="Canais do WCF (Channels)" data-current="" style="display:none"> |
Canais do WCF (Channels)
Os elementos de associação (Binding Elements) lêem as configurações tanto do lado client quanto do lado server e montam a Fábrica de Canais (Channel Factory) e os Ouvintes o Ouvinte de Canais (Channel Listener) respectivamente. Isso deve colocar A ordem recomendada para os elementos de associação na ordem correta. A ordem recomendada é:
- Fluxo de Transações (TransactionFlow),
- Sessões Confiáveis (ReliableSession),
- Segurança,
- CompositeDuplex,
- OneWay,
- StreamSecurity,
- Codificação de Mensagem (MessageEncoding)
- Transporte.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
...
A imagem abaixo ilustra o relacionamento entre o ChannelListener e o ChannelFactory no WCF. O ouvinte de canais cria o canal no lado server e a fábrica de canais cria no lado client.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Relação entre o ChannelListener e o ChannelFactory.
</div>
</div> |
HTML |
---|
</div"> |
...
A forma de comunicação adotada é a Request-Reply (Requisição-Resposta). Essa forma de comunicação faz com que cada parte da comunicação veja o canal. O cliente usa o canal para enviar requisições, então é natural que ele o veja como um IRequestChannel. Do outro lado, o servidor recebe as requisições pelo canal e quer usá-lo para enviar de volta ao cliente, então ele o vê como um IReplyChannel.
Sessões Confiáveis no RM
Nas versões 12.1.22 (ou superiores) do RM foi habilitado a funcionalidade de Sessão Confiável,que fornece transferência confiável de ponta a ponta de mensagens entre uma origem e um destino usando o protocolo WS-Reability de mensagens, independentemente do número ou tipo de intermediários que separam os pontos de extremidade de mensagens (origem e destino). Isso inclui qualquer intermediário de transporte que não usa SOAP (por exemplo, proxies HTTP) ou intermediários que usam o SOAP (por exemplo, roteadores baseados em SOAP ou pontes) que são necessários para que as mensagens fluam entre os pontos de extremidade. Sessões confiáveis usam uma janela de transferência na memória para falhas de nível de mensagem SOAP e restabelecer as conexões no caso de falhas de transporte.
Nas versões 12.1.22 e 12.1.23 foi habilitado a sessão confiável nativa do WCF, enquanto que na 12.1.24 (ou superiores), uma nova sessão confiável customizada foi implementada, com o objetivo de não só manter a conexão ativa, mas redirecionar as requisições para diferentes hosts, se caso existirem e estiverem ativos.
Na imagem abaixo é mostrado um diagrama de como a requisição é feita entre o cliente e o servidor, mostra também a resiliência entre eles, ou seja, caso uma conexão seja perdida, o pacote é remontado e enviado à um host aleatório, que poderá ser o mesmo host da primeira requisição, caso esteja ativo, ou outro host disponível e habilitado para receber a requisição e processá-la.
Mensagem do RM
Caso haja alguma falha de comunicação, e não seja possível obter uma resposta o RM irá apresentar a seguinte mensagem:
Estamos com dificuldade em comunicar com o Host. Aguarde enquanto tentamos recuperar...