Avez-vous entendu parler du terme - MIDDLEWARE?
C'est la couche applicative que vous mettez
"au milieu" de votre logiciel d'architecture
multi-tiered, autorisant les diverses couches ou
"Tiers" à communiquer. Middleware
est "la colle" utilisée pour créer des programmes
Client/Serveur efficaces et évolutifs à plusieurs tiers.
J'ai développé une structure middleware appelée
MidWare. Elle consiste en un jeu de composants
et unités qui vous permettent de créer une application
serveur et l'application cliente correspondante en
quelques minutes. Tout ça sans s'inquiéter des connexions
clientes, du formatage des données et autres détails,
qui font qu'un programme Client/Serveur multi-tiered
est si difficile à écrire. MidWare inclut également
des modules CGI, ISAPI et ASP pour
des applications Web.
Voir la page de
Technologie MidWare du Web.
- Comment ça marche?
Une application serveur MidWare est basé sur:
- Un composant Serveur
- Un Courtier de Demande d'Objet (ORB Object Request Broker)
- Un jeu d'objets serveur que vous écrivez
Une Application cliente MidWare est basée sur:
- Une ou plusieurs applications serveur et des objets clients
- Un ou plusieurs objets
TMWBuffer
- Zéro ou plusieurs objets
TMWTable
Les illustrations suivantes sont disponibles pour
montrer les concepts de base de la technologie
des composants MidWare:
MidWare est distribué comme graticiel et contient un
fichier d'aide complet plus le code source pour tous
les composants MidWare et beaucoup d'applications
exemples. Le code source est très largement commenté,
vous devez donc lire le source avec attention et
essayer de comprendre comment ça fonctionne. Si
vous avez des questions, un
forum
est disponible pour le support.
- Note de Compatibilité:
Tous les composants et les applications exemples sont
compatibles avec Delphi 2, 3, 4,
5 et C++Builder 1, 3, 4
- à l'exception du composant TMWTable,
qui utilise de nouvelles fonctionnalités introduites
dans Delphi 3 et n'est pas compatible avec
Delphi 2 ou C++Builder 1.0
Vous trouverez ci-dessous une liste des composants et
des applications exemples contenues dans la distribution
MidWare:
| Composants MidWare |
Description |
| TMWTable |
Un composant du genre
TTable/TQuery
(descendant de TDataSet),
qui peut être lié à un TDataSource
et utilisé avec des composants d'accés aux bases
de données comme le DBGrid,
le DBNavigator ou autres. |
| TMWBuffer |
Un composant qui est capable de gérer un
nombre variable d'enregistrements comptant
un nombre variable de champs, chacun contenant
une chaine de caractères de longueur variable.
Tout est variable. Ce composant est utilisé
pour formater la requête du Client au Serveur
et pour formater la réponse du Serveur au Client. |
| TAppSrvClient |
Un composant qui se connecte au Serveur,
envoie des requêtes et récupère les réponses.
Il utilise un TMWBuffer
pour gérer la requête et est lié à un
TMWBuffer pour retourner
le résultat. |
| TAppServer |
Un composant qui est le noyau du serveur.
TAppServer autorise un
nombre illimité de clients simultanés.
(seulement limité par les ressources système).
Ce composant utilise le composant
TWSocket pour
communiquer avec les clients utilisant le
protocole TCP/IP. TWSocket est un composant
ICS. |
| TRequestBroker |
Un composant qui gère l'instanciation à
l'intérieur du Serveur (appelé Courtier de
Demande d'Objet, ORB). Chaque requête est
traitée par un objet Serveur. L'ORB
est responsable de l'instanciation et de la
destruction de l'objet, demandés par les
clients connectés. |
| TServerObject |
Un composant de base qui est employé comme
ancêtre pour dériver les nouveaux composants
qui exécutent les tâches nécessaires pour
donner satisfaction à la requête du client demande. |
| TWSocket |
Composant winsock de base. Entièrement
event-driven and multi-thread safe. Il supporte
TCP, UDP et peut être utilisé pour
des programmes clients ou serveurs. Cliquez ici
pour une introduction à TCP et UDP.
TWSocket est un composant
ICS. |
| Applications exemples |
Description |
| SrvTst |
Un exemple de serveur avec beaucoup de fonctions
incorporées. Chaque fonction est basée sur un
TServerObject. Les
divers objets serveur montrent comment faire
une opération simple (conversion en majuscule),
comment utiliser un thread pour un long processus,
comment utiliser un TTable
et comment utiliser un
TQuery. |
| SrvDemo |
Un exemple de serveur qui utilise un composant
visuel TServerObject.
La clef est
ServerObjectSQLTHREAD,
qui montre comment utilisé un
TServerObject multithreadé,
et qui est capable d'exécuter de longues requêtes
SQL en arrière-plan. |
| CliTst |
Un exemple d'application cliente montrant
comment utiliser un objet côté Client pour
executer une requête, l'envoyer à l'application
serveur et récupérer le résultat. Cette
démonstration montre également comment traverser
un firewall ou un proxy utilisant le protocole
SOCKS5. |
| BioLife |
Un exemple de client qui montre comment utiliser
des champs mémo et des champs image
(blobs) avec MidWare. Il utilise
l'exemple bien connu de base de données
BioLife de Delphi. |
| TblTst |
Un exemple de client qui montre comment utiliser
un DBGrid et un
DBNavigator pour
visualiser le résultat d'une application serveur. |
| BufTst |
Un programme simple pour montrer comment manipuler
le composant TMWBuffer. |
| ChatSrv |
Un serveur simple de chat multi-utilisateurs,
utilisé avec l'application compagnon
ChatCli (voir ci-dessous).
Il montre comment MidWare peut être employé
comme système de communication générique. |
| ChatCli |
Application exemple de client pour
ChatSrv (voir ci-dessus). |
|
|
|