par Dan Darnell
Cet article donne un aperçu de la programmation des sockets TCP/IP en explorant
la façon de construire une application de suivi Clients (Customer Tracking) qui
parle à l'AS/400. De telles applications illustrent les avantages du modèle client/serveur.
Un avantage de ce modèle d'application consiste dans le fait qu'il place son accès
à la base de données sur l'AS/400, où se trouve un driver JDBC optimisé Outre
les gains de performance potentiels, le fait de transférer la partie accès aux
données des applications sur le serveur peut améliorer leur sécurité.
Un serveur de sockets propriétaire et personnalisé limite les actions potentiellement
dangereuses de la part d'une application client. Une application client utilisant
le driver JDBC de l'AS/400 Toolbox for Java peut accéder à , et mettre à jour,
pratiquement n'importe quel fichier du système (en fonctions des sécurités propres
de l'AS/400). A l'inverse, une application cliente communiquant avec un serveur
de sockets ne peut toucher des fichiers qu'en utilisant le protocole que l'application
serveur définit.
Un exemple de serveur de sockets Java
Les sockets TCP/IP permettent de connecter un client à un serveur pour qu’ils
s’échangent des données. Pour programmer en utilisant des sockets, on crée un
serveur chargé d’écouter et de traiter les requêtes d’un ou plusieurs clients.
Pour se connecter au serveur, le client doit connaître l’adresse IP de la plate-forme
serveur et le port sur lequel l’application serveur est à l’écoute. Un port est
tout simplement un entier entre 1 à 65535 que l’on choisit ; sur un port, l’application
serveur peut être à l’écoute de ses clients, en les distinguant des autres types
d’activité.
Les applications Telnet, par exemple, se connectent toujours au serveur en utilisant
le port 25, le navigateur Web sait que le service HTTP a toujours lieu sur le
port 80. Mon exemple d’application Customer Tracking (dont je parlerai dans un
moment) utilise 8500, que j’ai choisi arbitrairement comme numéro de port. Le
seul inconvénient du choix d’un port est que les nombres de 1 à 1023 sont réservés
à des standards notoires comme Telnet et HTTP. Normalement, les applications peuvent
utiliser en toute sécurité tout numéro de port compris entre 1024 et 65535.
Une connexion par sockets fournit des flux d’entrée et de sortie permettant de
lire et d’écrire facilement des données entre systèmes, tout comme on lit et écrit
des données en utilisant des fichiers stream (c’est-à -dire, des fichiers dans
l’IFS). Allons un peu plus loin : en utilisant la fonction de sérialisation de
Java, on peut utiliser des flux socket pour échanger des objets entiers entre
systèmes.
Un serveur doit être capable de recouvrir des threads multiples, au moins
un thread par client, afin que des communications puissent se dérouler simultanément.
En Java, il est facile de créer une application serveur de sockets capable de
servir un client unique. Malheureusement, pour aller au-delà d’un seul client,
il faut une programmation bien plus élaborée. Pour pouvoir traiter des clients
multiples, un serveur doit être capable de recouvrir des threads multiples, au
moins un thread par client, afin que des communications puissent se dérouler simultanément.
La figure 1 présente un serveur de sockets écrit de telle sorte que des clients
multiples puissent se connecter en même temps. Un seul serveur écoute sur un port
unique les clients qui se connectent, mais un objet de communication sockets threaded
distinct est déployé pour traiter chaque client.
Téléchargez cette ressource
Travail à distance – Guide complet pour les Directions IT et Métiers
Le travail à distance met à l'épreuve la maturité numérique des entreprises en termes de Cybersécurité, d'espace de travail, de bien-être des collaborateurs, de communication et gestion de projet à distance. Découvrez, dans ce nouveau Guide Kyocera, quels leviers activer prioritairement pour mettre en place des solutions de travail à domicile efficaces, pérennes et sécurisées.
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Une baie de stockage c’est quoi ?
Les plus consultés sur iTPro.fr
- Facturation électronique : les craintes des entreprises liées à la réforme
- Cyber-assurances, priorité ou faux remède pour les TPE et PME ?
- Success Stories : 3 histoires et 3 Intelligences Artificielles
- NIS2: cauchemar des décideurs européens pour la conformité
- Fossé entre exigences professionnelles et compétences