2009-08-19 5 views
2

Je suis en train de concevoir un système dans lequel j'ai 2 nœuds: 1 nœud avec un serveur Web qui sert des pages JSP, et transmet les demandes aux services Web dans un autre nœud. Dans cet autre noeud, ces services Web transmettent les eequests à la couche logique métier, qui interagit ensuite avec une couche DBAcccess.Jboss pour une architecture de serveur client à 3 couches

JBoss convient-il à cette configuration? Devrai-je déployer 2 copies du JBossAS, une dans chaque nœud?

Merci

Répondre

1

Vous avez deux nœuds, ce qui signifie deux machines distinctes? [Il existe une autre signification du mot "node" commun dans WebSphere-land, en vérifiant simplement que nous utilisons la même terminologie.]

Le premier noeud a besoin de faire des servlets et des JSP. Les serveurs Java EE font cela, JBoss fait Java EE, c'est donc une utilisation raisonnable de JBoss. Vous pouvez utiliser d'autres serveurs Java EE, mais le peu que vous avez dit ne donne aucune raison d'éviter JBoss. Donc, c'est une copie.

Deuxième noeud, WebServices et une logique métier et un accès à la base de données. Encore une fois Java EE fait ce genre de choses. Il existe des alternatives, mais si vous connaissez déjà JBoss, alors pourquoi pas? Si vous utilisez JBoss dans le nœud 1, je ne choisirais pas un serveur Java EE différent dans le nœud 2. [Je n'ai pas d'expérience pour utiliser des solutions non Java EE dans cette couche - sans aucun doute, les afficionados de Spring pourraient commenter. en utilisant Java EE ici, puis JBoss, une autre instance. Cela conduit à la question de savoir pourquoi séparer les nœuds? L'une des raisons pourrait être de vous permettre d'adapter les niveaux Présentation et Entreprise séparément. Par conséquent, à plus long terme, vous pourriez avoir plus que deux instances de JBoss. Conseil fort: concevez à partir du jour en supposant que vous pourriez vouloir changer d'échelle de cette façon. Trop facile (par exemple) pour créer d'énormes sessions Http qui ne fonctionnent pas bien dans les clusters.

0

Il est un peu vieille question pour savoir où mettre en œuvre « couche logique métier »

liste de vérification de suivi et si vous avez la plupart des réponses « oui » l'utilisation EJB (alias JBoss) penser autrement à propos de simples beans sur DataAccessLayer sur le code Java.

  • Votre entreprise a des règles modifiées de façon faible ou dynamique.
  • Vous n'êtes pas sûr de la DB ou du produit qui peut changer le moteur DB pendant le cycle de vie.
  • L'évolutivité signifie quelque chose pour vous.
  • Les besoins de votre produit exposent les fonctionnalités de l'interface (pas sur le Web) à des composants tiers.
  • Votre base de données ne dispose pas d'une logique métier sophistiquée (par exemple, derby - rapide mais limitée).
0

Merci pour vos réponses! Laissez-moi vous expliquer un peu plus sur le projet.

Nous développons un système d'information géographique pour un client, qui a demandé que la fonctionnalité principale soit un groupe de services Web qui exposent le traitement de fichiers CSV selon une logique métier. Le client a également demandé que nous construisions une interface Web pour utiliser ce service (bien qu'ils (les services Web) puissent être utilisés par d'autres applications). Ils nous ont également dit que ces 2 serveurs pourraient être dans des nœuds/machines séparés.Une autre restriction est apparue dans la zone d'accès à la base de données: les 2 serveurs fonctionnent sur 2 bases de données et ces 2 peuvent également se trouver dans des machines physiques distinctes, ce qui donne un total de 4 nœuds! Ma question était donc de savoir s'il était raisonnable d'utiliser deux instances d'un JBoss ou d'un Spring AS dans les deux serveurs, et laquelle de ces deux technologies conviendrait le mieux.

+0

Ainsi, le noeud serveur qui sert les pages JSP utilise un DB et le noeud de logique métier/services Web un autre DB? Ne serait-il pas préférable de mettre tous les accès à la DB au même endroit pour éviter la «corruption de modèle» ou la duplication de code? – mjn

Questions connexes