Windows Workflow Foundation

publicité
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.
Téléchargement