

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comprendre l'architecture de messagerie du SDK Amazon Chime
<a name="messaging-architecture"></a>

Vous pouvez utiliser la messagerie du SDK Amazon Chime en tant que SDK côté serveur et côté client. Les API côté serveur créent un `AppInstance` et. `AppInstanceUser` Vous pouvez utiliser différents hooks et configurations pour ajouter une logique métier et une validation spécifiques à l'application. Pour plus d'informations à ce sujet, consultez[Diffusion de données de messagerie dans la messagerie du SDK Amazon Chime](streaming-export.md). En outre, les processus côté serveur peuvent appeler des API pour le compte d'un `AppInstanceUser` ou contrôler un service dédié représentant `AppInstanceUser` les processus principaux.

Client-side les applications représentées par un `AppInstanceUser` peuvent appeler directement les API de messagerie du SDK Amazon Chime. Client-side les applications utilisent le WebSocket protocole pour se connecter au SDK de messagerie lorsqu'elles sont en ligne. Lorsqu'ils sont connectés, ils reçoivent des messages en temps réel de tous les canaux dont ils sont membres. Lorsqu'il est déconnecté, il appartient `AppInstanceUser` toujours aux canaux auxquels il a été ajouté et il peut charger l'historique des messages de ces canaux à l'aide des API HTTP du SDK.

Client-side les applications sont autorisées à effectuer des appels d'API en tant que seule application`AppInstanceUser`. Pour limiter les informations d'identification IAM à une seule`AppInstanceUser`, les applications côté client assument un rôle IAM paramétré via les pools d'identités AWS Cognito ou via une petite API principale auto-hébergée. Pour de plus amples informations sur l'authentification, veuillez consulter [Authentification des applications clientes des utilisateurs finaux pour la messagerie du SDK Amazon Chime](auth-client-apps.md). En revanche, les applications côté serveur ont généralement des autorisations liées à un seul utilisateur d'instance d'application, tel qu'un utilisateur disposant d'autorisations administratives, ou elles sont autorisées à effectuer des appels d'API au nom de tous les utilisateurs de l'instance d'application. 