Le modèle de courtier est un modèle architectural qui peut être utilisé pour structurer des systèmes logiciels distribués avec des composants découplés qui interagissent par des appels de procédure à distance . Un composant de courtier est responsable de la coordination des communications, telles que la transmission des demandes, ainsi que de la transmission des résultats et des exceptions.
Définition
Le modèle de courtier est un modèle d'architecture qui implique l'utilisation d'une entité logicielle intermédiaire, appelée « courtier », pour faciliter la communication entre deux ou plusieurs composants logiciels. Le courtier agit comme un « intermédiaire » entre les composants, leur permettant de communiquer sans avoir connaissance de l'existence de l'autre.
Dans le modèle broker, le broker est responsable de la réception des messages d'un composant et de leur transmission au destinataire approprié. Les composants qui communiquent via le broker sont appelés serveurs ou clients. Le broker peut également effectuer des tâches supplémentaires, telles que le filtrage, la modification des messages, la garantie d'une qualité de service (QoS) (par exemple 0 pour « au plus une fois »), la sécurité ou la fourniture de services supplémentaires aux composants logiciels.
Le modèle de courtier permet aux composants de rester découplés et concentrés sur leurs propres responsabilités, tout en étant capables de communiquer et de collaborer avec d'autres composants du système. Il peut également être utilisé pour réduire le nombre de dépendances entre les composants, rendant le système plus flexible et plus facile à entretenir.
Terminologie
Courtier
- Maintenir une table de routage des composants logiciels enregistrés.
- Maintenez une table de filtrage pour rediriger les messages en transit vers les bons composants logiciels.
- Peut assurer des fonctionnalités supplémentaires telles que la sécurité des informations et la qualité de service .
Serveur
- Composants logiciels responsables de l'envoi d'un message.
- On l'appelle aussi éditeur .
Client
- Composants logiciels qui se sont abonnés et attendent un message spécifique.
- On peut également l’appeler consommateur ou abonné.
Avantages
Source :
- Modifications dynamiques, ajouts, suppressions et déplacements de composants possibles.
- Une source de communication avec le courtier, qui définit l'interface.
- Les composants n’ont pas besoin de se connaître.
Inconvénients
- Un composant central qui doit être robuste et écrit efficacement.
- Aucune cohérence des données des messages transmis.
Mise en œuvre concrète du modèle
Confusions autour du modèle
Le modèle de courtier et le modèle de publication-abonnement présentent certaines similitudes et sont parfois confondus. Néanmoins, en ce qui concerne la représentation, il existe quelques différences fondamentales :
- Le modèle architectural Broker est représenté par un diagramme Plusieurs vers Un vers Plusieurs .
- Le modèle architectural de publication-abonnement est représenté par un diagramme plusieurs à plusieurs . Ici, les fonctionnalités de messagerie sont masquées en tant que préoccupation transversale .