-
Base de données en java
Bonjour, je me présente "Kimenguman" (Kimen pour les intimes ;) )
Je suis débutant (très débutant) en java et en cours nous devons réaliser un programmeen java pour gérer des serveurs (3 classes : Machine, Système d'exploitation, et Services (ex : serveur web, serveur de données, ...); possibilité d'ajouter/supprimer des machines, services ou OS, ...).
Le problème c'est que j'ai cherché sur le net (probablement MAL cherché, et je m'en excuse) et pas moyen de trouver de tutoriel pour créer un programme (genre de base de données) en java.
Je ne souhaite pas qu'on me fasse l'exercice pour moi mais plutôt qu'on m'aide à faire une "base de données" en java.
Si une âme charitable est disposée à me filer un coup de main je lui en serai très reconnaissant, et lui expliquerai les 2 ou 3 difficultés supplémentaires de l'exercice.
Merci d'avance.
-
Bonjour,
donc, faire une base de donnée, non ! trop de boulot, trop de bon concurrent (des payants, des gratuits) qui font plus de chose que tu n'as besoin.
Je pense (mais c'est peut etre une connerie) que la vrai question est comment stocker des informations permenantes (qui existeront au prochain demarage de ton appli).
Pour faire ca plusieurs solutions :
- fichier type ".ini" (ca doit pas etre la meilleur solution)
- fichier XML
- utiliser une base de données existante et gratuite (pour Win : MySql, pour UNIX/Linux j'ai une préférence pour PostGresSQL, bien que les deux fonctionnent sur les 2 OS)
dis moi si je suis sur la bonne piste ;)
-
En effet, comme le dit BainE, ca ne te sert à rien de créer ta propre solution de persistance, ca prend beaucoup trop de temps...
Si tu veut rester sur l'idée d'une base de données, je te conseille une base de données embarquée pour commencer, soit HSQLDB soit Derby. Ou alors une simple base de données comme l'a dit BainE. Il y a pleins de bons tutos sur ce site pour les interactions Java <-> DB.
Il faut que tu définisses comment vont se faire ses interactions. Donc, tu ne gardes pas vraiment de données dans ton programme, tu auras une interface graphique avec laquelle, tu vas pouvoir effectuer des actions dans la base de données.
-
Alors en fait le professeur ne nous a pas parlé de "base de données" c'est juste ce qui m'est venu en premier à l'esprit concernant le sujet (à tort, d'après ce que vous me dites) par contre je ne peux pas utiliser de base de donnée pour sauvegarder les infos. Et il s'agit en effet de passer par une interface graphique pour pouvoir ajouter ou supprimer une machine, un service ou un O.S. mais il y a 2 difficultés supplémentaires :
- il nous faut un bouton pour effectuer une requête Ping sur l'adresse IP de la machine (je ne pense pas que ce soit bien compliqué, mais je peux me tromper)
- nous devons pouvoir entrer le mot de passe administrateur (dans la machine) mais en crypté et, à priori, sans système d'authentification au lancement du programme. Vous pensez que c'est possible ?
Pour l'interface graphique je pense pouvoir m'en sortir d'après le cour que l'on en a eu plus la javadoc.
Ce qui me gêne le plus c'est qu'à la base on passe par "Poseidon" (UML) en préparatoire et je n'arrive vraiment pas à m'en sortir avec, peut-être devrais-je tout faire en commande ?
Merci encore.
-
Salut,
Effectivement et si j'ai bien compris, le plus simple pour toi serait de stocker tes données dans un simple fichier XML. Tu peux par exemple utiliser l'API XStream, c'est très facile d'utilisation, tu trouveras un tutoriel sur developpez.com (http://ericreboisson.developpez.com/...a/xml/xstream/) et en plus ça t'oblige à bien programmer tes classes métiers. Sinon, tu as des API plus primaires comme SAX ou DOM (également documentées sur ce site).
Pour le mot de passe, je n'ai pas bien compris, tu dois sauvegader le mot de passe et pouvoir le réafficher ou bien tu dois l'entrer une fois dans le système qui doit ensuite se connecter tout seul aux machines définies?
-
+1 pour la persistance des info en XML.
Xstrem je connais pas donc je dirais commons digester d'apache + dom.
Pour le ping suffit de regarder là: http://java.developpez.com/faq/java/...au#RESEAU_ping
Par contre ton histoire de mot de passe est pas clair du tout.
Mais il faudra surement que tu encrypte le mot de passe pour pas qu'il soit en clair dans le fichier XML, cf MD5 ou SHA