Bernard Fedotoff Microsoft Regional Director [email protected] Agilcom AGILCOM 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 Coach ASP.NET, C#, VSTS et bientôt VB.NET Une vision différente sur Workflow Foundation La problématique métier (de la finance) L’extension des structures WF 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) 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 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 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 », … 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 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 » 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 ? 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 Coût Marketing Comment calculer les montants refacturés entre les entités du groupe ? ? Chiffre d’affaire Coût Marketing par pays et par catégorie ? Chiffre d’affaire par pays et par catégorie 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 ? 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. PebbleTax Server - Portail WSS (référentiel) - Services PebbleTax -Accès aux données -Exécution Processus Portail Financier WCF Système de Reporting Légal Enterprise Système Local PebbleTax Editor PebbleTax Simpe Designer 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 hypercubes 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. Handle Coût Marketing Contexte En Europe Rule L’algorithme Allocate Exécute le calcul Handle Coût Marketing par pays et par catégorie 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 ; 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é » 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 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 ; 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é; Designer ToolboxItem Activity Validator Activité (obligatoire) DependencyProperty Execute Règles de compilation Theme Aspect visuel Une activité personnalisée Comment est-ce caractérisé ? Validator => { => } Comment est-ce calculé ? Handler + .dll (s) Modélisation Librairie standard .dll (s) Implémentation Extenders 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 ; 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. © 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.