La classe côté serveur RemoteDatabase Server met en oeuvre l'interface RemoteDatabaseServerInf afin que classe côté client puisse envoyer un objet java.rmi.Remote vers la classe côté serveur en utilisant l'interface. Elle étend la classe Java java.rmi.server. UnicastRemoteObject, ce que vous devez faire pour tous les objets Java à distance si vous
La classe Java côté serveur
utilisez RMI. Cette méthode
vous permet d’utiliser le code
déjà présent, ce qui est toujours judicieux.
La méthode main() de la classe démarre
le RMI Registry, crée une instance
de la classe RemoteDatabase-
Server, puis lie cette instance au RMI
Registry. Ensuite, elle attend une requête
de la part du client. La méthode
envoie des messages à la sortie standard
pour vous indiquer ce qui se
passe et pour vous informer d’erreurs
éventuelles.
RMI requiert que la classe à distance
ait un constructeur de classe. Le
constructeur de classe doit émettre
une erreur java.rmi.Remote Exception
et exécuter le constructeur de la superclasse.
Le constructeur RemoteDatabase-
Server définit le gestionnaire de sécurité
d’après le gestionnaire de sécurité
RMI. Côté serveur, le gestionnaire de
sécurité RMI empêche le processus
serveur d’endommager la machine
hôte et empêche tout client d’utiliser
le serveur de manière malveillante. Le
constructeur obtient ensuite une
connexion avec la base de données en
utilisant la méthode getDatabase
Connection().
Toute l’action se déroule dans la
méthode getInvoice(). Quand la classe
Java côté client invoque un appel à distance
vers cette méthode, un driver
JDBC-ODBC extrait la facture requise de la base de données. Si un enregistrement
est extrait correctement, la
méthode crée un objet Invoice pour
encapsuler l’information de facture. Si
une facture n’est pas trouvée, une référence
nulle à un objet Invoice est renvoyée
à l’appelant.
A noter que la méthode getInvoice-
() est définie comme une méthode
synchronisée parce que le serveur
peut être appelé simultanément par
plus d’un client. RMI traitera automatiquement
des requêtes multiples, mais
en rendant getInvoice() synchronisé,
nous verrouillons la méthode pour la
protéger contre un accès synchrone :
ainsi, deux requêtes de client ne pourront
pas se gêner mutuellement.
Chaque requête client devra attendre
que la requête client précédente ait été traitée, avant de pouvoir accéder à la
méthode getInvoice().
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Communication d’entreprise : la voix s’impose à nouveau comme canal critique à l’ère de l’IA
- Réforme de la facturation électronique : une préparation largement théorique
- Le futur de la cryptographie post-quantique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
