Definição da Regra de Negócio
Criar um novo WebService, chamado de SynchronizationIntegrationServiceBean, para expor as seguintes consultas:
- Retornar todas as chaves externas inclusas no TSA;
- Retornar todas as chaves externas não inclusas no TSA;
Para isso, o sistema externo deve informar quais chaves que a consulta deve levar em consideração e qual tipo de informação (tabela).
Operação externalKeysInserted
Verifica quais chaves externas passadas na lista de chaves externas como parâmetro estão inclusas no TSA.
Retorna apenas as chaves que já estão inseridas no TSA. Sendo assim, o sistema não necessita inserir novamente as informações que já estão no TSA, levando em consideração apenas as informações das chaves externas não retornadas.
Exemplo de Aplicação:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:syn="http://synchronization.tsa.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<syn:externalKeysInserted>
<table>UNIT</table>
<externalKey>1</externalKey>
<externalKey>2</externalKey>
<externalKey>TA-UNIT1</externalKey>
<externalKey>TA-UNIT2</externalKey>
</syn:externalKeysInserted>
</soapenv:Body>
</soapenv:Envelope>
Operação externalKeysNotInserted
Verifica quais chaves externas passadas na lista de chaves externas como parâmetro NÃO estão inclusas no TSA.
Retorna apenas as chaves que não foram encontradas no TSA. Através desta operação, o sistema externo poderá consultar apenas as informações que ainda não estão no TSA.
Exemplo de Aplicação:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:syn="http://synchronization.tsa.totvs.com/">
<soapenv:Header/>
<soapenv:Body>
<syn:externalKeysInserted>
<table>ABSENCEREASONS</table>
<externalKey>1</externalKey>
<externalKey>2</externalKey>
<externalKey>TA-ABS1</externalKey>
<externalKey>TA-ABS2</externalKey>
</syn:externalKeysInserted>
</soapenv:Body>
</soapenv:Envelope>
Com estas operações o sistema externo poderá descobrir quais informações já estarão inclusas ou não no TSA.