

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Noções básicas sobre a arquitetura do sistema de mensagens do SDK do Amazon Chime
<a name="messaging-architecture"></a>

Você pode usar o Mensagens do SDK do Amazon Chime como um SDK do lado do servidor e do lado do cliente. O lado do servidor APIs cria um e. `AppInstance` `AppInstanceUser` Você pode usar vários hooks e configurações para adicionar lógica de negócios e validação específicas do aplicativo. Para obter mais informações sobre fazer isso, consulte [Fazer streaming de dados do sistema de mensagens no SDK do Amazon Chime](streaming-export.md). Além disso, os processos do lado do servidor podem chamar APIs em nome de um dedicado ou controlar um `AppInstanceUser` dedicado `AppInstanceUser` que represente processos de back-end.

Os aplicativos do lado do cliente representados como um `AppInstanceUser` podem chamar o sistema de mensagens do Amazon Chime SDK diretamente. APIs Os aplicativos do lado do cliente usam o WebSocket protocolo para se conectar ao SDK de mensagens quando estão on-line. Quando conectados, eles recebem mensagens em tempo real de qualquer canal do qual sejam membros. Quando desconectado, o an `AppInstanceUser` ainda pertence aos canais aos quais foi adicionado e pode carregar o histórico de mensagens desses canais usando o SDK baseado em HTTP. APIs

Os aplicativos do lado do cliente têm permissões para fazer chamadas de API como um único `AppInstanceUser`. Para definir o escopo das credenciais do IAM para um único aplicativo do lado do cliente`AppInstanceUser`, assume uma função parametrizada do IAM por meio de Pools de Identidade do AWS Cognito ou por uma pequena API de back-end auto-hospedada. Para obter mais informações sobre a autenticação, consulte [Autenticar aplicações cliente do usuário final para o sistema de mensagens do SDK do Amazon Chime](auth-client-apps.md). Por outro lado, os aplicativos do lado do servidor geralmente têm permissões vinculadas a um único usuário da instância do aplicativo, como um usuário com permissões administrativas, ou têm permissões para fazer chamadas de API em nome de todos os usuários da instância do aplicativo. 