2017-04-19 3 views
0

Je suis nouvel apprenant dans SOA (architecture orientée services) J'ai une question pour le scénario ci-dessous:service Mise à l'échelle des limites (SOA)

Dans une entreprise (MyCompany), l'équipe des ventes est là (ce qui est une autorité technique pour capacité commerciale - les ventes sont la capacité commerciale). Cette société a décidé de créer 2 produits disent Mycompany.Photos.com et Mycompany.Grocery.com. Pour les deux sites Web, ils ont besoin d'une capacité de vente, c'est-à-dire d'une capacité d'acceptation de commande.

L'équipe des ventes doit donc travailler pour les deux sites Web. Parce que, les deux sites ont besoin de capacités de vente.

Maintenant, la question est de savoir si l'équipe de vente doit créer 2 bases de données différentes pour chaque site Web et 2 points de terminaison différents également?

par exemple:

Si l'équipe de vente a d'abord une file d'attente "Mycompany.Sales.Endpoint" et il reçoit CreateOrderCommand. Il gère CreateOrderCommand, crée l'ordre dans la base de données des ventes et publie OrderAcceptedEvent. Quand ils soutenaient un seul site Web. S'ils commencent à prendre en charge les deux sites Web avec le même point de terminaison, alors comment les ventes pourraient-elles différencier la météo? Cette commande est pour Mycompany.Grocery.com ou Mycompany.Photos? Devrions-nous diviser Mycompany.Sales.Endpoint en 2? L'équipe de vente doit-elle connaître les commandes de sites Web Photo et les commandes de sites Web d'épicerie?

Une réponse que je peux penser est:

    équipe
  1. de vente peut créer 2 bases de données différentes pour chaque Mycompany.Grocery.com et Mycompany.Photos.com
  2. Déployer 2 différents composants d'entreprise (BC) pour chaque site Web.
  3. Sales auront 2 Endpoints dire "Mycompany.Grocery.Sales.Endpoint" pour Mycompany.Grocery.com entreprisesListe et "Mycompany.Photos.Sales.Endpoint" pour MycompanyPhotos.

    Même s'ils sont dans le même contexte Sales Bounded, peut-il avoir 2 Business Components (BCs)? Ai-je raison, Est-ce la façon dont l'équipe de vente à l'échelle va soutenir les deux produits pour la capacité de vente?

Je suis désolé pour le long message. Je n'ai pas trouvé de raccourci pour expliquer cela.

Répondre

2

Un service est l'autorité technique d'une entreprise.

Si vous êtes en mesure de différencier une commande de l'un ou l'autre des systèmes, mais que vous ne pouvez pas le faire, vous créez probablement une «autorité technique» pour plusieurs fonctionnalités métier.

Autre que cela, un service peut avoir plusieurs composants. Au lieu de vous concentrer sur des problèmes techniques, concentrez-vous sur la question commerciale et voyez si vous pouvez l'expliquer. Mais une plate-forme comme Stackoverflow, avec un ratio de 1 à 1 sur la question & réponse n'est probablement pas le bon moyen pour des questions comme celle-ci.

+0

Bonjour @Dannis Merci pour votre réponse. J'ai édité ma question et j'ai supprimé une question personnelle. Mais je pense toujours que c'est une question SOA valide. –

+0

Un service ne doit PAS avoir «de nombreux» composants métier - 2 est probablement le plus grand nombre de composants. –

+0

@RupeshKumarTiwari C'est certainement une bonne question, mais avoir une discussion est plus difficile sur StackOverflow que par exemple un forum, où vous pouvez continuer à poser des questions et à y répondre dans un seul fil. Je pense qu'un forum est mieux adapté à ce type de questions. –

2

Je pense que la meilleure façon de penser à ces situations est que vous avez effectivement deux entreprises - une dans le secteur de l'épicerie, avec toutes les capacités correspondantes qui le composent, et l'autre dans le secteur de la photo. Même si les deux «sociétés» partagent les mêmes documents de constitution, vous ne devriez pas considérer cela comme une entité unique.

+0

Merci @Udi Dahan! Si j'ai bien compris alors Dans une Incorporation nous pouvons avoir beaucoup de départements de ventes (Bounded Context/Service) basés sur les compagnies. Alors, voici Photo Company aura son propre service de vente et sa commande alors que l'épicerie aura son propre. –