Microsoft Regional Director bfedotoff@hotmail.com Agilcom 3/30/2017 12:04 PM Bernard Fedotoff Microsoft Regional Director bfedotoff@hotmail.com Agilcom D108 Applications branchées avec Windows Communication Foundation et Windows Workflow (200) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
AGILCOM Christine Dubois et Bernard Fedotoff Nos blogs : 3/30/2017 12:04 PM AGILCOM Coach ASP.NET, C#, VSTS et bientôt VB.NET 10 route de Nanfray PAE du Levray 74960 CRAN-GEVRIER http://www.agilcom.info Tél : +33 4 50 10 49 70 Christine Dubois et Bernard Fedotoff Nos blogs : http://blogs.developpeur.org/cdubois http://blogs.developpeur.org/bfedotoff © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Agenda Une vision différente sur Workflow Foundation La problématique métier (de la finance) L’extension des structures WF
windows workflow FOUNDATION qu’est-ce qu’un workflow ? Une abstraction pour décrire un scénario réel Un ensemble d’Activités qui coordonne des humains ou des logiciels ou des composants… Le cadre est très large (au delà de l’EDA, de l’orchestration de services SOA et du workflow humain)
La structure de données code as data Représentation ‘compilable’ des intentions du concepteur Programmation déclarative Représentation graphique Reflexion Au-delà des types de base Interprétation de la persistance possible au déploiement / runtime Et la sémantique du programme? Disséminée dans des bouts de code Décrit comment le programme est écrit ET comment il s’exécute
Un peu d’histoire WF unification BizTalk: Représentation graphique Syntaxe XML Découplage développement – déploiement Mais Niveau sémantique fixé Structures / activités Architecture imposée Sur / comment
windows workflow FOUNDATION Un modèle de programmation extensible pour écrire et exécuter des programmes réactifs Méta-Runtime Moteur Services Exprimant : Ce que le programme doit faire Le développeur fournit le schéma du programme basé sur des activités extensibles Comment il s’exécute Définit l’interprétation de ce schéma décrivant comment il est déployé et exécuté Une nouvelle manière de développer Dans la lignée des DSLs (Domain-Specific Language) De WCF, linQ, de « l’entity framework », …
La problématique métier (1/4) : PebbleAge Domaine d’expertise Intégration depuis 10 ans de solutions logicielles pour la finance d’entreprise et le « Tax Reporting ». Projet stratégique PebbleTax Edition d’une suite logicielle www.pebbletax.com spécialisée dans l’automatisation des processus de reporting fiscaux pour les entreprises internationales et les calculs de prix de transfert Choix des technologies Microsoft .Net 3.5 ; Bureaux à Paris, Genève, Zurich
La problématique métier (2/4) : le cas CleanAll CleanAll Inc Spécialiste mondial du nettoyage. Modèle économique Spécialisation des activités par pays Conséquence Nombreuses transactions de biens et de services au sein du groupe. Contrainte fiscale Fixation d’un prix de transfert conforme à des normes fiscales pour les ventes internes Contrainte économique et financière Calcul et justification d’un prix de transfert « conforme »
La problématique métier (3/4) : refacturation Catégorie de Produits Solvants, Décapants, Détergents, Abrasifs Entité France Responsable du Marketing EMEA pour le groupe Entité Suisse, ou autres pays Production et vente de Solvants et de Décapants Problématique Le détail des frais marketing par pays par catégorie de produit n’est pas contenu dans la base de données financière du groupe. Comment La France doit elle facturer ses frais de Marketing à la Suisse pour les Solvants et les Décapants ?
La problématique métier (4/4) : Prix de transfers Norme fiscale admissible Prix de vente pour un service = coût du service Marketing +Données Financières 5% Le CA par Catégories par Pays est connu Règle1 (R1) La répartition des frais de marketing s’effectue au prorata du CA des ventes pour chaque catégorie de produits pour chaque pays Règle2 (R2) Les Solvants demandent 2 fois plus d’effort marketing que les autres produits
Comment calculer les montants refacturés entre les entités du groupe ? La modélisation ? Comment calculer les montants refacturés entre les entités du groupe ? Coût Marketing Chiffre d’affaire Chiffre d’affaire par pays et par catégorie Coût Marketing par pays et par catégorie ?
Et l’agilité dans tout cela ? Où est la connaissance ? L’implémentation de telles solutions nécessite de fortes compétences financières et légales ; La connaissance des processus et des règles financières représente l’essentiel de la valeur du métier ; Elle est noyée dans du code spaghetti, généralement dans des fichiers de scripts et/ou dans des feuilles Excel … Et l’agilité dans tout cela ?
windows workflow FOUNDATION clarté et agilité des processus WF fournit les mécanismes : - pour exprimer l’algorithme ; - pour exécuter le calcul ; - pour suivre le processus ; WF supporte l’extension des structures : - modélisation des contextes et des points de vue ; - implémentation des modèles sur des cibles de reporting ; - définition de la cohérence et de la complétude.
windows workflow FOUNDATION implémentation dans PebbleTax Suivi et collaboration PebbleTax Server Portail WSS (référentiel) Services PebbleTax Accès aux données Exécution Processus WCF Portail Financier Définition et implémentation Système de Reporting Légal Enterprise Système Local PebbleTax Editor PebbleTax Simpe Designer
Démo La suite PebbleTax 3/30/2017 12:04 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Extension des structures : Les processus et les contextes (1/2) L’extensibilité des activités est une évidence, mais comment intégrer des structures de contrôles particulières : Une notion financière ne prend tout son sens que dans un contexte précis : le coût marketing des détergents en région Rhône-Alpes ou en France ; Les règles de calculs s’appliquent à des hyper-cubes variants en fonction des contextes ; Les règles de calculs se composent de plusieurs projections de données; C’est une structure de contrôle adaptée au métier.
Extension des structures : Les processus et les contextes (2/2) Les handles (poignées) synthétisent les concepts financiers ; Les contextes complètent le point de vue de l’opération ; Les règles définissent les projections à réaliser, en suivant un vecteur ; L’activité Allocate collecte les opérations définies dans les règles ; et les exécute ; Handle Coût Marketing par pays et par catégorie Contexte En Europe Allocate Exécute le calcul Rule L’algorithme
3/30/2017 12:04 PM Démo Extensibilité des structures : les contextes, les règles, les handles et l’exécution Démo : 3 minutes Illustrer la mise en place des contexte L’encapsulation des contextes évite de redéfinir des points de vue non complet Expliquer le mécanismes de Allocate, qui est la seule activité fournissant une méthode d’exécution. Naviguer dans le code pour illustrer que cette activité récupère tous les handles nécessaires à l’exécution Expliquer que les règles fournissent les contenu des handles à exécuter NOTE : IMPLEMENTER DANS UN EXTENDER UN BOUT DE CODE POUR LA REGLE … © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Extension des structures : Implémentations des modèles (1/2) Les mêmes règles de modélisation financières s’appliquent à toutes les entreprises : Sorban & Oxley (SOX), IAS / IFRS, Arm's Length Transaction, etc. Chaque entreprise possède sa propre structure de reporting financier (n axes); Chaque modèle est implémenté dans le contexte d’une entreprise : pour casser le cycle développement – test – déploiement ; C’est les « extenders d’activité »
Extension des structures : Implémentations des modèles (2/2) La librairie standard fournit les structures de contrôles pour les modèles ; Les implémentations enrichissent dynamiquement les modèles et assurent la complétude et l’exécution des processus ; Chaque cible est traitée unitairement sans remettre en cause le modèle défini ; => Comment est-ce caractérisé ? { => Comment est-ce calculé ? } + .dll (s) Modélisation Librairie standard .dll (s) Implémentation Extenders Processus Financier complet Windows Workflow Foundation
Extensibilité des structures : l’implémentation de modèles 3/30/2017 12:04 PM Démo Extensibilité des structures : l’implémentation de modèles © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Extension des structures : validation des sémantiques (1/3) Les modélisations et les implémentations suivent des règles de cohérences propres : Une règle doit référencer un handle et un vecteur; Une activité d’allocation doit être plongée dans un contexte implémenté complet (complétude des n axes); Etc. La compilation de WF fournit les mécanismes de validation sémantique de ce qui est exprimé;
Extension des structures : validation des sémantiques (2/3) Designer ToolboxItem Activity Validator Theme Aspect visuel Activité (obligatoire) DependencyProperty Execute Règles de compilation Une activité personnalisée
Extension des structures : validation des sémantiques (3/3) Validator La validation des sémantiques est réalisée avec les validators d’activité ; Les extenders fournissent des extenders de validation pour chacune des activités implémentées ; Handler => Comment est-ce caractérisé ? { => Comment est-ce calculé ? } + .dll (s) Modélisation Librairie standard .dll (s) Implémentation Extenders
Résumé de la session Windows Workflow Foundation est une manière visuelle d’exprimer des processus; L’extensibilité est au niveau : des activités, mais aussi des structures de contrôle ; WF peut prendre en compte des modèles complexes métiers, avec leurs variations pour s’adapter aux implémentations d’entreprise ; WF, c’est essentiellement la fondation d’une nouvelle façon de développer.
Questions ?
3/30/2017 12:04 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.