IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Concept d'application réactive dans une application de gestion en Java et classe ORM de gestion de données


Sujet :

JDBC Java

  1. #21
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Re,

    1) Non, il te faut un serveur JEE type Wildfly, Glassfish, TomEE, tous Open sources et tous ont besoin d'une JDK
    2) Oui, c'est utilisable gratuitement (tout dépend de la licence du serveur EE, les trois cités ci-dessus sont totalement OSS)
    2 bis) Les applis faites avec EE ne sont souvent pas triviales et la courbe d'apprentissage est relativement grande. Cependant on en ressort transformé et avec une très bonne ligne sur le CV.
    Difficile de faire la différence entre une appli 'simple' et une complexe. Si elle est simple, ne t'embêtes pas avec EE, les resultset et l'huile de coude conviennent.
    Par contre si elle a but à grandir (vendue à une entreprise, besoin de devenir scalable, distribuable, ou encore realtime) je le conseillerais. J'ai parlé de JEE car tu cherchais à distribuer tes traitement, d'où la déduction d'une forte charge/utilisation?
    3) Oui et non, tout dépend du serveur que tu utilises.

  2. #22
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Class JEE ou non JEE pour le serveur et le client
    Bonjour,

    Bon, pour que je puisse me documenter sur JEE, pourriez-vous s'il vous plaît me donner la listes des classe ainsi que des exemples de code sources (Sample) pour que je puisse me rendre compte de ce que je peux faire tant coté client que serveur avec ces API.

    Si je n'utilise pas JEE, il faudrait aussi me donner le nom de classes a utiliser..

    Je suppose que le JEE a des avantages. Quelles sont les principales différences entre JEE et non JEE ?

    Merci de me répondre.

    Salutations
    Battant

  3. #23
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Hello,

    Vor le tutoriel Java EE du champion Antonio Goncalves.

    Tu peux aussi t'aider de la documentation de référence dont j'ai mis le liens précédemment.
    Et j'allais oublier le principal: la section 'Le développement d'application d'entreprise' de jmdoudoux dans les cours Java.
    Finalement, n'hésites pas à chercher/demander sur le forum dédié sur developpez.com.

    Bonne chance, et à bientôt sur les forums JEE!

  4. #24
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Ce que j'ai trouvé sur JEE et questions
    Bonjour,

    J'ai ouvert une discussion sur le choix d'un serveur d'applications,

    Pour ceux que ça intéresse, voici le lien.

    http://www.developpez.net/forums/d14...-applications/

    Je viens de commencer a parcourir un cours.

    D'après ce cours, les serveurs d'applications sont essentiellement orienté web or je recherche plutôt a faire une application desktop avec des fenêtre quoi qu'une application web est peut-être une bonne idée même en local.

    j'ai remarqué que le serveur d'application faisait appel à l'architecture nvc tout comme open erp que j'avais un peu regardé pourquoi ?

    Open erp a-t-il donc un serveur d’application ?

    Question :

    Les serveur d'applications sont-il forcément orienté web ou peut-on les utiliser pour une application desktop non distribuée a 1 poste de travail.

    Les fonction que j'ai besoin sont
    Stockage des erreur et des messages de sorties dans des fichiers log
    Gestion de donnée comme les clients, les rendez-vous récurrent (toute les semaine par exemple), les facture (Envoyée selon le choix de l'utilisateur) tout ceci comme dans une base relationnel.
    Gestion des tread automatique. Pour les tâche, j'ai entendu parler du model des acteurs dans le podcast cité au début de la discussion. Est-ce une bonne idée.
    Faut-il se tourner vers nosql (not only sql) dont j'ai entendu parlé dans un autre épisode du podcast dipdev ?



    Voici quelques infos sur le programme de facturation :

    http://www.developpez.net/forums/d14...-facturations/

    Un serveur d'application est-il forcément nécessaire pour ce que je veux faire ?

    Merci de me répondre

    Salutations
    Battant

  5. #25
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Serveur d'applications et application à fenêtre
    Bonjour,

    Il me faudrait pouvoir appeler les api du serveur d'application et l'utiliser pour une application swing à fenêtre. N'est-ce possible ?

    Pas ailleurs , Pour le serveur dont je vous ai montré le code, il s'agit d'une ébauche de serveur chargé d'afficher les messages de sortie des messages est des erreurs de mon programme. Existe-il quelque chose du genre en open source, JEE ou autre serveurs ?

    Merci de me répondre.

    Salutations



    Citation Envoyé par Sebajuste Voir le message
    L'application réactive est avant tout un paradigme (qui n'a rien de nouveau d'ailleurs), aussi il n'est pas spécialement lié à un framework.

    Il est tout à fait possible de faire du réactif avec du Java "de base".
    A mon sens, il a deux avantages :
    - diminuer le nombre de thread (1 thread = 1 tâche est une manière de faire complètement obsolète)
    - Obtenir des applications en temps réel relatif. C'est à dire qu'on ne peut pas assurer que la réponse sera obtenue en moins de x millisecondes, mais qu'elle sera traitée au plus tôt.

    Pour la gestion des threads, je prendrais l'exemple des socket.

    En java, les "Socket" sont bloquant. Créer un serveur avec des Socket de base nécessite de faire 1 thread par client connecté. Avec java.nio on peut passer par des Selector : un objet qui retourne uniquement les sockets ayant quelque chose à faire : un seul et unique thread estalors nécéssaire, quelque soit le nombre de client.

    Avec JEE, les serveurs d'applications utilisent déjà ces outils. Le serveur dispose alors d'un pool de thread (un petit nombre, quelques dizaines grand maximum). Chaque nouvelle requète sera traité par un thread libre du pool.
    Il faut donc voir les appels de nos EJB, Servlet... comme des évènements. Ce qui signifie aussi que ces évènements doivnet être très court : si tous les thread du pool sont utilisés, les autres "évènements" (les autres requètes HTTP) seront mise en attente.

    L'idée est donc de découper un traitement de requête en plusieurs traitement, pouvant être parallélisé :
    - soit les traitement peuvent d'exécuter en parallèle
    - soit les traitements sont séquentiels; à ce moment chaque traitement bloquant (ex: utilisation de la base de données) sera traité par un nouveau thread. Le thread appelant pouvant alors être "libéré"; c'est à dire qu'il va pouvoir se terminer rapidement, afin de traiter une nouvelle requète.

    Les dernières version de JEE gèrent les appel de bean dans d'autres thread par le biais de l'annotation @Asynchronous, et du retour de méthode avec l'objet Future<>. Ont peut également créer des pool de thread directement dans le serveur d'application (comme une connexion à une base de données) que l'on récupère dans notre programme avec JNDI, et les annotations de types @Resource


    La véritable difficulté technique il me semble, et de créer un callback de retour d'information asynchrone sur le client. Si le client est une page web, utilisant javascript et Ajax, le callback de retour sera celui de la requète HTTP. Or, si le serveur traite la requète par plusieurs thread consécutif, le retour du premier appel sera certes très rapide (le serveur ne gardant pas la mail, et délègue le traitement), mais la réponse ne sera tout simplement pas prête !

    Il faudrait donc faire des requêtes à interval régulière, pour savoir si la réponse est prête. En plus d'être peu performant, il est alors nécessaire de distinguer chaque couple requète/réponse par un système d'ID : si une réponse est prête, il faut se souvenir de quelle requête elle est issue.


    Le moyen le plus performant à mon avis reste les websocket : les requètes / réponses sont envoyées et reçus immédiatement par un "flux", et non par des multitudes de requêtes.
    De plus, les flux de données sont particulièrement adaptés aux applications réactives : si la réponse contient des centaines de résultats, sans liens spécifiques entre entre eux, on peut commencer à renvoyer les premiers résultats générés, alors que le traitement coté serveur n'est pas encore terminé.
    Battant

  6. #26
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Il me faudrait pouvoir appeler les api du serveur d'application et l'utiliser pour une application swing à fenêtre. N'est-ce possible?
    C'est exactement ce que tu vas faire. Par contre, ton client et ton serveur ne tournant pas sur la même JVM, il te faudra convertir ton message en quelque chose qui puisse transiter par les tuyaux. Tu as plusieurs choix:
    * RPC/RMI pour des appels "directs"
    * SOAP/REST qui passent par la couche http qui te permettent d'exposer ton API pour (potentiellement) d'autres clients (pas spécifiquement du point à point).

    Pas ailleurs , Pour le serveur dont je vous ai montré le code, il s'agit d'une ébauche de serveur chargé d'afficher les messages de sortie des messages est des erreurs de mon programme. Existe-il quelque chose du genre en open source, JEE ou autre serveurs ?
    Oui, ça s'appelle le logging: partout dans ton code tu vas enregistrer tes message via l'API standard de Logging (Slf4j), ce qui va centraliser les appels vers une API. cette API utilise un concept d'"appender" pour écrire, libre à toi de créer un appender de ton choix (fichier, sortie console, fenêtre swing...)

  7. #27
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Loggin et verbosité
    Bonjour,

    Dans les logiciels libre, j'ai souvent remarqué l'existence de l'option nervosité -v. Est-ce que vous voulez parler de ça dans votre message ?

    Merci de me répondre

    Salutations
    Battant

  8. #28
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Pour le logging, SOAP (web services standard XML), JaxRS (web service HTTP)et EJB remote (équivalent RPC/RMI/appel de méthode distante) tout est expliqué dans les cours Java.

  9. #29
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Documentation et cours ou cours en ligne
    Bonjour,

    Où puis-je trouver sur internet de la documentation si possible en français et gratuite sur les sur comment faire une application réactive en java avec des fenêtre si possible swing qui ce connecte à une base de données . Une des choses essentielles pour moi pour moi et de savoir ce qui est bloquant et non bloquant .

    Pourriez-vous me renseigner ?

    Merci d'avance

    Salutations
    Battant

  10. #30
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut Applications. réactives et swing
    Bonjour ,

    Je suis en train de tester une technique avec swing consistant à crêt des classe Runnable et les mettre dans l'Event dispatch thread. Ces classes sont chargée d'initialiser ma première fenêtre et j'ai bien fait. Le démarrage ne duré qu'une seconde. La seule chose que j'ai laissée dans le thread principal, c'est l'ajout des actionlistener.

    Sont-ils a la bonne place.

    Que pensez-vous de ma manière de procéder.

    Merci de me faire part de vos commentaires.

    Salutations
    Battant

  11. #31
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Citation Envoyé par Battant Voir le message
    Je suis en train de tester une technique avec swing consistant à crêt des classe Runnable et les mettre dans l'Event dispatch thread. Ces classes sont chargée d'initialiser ma première fenêtre et j'ai bien fait. Le démarrage ne duré qu'une seconde. La seule chose que j'ai laissée dans le thread principal, c'est l'ajout des actionlistener.
    Théoriquement, toute action sur un composant swing doit etre faite dans le thread dédié (Event dispatch thread - EDT).
    Pourquoi ? Parce que sinon, il faudrait protéger via des semaphores toutes ces fonction puisqu'on pourrait imaginer que pendant qu'on fait une action sur un composant, celui-ci est modifié (par exemple, le contenu d'une listbox). Pour éviter d'avoir ces mécanismes couteux, swing a fait le choix de ne pas synchroniser mais d'imposer par conception de modifier les composants dans l'EDT.

    bref, pour résumer, c'est bien comme ca qu'il faut faire.
    Par ailleurs, pour faire un traitement long, par exemple récupérer des infos depuis une page web, il existe une classe SwingWorker qui simplifie ce genre d'action.

  12. #32
    Membre averti
    Inscrit en
    Février 2006
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 707
    Points : 366
    Points
    366
    Par défaut
    Bonjour,

    Vous êtes en train de me dire que si on ne code pas de cette manière mais de manière séquentielle, non seulement ce n'est pas réactif mais en plus il y a des failles de sécurité.

    Confirmez-vous cela ?

    Je ne m'y connais pas du tout en sécurité et leur failles...

    Par ailleurs, faut-il aussi mettre les instructions du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cmdquit.addactionlisener(New aliCmdquit();
    Dans l'edt où faut-il la laisser dans le thread main ?

    Merci d'avance pour votre réponse.
    Fichiers attachés Fichiers attachés
    Battant

Discussions similaires

  1. [Élaboration] Embarquer une application web dans une application cliente
    Par R1D3M4N dans le forum Architecture
    Réponses: 1
    Dernier message: 20/11/2010, 21h27
  2. Réponses: 1
    Dernier message: 20/02/2010, 19h38
  3. Réponses: 1
    Dernier message: 29/07/2009, 10h01
  4. Réponses: 2
    Dernier message: 15/10/2006, 18h01
  5. Réponses: 3
    Dernier message: 08/07/2006, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo