2009-03-17 6 views
2

Ne pas avoir beaucoup travaillé sur la création de services Web, soit à partir de rien, soit en décomposant une application existante, par où commencer? Un service Web devrait-il encapsuler une entité, comme le ferait une classe, ou le service devrait-il en avoir plus ou moins? Je me rends compte que cela repose en grande partie sur une analyse au cas par cas des besoins, mais existe-t-il des lignes directrices générales ou des pratiques exemplaires ou même de petites pépites d'information que les vétérans du service Web peuvent transmettre à un débutant relatif?Comment faire pour casser une application monolithique en services Web?

Répondre

1

Nos services Web sont conçus autour de domaines fonctionnels. Parfois c'est juste pour une seule entité, parfois c'est plus que ça. Par exemple, si vous disposez d'un CRM, l'un de vos services Web peut être axé sur la gestion des contacts. Création, mise à jour, recherche, etc. Si vous effectuez un certain type de traitement par lots, un service Web peut exister pour créer et soumettre un travail.

En ce qui concerne les meilleures pratiques, gardez à l'esprit que les services Web s'ajoutent aux frais généraux de traitement. Principalement en sérialisant/désérialisant les données lorsqu'elles traversent le fil. Pour cette raison, le principal avantage réside uniquement dans l'évolutivité. Cela signifie que vous échangez un temps de traitement par transaction accru pour pouvoir exécuter le service sur plusieurs machines.

Les principales parties à extraire dans un service Web sont les zones communes à plusieurs applications ou que vous avez l'intention d'exposer publiquement, ou qui bénéficieraient d'un meilleur équilibrage de charge.

Bien sûr, vous devez analyser votre application pour voir où se trouvent réellement les goulots d'étranglement. Dans certains cas, cela n'a pas de sens. Par exemple, si vous avez une seule application qui ne partage pas son code et/ou le goulot d'étranglement est principalement lié à la base de données.

0

Les services Web sont exactement ce qu'ils ressemblent à des services pour le Web.

Un service Web doit être créé en tant qu'API pour la couche de service de votre application.

Un service encapsule généralement une entité plus grande qu'une seule classe.

Pour en savoir plus sur les couches de service et le refactoring pour ajouter une couche de service, lisez à propos de DDD.

Bonne chance

0

Le numéro 1 est question: A quoi vous Remanier la fonctionnalité d'application à consumned en tant que groupe de services Web?

Questions connexes