Produits - MidWare
Dernière distribution: 16 août 2010
Dernière beta : aucune


      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).