2017-07-17 9 views
0

Nous concevons une nouvelle application SPA. Initialement, nous avions prévu d'avoir trois niveaux d'applicationAvons-nous besoin d'un niveau d'application pour l'application d'une seule page

Niveau d'application (qui servira de pages Web et se comportera comme un proxy pour toutes les autres demandes de données).

Niveau d'activité (Cela hébergera les WebAPI pour toutes les fonctionnalités métier).

Niveau de base de données (Pour stocker les données).

Depuis cette application sera une application HTML5, nous pouvons contourner Niveau d'application pour la demande de données et appeler directement Tier Business du navigateur?

  1. Un inconvénient, nous pouvons voir que cela se traduira dans la demande CORS et pour une demande de contrôle en amont viendra aussi dans l'image. Cela peut ralentir un peu.

  2. Et si des données sont formées en combinant des données provenant d'un accès de service externe, cette logique devra être transmise au navigateur.

Pourriez-vous nous suggérer quelque chose sur ces lignes?

Merci

Répondre

0

dépendent de ce que Tiers de vos objectifs d'architecture sont, si ses performances que moins les niveaux/séparation physique se traduira par une meilleure performance. Cependant, il existe d'autres techniques que vous pouvez utiliser pour limiter les performances, telles que la mise en cache.

Dans un scénario typique comme celui-ci. Il est préférable de séparer les couches en couches physiques distinctes, telles qu'une couche d'interface utilisateur, une couche API et des données ultérieurement. L'API est aussi une sorte d'interface utilisateur, si vous y réfléchissez bien. Au lieu de livrer des pages, vous fournissez des données (json). Gardez à l'esprit que votre logique métier doit pouvoir être testée sans impliquer d'autres couches.

Je pense que la bonne réponse dépendra toujours de votre situation et de vos objectifs architecturaux tels que l'évolutivité des performances, la fiabilité et la facilité de changement. etc

Mais vous pouvez prendre cela comme un guide général.