Je suis actuellement en phase de recherche pour une (très) petite application de base de données. C'est pour un organisme de bienfaisance local qui n'a que 3 ou 4 machines clientes qui exécuteront le système. Cependant, afin d'éloigner la logique étrangère des clients, je penche pour l'utilisation d'une architecture à trois niveaux (il y a sont des données en lecture par constamment et mis à jour le cas échéant, que le client n'a pas besoin de savoir sur)Application de base de données à trois niveaux (non Web) en Java - quelles API/technologies sont appropriées?
-à-dire le client < -> la logique du serveur < -> Base de données
Alors que je suis compétent avec Java lui-même et quelques frameworks/bibliothèques, je ne suis pas particulièrement familier avec les frameworks qui pourraient m'aider ici. Évidemment j'utiliserai JDBC pour la moitié de la base de données, mais la communication entre le client et le serveur est la pierre d'achoppement pour le moment - je ne veux pas vraiment aller à proximité des connexions brutes, par exemple la solution doit exister)
J'ai demandé à quelques développeurs de connaître leur opinion sur les API à utiliser, et même s'ils ont été très utiles, je ne sais toujours pas trop où aller. Jusqu'à présent, j'ai entendu parler de choses RESTful, SOAP, COBRA et un tas d'autres technologies. SOAP est le principal qui a attiré mon attention (car il y a de bons exemples de l'utiliser avec des applications normales plutôt que simplement avec le web) mais je ne sais pas encore où aller - cela ne semble pas particulièrement approprié pour un général but application comme celui-ci (EJB a également surgi, mais j'ai entendu beaucoup de haine visant à ce - est-ce mérité?)
Il me semble que pour trouver le «meilleur outil pour le travail» dont j'ai réellement besoin apprendre chacun dans son intégralité pour les 'obtenir' (ce qui est évidemment irréalisable)
Quelqu'un peut-il me donner des conseils sur la façon de choisir des API comme celles-ci (quand je ne les ai pas déjà utilisées) ou me donner des informations sur quelques-uns communs, ou est-ce vraiment juste un cas d'expérimenter avec beaucoup d'entre eux pour voir lequel correspond le mieux?
Ou peut-être ai-je totalement raté la cible et il y a un cadre qui vise à cette situation exacte sans aucun inconvénient évident?
Merci beaucoup pour votre aide.
EDIT:
complètement oublié de mentionner ce qu'il fait: Il est terriblement complexe - l'organisme de bienfaisance gère un système de transport, il détient les détails des conducteurs, des clients, des dossiers de kilométrage du conducteur, etc. pour la visualisation et édition La seule vraie complexité vient avec les lecteurs, puisque les pilotes peuvent être affectés à des lecteurs (continus) qui pourraient continuer indéfiniment. Mais chaque instance d'un lecteur en cours doit être unique, car ils peuvent être annulés ou modifiés individuellement
La principale raison pour laquelle je suis à la recherche de 3-tiers est parce que d'être un organisme de bienfaisance (avec beaucoup d'anciens utilisateurs d'ordinateurs bénévoles qui ne sont pas terriblement 'savvy') Je pourrais bien mettre à jour l'interface assez fréquemment pour aplanir les bugs et les bits qui ne sont pas très clairs pour les utilisateurs novices. Donc, mon plan est d'obtenir le back-end entre le serveur et DB absolument « pare-balles » d'abord, puis versez tout mon accent sur l'interface utilisateur afin que je puisse continuer à se développer et itérer sans se soucier du back-end (aussi que je serai le développement de pièces à distance, en concentrant les mises à jour côté client est légèrement plus simple)
Tous ces attributs crient probablement 'faire un système basé sur le web' - le problème c'est qu'ils sont après toutes sortes d'intégration difficile avec certaines applications ils fonctionnent déjà, mais je ne suis pas sûr de pouvoir le faire (correctement) avec une application web.
Peut-être pourriez-vous expliquer à quel point votre application est complexe? –
@Romain - Oui, vous avez absolument raison. Question mise à jour en conséquence, acclamations –