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

API standards et tierces Java Discussion :

Quartz, JDBC, cluster et client


Sujet :

API standards et tierces Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Quartz, JDBC, cluster et client
    Bonjour,

    J'effectue des recherches sur Quartz en vue de le mettre en place dans une nouvelle architecture pour une application autour de J2EE.
    La charge de travail étant importante, une archi en cluster sera sans doute mise en place.

    Jusque là, j'ai trouvé à peu près toutes les infos mais je butte sur un point important...
    Les jobs traités seront programmés par une application "cliente". J'ai trouvé pas mal de chose autour de RMI pour la mise en œuvre d'un client/serveur mais je ne sais pas si c'est réellement viable dans un cluster. De mon point de vue, le port RMI ne peut être écouté que par une seule instance à la fois.

    Vu que le "partage" des jobs se fait via une base de données, un client peut-il programmer un job en passant par la base de données?

    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2014
    Messages : 21
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Je ne suis pas expert la dedans, mais pour moi un cluster, c'est une machine maître et X machine esclave. si c'est ce que tu veut, je pense que tu dois mettre en place le système RMI sur la machine maître et a elle de s'occuper de la distribution des jobs. Cette archi est nécessaire si tu dois agréger tes données. il existe des système comme hadoop pour gérer cela.
    un client peut-il programmer un job en passant par la base de données?
    Si tu parle de la db quartz, la doc te de-conseil fortement d'aller taper directement dans les table de quartz (risque de corruption des données).

    J’espère avoir répondu a ta question.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Faudrait être plus précis sur ce que tu cherche à faire. Tu nous dis que les job seront exécuté sur des clients. Ce sont des machines à part du cluster? Dans ce cas, quelle est l'utilité du cluster, quelle charge de travail aura-t-il à encaisser? Le client, il doit avoir accès à quoi pour réaliser son travail? Comment RMI viens s'imbriquer dans l'histoire, tu compte faire passer quoi comme informations par ce biais?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Merci pour vos réponses.

    Mon, but est d'avoir, dans un premier temps, un seul serveur de batch. Cependant, je crains que la charge soit trop importante et devoir passer sur une architecture avec plusieurs quartz...
    Plusieurs clients (comprendre canaux) lancent des jobs exécutés sur le serveur de batch.

    Je ne veux pas passer par la base pour ajouter des jobs, trop de risques.
    Passer par un RMI me gène car cela signifie qu'il faut qu'il soit up en permanence...

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Il y a des paramètres de configuration spécifiques pour faire tourner plusieurs instances de Quartz en parallèle sur la même base:

    http://quartz-scheduler.org/document...rial-lesson-11


    Donc concernant la partie clustering, il suffira d'avoir chaque noeud quartz qui se connecte à la DB centrale et chacun prendra en charge des tâche en fonction de ses disponibilités.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Pour le cluster, j'ai testé via un exemple fourni avec l'Api. Cela fonctionne comme je m'y attendais.

    Ma dernière interrogation porte sur la création et le lancement de nouveaux jobs via des clients.
    A la lecture des docs et des exemples, le seul moyen existant est l'utilisation de RMI avec une architecture maitre/esclave.
    Il n'existe pas de possibilité de créer des jobs en base via les Api officiels.

    Ai-je bon?

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Tu veux dire un client sur son desktop se connecte à ton système et demande de sceduler un job (genre "tu peux me lancer la collation des chiffres de ventes sur les 15 derniers mois ce week-end?").

    RMI est très invasif et asser ch*** à gérer. Je créerais plutot un webservice tout simple sur ton application, qui répond à des demande du style "scheduler le job XXXX à YYYY avec les paramètres ZZZ" et avoir le client qui interroge ce webservice. J'ai du mal à voir pourquoi tu aurais besoin de RMI. En plus, j'imagine mal le serveur aller interroger par RMI le client qui n'est peut être plus là pour lui demander d'instancier la classe AAAA.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Pour le client, tu as compris ce que je veux faire. En gros, depuis une appli web, permettre à un utilisateur de lancer des traitements lourds via un serveur de batch...

    Pourquoi RMI?
    C'est le seul moyen que j'ai trouvé pour lancer un job depuis une autre jvm...

    Je n'avais pas pensé au web service pour lancer des jobs...
    Par contre, il faut conserver une archi/maitre esclave pour qu'un seul serveur publie le web service je présume...

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Toute les jvms faisant partie du "cluster quartz" peuvent fournir un webservice permettant de scheduler des jobs quartz. Donc pas besoin de maitre esclave, pour l'architecture quartz, d'après ce que je vois de la doc, tout les membre du cluster ont le même status, donc les apis webservice locale à chaque membre du cluster auront de facto le même status.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    ok, merci pour vos réponses!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. L'intérêt de JDBC par rapport client oracle
    Par mlaiti dans le forum JDBC
    Réponses: 5
    Dernier message: 12/03/2008, 21h12
  2. Client oracle et connection JDBC
    Par RoM3Ro dans le forum JDBC
    Réponses: 4
    Dernier message: 20/06/2007, 12h08
  3. Servlet et JDBC(affichage d'une liste de client)
    Par awatif30 dans le forum JDBC
    Réponses: 1
    Dernier message: 27/05/2007, 18h42
  4. Client Oracle et jdbc/Thin driver
    Par Alain B. dans le forum Oracle
    Réponses: 2
    Dernier message: 24/05/2006, 16h45
  5. [Info]Application client/Serveur utilisant JDBC
    Par freaky_boy dans le forum JDBC
    Réponses: 2
    Dernier message: 10/03/2006, 19h13

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