Presentation Reprise Carine

#oodrive

Réunion point Arrimage à la production

@elobo.carine @divol.jeanlouis @ArnaudJoye

Diagramme

Demande OODRIVE

Warning

sequenceDiagram participant P as Plateforme participant Z as Zuora P->>Z: appel Workflow 2261 email activate Z alt si en dépassement Z->>Z: envoi d'email else si pas en dépassement Z->>Z: récupère valeur seuil end Z->>P: appel event ZlinkUpdated deactivate Z

Upgrade

Upgrade depuis Plateforme (moteur de règle)
sequenceDiagram autonumber participant P as Plateforme participant Z as Zuora activate P par Demande d'upgrade P->>P: envoi d'un reporting P->>Z: appel create order deactivate P activate Z end Z->>Z: déclenche Workflow Upgrade alt si en dépassement Z->>Z: mise à jour au seuil supérieur end Z->>Z: récupère valeur seuil Z->>P: appel event ZlinkUpdated deactivate Z activate P P->>P: mise à jour du seuil deactivate P
Upgrade depuis Zuora
sequenceDiagram autonumber participant U as Zuora Browser User participant P as Plateforme participant Z as Zuora U->>Z: appel create order activate Z Z->>Z: déclenche Workflow Upgrade alt si en dépassement Z->>Z: mise à jour au seuil supérieur end Z->>Z: récupère valeur seuil Z->>P: appel event ZlinkUpdated deactivate Z activate P P->>P: Mise à jour du seuil deactivate P

Problème

La différence entre Order et Workflow n'est pas clair.

  • Order créé, dans tout les cas un changement sur la suscription ?
  • Dans ce cas là, le workflow n'est là que dans le but de mise à jour de la valeur dans Plateforme ?
  • Comment prévenir le problème de downgrade avec un Order ?

Proposition ent.zuora.valuein (Private)

Warning

Même chose

Upgrade

Upgrade depuis Plateforme (moteur de règle)
sequenceDiagram autonumber participant P as Plateforme participant Z as Zuora activate P par Demande d'upgrade P->>P: envoi d'un reporting P->>Z: appel create order activate Z Z->>Z: déclenche Workflow Upgrade alt si en dépassement Z->>Z: mise à jour au seuil supérieur end deactivate Z P->>Z: déclenche Workflow Update deactivate P activate Z Z->>Z: récupère valeur seuil Z->>P: appel event ZlinkUpdated deactivate Z activate P P->>P: mise à jour du seuil end deactivate P
Upgrade depuis Zuora
Upgrade
sequenceDiagram autonumber participant U as Zuora Browser User participant Z as Zuora U->>Z: appel create order activate Z Z->>Z: déclenche Workflow Upgrade alt si en dépassement Z->>Z: mise à jour au seuil supérieur deactivate Z end
Update
sequenceDiagram autonumber participant P as Plateforme participant Z as Zuora P->>Z: déclenche Workflow Update activate Z Z->>Z: récupère valeur seuil Z->>P: appel event ZlinkUpdated deactivate Z activate P P->>P: mise à jour du seuil deactivate P

Problème

Problème similaire à la demande initial.

La différence entre Order et Workflow n'est pas clair.

  • Order créé, dans tout les cas un changement sur la souscription ?
  • Dans ce cas là, le workflow n'est là que dans le but de mise à jour de la valeur dans Plateforme ?
  • Comment prévenir le problème de downgrade avec l'utilisation d'un Order ?
  • Si impossible, pourquoi ne pas pas être passé par deux workflow, l'un d'une mise à jour depuis Zuora pour n'importe quelle action, l'un specifique à l'upgrade à contacter dans notre cas ?

Deux autres problèmes :

  • asynchronisme

  • update dans ce scénario devient une action demandé par Plateforme, alors que l'upgrade est une action demandé par Zuora. Il est impossible de synchroniser dans ce cas les deux système.

Exemple asynchrone
  • create order
  • workflow upgrade
  • workflow update
  • mise à jour du seuil

Ces élements ne sont pas des processus atomique et synchrone, ils ne permet pas d'avoir un résultat similaire à chaque execution.

En décomposant Zuora, le problème est plus visible;

sequenceDiagram autonumber participant P as Plateforme participant Zo as Zuora Order participant Z as Zuora par Demande d'upgrade activate P P->>P: envoi d'un reporting P->>Zo: appel create order activate Zo P->>Z: déclenche Workflow Update deactivate P activate Z Z->>Z: récupère valeur seuil Z->>P: appel event ZlinkUpdated activate P deactivate Z P->>P: mise à jour du seuil deactivate P Zo->>Z: déclenche Workflow Upgrade deactivate Zo activate Z Z->>Z: mise à jour au seuil supérieur deactivate Z end

Backlinks