Home
Microsoft Windows Workflow Foundation
Contents
1. 88 5 4 Maintenance de la BD du lt core service de s ivi 89 Gestion du versioning et des sourtes ss 89 6 1 Gestion des sources 89 6 2 Gestion du versioning rr 90 iii ee 91 CONCLUSION o eE E ee ee 93 BIDLI Pro to 94 TABLE DES ILLUSTRATIONS 96 APPENDICE nee ee ho mo 98 Canier des cini a u ee 98 Deli i AU e ee ee 98 Definition des interfaces techniques 98 Diagrammes de S quence an nennen 98 Diagrammes de l architecture r r 98 Diagramme des DrorCeseus eessseessssnessssnesssses 98 Diagramme des bases de donn es ss 98 SOIT ION Visual te e dede ne nn 98 Monueld uticao u u lana 98 Manuel AVION 0 00 000 000 98 IE ipi u a 98 Attestationd authentichte au 98 Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 11 ER Travail de dipl me 2007 INTRODUCTION V INTRODUCTION Comme presente dans la pr face le d veloppement orient processus est un des concepts au centre du d veloppement logiciel L une des principales priorites des responsables informatiques est l amelioration des processus metier f
2. np uondsces eg dwes w deu uondsosyBu peo An AB U2 I Z9U9 1piuo l nbiun Jueymusp np enbiun Jueynuop s lqissod sin leA uondu s q 0 zuene SIOW 5 xne souOUUe 5 21249 IUYOPU WNJOA Jed sjadde 04 e nbsnl xew s puo9 s sduu uyz uyz liliqiuodsiq yuellley p l 1ed JneAeous Sgidne uond i sno2e un p IOAU 8 zawad 29 lAl s uonduos q ju yequondeseyBuipeo yeq pH pio ju yul qoyuuquoo a nyeu is uondo291 sn y qoyuluuuo puejlazums uj ls A s su t paddy jo Ayssan un I9AAU3541S A HNYISYIOYYILA ssins ap sileio d 21033 ane senbiuy98 s oeJji lui s p uoniuu q 3WS r SWd8 O S s Hi HES SO Valais Probst Stephane 122 EZ Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 8139 S 096 VO UOISISA 00 06 909 2 4 woumat 0 0 3NS SWdG 01 900 SIeJeA OS S3H s nbuuuo s I 6421 Uonseo ap nblleuuojul Wie s p UONUYEG AWS SWdE view vows abed ej e au deyd ne
3. el Weu anb un oy tunu spuewwon NS f wodsuen vonespdo uonesynuap p OIPWNU uodsue 1 lt seyejed allie ll A uawabueyo np uondeses uosiesay ayeq nou EI Inod s depe yos S BH os juniop uonensuouu p s nbuolsiu s uuop s p UOSIEJA VO UU EI lep EG O lquu su l ayejed ep lile juUswWeBueYD seo ua sinal le Jeg uonensuouu p EI suep Sags nn S ux n Hi 208 AE n AB U inapodsues ne Juawabsey gt Sie Jueie FMUP NAJ Tr re sore coop equ un Au Op d Sole op am es SEN 055 0 INE l ND SISIXa u SJUBAINS s u uu9 S UOSIeJAl LONEW INUOD e7 napod Lu essaipe p s dulo s ses anbsu au uo au wee uonisod es SUBJ l Jed an 1 n5 1 ua E WD Juejjle 9p sed uoneuuyuog uosieim voneuuyuoy I nBiguuo2o g Suop ns un p ua nbiun na un us Juswanb pun 1 d 1 tudes b Sms 1s mee enbeyD wews seys Puods 109 e pueuuuuoo ej JUeYNUEP nbiun oj eunu spuewwon ejau podsues ap uonesodo uoneoyn pi p oi ulnu podsuesy Pier eGieyo ue sud aunay ja ajep ajeyo ua sud oe ob ue asud uolguutuoo ej asna
4. ssins sipi ds 2 023 ONEUFIS np uonuuy q 3WS r SWd8 O S 1 s H auer 0966 00 06 909 2 L X YvouysaL ECO 01 CL 06 909 Z Ir s eje OS S3H ZLOIWS P SWIE GI 20Q Yo SAS pnoubeg OS mg LUE uonsag nbiyeunoyu mysu OLEUFOS NP LONIUNFT IWS F SWIE pnou eg uaine wuejlle 9Q Inspodsues saoeyaju Pa EEE 1 ana anbuys 6oj 5 secdasnecssusensesee sassone ET ZALA S99U818J91 5 FL 4222222222222526 suoneingugge je sawal CL D 81n 99 zi e s jqeje d suolllpuoo sand 21 0 L L x m u m m nazsmm mn so s 7 s s 5s3adi s l neul s p puejsoziims u1915 A sa gt uang payddy jo Ausianun HIMYINSIM 14256420 2 e u pi55o ssins ap egsijemgds 21023 ayney OLBU OS np uonuu q 3WS r SWd8 O i s Gg HES SO Valais Probst St phane 112 IER Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 1 096 00 06 909 22
5. WS Interface Code de contr le Business BD I I 1 Interrogation de la bd sur la commande SS WS Interface Code z contr le Business BD 1 V rification des donn es en entr e 2 R ponse de la v rification 3 Insertion des donn es modifides de la commande 4 R ponse de l bd m 5 R ponse du WS au dient al 1 HES SO 1 5 Page Microsoft Windows Workflow Foundation 126 Travail de dipl me 2007 APPENDICES sd Encaveur Envoi de l avis de livraison J re A O Encaveur WF Manager Applic WS D taillant WS interface Code de contr le Business BD 3 Envoi avis livraison 4 R ponse du WS Ne DE en sd Encaveur Envoi du chargem ent conditionn o6 SS Encaveur WF Manager Applic WS Transporteur WS Interface Code de contr le Business BD I I I 2 R ponse de la bd nn to 5 V rification de la teponse sd Encaveur Reception de la prise en charge J 6 Encaveur WF Manager Applic WS Interface Code de contr le Business BD I I 1 V rification des donn es en entr e 2 R ponse de la v rification 3 Insertion des donn e
6. o33 NNLH 05 5 BUBIS 096 VO UOISISA HIYOUU98 0 0 3 NS y SVlag QI 90Q SIEVEA OS S3H s nbiuu s CL Uuons p Ini suI ep lu s p uontulj q INS F SWIE ni 5 0 GAM G anol np gt yeg4H Ali p p pileAul 2 Z Baul pasenboyuodsuen 00 06 909 2 74 22 06 909 22 745 SASUDUNEW uow vue uouuiS 0 yodsuey uoneululuo9 EI UPEA s qissod saarea uondl sql od ARA inayodsue 000 000 000 LL np jueynusp pmodsues nn suep oyeg uoegia eq eg eq H All p S yuele p ej e n deu ne uu q np jueyyjuap yodsues apuew anb un 000 000 000 JUeYHUSP OJBLUNAY ppsenbeyyodsuey S Jn luodsuen Bed ej e amdeu ne lu np nbiun jueyusp PLH AOAUO2 s lq ssod sun leA uonduoseg 8 a ueys no Juene SIOW Sinajesijin xne Buluolsisa 81949 uy gt pul ulnioA l nuluu Jed sjedde 04 e nbsnf su nb sy xew s puo2 s suod sdw uyz uyc liliqiuodsiq ineyodsues sed 1neAe9ue seidne yodsuey uonguuuuoo oun D 10AU 8
7. D Throw G 5 lable Echec l TrarsactonScope e gt 5 courtid 2 CompensatableTransactonScope m WebServicelngt 43 WebGerviceQutput code e e 4 WebServiceFaut gt rder 9 w rech Q Whe G n ral Y n existe aucun contr le Gans ce groupe Faites gisser un l ment io pour l ajouter la boite Y KI 2 Le lt Workflow Designer est l outil principal de l environnement de conception Gr ce a lui on peut conceptualiser et maintenir le processus visuellement a la place d crire des lignes de codes Le designer completement int gr dans Visual Studio permet le Drag amp Drop de la ToolBox standard de Visual Studio L utilisation de ce designer est des plus commune au centre se trouve le schema du processus et pour y ajouter des activit s il suffit simplement de Drag amp Dropp les objets apparaissant dans la ToolBox Les custom activit s apparaissent galement dans la lt ToolBox gt apr s avoir g n r la solution Il y a diff rentes vues possibles qui sont chacune tourn es vers un type de processus ou un probleme de conception On peut passer d une a l autre de ces vues a l aide des boutons en bas a gauche de la fen tre principale Il n est pas discut de la vue des processus state machine ceux ci n ayant pas ete utilises pour ce projet Probst St phane HES SO Valais Microsoft Windows
8. _runtimeHoster WorkflowRuntimeManager WorkflowRuntime AddService _trackingServic e La propri t PartitionOnCompletion permet de d finir le partitionnement automatique ou non des tables de suivi Des informations suppl mentaires sur le partitionnement de la base se trouvent en page 50 sous le point Partitionnement La propri t UseDefaultProfile est d finie false car chaque acteur de la chaine impl mente un profil de suivi personnalis La ligne suivante charge le profil devant tre utilis Les profils sont presentes dans les paragraphes suivants Service personnalis de suivi Comme indiqu precedemment il permet de suivre en temps r el les processus en cours l est implemente sp cifiquement pour d administration car il n est pas inclus dans WF Du fait que ce service est galement enregistr aupres du moteur d execution des processus il doit contenir les interfaces et methodes utilis es par le moteur d ex cution Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 70 Travail de dipl me 2007 DEVELOPPEMENT Afin de comprendre comment ce service doit tre implemente il est necessaire de connaitre le fonctionnement du suivi au sein du moteur d ex cution des processus Figure 37 Service de suivi et le moteur d execution Source IMSDNO1 WebSite Ci dessous sont pr sent s les diff rents composants permettant le fonctionnement du service de
9. 2 2 lliqiuodsiq ineAeoue sed yupylley p np seudne uosiesa sine un p OAUA zawad BOWES 29 asas uondu2seq jui pu pio ju pjuodsuen jul eyeQAUeAyep aeq poreaua ju Men JO82Hou np einjeuBis UOSIBJAI SIAV AH AM Q Q nOu BDIAIOS EZS QDIAJOS SJOY Q M D HOABOU 2 S pIIEAUI Sul H pio SUONEWJOJLI S P SUPIIEA EE smoren uoyduoseg odh puejazy ms wajsam sauans payddy jo Ausiaaun LI2MU2SISAM a npsypoyyaey assins 5 0905 s oegJi lu s p uoniuu q R H INS 7 SNdg O 5 s HES SO Valais Probst Stephane 123 WER Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 SUIS 0966 VO UOISISA 00 06 909 22 4 2 uyouuos DCD 3WS y SWd8 01 200 66 06 909 2 17 25 SIEIEA OS S3H sanbiuy28 529 UD SASUDUNEU VOUS ele Uo ns p nbneuuojul JNNSU eH lul s p uontuu9q ANS SWdA OIL ue VOUS 9 Q M OIAJ 8S PIIEAUI pyodsuey PIIEA EI Sejqissod sin teA 0000 A 4noyey UOS dwes w IEHAII a
10. Travail de dipl me 2007 H 096 LO UOISISA 00 06 909 2 74 amp HIYOUU98 0 0 S3WS b SWd 01 200 66 06 909 2 4 22 SIEIEA OS S3H senbjuyse 590 To SASUOUNEUT uous L 9 UONSaH anbyeunozug InitisuI epaju s p LOUE 3WS r SWd8 NLL vue UOWIS apueWIWOD 0 1R AB U 0 z u puewwo9 gj anb un upunu pi s lqissod s najen uondu s q GAL SEF s ltun 000 1 npold jed xew s lll inoq abed nuenb un p e p n de ne 5190 un p soduloo l Juejadde uellln p el auj dey gt ne siuyeq np enbiun Jueyyuop ndu p no Juene SIOW Sin esinn xne asuouue BuluoisieA 21949 lul pul WNJOA Jed s puewwo ol E nbsnl xew s puo9 s asuoda Sdul US 6 8 ne np liliqiuodsiq 2040 puBululo2 un p 61 zawad 89 np uoyduos q jul suu llu puo lu puare Ju sop omau np einjeuBls SPUCLUILUOD 89IA8S 2119 lu yeq pH pio lu Paea 141 0 Jui
11. Valais Microsoft Windows Workflow Foundation 179 Travail de dipl me 2007 APPENDICES lt system serviceModel gt lt services gt lt service name EncavorWFBusiness Service WSEncavor behaviorConfiguration myBehavior gt lt host gt lt baseAddresses gt lt add baseAddress hrr lt baseAddresses gt lt host gt lt endpoint address binding wsHrrpBinding bindingConfiguration wsHttp contract EncavorWFBusiness Service IWSEncavor gt lt endpoint address binding wsHttpBinding bindingConfiguratione vsHttp contract EncavorWEBusiness Service IWSEncavor2 gt 8081 x x MEX2 binding mexHttpBinding contract IMetadataExchange gt lt endpoint address hrrp lt service gt lt service name ServiceManager ServiceForBusinessApplic behaviorConfiguration myBehaviorTcp gt lt host gt lt baseAddresses gt lt add baseAddress net tcp MACBOOKPRO SP 48082 ServiceForBusinessApplic gt lt baseAddresses gt lt host gt lt endpoint address MEX binding mexTcpBinding contract IMeradataExchange gt lt endpoint address binding netTcpBinding bindingConfiguration netIcp contract ServiceManager IServiceForBusinessApplic gt lt service gt lt service behaviorConfiguratione myBehaviorIcp name ServiceManager EventPublisherForBusinessApplic gt lt host gt lt baseAddresses gt lt add baseAddress net tcp MAGBOORBROMSE 45053 EventPublisherForBusinessAp
12. 1691 AA ap seus sydeou05 gouw toydx eset Microsoft VVindovvs VVorkflovv Foundation Travail de dipl me 2007 s f pu LUED l avi s f Vida 3202844 1598 s b su at s asf suyus uber SAMBUL s p Buys np y iki asAjeuy Suz s p CAUSE np asAjouy sAyuy uasa ap ud Waq np xt suo olsu np 101 loi IANS ap spusuincog pesoq UO DO 4 JENGA NP sed AOLMON q Probst Stephane IqisiAlriniMi TiqisilAlriuiniTiqis Atrial Tq S A T M M Tiq S A T M M tials A TNRNIOS AT ww T al Sa r NW 1OS at HNNIdOSATNNIdSATNNIOSATNNI M 40 980 0 40 AON SZ 40 AON 64 20 40N 211 20 AON 50 40 PO 67 4080221 400051 10 PO 80 0 PO 10 20 d s yz 20 d s 21 2408 t wo Microsoft Windows Workflow Foundation Travail de dipl me 2007 APPENDICES Planification Initiale Microsoft Windows Worklow Foundation Truvuil de dipl me 2007 Probst St phane TD Workflow Foundation 506 17 09 2007 10 15 10 12 2007 09 00 Beer d re er ate Ap WP ote h 26 10 2007 1444 20 11 2007 09 09 Analyse at modelizetion du 2 26 10 2007 14 00 26 10 2007 16 00 w Anuylss et mod lisotion de le BD 2 23 10 2097 11 00 23 10 2007 1402 af implementation de lo B r gle de gestion 03 11 2007 15 00 12 11 2007 10 00 impl me
13. 5 S S ELO Jneuodsuer l IS s lnu pi JUBWAIIE D JUBIOS 1 suonejas S and op x essed s Jno s sil pouu sed Juos eu WOdsuey suogesgdo xne synejes Juawaied je 27 e aganjonyjs suoue2 SANANG sluetjtlu pi SN09 SUP snu luoo Sue s p ASN Dufeeg a uolse5 UN 1s8 5400 IS uolie5 np pn led oun s S409 s gl oul SOO np nbiun Weu queyqu bere 1 9n o J anod 1UE HEV D l z349 uu uu Ini pu s Siyoo nbeuo anod en Ae l sep Sage q seo unone ua n d au JNaAeoua sJ AUI E ADUBWIWOD ES UOSIBJAI uu uu In Jpu j1d Jnod sneAeo juewabieyo JUEWEULONPLUOO eJeQ X u U8 2042 S SE unone us nad au Jueyliej9p un in uodsuen Jed sinolno essed uosieJA aun Wwewe seup puodsaoo ll nbe pueuuuioo el Jueynuap nbiun aupwnu puetutuoO ras 1 Ineneoue nass uunoJ s ej9p Sj9 q sn d Sa suep inod ajqiuodsip sinolno 1s aniya un juewenb tuellte1 p l np Byrejeunsep np m pi ua ewone 9 d 22e s pueuu p e7 in luodsue Jed snj s ewel s u yodsuen ap spuewap sun SJUBAINS slu uu l sneyodsue
14. 51 CompensatableSequence FaultHandlerActivit c 3 ConditionedActivityGroup 9 Delay Zu EventDriven dl EventHandlingScope l FaultHandler sequenceActiv x Om 1 BEL Des exceptions peuvent tre lev es tout moment durant l ex cution d un processus Ces exceptions peuvent tre captur es l int rieur des activit s par un lt try catch gt ou alors visuellement l aide de cette vue Cette vue procure un moyen visuel de d finir la logique de capture des exceptions Gr ce cette vue on peut d terminer quelle activit capture les erreurs et quelles actions elle effectue pour une erreur donn e Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 32 Travail de dipl me 2007 DEVELOPPEMENT Permet de definir une logique d annulation dans le processus Ces activit s ne capturent pas les exceptions mais d finissent les actions qui sont executees lorsqu une activit est annulee Figure 16 Vue du CancellationHandler Workflow1 cs Design x Annulation de workflow cancellationHandl x cancellationHandlerA Deposer les activit s ici sequence ctiv 2 a z kel Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 33 Travail de dipl me 2007 DEVELOPPEMENT Permet de cr er visuellement nos propres activit s Il permet le Drag amp Dro
15. Configuration Mode automatique si coche D finir le temps d attente sec BJ Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 173 Travail de dipl me 2007 APPENDICES 2 Application business 2 1 Menu a me mE 27 7 2 3 4 5 6 7 8 Affiche les processus en cours IBM Affiche les processus termines avec succes HE Affiche les processus termines par erreur durant leur execution 4 S lectionne les processus afficher qui se sont termin s apr s cette date 5 S lectionne les processus afficher qui se sont termin s avant cette date S lectionne le processus repr sentant le num ro de commande inscrit dans la zone de texte Permet de faire passer le processus a l activit suivante Affiche la fen tre permettant d effectuer une nouvelle commande Uniquement pour l application du d taillant 2 2 Interface L application est s par e en trois parties la partie sup rieure contient le menu la partie de gauche affiche les processus choisis et la zone de partie affiche les donn es relatives au processus s lectionn Le choix de la p riode d affichage des processus fonctionne uniquement pour les processus termin s et non pour les processus en cours d ex cution Lorsqu un processus entre en mode d attente d un v nement utilisateur le bouton n 7 appara t et permet de faire passer le processus l activit suivante Les donn es pr sent es dans
16. faisant r f rence l objet Commande Entit de la table m tiers contenant tous les attributs pouvant tre attach s une commande Le param tre sender doit tre null sinon l v nement n arrive pas tre re u par la bonne instance L objet LSMsgEventArgs doit toujours contenir le Guid r f rence unique de l instance de processus car l objet dont il h rite ExternalDataEventArgs doit obligatoirement le r f rencer pour qu il puisse tre envoy la bonne instance Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 DEVELOPPEMENT Figure 28 Activit HandleExternalEvent WaildCommande Proprietes 2x CR 29 LSEventIdCommande System Workflow Activites HandleExternalEventActivit erentldCommen temeEnlapsedWiai A i 7 Zu ay Activit Name LSEventIdCommande Description Enabled True bauen EventName LocalServiceMessageRecieved 4 LSEventi C f TrackidCom InterfaceType EncavorWFBusiness LocalService IEncavorLocalService V commande mande be Roles El Gestionnaires o m Invoked LSEventidCommande_Invoked aitldComm_ Param tres e sender Pour mod liser l attente de l v nement il faut tout d abord poser une activit de type ListenActivity repr sent ici par WaitldCommande permettant d attendre un evenement Cette activit comporte toujours deux branches la prem
17. l est possible d executer plusieurs applications business en m amp me temps Le point suivant aborde une pr sentation d taill e de la solution au niveau acteur Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 53 Travail de dipl me 2007 DEVELOPPEMENT 2 2 Implementation par acteur Figure 23 Architecture par acteur ntercommunication Formulaires Base de donn es Base de donn es Service Application M tier Persitance et Tracking Business Applic Base de donn es A Service t Ev nement WebService Service Business Application Gestion Formulaires Processus Application Gestion Tracking WF Manager periton Applic Processus Manipulation Gestion Base de donnee Persistance 2 2 1 Application d administration Ce module contient toutes les donn es pr sentant la d finition du processus l contient les classes de modelisation du processus les regles de gestion qui permettent de diriger les actions en fonction des donn es re ues ainsi que l interaction du processus avec l application d administration et la gestion des temps d attente des processus C est le c ur de l application repr sentant la logique m tier de l entreprise Ce module permet de manager les processus Il h berge le moteur d ex cution des processus contient toutes les r f rences aux services n cessaires pour l activit de l entreprise Par exemple les donn es du servic
18. lu puo J hu jui zu DHOAEOU jui pauonipuo9Buipeo jul yeg s r p pli pio jui Jul pluoAEeSu jul luodsueuz I1s nb 4 AOAuO2SA J8AOAUOISM 3sseld V ES ineyodsue np Ce puelaz ms WASIM sauans panddy Ansiaaiun D SIS ANM nu3su5ouu284 jgju pm3o ssin ap si e15 ds o23 a neH s nbluuo s oeJi lu s p 401114 90 3NWS r SWd8 O S 5 Ki AUEIS 096 LO UOISISA 00 06 909 2 Lt HYOUU98 0 0 3NS SWd8 QI 200 s eje OS S3H s nbiuuo seo L uons 9 nbiyeunoyu usul eyayu s p uontulj q INS F SWIE 5 GAM G anol np gt p P JOAeoue PLIOPAO pruodsuen 4 L 0 s lq ssod 9 uonduosog 1 4nojey Jn8Ae9u3 2040 ineyodsuel p uodsue el aequenep S Inoneoug e amdeu ne 1400 anb un lueijnu p 2 s qissod sinon 81 yndul p senjeueie4 no zuene Siow sin l siji n xne eououue 8 2249 luy pul SUINJOA ynului sed si dde ol e nbsnf xew S8pU0985 esuodes schuet
19. med juoweBiey9 ye Buipeo l oies 22 1 no Juene SIOW Sin yesin xne 15 21249 lul pul SLIN OA ynulu Jed sjedde 04 e nbsnl xew s puoo s esuodas sdui Upz Upz lq uodsiq ineyodsuey sed ueyley p squdne ne seanejas suonguuJojui p IOAUS JoWAd 5 8D jul Sul yH pio Thu puH oAuo jui ye7Buipeo yeq pu pio ju DHOABOU Jul jul jui pluodsue jui yeq i All p aeg PHOAB U 3 l H AM Q O onou lu stuu llu piuo hui aeaye upeo aeq papo jul DUOAEOUS jui l y i5ulpeo 19 HEY HSAA JOjlEJaYSM SS PZF juejjlej p np 2175 WASIM sauans paddy jo Ansiaaurn LI M4251S AA 9 nu3su230uu3943 ssins agsengds 21023 in H senbiuyse seseyayul s p uoyluu q 3WS r SWd8 O S 5 Hi H IS 096 VO UOISISA 00 06 909 2 HIYOUU98 L 0E0INS F SNIE QI 90Q 66 06 909 2 ly s ejeA OS S3H sanbiuyoa 500 SAsyMulpew VOUS 606 uonsag nbrijeuujojui 1 1 184 eH ul s p 114 5 5 4 ni umeyy UOWIS 5 Q M pIIEAUI DU Papo PIIEA 9snaoe
20. 51 2 Presentation de l impl mentation ss 51 2 1 Impl mentation globale 52 2 1 1 PAV CIPS CNC scat a a ad ce an dun 52 22 Implementation par a amp Cteur u ur 53 2 2 1 Application d administration 53 2 2 2 Application business nassen 55 223 Stockage des donn es 55 22 Flux TRANSACTION na 56 2 3 1 FIO SS S 56 2 3 2 Flux de la solution des acteurs 57 3 Presentation techn Ole een 57 21 F CANOlIOB Re ee ee 58 3 2 Structure solution Visual Studio 58 33 m ne Oli saa 59 3 3 1 EE 59 3 3 2 OFC CIO M ee ee 73 3 3 3 Couches d acces aux donn es 83 3 3 4 Fichier de configuration 83 3 3 5 Formulaire des applications 84 4 Application de d monstration ss 86 5 Limitations et probl mes rencontr s 87 5 1 Intercommunication service web instance de processus 87 5 2 Designer des processus dans Visual Studio 87 Probst St phane HES SO Valais XI XII XIII ee SY Se A SY ae 11 12 Microsoft Windows Workflow Foundation 10 WERE Travail de dipl me 2007 lt TABLE DES MATIERES 5 3 Versioning et gestion des build
21. Avis de livraison Processus R ception de la demande de transport Confirmation de transport Chargement Conditionne ER 7 Produits command s Oeil de Perdrix Q 34 4 Cornalin Q 55 a Colis El 1023010000 1023010100 1023010200 CH 1023010300 m Li 1023010400 i i 1023010401 1023010402 1023010403 1023010404 1023010405 1023010406 1023010407 Prise en charge Confirmation de la r ception Chargement conditionn s EM 2 9002 0 34 Prise en charge Envoi chargement parti Confirmation de la livraison re ue 174 WER APPENDICES ER SEES HES SO Valais Microsoft Windows Workflow Foundation 175 Travail de dipl me 2007 APPENDICES Business Application Retailer Processus Avis de livraison Reception chargement parti Commande Confirmation de la livraison Envoi accuse reception Merlot Le tableau pour une nouvelle commande affiche tous les produits actuellement en stock chez l encaveur La colonne quantit en stock repr sente le nombre de ces produits dans le stock du detaillant Afin de passer une commande il suffit de choisir la quantite desiree dans la colonne quantite a commander Probst Stephane HES SO Valais Microsoft Windows Workflow Foundation 176 Travail de dipl me 2007 APPENDICES Manuel d installation Description Ce manuel decrit les etapes a r aliser pour executer les applications prototypes Prob
22. Cet outil n offre pas une solution pr te a l emploi comme propos les technologies concurrentes actuellement sur le march mais fournit en revanche tous les outils permettant le d veloppement d applications orient es processus Avec les composants fournis il est possible de d velopper une architecture pouvant comprendre l ensemble des fonctionnalit s des BPMS actuels De ce fait cette proposition permet un syst me pouvant s ajuster aux sp cificit s de chaque entreprise Toutefois alors que la tendance actuelle des BPMS se dirige vers une normalisation de la mod lisation ainsi que de proposer des outils permettant un travail collaboratif entre les analystes et les d veloppeurs Windows Workflow Foundation quant lui n aspire pas compl tement a cette tendance En effet les outils propos s sont destin s principalement aux d veloppeurs tant donn que le designer de Visual Studio doit conjointement tre utilis avec les propri t s et les m thodes d velopp es Finalement il est tr s int ressant de se tourner vers cette technologie plut t que le d veloppement d application DotNet standard lorsque la solution doit s executer sur une longue p riode et n cessite des temps d attente entre les diff rentes activit s En revanche si l on doit disposer de toutes les fonctionnalit s pr sentent dans la plupart des BPMS actuels il est pr f rable de se tourner vers une technologie concurrente WF p
23. ES WFConvoyer DAL A WFConvoyer DAL SalClient 83 Assemblylnfo cs J ConvoyerWFBusiness H a Properties H a References LocalService ProfileTracking D Service H Nettiers Encavor o LA WFencavor BLL al 1241 WFEncavor DAL 5 Ei WFeEncavor DAL SqlClient d eal Encavor csp 3 EncavorV FBusiness Fa Properties l References LocalService ProfileTracking Service l Workflow J 82 Retailer a dir Nettiers Retailer H 0 WFRetailer BLL SE WFRetailer DAL LA WFRetailer DAL SqlClient oo oi AssemblyInfo cs Detaillant csp 4 c Retailer WFBusiness H E References H LocalService H ProfileTracking H Ell Service ES Workflow HES SO Valais Microsoft Windows Workflow Foundation 163 WER Travail de dipl me 2007 APPENDICES 1 Dossier CommonLibrary Comme son nom l indique ce dossier contient des librairies de classes communes pour l ensemble de la solution Ces classes sont divis es en deux projets distincts Ce projet contient les classes n cessaires a la generation dynamique des proxy des services web des acteurs de la chaine logistique Ces classes sont utilisees a chaque fois qu un acteur de la cha ne doit contacter le service web d un autre acteur Les deux classes appel es dans les autres projets sont DynamicProxyFactory et DynamicProxy L utilisation de celles ci est abord e plus bas au point 3 3 2 Communication a
24. EventHandlingScope m businessActivity sl mx Intialsation NewOrderReception 2 InputParams Verification m IfElseRetsilerOk x Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 144 Travail de dipl me 2007 APPENDICES Orderlteams Check Al CheckAndC reatingProductOnered tl Probst Stephane HES SO Valais Microsoft Windows Workflow Foundation 145 Travail de dipl me 2007 APPENDICES m InsertOrderOB l WanldCommande d eventidC ommand timeEnlapgsedWsi zu Zi TransportRequest D r Al Se Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 146 Travail de dipl me 2007 APPENDICES e A WSResponseDk ifEbeBranchActivi_ m TransportConfinmation 5 m ViafiTranspuriCunfinmat nn event ransportC onfimationRecieved timeEniapsedT ran eh Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 147 Travail de dipl me 2007 APPENDICES l NoticeOfDelvery lfEelsNoticeOtDelver Dk Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 148 Travail de dipl me 2007 APPENDICES m wartlserAction recievelserEvert timeEnlapsedhetci EI e LosdingConditionet Probst St pha
25. SUIVI TrackingWriter C est une classe outil permettant d aller rechercher les informations de suivi pour une instance ou pour une collection d instances donn es et formate le resultat pour son affichage dans l application d administration WorkflowDataGrid Dans l application d administration c est ce type d objet qui est passe en tant que datasource du datagridview permettant l affichage des processus l contient le StringBuilder utilis pour l affichage des donn es du suivi des processus WorkflowBDataGrid Dans l application business c est le type d objet qui est passe en tant que datasource du datagridview permettant l affichage des processus Il contient objet principal de l acteur determine au lancement de l application Cet objet reference toutes les informations n cessaires a l affichage des donn es m tiers d une instance de processus VVorkflovvinstanceVVrapper Cet objet sert de conteneur pour une instance de processus Il permet lorsque l instance de processus est termin e de garder s il y en a les param tres de sorties de cette instance de processus Il contient galement les donn es de l exception si l instance ne s est pas termin e correctement VVorkflovvinstanceManager Cet objet contient la reference du moteur d execution des processus ainsi Ou up dictionnaire d objets de type WorkflowinstanceWrapper repr sentant les instances de processus en cours C est le gestionnaire de
26. ValidationError getNotSetValidationError Soit par la cr ation d une instance de ValidationError sans passer par une m thode helper Ces deux validations sont pass es notre objet de retour La troisieme et derniere tape consiste a assigner cette classe de validation a notre custom gt activit Cette assignation est faite par l ajout d un attribut notre custom activit afin d identifier la classe qui va fournir la logique de validation ActivityValidator typeof MyCustomActivityValidator public partial class MyCustomaActivity Activity Pour tester cette validation il suffit simplement de glisser la custom activit sur la vue de conception de processus et l ic ne d erreur rouge appara t dans le coin de l activit avec le message de description de l erreur Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 42 Travail de dipl me 2007 DEVELOPPEMENT Figure 20 Validation de la CustomActivity La propri t MyInt n est pas d finie Mystring Property is incorrect 1 8 Enregistrement des services Le lt runtime engine gt permet d enregistrer des services Il est possible d enregistrer des core services et des local services WF fournit deux possibilites d enregistrement enregistrement par le code ou enregistrement a l aide d un fichier de configuration Le choix de l enregistrement modifie quelque peu l initialisation du runtime suivant l
27. WF Manager Applic WS Interface Code de contr le Business BD I I 1 V tifcation des donn es en entr e I I I I 2 R ponse de la verification I I I 3 Insertion des donn es nfodifi es du transport 4 Repone ss bd l k 5 R ponse du WS au dient 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 sd Detailant Envoi de la commande 1 EC e SS D tailant Applic Commande WF Manager Applic WS Encaveur WS Interface Code de contr le en BD 1 I 1 Interrogation de la bd sur l tat des stocks I 1 4 Cr ation du processus de la comnlande 1 1 5 Envoi commande 6 R ponse du WS E usss I f 8 R ponse dq la v rification zb 1 b nsertion des donnees de la commande sd Detaillant R ception de l avis de livraison D tailant WF Manager Applic WS Interface Code de contr le Business BD I I I I 1 V ri cation des donn es en entr e I 2 R ponse de la verification I ik 5 R ponse du WS au dient Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 130
28. jequoe ayeQ papo lu puuodsuei lu pHe oAUO9 Jul yOoyunyuoo l pluodsuen jui yeq l All p yeq paea jui pysonbeypodsuey jui pe oauo9 jui yodsues Lwayuoo ju Swa Jepso Uhu puare jui1epiomeu JOABJU3SM 9SSB8 9 L L G S Wasa sa gt uang payddy Ansiaaiun LI2AMPSISOM inq suooquosi ssin a9syen2ds lneH s nbiuuo s vep zu s p uonluu q 3NWS Y SWd8 O S i s H 096 VO UOISISA 00 06 909 2 Lt HYOUU98 L 0 0 3NS SWd8 01 200 EE 06 909 ZZ Le in s ejeA OS S3H sanb uy0s 590 Es uons p nbneuuoyu Inyysuj Sue s p vonuyag JWS b SWd umeyy UOWIS SJUBAINS s nid BU SO SUEP s nu luoo suonguuiojJu s p seq EI Ins S S uonisodsip g zaw je ayuewe dwi ou BUBIS UOHIUYIC ZLO IWS b SWdg uewnsop suep aiuyep anbus 6oj autreya ej ap nae enbeyo s p uonluu q s 93e louluolq z xad synposd xne Anou ep s b lul op 159 anbu s 6oj suleyo ej 5 5 nbeyg SUNPOs s p sivetm pi p ne lqe 1 oo onen 6006 uleuoo 2006 ID 1006 Biegsiuueuor weyyuep ynpoud SJUBAINS saje xne ons
29. lt configuration gt Ce service differe quelque peu des autres services de l application En effet les autres services de la solution sont appel s ponctuellement durant l utilisation de application Un appel d une methode recoit son retour et le service se termine Pour celui ci il faut developper un service different parce que les informations doivent tre affich es sur YT application business mais proviennent de application d administration Ce n est pas l application business qui demande les informations mais bien l application d administration qui les transmet a un moment non ponctuel suivant l etat des instances de processus Etant donne qu il peut y avoir plusieurs applications business s executant simultanement sur diff rents postes le service doit connaitre toutes les instances de ces applications C est une implementation bien plus complexe que les services qui appellent une m thode et attendent la r ponse Cette impl mentation est r solue a l aide de callback Le principe du callback consiste a appeler une m thode d un service mais de ne pas attendre une r ponse de cette Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 79 2242 Travail de dipl me 2007 DEVELOPPEMENT methode La r ponse est renvoy e tardivement au client Cette notion est employ e lorsque le service a besoin de temps ou doit attendre un autre evenement ext rieur pour renvoyer la r ponse au client du servi
30. me 2007 DEVELOPPEMENT sur internet entre des machines Il permet de plus une plus grande variet de fonctionnalites comme fiabilite s curit et transaction et est optimise pour la communication de WCF a WCF II faut egalement rajouter un parametre dans le fichier de configuration des services concernant le parametrage de ce binding et changer et modifier le protocole de l adresse de base Ci dessous le param trage du fichier de configuration pour ce service lt xml version 1 0 encoding utf 8 gt lt configuration gt lt system serviceModel gt lt services gt lt service name ServiceManager ServiceForBusinessipplic behaviorConfiguration myBehavior gt lt host gt lt baselddresses gt lt add baseiddresse net tcp 192 168 1 119 8082 5erviceForBusinessAupplic o lt baselddresses gt lt host gt lt endpoint address MEX binding mexTecpBinding contract IMetadataExchange gt lt endpoint address binding netTcpBinding bindingConfiguration netTep contract ServiceManager lServiceForBusinessA pplic gt lt service gt lt services gt lt behaviors gt lt serviceBehaviors gt lt behavior name myBehavior gt lt serviceMetadata gt lt behavior gt lt serviceBehaviors gt lt behaviors gt lt bindings gt lt netTcpBinding gt lt binding name netTcp gt lt security mode None gt lt binding gt lt fnetTepBinding gt lt bindings gt lt system serviceModel gt
31. nay 19 op dweysswng deu I AH AM DP Jneaeouz ZOU9 ej ap anb un ueunu pi 1 9 2040 yodsue oj unu np anb un Jueyquap wuejlle Q 000 000 000 L 1 pluodsuen 5 G L 000 000 000 1 1 S obed ej g amdeu ne 4 np enbiun Jueynuap S lq ssod s najeA uondu2saq pueleyes enaweseg Mau p seneueied juejlie 9p aj Jed SUBJ np s idne UOSIBJAI uopewuyuoo OUN P IOAUS JOWWEd 29 np uonduos q jul yeg H ll p yeq jui pluodsue jui paje yu AVEAequUyUoS np e nyeu is UOSIEJAI UOHEULIUOD ISAIOQUAHUOI 9IAJ9S OUOUUE PUPILA m uondossgf sd 4nojoy s pun 000 1 ynpozd Jed xew asqwiou Bed eyjuenb yinpoud el p au deys ne 5140 op 9sodwoy ele BS 9 Q M pH lle PI EAUI DUOAEOUS S PIIEAUI PIIEAUI pH puo s lq ssod s najeA e CN 000 000 000 anb un zuenuap SEH PUBLAZUMS paddy jo Ayssan un ZI MYISISAM nu3su2ouu3o3 a
32. ssidino i mai u lq e Wb ju uinoop 29 Jed uuljuo2 ePUBWEP ej R ss ipe nb yodsuen uoneuu l UOYdeDgs snooe JUAJI BUN anayodsues podsuen uond 2 1 INS yodsuen voneuuyuoy SJUBAINS s u uu S uond o5 1 ap sn 2e 7 NAA au Meute np elqtuesu inod xne 0 Spiod auressangu puede BOU Je Aue 1 juaweBbseyo n i ue e Wb jueliie p sed UONeWIYUOD 01 0929 psn oy H euu uu snol ueunos oe puepaz ms O s su r paddy jo Ayussanun x n A ZIQAAQ251S JA 262 L 2MY2SIS2M nqosusoquov4 D essing ssins un aasyemgds 2 023 yni 2954e09dS 2 023 ajney O OHEUS9S np uonuu q o IWS SWdg O S s ii ne O S 2 s gt INS t SWdg A Uu 9 096 00 06 909 2 ly X Ou Lu HIYOUU28 L 610 UOISISA 61 06 909 2 Lt n bo O SIBIEA OS S3H ZV0 4 NS F SINdE 1 200 SABYM pnoubeq USINE A LULL UONSAD nbieunolu nlisul oueu95s NP UONIUYEG 3WS r SWd8 pnou eg juaine o Z gt Ln lt O A Y LL L kel o LL o S
33. www bea com framework jsp CNT index htm amp FP content products aqualogic albpm Source http www intalio com Source http www consilium it ch xpert ivy fr36 html Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 15 Travail de dipl me 2007 ETAT DE L ART BEA Aqualogic La solution BEA Aqualogic est galement une solution orient e service Elle permet la cr ation l ex cution et l optimisation de processus Source Image Google BEA AquaLogic BPM Designer is the business analyst s design environment It enables the creation of any type of process by simply dragging and dropping process elements onto swim lanes BEA AquaLogic BPM Studio is the process developer s workbench It is a superset of AquaLogic BPM Designer offering additional tools that empower the developer to write business logic connect to existing applications and assemble user interfaces for human interaction BEA AquaLogic BPM Enterprise Server orchestrates all resources part of each process people organizations applications and systems coordinating the proper sequence enforcing business rules and auditing each step to ensure flawless process execution escalation and exception management BEA Aqualogic HiPer Workspace for BPM is part of the BEA AquaLogic BPM Enterprise Server and provides a high performance workspace for business process participants interacting with process activities and wor
34. 1023010405 d D taillant Completed D taillant Completed 1023010406 D taillant Completed D taillant Completed ane Prise en charge D taillant Completed D taillant Completed D taillant Completed Avis de livraison Confirmation de la r ception D taillant Completed Oui 28 11 2007 D taillant Completed 28 11 2007 D taillant Completed D taillant Completed Le DataSource du DatagridView contient galement un type d objet particulier Celui ci comprend les propri t s affich es ainsi qu une variable referencant les donn es m tiers du processus Ces donn es sont ensuite affich es dans la partie gauche de application pour le processus s lectionn L affichage des informations de processus est fait l aide de UserControl un UserControl par acteur t d velopp Au d marrage de l application suivant le r le attribu a application le bon UserControl est instanci 4 Application de d monstration L objectif principal de l impl mentation de cette solution est de montrer les possibilit s de d veloppement l aide de la technologie WF Les applications ainsi d velopp es sont des prototypes et ne peuvent tre utilis es en tant qu applications productives Les services ne peuvent soutenir la charge d une application mise en production car ils sont directement embarqu s au sein de la solution et n impl amp mentent pas les fonctionnalit s de base fournies par exemple par IIS ou l
35. 11 2007 09 00 20 11 2007 14 00 21 11 2007 11 00 2111 2007 14 00 22 11 2007 15 00 27 11 2007 10 00 29 11 2007 15 00 01 10 2007 05 00 ar Abt y 20 09 2007 16 15 20 09 2007 16 15 27 09 2007 16 15 04 10 2007 16 15 11 10 2007 16 15 18 10 2007 16 15 25 10 2007 16 15 01 11 2007 16 15 08 11 2007 16 15 15 11 2007 16 15 22 11 2007 16 15 29 11 2007 16 15 06 12 2007 16 15 21 09 2007 08 00 21 09 2007 08 00 28 05 2007 08 00 05 10 2007 05 00 12 10 2007 08 00 19 10 2007 08 00 26 10 2007 05 00 02 11 2007 05 00 09 11 2007 08 00 16 11 2007 08 00 23 11 2007 05 00 30 11 2007 08 00 07 12 2007 08 00 17 09 2007 08 00 24 09 2007 05 00 01 10 2007 08 00 08 10 2007 08 00 15 10 2007 05 00 22 10 2007 05 00 29 10 2007 08 00 05 11 2007 05 00 12 11 2007 05 00 19 11 2007 08 00 26 11 2007 08 00 03 12 2007 05 00 10 12 2007 08 00 30 11 2007 177 29 10 2007 09 00 29 10 2007 16 00 20 11 2007 14 00 21 11 2007 11 00 21 11 2007 14 00 22 11 2007 15 00 27 11 2007 10 00 29 11 2007 15 00 30 11 2007 17 00 06 12 2007 17 00 20 09 2007 17 00 27 09 2007 17 00 04 10 2007 17 00 11 10 2007 17 00 18 10 2007 17 00 25 10 2007 17 00 01 11 2007 17 00 05 11 2007 17 00 15 11 2007 17 00 22 11 2007 17 00 29 11 2007 17 00 06 12 2007 17 00 07 12 2007 08 30 21 09 2007 05 30 28 09 2007 05 30 05 10 2007 05 30 12 10 2007 08 30 19 10 2007 05 30 26 10 2007 05 30 02 11 2007 05 30 09 11 2007 08 30 16 11 2007 08 30 23 11 2007
36. 1uyag enbiun jueyquep jui 5 s lqissod s nayen wonduosea d answer yndul p s n d np uonduos q jul Sep Du pu pio jui plu ie1 J jui DHOAEOU l p uonipuo o ulpeol np einjeuBis uuon puo JUsWIaHseYD p uonipuoSBuipeol 291119S EEG yd oe 0 yodsuey 0 upunu pi UINOQ Y s lqissod sun leA sd amp i Jno z1 heunos UOSIEJAI QALA ayeqgduenijep nbuun Jueynuap puepso 9 anb un jueyquep m 8 enewexa jndul p sesjowesedg sed in Jodsue np seidne odsuen apuewep 10AU zawad 29 np uoydussag ju eq eg ju Ju DHOABOU jul WOdsues ysonbas einjyeubis nodsue apuewag wodsuesjysenbes 2 ee uuonipuoo 1s jUsWeHJeYd nb Juesuouue IN 3n AB U Jed neyodsuey np saudne sre un p tonua zawad 8D 000 000 000 1 1 S abed EC nideuo ne 1uy9q q bed el e nideuo ne ulj q enbiun ueunu pi s qissod smaa uonduoseg MEQAHI AM P EQ pyepso jul pyodsues jui paneas Ju Asarn sguuyuoo lu sui
37. Afin de pouvoir identifier les instances de processus qui auront t creees l objet WorkflowiInstance contient un identifiant unique le Guid Un processus est compos d une ou plusieurs activit s On distingue deux categories d activiti s Les standard et les custom Les standard sont celles fournies par Microsoft dans WF A l inverse les custom sont celles d velopp es par nous m mes Ce sont des activit s permettant d effectuer des taches non standard Ce sont ces activit s qui repr sentent la puissance de WF permettant une expansion sans limite des possibilites Les activit s sont classees parmi deux groupes les simple et les composite activites Les simple activites sont celles qui ne permettent pas de contenir d autres activit s Celles ci effectuent une t che A l inverse les composites gt activit s n effectuent pas de t ches mais contr le et manage ces activit s enfants Les processus peuvent optionnellement definir des regles qui seront evalu6es durant l ex cution de l instance du processus C est le lt rules evaluation engine du runtime engine qui se charge de cette valuation Les PolicyActivity encapsulent une s rie de r gles et les valuent en s quence Apr s evaluation d une regle le moteur determine si une regle ant rieure doit tre reevaluee Cela serait le cas par exemple si une regle modifie une variable dont une regle ant
38. Cette cat gorie comprend galement les activit s permettant l ex cution d activites en parall le ou la r plication d une activit Les activit s permettant de g rer les d lais de suspendre ou terminer le processus sont galement dans cette cat gorie car elles agissent sur le cours du processus IfElseActivity IfElseBranchActivity WhileActivity DelayActivity SequenceActivity ParallelActivity ReplicatorActivity ConditionedActivityGroup InvokeWorkflowActivity SuspendActivity TerminateActivity State Management Cette categorie d activites n est pas detaillee dans ce document car ce type de processus n a pas ete etudie EventHandling Les activit s de cette cat gorie s occupent toutes de la gestion des v nements et travaillent avec des activit s lt enfants gt qui re oivent l evenement Elles sont les conteneurs pour d autres activit s g rant les evenements ListenActivity EventDrivenActivity EventHandlersActivity EventHandlingScopeActivity Local Service Communication Les activit s de cette cat gorie sont utilis es pour la communication entre un lt local gt service et une instance de processus CallExternalMethodActivity HandleExternalEventActivity Rules L unique activit de cette cat gorie est associ e avec le lt workflow rules engine gt PolicyActivity Web Services Les activit s de cette cat gorie permettent l interaction avec les services web Avec ces activ
39. Else ou While Les v nements publics que g n re le runtime engine peuvent tre manipul s par l application h te ce qui permet de surveiller l tat de chaque instance de processus II n est pas obligatoire de s abonner tous les v nements mais certains sont obligatoires par exemple WorkflowCompleted et WorkflowTerminated Etant donn que les processus sont ex cut s asynchrone ces v nements permettent de savoir quel moment un processus n est plus ex cut Pour manager les processus le runtime engine peut faire appel quatre core services services que l on doit r f rencer avant le d marrage du runtime engine Ces services n ont pas t impl ment s directement au sein du runtime engine afin de permettre une plus grande flexibilit notre application Par exemple il est inutile de s enregistrer au service de persistance si l on n en a pas l utilit Le deuxi me avantage est qu il nous est possible de d velopper nos propres services afin de subvenir le mieux possible nos besoins Ces quatre services sont Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 27 RER Travail de dipl me 2007 DEVELOPPEMENT Scheduler Service Ce service manage les threads utilis s par le lt runtime engine gt pour l ex cution des processus Persistence Service Permet la gestion de la persistance des processus sous la direction du
40. L interface du detaillant de vin doit comprendre un formulaire pour effectuer une nouvelle commande aupr s de l encaveur 2 5 Nice to have 2 5 1 Interface globale du sc nario Cette interface doit permettre d afficher l tat actuel d un sc nario en cours et de mettre a jour en temps r el l activite courante de celui ci Elle doit amp tre utilisee avec tous les acteurs quelque soit la technologie employ e 2 5 2 Choix de la reprise des processus Limplementation doit permettre de choisir comment on d sire reprendre les processus mis en attente Soit automatiquement a l aide de parametres determines a Pavance ou alors manuellement par intervention humaine 2 5 3 Service de log archivage des processus Un service d archivage permet d avoir un historique de l execution des processus termin s permettant ensuite par exemple l analyse de ceux ci afin d am liorer les performances ou de revoir la mod lisation du processus de l entreprise 2 5 4 Service de mail au sein de chaque maillon et entre les diff rents maillons Un service de mail permet d informer l acteur sur les processus en cours sans qu il ait besoin de consulter l interface de gestion des processus 2 5 5 Commande du d taillant en fonction du stock de l encaveur L interface de commande doit permettre d effectuer une commande de marchandises en visualisant les produits disponibles chez l encaveur 2 5 6 Securisation des web s
41. Lb HIVOUU98 610 UOlS A 61 06 909 2 45 Seen OS S3H 11 15 5 48 01 200 Saa eme LL 9 uons p ap nbiieuuojul mysu oueu9os np UONIUY9G INS P SWIT pnou eg juaune 49 snay ng lqe1 SIBIEA OS S3H El Jed nuajujew je lu uu lduui eJes JuejlleJ9p 27 9 NY BOU S UIA a anod si nbs i iwed Sin y npold ja s lsisso 6 seidne juow V 2 IHOSSE uos Buuo siaosddesi iep ne auaa avens oun lueji e p 87 IV yueyey q OMV 3H Jed nuejuieu esas snoyodsuey a7 sn podsues s s pueyosew s ulewop S sno suep suala 4 s p p ssod jug ie p Ne Jn Ae5u UIA np uodsue1 asnsse Inayodsuen 97 Vi inepodsuel z CC 2 Vi KA s uellte p xne l V noq US siuu 2 UIA SYIUIA SABO EI ajqesuodsal 5 naneaus 7 di m V nsrneaug p O JUBAINS ne lqe suep s lu s Jd 1405 UONENSUOWSP ej ap apea suep s sil poui sin oe 897 s ejeA OS S3H El Jed nusjuiew je eas Inane9U8 Ineyodsue ne jedde uesie Juejjje 9p ne UIA J JAI HOP INBABOUA alqo uos spula je p ulEu EI E Jueyeued nb 5 40126 Sin JO SUONDE sin JUOS 89 Je nbnsi6oj ureyo EI ap suo
42. Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 170 Travail de dipl me 2007 APPENDICES Manuel d utilisation Description Ce manuel d crit l utilisation des applications prototypes developpees pour le scenario de la chaine logistique Application d administration Application business Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 171 Travail de dipl me 2007 APPENDICES 1 Application d administration 1 1 Menu om dh 23112007 4 1 7 os Affiche les processus en cours 2 Affiche les processus termines avec succes Es Affiche les processus termin s par erreur durant leur ex cution 4 S lectionne les processus afficher qui se sont termin s apr s cette date 5 S lectionne les processus afficher qui se sont termin s avant cette date 6 _ Affiche la fen tre qui d termine le mode de reprise des processus 8 _ Affiche le statut du service utilis pour l application business SC Affiche le statut du service v nementiel utilise pour l application business Affiche le statut du moteur d execution des processus 1 2 Interface EE Admin Application Encavor Gaz CEE e Bo Et Processus A SUS os OUT avo d Valld RESU aise ryDatelnvalid Result False 64c7a116 59df 4baf 95fc 6bb706f1fd4e Completed 13 08 32 7 80 Rule IsWebServDown Result False 13 08 32 767 Activity CheckNoticeDeliv
43. SendNoticeDelivery Executing CallExternalMethodActivity 13 08 29 470 Activity NoticeOfDelivery Executing SequenceActivity 13 08 29 453 Activity TransportConfirmation Closed SequenceActivity e712f17c 3e17 412b 943f 21a6eeac9 Completed 13 08 29 453 Activity WaitTransportConfirmation Closed ListenActivity 13 08 29 437 Activity eventTransportConfirmationRecieved Closed EventDrivenActivity 13 08 29 437 Activity IfElseConfTransportOk Closed IfElseActivity EE 13 08 29 420 Activity ifIsConfTransportOk Closed IfElseBranchActivity 30e2b414 b792 40be bf7e 330d833 Completed 7 13 08 29 420 Activity InsertData Closed CallExternalMethodActivity 13 08 29 407 Transport Id 266 13 08 29 407 Activity InsertData Executing CallExternalMethodActivity 647 ef23a6 d5c6 407d 83f9 6f8e33291 Completed 13 08 29 390 Activity ifIsConfTransportOk Executing IfElseBranchActivity 13 08 29 390 Activity IfElseConfTransportOk Executing IfElseActivity 13 08 29 390 Activity SendWSResponseConfTransport Closed CallExternalMethodActivity de64dafb 605f 4399 befa e6641calb Completed 13 08 29 373 44be5630 0449 4083 b99b 745374e Completed 9b8633d4 2cff 4dcd ab35 63abf1l4f32 Completed 4cl0de2d 1215 4536 bdef e30840b1 Completed Activity SendWSResponseConfTransport Executing CallExternalMethodActivity 13 08 29 373 Activity CheckTransportConfirmationValues Closed 13 08 29 360 Rule Check De
44. Transporteur mi s Databases Databases Databases Manager r Manager Applic i Applic Business Bus Business Applic i Applic La chaine logistique se compose comme decrit au chapitre VII SCENARIO DE LA CHA NE LOGISTIQUE en page 19 de trois acteurs Pour chacun d eux une impl mentation d une solution est d velopp e en fonction du m tier de leur activit interne La structure de la solution pour chaque acteur est similaire et comporte les parties suivantes un logiciel d administration des processus un logiciel d affichage des processus avec les donn es m tier et d un espace de stockage des donn es m tier et des donn es des processus Pour chaque acteur l application d administration est le centre n vralgique de la solution En effet il est le serveur central permettant le fonctionnement de la solution Si cette application n est pas lanc e l acteur ne peut pas utiliser l application d affichage des informations m tiers Cette application d administration manage les processus en cours communique avec les bases de donn es communique avec les services des autres acteurs de la chaine informe en temps r el l application business des changements intervenant au sein des processus et permet galement d afficher l historique du suivi des processus termine L application business permettant l affichage des donn es m tiers peut tre ex cut e sur des ordinateurs distants au sein du r seau
45. Travail de dipl me 2007 APPENDICES sd Detaillant Reception du chargem ent pati D tailant WF Manager Applic WS Interface Code de contrdle Business BD I I I 1 V rifcation des donn es en entr e 2 R ponse de la v rification k 5 R ponse du WS au dient I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I I 1 1 1 1 1 sd Detaillant Envoi de la confirm ation de liwaison re ue re A D taillant gt We Applic WS ar emeng WS Sen Code de contr le Business BD M de la bd sur le transport d sd Detaillant Envoi de la confirm ation de r ception SS Detaillant WE nar Applic WS Encaveur WS Bes Code de contr le Business SCH I I 1 clones de la bd sur le transport 1 2 R ponse de la bd Envoi confirmation transport 4 R ponse du WS 1 1 I 1 I 5 V rification de la f ponse 8 R ponse de la bd y I I I I I 1 I I I I l I I Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 131 Travail de d
46. afin d attribuer des valeurs correspondantes aux entites qui seront cr es et utilisees par la couche Business Process Tier 2 6 2 Business Process Tier La partie Business Process Component comprend toutes la logique les regles de gestion de l interface et le processus m tier permettant le d roulement s quentiel de l activit de l acteur La partie lt Web Services Component gt permet quant a elle Pintercommunication de l interface avec les autres interfaces des acteurs de la cha ne 2 6 3 Presentation Tier La partie lt Application gt permet l affichage des donn es l utilisateur et permet galement l interaction de celui ci avec les donn es Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 107 WERE Travail de dipl me 2007 APPENDICES 2 7 Mat riel Afin de r aliser ce sc nario le mat riel suivant est n cessaire Une machine Windows Xp ou 2003 Serveur contenant les applications et services suivants le serveur SQL 2005 permettant d h berger la ou les bases de donn es le Framework Net 3 0 permettant l ex cution de l interface et le service IIS pour la publication des Web Services Cette machine fera office de serveur Un autre poste de travail h bergera application de gestion des processus Une telle configuration est n cessaire pour chaque acteur de la chaine logistique Les d livrables du projet Le projet est rendu en deux parties La premiere part
47. ap dinb3 zeg LOOZ EZL 0 suoneoulpoy pnou eg Jus ne7 Aessejs JO3IN mony PURHOZUMS WNSIM waysam saJuang paddy jo Ausiaaun sauans payddy Ayssanun VY TOMY ISISAM 25 2 TAMMY ISISAM 25 20 D FMUP ssins e u pi530 ssins un aesyemgds 21023 ane agsiemeds 2 023 ineH Q ONUEUFIS np UOHIUYEG oHEu os np uonunu q o 3WS r sSWd8 O S s INS t SWdg O S s 111 er Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 H IS 096 00 06 909 ZZ Ir e YHVOuUS 1 EO UOISISA EL 06 909 22 btt SIEJEA OS S3H 200 9 9 48 1 200 sroyDpnoubeq jume LUF uolls ap nbneuuo u Mysu oueu95s NP nl l q 3AS r SAd8 pnou eg Jus ne 59 slu uunoodq Z 0171 pnou eg uaine uolsioA Anen yu u n ooq s oSu 1 J 1 SJU8LUNn20Q PL suonenasgge 18 50 ng lqe1 Juawa eueyy SS39014 ssauisng Ndg wa shs Juaewa eueyy SS390J4 Ssau sng SWdg uondu s q vonuyag uonelA9iqqVv suonelasigge 3 soul ia CL IWS F SIWNdE 18 o1d sed s ul uo2 s uuoss d S SONO 6 uns p 1s ju uinoop 89 81n799 ej g Sajqejeaid suonipuo BIGID 2 4 4 Z L 8 9 148 OSOM 1910 inod ajgejen se Juswnoop 89 sulewiog LL 9 snayoe anbeyo snssaooud s p
48. bases de donn es de suivi de chaque acteur Le deuxi me param trage concerne la configuration des services WCF Il permet de modifier l adresse permettant de contacter ce service Il est galement possible de modifier le binding pour autant que l impl mentation du service l accepte Etant donn que les services s ex cutent dans l application et non en tant que services Windows ou encore dans IIS et que la pr sentation de la solution doit pouvoir se faire sur une seule machine il est n cessaire pour chaque service de sp cifier un port different Pour cette raison il faut que le Firewall de la machine permette les communications sur ces ports sp cifi s Le dernier parametrage concerne la configuration des bases de donn es utilisant le module d acces aux donn es base sur nettiers Il permet de sp cifier la configuration nettiers n cessaire a son ex cution Le connectionString des bases de donn es dont Pacces se fait avec le module nettiers est inclus dans le n ud connectionString faut une configuration nettiers pour chaque acteur du sc nario car chaque acteur utilise des objets diff rents repr sentant les entit s de leur base de donn es Le premier param trage permet galement de sp cifier le r le de l acteur de application ainsi que les constantes permettant de d terminer les cl s primaires des diff rents statuts des processus Le deuxieme parametrage reference le param trage des services WCF utilis
49. ca hpwebsphere INTBPM WebSite Intalio Leader in Open Source BPMS Intalio En ligne Citation 1 11 2007 http www intalio com products components MSDNO1 WebSite Accueil du site MSDN MSDN En ligne Citation 01 10 2007 http msdn2 microsoft com fr fr default aspx NetFxC WebSite Microsoft DotNet Framework 3 0 Community Netfx3 Microsoft DotNet Framework En ligne Citation 01 10 2007 http www netfx3 com Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 95 MER Travail de dipl me 2007 BIBLIOGRAPHIE RUUBOE Ruurd Boeke Ruurd Boeke Entreprise Development and technobabble Sitechno En ligne Citation 01 11 2007 http www sitechno com Blog CategoryView category WF Workflow aspx WCFMS WebSite Windows Communication Foundation WCF Microsoft DotNet Framework En ligne Citation 01 10 2007 http wef netfx3 com WWFMS WebSite Windows Workflow Foundation WinFX Windows Workflow Foundation En ligne Citation 01 10 2007 http www workflow foundation com default aspx XPEIVY WebSite Consilium IT Conseil en Technologies de l Information Consilium IT En ligne Citation 1 11 2007 http www consilium it ch xpert ivy fr36 html Probst St phane HES SO Valais FIGURE 1 FIGURE 2 FIGURE 3 FIGURE 4 FIGURE 5 FIGURE 6 FIGURE 7 FIGURE 8 FIGURE 9 FIGURE 10 FIGURE 11 FIGURE 12 FIGURE 13 FIGURE 14 FIGURE 1
50. classe CustomTrackingService repr sente le service et doit heriter de la classe TrackingService Pour pouvoir communiquer avec le moteur d ex cution elle doit contenir les m thodes override suivantes protected override TrackingChannel GetTrackingChannel TrackingParameters parameters protected override TrackingProfile GetProfile Guid workflowInstanceld protected override TrackingProfile GetProfile Type workflowType Version profileVersionId protected override bool TryGetProfile Type workflowType out TrackingProfile profile protected override bool TryReloadProfile Type workflowType Guid workflowInstanceld out TrackingProfile profile La premiere methode permet de referencer le channel qui sera utilis par le service Les autres sont utilis es par le moteur d execution pour charger le bon profil de suivi La classe CustomTrackingChannel d finit le channel utilis pour d livrer les informations de suivi lors d evenements correspondants du moteur d ex cution La methode GetTrackingChanne l vu pr c demment dans la classe du service retourne une instance de la classe CustomTrackingChannel Cette classe de channel doit galement contenir des m thodes lt override protected override void Send TrackingRecord record protected override void InstanceCompletedOrTerminated A chaque fois que le moteur d execution recoit un evenement de suivi la methode Send est appel e La classe de suivi traite les infor
51. classes du projet Acteur DAL et Acteur DAL SqlClient s occupent quant elles de la base de donn es et aux requ tes demand es Ce projet contient le service web de l acteur ainsi que toute la logique m tier de l activit de l acteur ActeurLocalService Cette classe est le service local de l acteur Elle sert de passerelle entre les instances de workflow et l application d administration Elle contient les variables des param tres du fichier de configuration Les m thodes appel es par le service web de l acteur les m thodes appel es par l application d administration ainsi que les m thodes appel es par les instances de processus Elle contient galement les v nements utilis s par le service local pour contacter une instance de workflow ainsi que les v nements utilis s par le service local pour interagir avec l application d administration ActeurLocalServiceDB Cette classe est galement un service local de l acteur Elle est utilis e par le service local principal et galement directement par les instances de processus C est elle qui g re les transactions avec la base de donn es m tiers de l acteur lActeurLocalService C est l interface du service local Elle est obligatoire pour que le service puisse tre enregistr aupr s du moteur d ex cution des processus et puisse galement tre utilis e l int rieur de la classe de mod lisation du processus lActeurLocalServiceDB C est l
52. de communication Les services utilis s pour l change d informations entre les deux applications utilisent la couche TCP Le schema ci dessus montre les diff rents flux chang s entre les applications Afin de permettre ces changes deux services sont impl ment s Le premier permet l application business de demander des informations sur les processus a application d administration Le deuxieme quant a lui permet d envoyer en temps r el a toutes les applications business demarrees les donn es des processus en cours d ex cution 3 Presentation technique Ce chapitre couvre l aspect technique de la solution developpee Il regroupe diff rents sujets de l impl mentation tel que le choix de la technologie utilis e la presentation de l environnement de d veloppement la pr sentation de la solution d velopp e et Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 58 DEES Travail de dipl me 2007 DEVELOPPEMENT finalement une explication technique sur tous les modules d velopp s pour l impl mentation de cette cha ne logistique 3 1 Technologie utilis e La technologie exig e pour le d veloppement de cette cha ne logistique est Windows Workflow Foundation Cette technologie est une des composantes du Framework de d veloppement DotNet 3 0 et permet la conception d applications orient es processus Faisant partie du Framework 3 0 elle restreint le choix des technolog
53. de l application il faut rajouter un noeud system serviceModel et configurer les parametres Ci dessous la configuration du service pour le service web de encaveur lt xml version 1 0 encodinge utf 86 gt lt configuration gt lt system serviceModel gt lt services gt lt service name EncavorWFBusiness Service WSEncavor behaviorConfiguration myBehavior gt lt host gt lt pbaselddresses gt lt add baseAddress http 192 168 1 119 8080 EncavorService gt lt haseiddresses gt lt fhost gt lt endpoint address binding wsHttpBinding contract EncavorWFBusiness Service IWSEncavor gt lt endpoint address http 192 168 1 119 8080 EncavorService MEX binding mexHttpBinding contract IMetadataExchange gt lt service gt lt services gt lt behaviors gt lt serviceBehaviors gt lt behavior name myBehavior gt lt serviceMetadata gt lt behavior gt lt serviceBehaviors gt lt behaviors gt lt system serviceModel gt lt configuration gt Le nom du service correspond a la classe impl mentant le service L attribut behaviorConfiguration d finit le nom du n ud behavior se trouvant dans le n ud serviceBehaviors du noeud behaviors Ce noeud definit le comportement du service et les fonctionnalit s de celui ci Ici serviceWetadata permet aux metadata d tre d couverts Ensuite le noeud host permet de sp cifier une adresse de base pour le service Un service peut contenir pl
54. de l application business Il contient le design de l application NevvOrder C est le formulaire d affichage permettant au detaillant de passer une nouvelle commande Program C est la classe qui lance l application d administration ServiceManager Cette classe contient les methodes permettant l appel au service de communication de l application d administration La cr ation de l appel au service se fait a l aide de la classe proxy g n r e 7 Les classes des acteurs Ce point pr sente les projets et classes contenues dans les dossiers Convoyer Encavor Retailer a la racine de la solution Ils n ont pas t detailles dans leur point respectif car ils contiennent les classes similaires pour les trois acteurs Le nom des projets et des classes changent mais leur utilit est semblable quelque soit l acteur Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 168 WER Travail de dipl me 2007 APPENDICES Ce dossier fait r f rence a la solution g n r e par Tout Codesmith l aide du fichier de projet Codesmith Encavor csp La solution g n r e est compos e de trois projets permettant l acc s a la base de donn es ainsi que l utilisation d objets repr sentant les entit s de la base de donn es et contenant les valeurs sauv es dans celle ci Le dossier Acteur BLL contient la repr sentation objet de toutes les entit s de la base de donn es m tiers de l acteur Les
55. differentes interfaces doivent permettre de gerer des commandes de produits ou des demandes de transport en fonction des produits ou du materiel references dans une base de donnees et garder une trace de celles ci Les interfaces d ajout de suppression ou de gestion de donnees des bases ne sont pas prises en compte dans cette fonctionnalite 2 4 2 Monitoring des processus Les interfaces doivent permettre de connaitre le statut des processus en cours De conna tre en tout temps le nombre de processus en cours ainsi que l tat de chaque processus 2 4 3 Interface de communication entre les diff rents maillons Les interfaces de chaque acteur de la chaine doivent pouvoir communiquer entre elles au moyen de Web Services 2 4 4 Processus m tiers automatis s au sein de chaque maillon et entre les diff rents maillons Les interactions de l amp tre humain pour le lancement des activit s au sein des processus doivent tre les plus restreintes possible afin d avoir un sc nario le plus automatis qu il soit 2 4 5 Interface de gestion d affichage des processus en cours Les interfaces doivent disposer d un formulaire d affichage permettant de visualiser des informations concernant les processus actifs par exemple le d tail de la commande Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 105 Travail de dipl me 2007 APPENDICES 2 4 6 Interface de commande de vins pour le d taillant
56. doivent tre enregistr s aupr s du runtime engine avant le d marrage de ce dernier Les v nements g n r s par un local service ne fonctionnent pas tout fait de la m me mani re que des v nements standards Quand un v nement est lev il est place dans une queue d attente interne l instance de processus L ex cution du processus peut continuer quand il r cup re l v nement dans la queue d attente De ce fait les v nements des local services sont ex cut s sur le thread du processus et non sur le thread qui l a cr Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 28 LET Travail de dipl me 2007 DEVELOPPEMENT Une instance de processus est comme son nom l indique une unique instance ex cutable d un processus Elle est repr sent e en code par la classe WorkflowInstance qui travaille comme un proxy avec l instance de processus reelle Cette classe contient des m thodes permettant d interagir et de contr ler l instance d un processus Pour pouvoir ex cuter une instance de processus il faut tout d abord que le lt runtime engine soit initialis Ensuite il faut cr er l instance du processus en utilisant une methode du runtime engine qui nous retourne une Workflowinstance Ace moment le processus est cr mais n est pas encore d marr II faut manuellement d marrer le processus l aide de la methode Start de l objet Workflowinstance
57. du namespace System Windows Forms Elles permettent une personnalisation des contr les du Framework 2 0 Ce dossier contient les fichiers images servant au design de l application Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 167 WERE Travail de dipl me 2007 APPENDICES II contient les classes proxy des deux services de communication de l application d administration Ces classes sont g n r es automatiquement par une fonctionnalit integree dans Visual Studio II contient les trois UserControl permettant d afficher les informations metiers des trois differents types d acteurs de la chaine logistique App config Ce fichier permet de configurer l application business II permet de sp cifier le type d acteur pour l application permettant ainsi d afficher les informations correspondantes a ce type Il contient galement les informations li es aux services de communication WCF de l application d administration DataGridObject Cette classe repr sente l objet utilis en tant que DataSource pour le DataGridView du formulaire permettant au detaillant de passer une nouvelle commande EventSubscriber Cette classe h rite de la classe de callback du service v nementiel de communication de l application d administration C est elle qui receptionne les evenements recus permettant ensuite d afficher les informations correspondantes Main C est le formulaire d affichage principal
58. interface du service local de la base de donn es De m me que pour l interface ActeurLocalService elle est obligatoire pour les m mes raisons LSMsgEventArgs Cet objet h rite de ExternalDataEventArgs Il est utilis par les services locaux afin d interagir avec les instances de processus Il permet de passer des objets en param tres et des messages d erreurs Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 169 KERZE Travail de dipl me 2007 APPENDICES II contient la classe ActeurTrackingProfile qui permet de specifier au service de suivi un profil personnalis pour l acteur sp cifi Cette classe permet de modifier le profil de base pour ressortir les informations utiles l acteur IVVSActeur C est l interface du service web business de l acteur Elle contient toutes les m thodes qui peuvent tre appel es par ce service VVSActeur C est le service web business de l acteur Il r f rence toutes les m thodes de l interface et traite les demandes des clients Il fait appel aux m thodes du local service pour interagir avec les instances de processus Ce dossier contient le fichier de mod lisation du processus de l activit de l acteur Ce fichier est separe en trois fichiers distincts Le premier permet la modelisation graphique du processus le deuxieme comprend toute la logique metier liee au processus et finalement le troisieme contient les regles utilisees dans le processus
59. le design Il est possible d agir sur La validation des activit s la validation permet d attraper les erreurs de configuration durant la phase de design et de ne pas attendre execution de l activit d un processus en cours d ex cution Customisation du comportement de la barre d outils il est possible de personnaliser l action d une activit lorsqu elle est d plac e de la barre d outils de Visual Studio sur la vue de conception du processus Implementation d un design et d un theme personnalis il est possible de cr er son propre designer en modifiant le theme les couleurs les polices et d autres attributs visuels Cette customisation ne peut tre faite que sur des custom activit s car nous allons ajouter des attributs referen ant d autres classes qui seront galement d velopp es l est vrai que la conception de ces custom activit s prend plus de temps mais tant donn qu elles peuvent tre r utilis es dans d autres processus et qu elles am liorent la conception des processus c est une fonctionnalit non n gligeable Dans les prochains paragraphes il est expliqu plus en d tail comment ajouter la validation des activit s sur la vue de conception de processus Il est apport une attention plus particuli re a cette fonctionnalit car elle permet d am liorer la productivit et l efficacit du d veloppeur D aucune mani re cette fonctionnalit n ameliore les
60. les local services ont toute leur utilit En effet l objectif principal de ce genre de service est de permettre une interaction entre un processus et des v nements ext rieurs Il agit comme un pont entre ces deux mondes En implementant des fonctionnalites en tant que local service celles ci sont centralisees et disponibles pour plusieurs instances de processus Avec WF il est possible d enregistrer plusieurs local services aupres du runtime engine ce qui permet de grouper de compartimenter les fonctionnalit s Les processus interagissent de deux manieres diff rentes avec des local services Appeler une methode d un lt local gt service Attendre sur un v nement lev par un lt local gt service Lorsqu un processus interagit avec un local service il interagit indirectement avec une partie de l application h te Par exemple lorsqu un processus appelle une methode d un local service cette methode peut appeler une autre m thode de application h te ou bien lever un v nement qui est trait par l application h te Inversement un processus peut attendre sur un v nement lev par un lt local gt service mais peut tre qu un autre composant au sein de l application h te a lev cet evenement Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 47 EE Travail de dipl me 2007 DEVELOPPEMENT L appel d une methode d un loca
61. les donn es ne sont plus utiles et qu il faut les supprimer l utilisation d une proc dure permet de d tacher les tables et une mise a jour des vues est de nouveau effectu e A ce stade les tables ne sont pas supprimees mais simplement d tach es des vues Afin de supprimer physiquement ces tables il faut employer une autre procedure afin de les supprimer definitivement 1 12 WF etles Services Web WF peut tre utilis de plusieurs manieres diff rentes avec des services web Il est possible de d velopper un processus et de exposer directement en tant que service web Il est egalement possible d appeler directement un service web dans un Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 51 RER Travail de dipl me 2007 DEVELOPPEMENT processus WF permet aussi d h berger le runtime engine et d appeler le processus depuis une application ASP Net L exposition d un processus en tant que service web ou encore l h bergement et Pappel de processus depuis une application ASP Net ne sont pas couverts dans ce chapitre tant donn que ces notions ne sont pas utilis es dans le cadre de ce projet 1 12 1 Appel d un service web depuis un processus Pour appeler un service web directement au sein d un processus WF met a disposition une activit InvokeWebServiceActivity Afin de pouvoir utiliser cette activit il faut ajouter la web reference au projet contenant le processus Un pr
62. limiter la complexit des interfaces et des m intercommunications entre celles ci et Transporteur D taillant permettant ainsi de terminer l application dans les temps impartis Cette simplification est d limit e dans les deux documents annexes suivants TD BPMS D finition du sc nario et TD BMPS Definition des interfaces techniques 2 2 Les acteurs Encaveur encaveur est responsable de la cave il vinifie le vin le conditionne et le livre aux d taillants Transporteur le transporteur assure le transport du vin de l encaveur au d taillant Il poss de des clients dans tous les domaines de marchandises Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 102 Travail de dipl me 2007 APPENDICES Detaillant le d taillant exploite une surface de vente au detail Il reapprovisionne son assortiment aupres de grossistes et de producteurs parmi lesquels pour le vin les encaveurs 2 3 Deroulement du scenario L l ment d clencheur du sc nario est le d taillant en x x effet lorsque celui ci atteint son seuil critique pour les vins il va passer une commande l encaveur L encaveur r ceptionne la commande et dans le but i l e d acheminer les produits au client fait une demande au oe transporteur Le transporteur r ceptionne cette demande et informe HP Pencaveur qu il est pr t a ex cuter la demande il envoie et AT ional une c
63. mentotion du workflow Implementation BE amp DAL impitmentotion des webservices s f ff ff Phose de test et correction d Document final du TD Rapport d activit Ropport d activit 1 Ropport d activit 2 Ropport d octivit 3 d activit 4 Ropport d activit Ropport d octivite 6 Ropport d activit 7 Ropport d activit 8 Ropport d activit 9 Ropport d octivit 10 Ropport d activit 11 Ropport d activit 12 PV S ance PY S once 1 PV S ance 2 PY Seance 3 PY S ance 4 PY S ance 5 PV S ance 6 PY S once 7 PY S ance 8 PY S ance PY Seance 10 PY S ance 11 PV S ance 12 vf vf sv ff Sf ff Ce ff x ff ff ff s x K ff ff Ce Ce x S ance hebdomodoire 1 S ance hebdomadaire 2 S once hebdomodoire 3 S ance hebdomodaire 4 S ance hebdomadaire S ance hebdomodoire 6 S ance hebdomodaire 7 S ance hebdomadaire S ance hebdomadaire 9 S once hebdomodaire 10 S ance hebdomadaire 11 S ance hebdomodaire 12 S ance hebdomodaire 13 XX lt 4 lt lt lt 4 X 4 4 lt 4 Cette planification concerne seulement les Fonctionnalit s Must Have et pas les Nice To Have Probst St phane impl mentotion de Finterfoce gestion des workflow impl mentation de l interface de commande ba bu bt b Fa Gu b ka B b b Bu du 26 10 200 20 I E A 7 16 00 29 10 2007 14 00 20
64. n cessaire d utiliser la fois le fichier contenant les propri t s et methodes du processus et le fichier utilisant le designer pour les affecter aux activit s Il est donc n cessaire de passer de l un l autre de ces fichiers plusieurs fois Lors de la premi re ouverture du fichier utilisant le designer lorsque Visual Studio est lanc Visual Studio se fige pendant environ 45 secondes avant d afficher le processus Lorsque l on navigue dans le designer l aide de la scrollbar Visual Studio se fige al atoirement pendant environ 5 secondes avant d afficher les activit s Lorsqu une bo te de dialogue doit tre ouverte pour affecter une propri t il peut se passer galement jusqu 5 secondes avant que la bo te de dialogue s ouvre Ce probl me est extr mement g nant et fait perdre un temps consid rable De ce fait l impl mentation dans le designer est plus une contrainte qu une aide au d veloppement L implementation directe des activit s et de l affectation des propri t s sans le designer dans le script XML est beaucoup trop fastidieuse pour contourner ce probl me et peut compromettre le fichier 5 3 Versioning et gestion des build Le core service de persistance et de suivi des processus peut vite devenir un cauchemar Les donn es ins r es dans les bases de donn es pour la persistance et le suivi sont s rialis es La s rialisation ne persiste ou sauve pas seulement les champs des pr
65. peut se faire de deux manieres diff rentes soit automatiquement avec la propriete PartitionOnCompletion a true soit manuellement si elle a la valeur false L exemple suivant montre comment fonctionne le partitionnement avec un intervalle journalier et le partitionnement automatique Toutes les donn es de suivi qui sont ex cut es aujourd hui sont sauvegardees dans un groupe de tables ayant une partie de leur nom correspondant a la date du jour Le lendemain lorsque d autres donn es seront sauvegard es elles le seront dans un autre groupe de tables correspondant la date du jour suivant L avantage d un tel partitionnement est que lorsque l on n utilise plus ces donn es une simple suppression du groupe de table est n cessaire De ce fait on vite l utilisation d une requ te fastidieuse determinant le groupe de lignes supprimer Le partitionnement en mode manuel n cessite l utilisation d une procedure stock e fournie par WF a ex cuter manuellement Cette d marche n est a effectuer que lors de p riode de maintenance car elle n cessite beaucoup de ressources et ralentit consid rablement le systeme Malgr cet inconv nient il est conseill d utiliser le partitionnement en mode manuel car le mode automatique reduit potentiellement les performances sur un systeme charge Afin d acc der aux donn es WF fournit un certain nombre de vues Celles ci sont mise a jour a chaque nouvelle entr e de tables Lorsque
66. possibilit s de l activit durant son ex cution Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 40 Travail de dipl me 2007 DEVELOPPEMENT Lors de la conception d une custom activit il est possible d y ajouter la validation de celle ci La principale validation qui peut tre impl amp mentee est la v rification des champs manquants ou non valides Il est par exemple galement possible de restreindre la possibilit a certain type d activit d tre des activit s enfants Les erreurs obtenues sont directement affichees dans la vue de conception des processus Pour qu une activit puisse tre valid e le d veloppement consiste en deux tapes premi rement la creation d une classe de validation et finalement l assignation de cette classe a notre custom activit L exemple ci dessous montre comment assigner une validation sur une propriete manquante La premiere tape pour pouvoir implementer cette validation consiste a verifier que notre custom activit possede une ou plusieurs proprietes E using System using System ComponentModel using System Workflow ComponentModel using System Workflow ComponentModel Compiler using System Workflow Activities El namespace CustomActivityComponents lt summary gt A custom activity that demonstrates activity components lt summary gt ActivityValidator typeof MyCustomActivityValidator publ
67. processus termines L objet utilis pour l affichage des informations de processus est de type Webbrowser L utilisation de ce conteneur permet le formatage des donn es Un objet de type RichTextBox ma pas t utilis car il ne permettait pas l affichage de couleurs diff rentes suivant le type de donn es transmises car incompatible avec la maniere dont le service de suivi fournit les donn es La barre de menu contient a l extr mit droite quatre icones permettant l affichage du statut des services Cette fonctionnalit est int ressante elle permet de visualiser rapidement si les services ont pu s executer normalement au d marrage de application Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 86 Travail de dipl me 2007 DEVELOPPEMENT Figure 39 Design de l application business OE ES Business Application Encaveur Detaillant Chargement Conditionne Detaillant Completed 66c37480 48cb 4608 a7b4 a6ebbb308fde 28 11 2007 D taillant Completed 2 Produits command s Oeil de Perdrix Q 34 2 Cornalin 0 55 Detaillant Completed E Colis El 1023010000 H v 1023010100 H v 1023010200 D taillant Completed 28 007 amp v 1023010300 D v 1023010400 2 1023010401 1023010402 D taillant Completed D taillant Completed D taillant Completed D taillant Completed Demande de transport F 1023010403 1023010404 d D taillant Completed 23 11 2007
68. runtime engine Tracking Service Permet de surveiller le fonctionnement des processus en enregistrant les evenements de ceux ci La particularite de ce service contrairement aux trois autres c est que Ton peut en enregistrer plusieurs par runtime engine alors que les autres requierent un enregistrement unique par runtime engine Commit Work Batch Service Manage les transactions utilis es par le lt runtime engine pour maintenir l uniformite entre l etat interne des processus et celui enregistr dans le magasin de donn es externes base de donn es fichier xml etc Le scheduler service et le commit work batch service sont les deux seuls services obligatoires pour le runtime engine Si on ne les enregistre pas personnellement avec les parametres souhaites ils sont enregistres automatiquement au d marrage de application avec les param tres par d faut Les local services sont optionnels et servent de conduit de communication entre application h te et une instance de processus Ils mettent disposition des m thodes qui peuvent tre directement utilis es par une instance de processus Ils mettent galement disposition des m thodes permettant a l instance de processus d attendre sur un v nement g n r par un lt local gt service Ils font vraiment office de pont entre l application h te et une instance de processus Comme pour les core services les local services
69. tool to help you get your job done faster Technically speaking it is a template driven code generator that automates the creation of common application code for any language CH Java VB PHP ASP NET SQL etc CodeSmith includes many useful templates as vvell as entire sets of templates for generating proven architectures netTiers CSLA NHibernate PLINQO Wilson s ORMapper APOSA and more You can easily modify any templates or write your own to generate your code exactly the way you want it http www codesmithtools com Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 84 EX Travail de dipl me 2007 DEVELOPPEMENT configurer de param trer l application avant son ex cution sans devoir la recompiler ce qui permet une plus grande flexibilit Le premier param trage est celui du choix de l acteur des constantes ainsi que des bases de donn es dont l acc s ne se fait pas par le module nettiers Il contient un n ud appSettings cet effet Les constantes concernent les informations sauvegard es dans la base de donn es l est possible de configurer les cl s primaires des trois types d acteurs des statuts des processus ainsi que des constantes concernant le packaging Cette impl mentation am liore la flexibilit au cas ou ces cl s primaires ne seraient pas les m mes dans les bases de donn es de chaque acteur Ce n ud contient galement les informations n cessaires afin de se connecter aux
70. toutes les m thodes et un fichier pour tous les evenements definis dans les interfaces Lorsque la g n ration est termin e il suffit de les ajouter au projet de generer le projet et celles ci apparaissent et sont utilisables dans la boite a outils de Visual Studio comme toutes autres activites 1 11 Gestion du suivi des processus Le suivi des processus est une fonctionnalit fournie par WF a l aide d un des ses core service Ce service permet de suivre et d enregistrer le statut et les donn es evenementielles pour chaque processus et chaque activit au sein des processus Ce service de base enregistre et manipule ces donn es dans une base de donn es SQL Serveur Comme pour le service de persistance il est possible de ne pas activer ce service et a l aide d un local service de cr er et implementer un service de suivi personnalise A la difference des autres core service de WF il est possible Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 49 MER Travail de dipl me 2007 DEVELOPPEMENT d enregistrer plusieurs services de suivi au runtime engine et ces services peuvent travailler avec les m mes donn es de suivi Les donn es suivies peuvent tre cat goris es en trois diff rents types d v nements e Les v nements de processus Les v nements d activite Les v nements d utilisateur Les evenements de processus correspondent au changement
71. xX ou 5 s TD Du 5 o gt o 4 l ineAeoue mod had s u nb suo sues lu uu lj nugui s ajuepuodsa1109 s pueuuuuo2 saugt 21019 9 u Op 19 1N 99 Juejlle 9p ne Ju uu e1 6 1u sed Jus nsed au ayjuenb ae nbuool nb uosie sun Jnod Is sepuew w09 ayjuenb ej e INBABOUA anbS10 SayeysHES uuituo2 S2812PISUOY sino no juos gt 591 s l poul sed JS8 u s pueyosew Sino l s p je WOdsuey ap sino us sabewwop sep uonseb e uouE9 uu uu UN suep s lli noq uiA ap s d4 sJussay p sed Buej ui au uo au lli jnoq u A d mes un nb Jrru juoo med au uones un e SUOHB SAP lIIE ll Anou EI INOd seajydepe yos S EH yos 919 JUBAIOP LONeNsUoWSP EI ap sanbuojs y s uuop SOP lquu su l UuOUE alle JueweBUEU ap Sed ua SINAL Jeg UONENSUOWSP EI suep s sin suoye9 S sno Juawaoe dwa a Jed at jeqo 6 asoiuew anb seBueyo nad au suoped sap lil e7 L lt 2u 2 AB S lll ynoq u UN ajqeded suolie2 allie 5 un nb ajs xa u Be o ve u D ants sundae IR a A H IMYPSIJSIM 25 20 2 ssin ap L I 2 023 aineH Bel oueugos np uonlul q H INS SWdg O S s e Microsoft Windows Workflow Founda
72. 05 La premiere base de donn es permet le stockage des donn es li es a l activit de l acteur par exemple pour encaveur elle contient les commandes recues les produits fabriques le detail des commandes etc La deuxieme base de donn es quant a elle stocke toutes les informations n cessaires a la gestion de la persistance des instances de processus ainsi qu au suivi de ces m mes instances de processus Elle permet de garder l tat des processus en cours lorsque l application d administration n est pas en cours d ex cution et de garder un suivi des processus termines Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 56 Travail de dipl me 2007 DEVELOPPEMENT 2 3 Flux transactionnel 2 3 1 Flux du sc nario Figure 24 Flux des communications du sc nario Encaveur Transporteur D taillant 4 1 Commande de marchandises 2 Demande de transport N amp 4 3 Envoi de la confirmation de transport 4 Envoi de Vavis de livraison 4 5 Envoi du chargement conditionn 4 4 6 Envoi de la charge 7 Envoi du chargement parti 4 4 8 Envoi de la confirmation de livraison amp 9 Envoi de la confirmation de r n La communication entre les differents acteurs est faite grace a la technologie des services web Afin d assurer l interoperabilite entre les diff rents acteurs de la chaine si un des acteurs change de technologie pour la ge
73. 05 30 30 11 2007 08 30 07 12 2007 08 30 U 1 2007 09 17 09 2007 11 15 24 09 2007 09 00 01 10 2007 09 00 08 10 2007 09 00 15 10 2007 09 00 22 10 2007 09 00 29 10 2007 09 00 05 11 2007 09 00 12 11 2007 09 00 19 11 2007 09 00 26 11 2007 09 00 03 12 2007 09 00 10 12 2007 09 00 HES SO Valais Microsoft Windows Workflow Foundation 185 Travail de dipl me 2007 APPENDICES Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 186 ER Travail de dipl me 2007 APPENDICES ATTESTATION Je d clare par ce document que j ai effectue le travail de dipl me ci annex seul sans autre aide que celles d ment signal es dans les r f rences et que je n ai utilis que les sources express ment mentionn es Je ne donnerai aucune copie de ce rapport a un tiers sans l autorisation conjointe du RF et du professeur charge du suivi du travail de dipl me y compris au partenaire de recherche appliquee avec lequel j ai collabor a l exception des personnes qui m ont fourni les principales informations n cessaires a la r daction de ce travail et que je cite ci apr s l Institut Informatique de gestion de la HES SO Valais M Laurent Bagnoud St phane Probst Sierre le 6 d cembre 2007 Probst St phane HES SO Valais
74. 17 b1e0 438a 9dc4 8143d44 Completed 9b363344 2cff 4dcd ab35 63abf14f32 Completed 4c10de2d 1a15 4536 bdef e30340b1 Completed SendWSResponseConfTransport Executing CallExternalMethodActivity 13 08 29 373 Activity CheckTransportConfirmationValues Closed PolicyActivity 7840ebca 55e7 485e 914d 930d092 Completed 13 08 29 360 Rule Check DeliveryDate Result True 10 41 bod 5 13 08 29 360 Rule Check Retailerld Result True eegenen Ges eem pissen 13 08 29 343 Rule Check_ConvoyerId Result True 33f250cf 3f54 482b 9a78 5e0668e01 Completed 13 08 29 343 Activity CheckTransportConfirmation Values Executing PolicyActivity 13 08 29 327 Activity EventTransportConfirmation Closed HandleExternalEventActivity 13 08 29 327 Activity EventTransportConfirmation Executing HandleExternalEventActivity dfd6a6af 2379 4f01 9068 26a5fd834f Completed 13 08 29 313 Activity eventTransportConfirmationRecieved Executing EventDrivenActivity ed8e8c85 463d 4bd1 955f 360066a6 Completed 22934e87 fe03 4cb1 8d14 23660fe2 Completed s06090f3 c368 47f5 ba45 7eb6ccc3e Completed 13 08 29 313 Workflow Loaded 13 08 28 780 Workflow Persisted 13 08 28 767 Workflow Unloaded 644a96a6 c484 4224 b03e db539736 Completed 7dfee934 2cff 4444 8dc7 21469b176 Completed Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 172 Travail de dipl me 2007 APPENDICES L application est separee e
75. 5 FIGURE 16 FIGURE 17 FIGURE 18 FIGURE 19 FIGURE 20 FIGURE 21 FIGURE 22 FIGURE 23 FIGURE 24 FIGURE 25 FIGURE 26 FIGURE 27 FIGURE 28 FIGURE 29 FIGURE 30 FIGURE 31 FIGURE 32 Microsoft Windows Workflow Foundation Travail de dipl me 2007 XII TABLE DES ILLUSTRATIONS REPARTITION DU TRAVAIL EFFECTUE BPM LIFE CYCLE SOLUTION IBM WEBSPHERE SOLUTION BEA AQUALOGIC BPM SOLUTION INTALIO SOLUTION XPERTIVY MODELISATION BPMN MODELISATION WF ACTIVITES DU SCENARIO FRAMEWORK 3 0 WF COMPONENT CATEGORIES WORKFLOW RUNTIME ENVIRONMENT WORKFLOW DESIGNER VUE DU DIAGRAMME DE SEQUENCE VUE DU FAULTHANDLER VUE DU CANCELLATIONHANDLER ACTIVITY DESIGNER L EDITEUR DE CONDITION EDITEUR D ENSEMBLE DE REGLES VALIDATION DE LA CUSTOMACTIVITY WORKFLOW RUNTIME ENVIRONMENT ARCHITECTURE DE LA CHAINE LOGISTIQUE ARCHITECTURE PAR ACTEUR FLUX DES COMMUNICATIONS DU SCENARIO FLUX DES APPLICATIONS PASSERELLE SERVICE LOCAL ACTIVITE CALLEXTERNALMETHOD ACTIVITE HANDLEEXTERNALEVENT FICHIER DES PROCESSUS ACTIVITE EVENTHANDLINGSCOPE ACTIVITE FAULTHANDLER ACTIVITE CODEACTIVITY Probst Stephane 96 EEE 12 14 15 16 16 18 18 21 23 24 25 29 30 31 32 33 34 35 42 46 52 53 56 57 59 61 62 62 63 64 65 HES SO Valais FIGURE 33 FIGURE 35 FIGURE 36 ABBILDUNG 1 ARBEITSAUFTEILUNG Microsoft Windows Workflow Foundation 97 2242 Travail de dipl me 2007 AC
76. 9 ju piuodsuen ju EQAl All p eQ PLejlejes jui pysenbeypodsue y ju pu AOAuO2 Jul podsues uuyuoo senbiuyoe seoerje u s p UOHIUyEG 3WS r SWd8 lAs s np uonduoseg np einjeubis uodeugn uoneuuuuo odsuei uuyuo 9IA19S PURLIZUMS sa gt uang paddy Jo Ay ssan un zIaMpDSISaM nu 3su30uu364 2 ssins ap agsyeneds o33 OS S H HES SO Valais Probst Stephane 121 er Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 H 096 LO UOISISA 00 06 909 ZZ Ir YVOUUS L 0 0 3NS SWd8 1 200 EC 06 909 22 143 siejeA OS SIH senbiuyos 5890 SASUOUHEUT VOUS 601 UONSa9 INSU epeaju s p UOMUYJO INS F SWII OML une uowig Seyun 000 1 wed xew puguuuuoo s ill ynoq sqwou un p el e p nideuo ne 5190 poo soduloo 4n AB U I 2040 l uinu 000 000 000 1 1 np anb un jueynuap G a ed Jn liodsueul el e ay dey gt ne s uyaq np enbiun Jueynuap sajqissod sinejeA uondu os q PH AOAUO2 gees 1Al S np uonduos q eaiues np
77. Annotations Add Input parameters recieved point MatchingLocations Add location profile ActivityTrackPoints Add point Afin d enregistrer et de ressortir les profils dans les bases de donn es correspondantes ces classes de configuration du profil de l acteur utilisent la classe TrackingProfileHelper se trouvant dans le projet WorkflowManager Cette classe contient des m thodes permettant de retrouver de supprimer ou de modifier un profil dans la base de donn es Le fichier de configuration permet de d finir l acteur affich Ce qui va d terminer quels services de l application seront instancies Ces services sont references comme Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 73 1242 Travail de dipl me 2007 DEVELOPPEMENT variables de classe dans la classe Main du projet AdminApplication Certains services peuvent utiliser une variable commune selon l acteur choisi et d autres doivent d finir une variable pour chaque acteur de la chaine Les services locaux de chaque acteur doivent avoir leur variable propre tant donn que leur r f rence vient de projets diff rents Le service de persistance les deux services de suivi ainsi que le service de connexion partag e utilisent une variable unique quelque soit l acteur parametre region Service Variables private SqlTrackingService _ trackingService private CustomTrackingService _custTrackingService private SqlWorkflowPersiste
78. DOP 89 9HPIIEA Op SUIEWOQ OMBU OS NP UOHIUYIG 210 3WS r SIWd8 usw noop suep IUYEP oueu 53s Ne Saal s nbiuu5 s 5eji lu s il y p p Jno qo inod e Juaw naop 89 uon nponu puejlazuums waysom su r paddy jo Arsiaaun z amy gt sisam 520 ipbiuaproso assins ap silorogd 2 033 sanbiuy98 s eH ul s p uoniuu q INS SNda d S S H 8118IS 096 VO UOISISA 00 06 909 2 Ir HIYOUU92 0 0 3NS SWdA QI 90Q E 06 909 LZ Ir s ejeA OS S3H senbjuyo9 Seo SASUDUIHEUT vow eve uons p nbijguuojul mysu epaju s p 401 INS F SWIE BILL Uew vows ee LOSIBJAN LONEWUINUOI Rienequuyuos SNS re rue i d uuonipuoo SS pauon puon uipeo EEG Tino yodsue epueweg uodsues1senbes ZEG ET sana mare ps ne EE Erenieeeg JeAOAUODSM esse V ES a a asas ineyodsue np Ce a A s UOSIBJAI SIAV Asanjeqjoeonou 629 ued S yo 6uipeo sowas ZZS OI rrecrreeceeoneannanensenecansennensnoyenngnananssnvannseueonecvsapnesmnennaapesneniorssdnrenanensegunanions sans Jegen ASSL LZS IC Saya juejjle 9p np eoepayu Z S M 00 uo nd i e
79. Delive IsValid IF this WSNoticeOfDeliveryResponse 0 THEN this setNoticeDeliveryMessage True IsTransportIdInvalid IF this WSNoticeOfDeliveryResponse 1 THEN this setiNoticeDeliveryMessage Transport Id invalid False Is Orderldinvalid IF this WSNoticeOfDeliveryResponse 2 THEN this setNoticeDeliveryMessage Order Id invalid False IsEncavorldinv lid IF this WSNoticeOfDeliveryResponse 3 THEN this setiNoticeDeliveryMessage Encavor Id invalid False IsDeliveryDatelnvalid IF this WSNoticeOfDeliveryResponse 4 THEN this setNoticeDeliveryMessage Delivery date invalid False IsWebServDown IF this WSNoticeOfDeliveryResponse 5 THEN this setNoticeDeliveryMessage Web Service down True Cette activit permet l ex cution de r gles Elle contient un assortiment de r gles qui sont valu es par le moteur d ex cution de r gles du moteur d ex cution des processus Dans les propri t s de cette activit il faut d finir le champ RuleSetReference par le conteneur de r gles et ensuite d finir des r gles l int rieur de ce conteneur qui correspond au champ RuleSet Definition Au sein du RuleSet il est possible de d finir l ordre d ex cution des r gles ainsi que le mode d valution La r gle est valu e selon le concept Condition Action Then Action Elsen L exemple ci dessus montre la v rification des param tres d entr e de la m thode du service web permettant au transporteur
80. E Divers El RuleSetRefe CalculateItemTotals RuleSet D CalcTotak IF S lectionner l ensemble de r gles S lectionnez un ensemble de r gles affecter au type PolicyActivity Vous pouvez galement ajouter modifier supprimer ou renommer un ensemble de r gles existant 1 Nouveau 5 Modifier Renommer X Supprimer Editeur d ensemble d r gles X Nom CalculateltemTotals 5 Ajoutez des r gles la liste ou suppimeztes Pour chaque r gie d finissez lp condition et les sections Ensemble de r gles Phy Ajouter une r gie X Supprimer Cnafnage Chalnage complet de la r gle IF this Salestem Quantty gt 10 THEN th IF this Salaskom OrderTotel gt 100 0 TH IF thie Saleskem isNewOustomer THEN Aper u de l ensemble de r Cak Total IF this Sales CakShpping IF ths Sa NewCustomer IF this L Calc Total 0 Condtion exemple th s Prop 195 88 this Prop 1c10 thes Saleshem Quantty gt 10 Actions Then exemples this Prop Yes Hat thie Salesitem Order Total this Salestem Quantity the Salestem tenPice 0 95 Actions Eise this Salashem Order Total this Salestem Quantity Zu Salestem hemPrce Permet d entrer et de maintenir plusieurs regles qui travaillent ensemble comme un groupe Pour le voir apparaitre il faut avoir une activit de type PolicyActivity dans le processus Dans les proprietes dans le cham
81. HandlingScope 3 a Er 2 ei EventHandler D gt z DCH businessA a j a 9 jo EventDrivenDelayMode Zu el EventDelay H Mode mi is ee e Pour g rer cette fonctionnalit il faut mettre en place un EventHandlingScope qui permet de d finir une s quence d ex cution de base et d intercepter des v nements durant son ex cution La s quence de base est l activit businessActivity Le gestionnaire d evenements contient une EventDrivenActivity permettant d attraper l v nement servant a modifier la gestion des temps d attentes L activite EventDelayMode est de type HandleExternalEventActivity et permet de recevoir l v nement LocalServiceDelayModeRecieved qui est lev par le service local chaque fois que le param trage de cette fonctionnalit est effectu Pour changer l affichage comme montr sur l image ci dessus il suffit de cliquer sur l ic ne correspondante Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 64 ER Travail de dipl me 2007 DEVELOPPEMENT La construction du flow de l entreprise suivant les Use Case se fait dans la sequence businessActivity Deux implementations supplementaires sont n cessaires par rapport aux Use Case La premiere est la sequence Waiter precedent le Use Case de l envoi du chargement conditionn Elle permet de suivre le lt flow gt du processus suivant le mode choisi pour le d lai d a
82. INBALIUS lueliie p nu xne SEI je uoNeinpe 27 ua np spewixew pyoede pyoedeo 2 sasiwpe sed juos ques p ty niga np VONHESYNUSP uone nn pi GIULIA n A OBAB SUB I anod snagud S P 169 eu lun s lll jnoq s p ue uodulo s pueuuuuio2 s7 uolie2 nb n Wad au pueuuuuoo uodsuen sg ep Geer A awgw inol l anagid uosieun aep UOSIEJAN eQ neAeouy podsuen op uoneuutuoo ej asnay Je aep ole gt puod podsues ep uonguuuuoo ej aanbe yodsuen apuewap el jueunu pi anb un QugwNU spuewag 7 Queliel p A as pueypsew ej nod tea 9Wu pi uejeunseg yodsues spuewep g ep PUPI un lipodx3 un liodsueg o uodsue ELO GIE une uondaog sn 2 uo Juop En gj lueunu pi oygwnu epuewwon P ER ENE E E SELLIT ue wowebueyo uondeses anay Je uond o 1 x e uondengs 99008 Op Kane GINOU ag slu uu l S POdsuUeJ UONEWIYUOD e7 J no x e 1 1d 1s 1 Nb Ja uodsuen pueuu p e uoydeogs sn e y in
83. Les parametres de configuration de nettiers se trouvent dans le fichier de configuration de l application h te Pour chaque solution g n r e une entr e dans ce fichier de configuration est n cessaire Le fichier de projet Codesmith permet de g n rer ces solutions autant de fois que n cessaire Ce qui est une fonctionnalit non n gligeable lorsque l on ne conna t pas toutes les informations qui doivent tre contenues dans la base Ainsi toutes modifications de la base de donn es pendant l impl mentation de la solution ajout de tables ou ajout de champs ne n cessitent aucun travail suppl mentaire Il suffit de g n rer la solution l aide du fichier Codesmith correspondant et les nouvelles entit s sont imm diatement disponibles pour l impl mentation Ce syst me permet une grande flexibilit et un gain de temps consid rable durant l impl mentation 3 3 4 Fichier de configuration Les deux applications d velopp es l application d administration ainsi que application business contiennent un fichier de configuration Ce fichier permet de Nettiers is a set of open source code generation templates that simplify the tasks of creating customized Application Tiers for your Microsoft Net applications netTiers generated architecture is custom to your domain uses familiar patterns and follows the guidance of Microsoft s recommended patterns and practices http www nettiers com CodeSmith is a software development
84. O epiyeAu piuodsue3 P EA ue sud uoneuuuuo2 EI 00 06 909 2 ly 52 06 909 22 4 i upew uow ue vowig s lqissod s najeA uonduoseg 00 dAL enbiun asud ap aunay je eg dis 1N9AB9U3 2020 000 000 000 np enbiun jueynuep 000 000 000 1 L G ineuodsueL a ed ej amudeu ne 490 np enbiun jueynuepl s lq ssod sinejeA uondu s q d Weu abuey gt jno zuene siouu SuNe esiyN xne 89Juouue BUIUOIS18A 21949 lull pul SUNJOA Jed sjodde ol e nbsnf souanba14 ve xew S puo9 s asuoda ap sduu yrz ypz 9111414005 0 Jnayodsue l sed sneAeoue saudne Jeyo np us asud uoneululyuo2 Sun p 1OAUAa zawsad Bolas 89 5 l zayd yodsues np enbiun jueynuep oe np uondu s q jui zegoe ajeq pH pio jui pruodsues jui plu AoAuoo ui yoywsyuoo mu s np sinjeuBis p Hodsue omua yndul p s n uue1ed UNIS ue asiid YOWULIUOD 9IA49S VS sanbiuyse s ogji lu s p uontuu q 3NWS r SWd8 PURLATUMS waysam suns paddy Jo A isi Atuf H AMQ53S AA dNUPSUIOUUIE4 ssins
85. O Valais Microsoft Windows Workflow Foundation 154 Travail de dipl me 2007 APPENDICES fs Automatic flsNotAutomatic H 4 mi waitllserActon i Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 155 Travail de dipl me 2007 APPENDICES recevelUserEvent timeEnlapsedkeci EI EI 5 IfEbelsConfionAoR Ok VK Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 156 Travail de dipl me 2007 APPENDICES waillserActon d m reacieveLUserEvent timeEnrlapsedheci ia cad Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 ia IfEbelsConfinmAoDOKk K fsContmmAcDOk fsConfrmAoDNa ui Probst Stephane APPENDICES HES SO Valais Microsoft Windows Workflow Foundation 158 Travail de dipl me 2007 APPENDICES Diagrammes des bases de donn es Description Mod le physique de la base de donn es m tier de du transporteur et du detaillant ainsi que le modele physique de la base de donn es gerant la persistance et le suivi des processus Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 159 Travail de dipl me 2007 APPENDICES D lt SJ lt lt SJ lt 4 S lt S s 4 J i 4 D Type de donn es Null autoris Leem __ No
86. O 7 Y LLJ L sue G abeayay syuawanbay 80100 100 0 8 SWIHIOSIN AFEH VEANNO ans epseGeanes UOISIA 1 ug mes 20 UOFUSA 0 0 3NS SWdg 0200 sanb uy9a s p uoyluu q INS F SWII ou inoqa senbiuyoe susu y foid d nbg uereg LOOZE ZZ ira pnou eg uaine ulpeyy UOWIS many Be DS De E EE A 211amyJs15a MA apNyssyIoYyyIeYy D assins WY Manns ns Er s nbiuu s eH ul s p uoniu j q R SWS b SWdd O 5 5 A 118 ER Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 H lS 096 VO UOISI8A 00 06 909 2 wyouyse 0 0 AWS SWdd QI 90Q 06 909 ZZ 4 SIEIEN OS SIH sanbiuy98 539 Tp SASUDJUMEWUOWIS elit uonsag aenbyeunoyuj ynysu eH u s p UONIUYSQ IWS F SWIE UIHEW UOWIS 90U819j9 sluauunooq Z neeigeL eo pnouBeg juaune Aasse d 20AN oueugos np uonluy q ZLO INS SNdE TT ineyjny yu umn oq 5 SJUSLUNDOG y suonenaugge 19 80 Jusws eueyy SS29014 ssauisng Wag wajshs juswabeuey SS29014 Ssauisng SWdg uondu s q UOHIUH9Q uonelA qqy suoneiagiqge Saul CL INS F SIWNdE l loid sed s ul 2u02 seuuosiad S 591 0 g uns p 1s u uinoop 89 el e Sajqejeaid suonipuo lqi ANd 2171 9 9 148 OS94 1eloid a inod eegen sa yUsWN
87. TIVITE IFELSE FIGURE 34 ACTIVITE TERMINATE ACTIVITE DELAY ACTIVITE DELAY FIGURE 37 FIGURE 38 FIGURE 39 SERVICE DE SUIVI ET LE MOTEUR D EXECUTION DESIGN DE L APPLICATION D ADMINISTRATION DESIGN DE L APPLICATION BUSINESS Probst St phane TABLE DES ILLUSTRATIONS 65 66 66 67 70 85 86 HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 XIII APPENDICES SS eS ete Se eS PS E m N FP Cahier des charges D finition du sc nario D finition des interfaces techniques Diagrammes de s quence Diagrammes de l architecture Diagrammes des processus Diagrammes des bases de donn es Solution Visual Studio Manuel d utilisation Manuel d installation Planification Attestation d authenticite Probst St phane APPENDICES 99 109 116 124 131 134 158 161 170 176 181 185 HES SO Valais Microsoft Windows Workflow Foundation 99 Travail de dipl me 2007 APPENDICES Cahier des charges Description Le cahier des charges etabli en d but de projet definit le cadre du travail r alise il d finit la technologie le sc nario les fonctionnalit s l architecture ainsi que les delivrables du travail Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 100 EIER Travail de dipl me 2007 APPENDICES 1 Pr sentation Dans le cadre de mon travail de dipl me pour l institut d informatique de gestion de
88. Valais Microsoft Windows Workflow Foundation 68 MER Travail de dipl me 2007 DEVELOPPEMENT les methodes permettant de d marrer un processus de m amp me que la gestion des v nements lev s par le moteur d execution des processus C est la classe WorkflowRuntimeManager du projet WorkflowManager Finalement l application d administration utilise le dictionnaire des processus en cours de la classe WorkflowRuntimeManager pour connaitre les processus a afficher dans le DataGridView et se sert de lobjet WorkflowDataGrid de la classe WorkflowInstanceWrapper pour afficher les informations de suivi La persistance des processus est g r e dans l application d administration La persistance est implementee en utilisant le core service destin a cet effet Ce qui a necessite le d veloppement d une base de donn es SQL Serveur 2005 Le d veloppement de cette base est simplifi par WF car il fournit les scripts de cr ation qui se trouvent dans le dossier du Framework 3 0 autant pour le schema de la base que pour sa logique Ensuite lorsque la base est cr e il faut enregistrer le service aupres du moteur d ex cution des processus avant le d marrage de ce dernier L ajout du service est implemente dans le code et non a l aide d un fichier de configuration Voici le code permettant d ajouter le service au runtime engine La valeur du connectionString se rapporte l entr e correspondante dans le fichier de con
89. Valais Microsoft Windows Workflow Foundation 128 Travail de dipl me 2007 APPENDICES sd Transporteur R ception du chargem ent conditionn SS Transporteur WF Manager Applic WS Interface Code de contr le Business BD I 1 V rification des donn es en entr e 2 R ponse de la v rification k 5 R ponse du WS au dient ck sd Transporteur Envoi de la prise en charge A SS Transporteur WF Manager Applic WS Encaveur WS Interface Code de contr le Business BD I 1 1 Interrdgation de la bd sur le transport 2 R ponse de la bd SE BEE 6 R ponse de la v fification eae RES 4 sd Transporteur Envoi de la prise en charge A Transporteur WF Manager Applic WS Encaveur WS Interface Code de contr le Business BD I I 1 ntemdgation de la bd sur le transport 00 zb ze AR 3 E nvoi prise en charge I i 4 R ponse du WS i I I Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 129 Travail de dipl me 2007 APPENDICES sd Transporteur R ception de la confirmation de livraison re ue o SS Transporteur
90. Workflow Foundation 30 Travail de dipl me 2007 DEVELOPPEMENT Figure 14 Vue du diagramme de s quence Workflowi cs Design x bz KI 8 Workflow s quentiel cg codeLookup MAR ifElseActivity1 is x T ifAccountVerified ifAccountinvalid ifElseActivi e SI SI f Ser ifElseActivity2 ifCreditAvailable ifltemProblems Ct codeBadAc ke countld E Afficher le code oq codeEnterO odeEnlarQ 2 codelnsuffic Promouvoir les propri t s pouvant tre li es rder jentCredit amp Couper 53 Copier x Supprimer Point d arr t Save s k 797 kl 24 Create New Theme F 4 m QUES Select Custom Theme gt A FB Properties if 2 Permet de voir visuellement notre processus On peut choisir le zoom activer ou d sactiver des parties du processus reduire ou augmenter les activit s Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 31 Travail de dipl me 2007 DEVELOPPEMENT Figure 15 Vue du FaultHandler Workflowi cs Design x ad D Exceptions du workflow Teen nu vity1 Windows Workflow faultHandlersActivity1 i poser une activit Pointeur FaultHandlerActivity ici H CallExternalMethod el e h R gt Compensate D se une faultHandlerActivity1
91. a m thode choisie Voici par exemple comment enregistrer les services de persistance fourni par WF l aide d un fichier de configuration lt xml version 1 0 encoding utf 8 gt FHeconfiguration lt configSections gt lt section name WorkflowRuntime type System Workfiow Runtime Configuration WorkfliowRuntimeSection System Workflow Runtime Version 3 0 00000 0 Culture neutral PublicKeyToken 31bf3856ad364e35 gt lt configSections gt lt WorkflowRuntime Name ConsoleHostingManaged gt lt CommonParameters gt lt Add parameters common to all services gt lt add name ConnectionString value Initial Catalog MHorkflovPersistence Data Source localhost SQLEXPRESS Integrated Security 55PI gt lt CommonParameters gt lt Services gt lt Add core services here gt lt add type System Workflow Runtime Hosting SqiWorkflowPersistenceService System Workflow Runtime Version 3 0 00000 0 Culture neutral PublickeyToken 31bf385624364e35 UnloadOnIdle true LoadIntervalSeconds 5 gt lt Services gt lt WorkflowRuntime gt lt configuration gt L initialisation du runtime engine se fait alors de la maniere suivante WorkflowRuntime instance new WorkflowRuntime WorkflowRuntime Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 43 Travail de dipl me 2007 DEVELOPPEMENT Voici maintenant l enregistrement du m me service mais cette f
92. ability ConfinmmTransportRequest Probst St phane HES SO Valais Probst St phane Microsoft Windows Workflow Foundation 137 Travail de dipl me 2007 APPENDICES ze WartLoadingT onditioned eventLoading onditionedRecieved tim eEnlapsedloa Si st HES SO Valais Microsoft Windows Workflow Foundation 138 Travail de dipl me 2007 APPENDICES if lsLoadingConditi_ if lsLoadingC onditi_ iz EN wa tUserAction H recevelserEvent timeEnlapsedheci 4 A Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 139 Travail de dipl me 2007 APPENDICES i ConfimAoR fEBselsConfiimAoR k Walter E m fEselsAutomatiez rt H flsAutomaticz iflsMutAutomatic2 H Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 140 Travail de dipl me 2007 APPENDICES waitllserAcion d recievellserEvent2 timeEnrlapsedheri a ZH Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 141 Travail de dipl me 2007 APPENDICES ConfinmDelvery mi waitConfinnDelvery eventConfin Deliver Recieved timeEniapsed Wait zu Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 142 Travail de dipl me 2007 APPENDICES Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 143 Travail de dipl me 2007 APPENDICES
93. acilitant ainsi les relations entre les entreprises Les dirigeants recherchent de quelle maniere informatique pourrait am liorer leur comp titivit et leur position sur les march s de plus en plus concurrentiels Afin d y rem dier ils tentent d exploiter les outils informatiques Les entreprises doivent s adapter rapidement a l volution des marches Cette dynamique peut tre amelioree par integration des personnes des applications et de l information aux processus m tier Ce travail est en relation avec l Institut Informatique de gestion de la HES SO Valais II contribue a un apport d informations pour un projet de l Institut Le projet consiste a un d veloppement d une chaine logistique de d monstration en utilisant les diff rentes technologies disponibles pour l impl mentation de solutions orient es processus Ce sc nario sert de base de d monstration L objectif de l Institut est de d montrer aux entreprises les possibilit s des solutions orient es processus et de fournir des prestations permettant la migration de l entreprise vers une solution orient e processus Le sujet de ce travail de dipl me comporte deux performances L analyse de la technologie et son impl mentation dans le sc nario de la cha ne logistique L objectif de l analyse consiste pr senter les caract ristiques et fonctionnalit s de la technologie L objectif de l impl mentation est de d montrer la mani re de la faisabilit
94. ainsi qu une explication de la fa on dont les fonctionnalit s ont t impl ment es l aide de ces outils L objectif final est d avoir une base de connaissances afin de d terminer les possibilit s et les performances de cette technologie pour voir dans quel cadre il est possible de l utiliser et pour pouvoir valuer ses forces et ses faiblesses par rapport aux autres technologies existantes Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 12 WERE Travail de dipl me 2007 ETAT DE L ART VI ETAT DE L ART L importance d avoir un systeme de gestion efficient et performant afin de conduire une organisation n est plus a demontrer Les entreprises percoivent de plus en plus les avantages qu elles peuvent retirer de l optimisation de leurs processus m tier Ces dernieres ann es le Business Process Management connait un essor de plus en plus important Mais qu entend on exactement par le terme de Business Process Management La definition exacte de ce terme n est pas strictement definie et l on trouve beaucoup de transcriptions diff rentes L explication ci dessous est celle qui d finit de facon la plus simple et la plus complete cette notion Le BPM est avant tout une discipline et est defini comme suit Ensemble des regles des obligations qui r gissent certains corps ou collectivites reglement La discipline militaire Manquer se plier a la discipline d finition issue
95. ange CreatedEncavor Ended ChangeEncavor NoticeDelivery WaitingUserAction La configuration du service dans le fichier de configuration se fait de la m me mani re que pour le service TCP vu precedemment Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 81 EEE Travail de dipl me 2007 DEVELOPPEMENT Ci dessous le param trage du fichier de configuration pour ce service lt xml version 1 0 encoding utf s gt lt configuration gt lt system serviceModel gt lt services gt lt service behaviorConfiguration myBehavior name ServiceManager EventPublisherForBusinessipplic gt lt host gt lt baselddresses gt lt add basedddress net tep 192 168 1 119 8083 EventPublisherForBusinessapplic gt lt baselddresses gt lt host gt lt endpoint address binding netTepBinding bindingConfiguration netTep contract ServiceNanager IServiceForBusiness pplicEvent gt lt endpoint address MEX binding mexTepBinding contract IMetadataExchange gt lt service gt lt services gt lt behaviors gt lt servicebehaviors gt lt behavior name myBehavior gt lt serviceMetadata gt lt fbehavior gt lt serviceBehaviors gt lt fbehaviors gt lt bindings gt lt netTepBinding gt lt binding name netTcp gt lt security mode None gt lt binding gt lt netTepBinding gt lt fbindings gt lt system serviceModel gt lt configuration gt L h berge
96. callback et une num ration permettant de d finir les types d v nements auxquels le subscriber peut s enregistrer la classe IServiceForBusinessApplic L interface du service r f rence dans l attribut CallbackContract l interface de callback Elle contient deux methodes permettant de s inscrire ou se d sinscrire au service d venement ServiceContract Name WFEventService Namespace http probstep workflowfoundation ch td2007 ServiceForBusinessApplicEvent CallbackContract typeof IWFEvents SessionMode SessionMode Required L interface de callback contient les m thodes permettant au service d envoyer les evenements aux subscriber enregistres public interface IWFEvents OperationContract IsOneWay true void WFStateChanged Guid guid string state Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 80 EEE Travail de dipl me 2007 DEVELOPPEMENT OperationContract IsOneWay true void WFEnded Guid g OperationContract IsOneWay true void WFCreatedEncavor Guid g WFEncavor BLL Commande order etc L enumeration contient les diff rents types d v nements auxquels on peut s enregistrer public enum EventType StateChange 1 CreatedEncavor 2 CreatedConvoyer 3 CreatedRetailer 4 Ended 5 ChangeEncavor 6 ChangeConvoyer 7 ChangeRetailer 8 NoticeDelivery 9 WaitingUserAction 10 EventEncavor StateCh
97. ce Ce service peut fonctionner dans les deux sens entre le client et le service et chaque partie appelle et recoit des demandes entre elle Dans WCF l utilisation des callback en duplex est faite avec des v nements Les v nements permettent au client d tre notifi de quelque chose qui survient du c t du service typiquement lorsque le service assure un suivi de donn es Dans ce contexte le service envoyant les evenements est appele le publisher et le client recevant l evenement le subscriber Bien que les v nements dans WCF soient des op rations en callback cela implique une relation moins importante entre publisher et subscriber compare a une relation entre client et service Le service publie le m amp me v nement a plusieurs subscriber G n ralement le publisher ne tient pas compte de l ordre d envoi des v nements aux diff rents subscriber Le publisher sait uniquement qu il doit envoyer des v nements aux subscriber il ne tient pas compte d une erreur pouvant intervenir du c te du subscriber lors de la reception de l evenement De plus il ne tient pas compte des retours de methode De ce fait les methodes du service d evenement doivent tre de type void et doivent tre notifies comme m thodes One Way OperationContract IsOneWay true void WFStateChanged Guid guid string state Limplementation de l interface du service comprend trois notions L interface du service l interface de la classe
98. ces aupres du moteur d ex cution des processus Ils heritent de leur interface correspondante Les instances de processus interagissent de deux manieres avec ces services locaux Soit par appel de methodes pour envoyer des informations vers le monde ext rieur soit par attente d un v nement pour recevoir des informations du monde ext rieur Les m thodes et v nements pouvant tre utilis s pour la mod lisation des processus doivent faire partie des interfaces des services locaux soit IEncavorLocalService et IEncavorLocalServiceDB Interaction avec EncavorLocalServiceDB Ce service est la classe g rant l acces aux donn es de la base de donn es m tiers l peut tre appel directement par les instances de processus par les m thodes d finies dans l interface EncavorLocalServiceDB et aussipar le service local central EncavorLocalService Interaction avec EncavorLocalService Le service local est utilis Par les instances de processus grace aux m thodes d finies dans Tinterface IEncavorLocalService Par le service web de l encaveur Chacune des m thodes de l interface WSEncavor implementees dans ce service appelle le service local pour atteindre l instance de processus qui correspond a la commande Par l application d administration lorsque celle ci re oit un v nement utilisateur de la part de l application business pour informer la bonne instance de processus Cet appel est fait avec la m thode F
99. cette technologie avant la pr sentation des services developpes pour l implementation d une solution un bref expos de la technologie est r alis La r alisation de cette impl mentation se base sur les sources d informations suivantes WCFMS WebSite et MSDNO1 WebSite Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 74 242 Travail de dipl me 2007 DEVELOPPEMENT Windows Communication Foundation WCF est un SDK pour le d veloppement et le d ploiement des services sur Windows WCF propose une interop rabilit avec les autres services Il y a plusieurs facons d heberger ces services Les services doivent tre h berg s dans un processus Windows appel host process L h te peut tre de diff rents types Il peut tre fourni par IIS les services d activation Windows WAS sur Windows Vista ou galement comme partie de l application d velopp e Les services de cette solution ont t d velopp s avec cette derni re Les services sont h berg s directement dans l application d administration Cet h bergement n est pas la meilleure solution d heberger les services car il n offre pas les fonctionnalit s n cessaires pour une ex cution et un maintient du fonctionnement des services sur une longue p riode comme par exemple dans un environnement de production Ce type d h bergement est souvent utilis pour des applications de d monstration ou de test Les services WCF se basent s
100. che der verschiedenen Technologiekomponenten sowie derer Integrationsm glichkeiten begonnen Schliesslich endete diese Phase mit der Suche von Quellenkoden fur die Implementierung der verschiedenen Module welche es das Logistikkette Szenario verlangt Szenario Entwicklung Diese Phase welche drei Wochen gedauert hat erlaubte die Entwicklung des Prototyps gemass Szenariodefinition Das erste entwickelte Modul beschaftigt sich mit den Kommunikationsdienstleistungen Das Prozessverwaltungsmodul wurde als zweites entwickelt Die letzte Phase war der Entwicklung der Verwaltungs und Businessanwendungen gewidmet Bericht Der Bericht wurde parallel zur Entdeckungsphase und Szenario Entwicklung verfasst Nach den zw lf zur Verf gung stehenden Wochen sind alle Ziele erreicht Die Technologie wird im Bericht erkl rt und die prototypische Applikation wurde realisiert Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 8 Travail de dipl me 2007 lt TABLE DES MATIERES IV TABLE DES MATIERES l DEL b aa 2 hb ii m 4 il ZUSAMMENFASSUNG essen 6 We TABLE DES MATIERESS ans ee a anne 8 V IR OT COIN ME 11 EAT DE ART ee ee ee a 12 VII SCENARIO DE LA CHAINE LOGISTIQUE nine 19 1 LESA OU E tase ance Bi 19 2 D roulement du sc nario ss 20 Vi DEVELOPPEMENT ne ee 22 1 Exploration eil e e CL TE 22 Lr e ee Te re ee ee 22 1 2 PR ee iyin 22 L TUTECT a an ao care 23 L Windows foundati
101. connexion e Choisir authentification SQL Server et renseigner le nom et le mot de passe e Dans l onglet lt Mappage de l utilisateur gt s lectionner les bases de donn es du sc nario et s lectionner comme mappage au r le public et db owner e Pour chaque base de donn es ensuite on va le param trer en temps que proprietaire de la base Clic droit sur la base Proprietes dans l onglet Fichier selectionner ce nouvel utilisateur comme Proprietaire Maintenant que les bases sont install es il faut configurer l application administration de mani re a ce qu elle puisse se connecter ces bases Etape a effectuer pour les trois applications d administration Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 178 WERE Travail de dipl me 2007 APPENDICES Dans le dossier de l application d administration de l encaveur ouvrir le fichier AdminApplication exe config A la fin de la section appSettings se trouve la cl key EncavorPersTrack Modifier la valeur Data Source afin de correspondre a la machine il est possible de modifier la valeur de lt Initial Catalog gt si vous l avez modifi e dans le moteur de base de donn es lors de l ajout de la base Initial Catalog EncaveurPersTrack Data Source nomdelamachine Integrated Security true Si vous ne voulez pas ou que vous n avez pas les droits pour la connexion aux bases de do
102. de configuration est faite au moyen d un n ud servicemodel dans le fichier de configuration de l application fichier App config La Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 77 224 Travail de dipl me 2007 DEVELOPPEMENT configuration du service au moyen d un fichier de configuration est expliqu e au point Configuration d un service au moyen d un fichier de configuration a la page82 Ci dessous le param trage du fichier de configuration pour ce service lt xml version 1 0 encoding utf 8 gt lt configuration gt lt system serviceModel gt lt services gt lt service name EncavorWFBusiness Service wWSEncavor behaviorConfiguration myBehavior gt lt host gt lt baseiddresses gt lt add baseAddress http 192 168 1 119 8080 EncavorService gt lt haseiddresses gt lt host gt lt endpoint address binding usHttpbinding contract EncavorWFBusiness Service IWSEncavor gt lt endpoint address http 192 168 1 119 8080 EncavorService MEX binding mexHttpBinding contract IMetadataExchange gt lt service gt lt services gt lt behaviors gt lt serviceBehaviors gt lt behavior name myBehavior gt lt serviceMetadata gt lt behavior gt lt serviceBehaviors gt lt behaviors gt lt system serviceModel gt lt configuration gt x Finalement la derni re tape consiste a h berger le service dans l application d administrat
103. de confirmer la demande de transport Une r gle par param tre d entree de la m thode est d finie L impl mentation basique des processus consistant instancier une lt runtime de la demarrer et ensuite d instancier un ou plusieurs processus a la suite de les demarrer et finalement d afficher les parametres de sortie ne suffit pas pour implementer ce scenario En effet il doit amp tre possible d attendre les informations de plusieurs scenarii et d obtenir les param tres de sortie de ceux ci Or l impl mentation d crite ci dessus ne permet que d afficher les informations du dernier processus cr L impl mentation d un module de gestion des processus est donc requise La premi re tape consiste cr er un objet permettant de stocker l instance de processus ainsi que les param tres de sortie Cette classe contient une variable permettant de conserver l exception au cas o le processus se serait termine anormalement Elle contient galement une variable permettant de stocker l objet pass en tant que source du DataGridView pour l affichage des donn es de suivi C est la classe WorkflowInsanceWrapper du projet WorkflowManager La deuxi me tape est l impl mentation du manager des processus Cette classe contient la r f rence de l objet repr sentant le moteur d ex cution des processus ainsi qu un dictionnaire contenant les processus en cours Elle impl mente galement Probst St phane HES SO
104. de statut des processus a chaque changement de statut d un processus un v nement est lev et est pass a tous les services de suivi enregistr s Par exemple lorsque le processus est cr persiste termine ou encore lorsqu une exception non captur e survient Les v nements d activite correspondent au changement d ex cution des activit s Par exemple lorsqu une activit est ex cut e ferm e ou encore annul e Les v nements de type utilisateur peuvent tre g n r s tout au long d un processus L impl mentation de ceux ci est totalement sous le contr le du d veloppeur Pour cr er un tel evenement il suffit d utiliser la methode TrackData fournie par la classe de base Activity Lorsque cette m thode est appel e il est possible de passer n importe quel type de parametre suivi d un champ de type String servant a identifier les donn es pass es La deuxi me possibilit afin de g n rer un v nement de type utilisateur consiste a ajouter un UserTrackPoint au profil de suivi A l aide de ce UserTrackPoint un type d argument une activit ou encore un groupe de conditions peuvent tre suivis et un venement est genere lorsque les conditions definies correspondent 1 11 1 Les profils de suivi Par d faut tous les v nements de processus et d activites sont g n r s pour tous les types de processus et d activit s WF ne limite pas le service de suivi uniquement a ce comportement E
105. des postes diff rents est un atout suppl mentaire l application 2 Nice to 2 Fonctionnalit s Must Have D velopp Gestion des stocks et des commandes avec historique Monitoring des processus Interface de communication entre les diff rents maillons Processus m tier automatis s au sein de chaque maillon et entre les diff rents maillons Interface de gestion d affichage des processus en cours Interface de commande de vins pour le d taillant Interface globale du scenario Choix de la reprise des processus Service de log archivage des processus Service de mail au sein de chaque maillon et entre les diff rents maillons Commande du d taillant en fonction du stock de l encaveur S curisation des web services Interface d ajout de produits n Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 92 1224 Travail de dipl me 2007 SYNTHESE Le point negatif du travail concerne la perte de temps consid rable lors de la mod lisation des processus dans le designer emp chant le d veloppement de fonctionnalit s suppl mentaires et l am lioration des donn es pr sent es dans application prototype Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 93 MER Travail de dipl me 2007 CONCLUSION X CONCLUSION Le Framework 3 0 apporte un outil de d veloppement orient Business Process Management avec le package Windows Workflow Foundation
106. dipl me 2007 DEVELOPPEMENT Le service web metiers des acteurs est le service qui definit la logique des communications entre les diff rents acteurs au cours d un sc nario Afin de pouvoir implementer le scenario et assurer son fonctionnement entre les diff rents acteurs les methodes ainsi que les retours de methodes mis a disposition sont connus d avance Ces interfaces sont definies dans le document TD BPMS Definitions des interfaces techniques consultables dans les appendices page 98 Afin d assurer l interoperabilite avec les diff rents acteurs au cas ou ils emploient une technologie differente ce service doit amp tre comprehensible par les diff rentes technologies De ce fait le choix du binding est tres important Parmi les binding possibles dans WCF deux sont retenus le Basic binding et le Web Service WS binding Les autres ne peuvent amp tre impl amp mentes pour ce service et ne sont donc pas discut s dans ce point Le premier pr sente le service comme un service h ritant des services ASMX comme cela les anciens clients peuvent travailler avec les nouveaux services Utilise par le client ce binding permet aux nouveaux clients de travailler avec les anciens services ASMX Le deuxieme binding utilise http et https pour le transport et permet d offrir diff rentes fonctionnalites comme fiabilite s curit et transaction Etant donn que le service n est pas encore r f renc dans d autres applications clie
107. du Larousse Un processus metier est un enchainement ordonne d activites qui se deroulent en serie ou en parallele qui sont executees par des personnes ou par des applications activit s manuelles semi automatiques ou automatiques et aboutissant un r sultat attendu Un processus se caract rise par un v nement d clencheur en entr e des entr es suivies d activit s permettant de construire un r sultat et le r sultat final sortie attendu par le b n ficiaire Le Business Process Management gestion des processus Figure 2 BPM Life Cycle m tiers est une discipline qui comprend 4 axes En principaux BS Lo mod lisation des processus representation LS R graphique des processus m r L automatisation des processus pour ce qui est de m LA automatisable et int grable roy gestion des processus tats des processus et gestion de leur cycle de vie Source IBPMSO2 Website L optimisation am lioration des processus bas e sur des m triques r elles de performance des processus Cette discipline permet de g rer et d ameliorer les processus de l entreprise durant leur cycle de vie et s accompagne de la mise en place d outils permettant de mod liser d integrer de superviser et d analyser le fonctionnement des processus Le BPM apporte une methode permettant de comprendre comment optimiser ces processus Elle n cessite des profils pluridisciplinaires tel
108. durant l ex cution d un processus WF comprend un certain nombre de lt standard activit s diff rentes qui permettent de g rer la plupart des logiques de processus WF permet Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 37 2242 Travail de dipl me 2007 DEVELOPPEMENT galement de cr er nos propres activit s Travailler avec des lt custom gt activit s permet de r soudre les problemes metiers specifiques a nos besoins Quelque soit le type d activite choisie l utilisation reste identique a savoir lt Drag amp Drop de la lt Toolbox gt sur la vue du processus param trage de l activit l aide de l explorateur des propri t s de l objet Les propri t s servent a d finir le comportement de l activit lors de l ex cution ou alors permet galement de d finir les inputs et outputs de celle ci Certaines activit s sont capables de contenir d autres activit s on dit que ce sont des composite gt activit s alors que d autres ne peuvent qu ex cuter une certaine t che on les appelle alors les simple activit s Une fonctionnalit int ressante des activit s est la possibilit de les customiser afin qu elles apparaissent et r agissent diff remment lorsqu on les glisse sur la vue du processus dans le designer Il est possible de changer le design des activit s couleur forme ic ne etc ce qui peut apporter une meilleure vue d ensemble du proce
109. e es qiuodsip swwe uoyeoydwis 40518 Inod s p senbiun s3ueunu p SIn AB U2 NO sjuelie aq x d 1 JIOANOd Hyuswa dwi s anb ys 6oj eureyo ej awaysAs anbeyo san lov s p slueunu pi NESMEL 0001 uelle queynuep 3n joV SNOSSOP IO slulj p JUOS 5 s p s uelnu pi SED OLEUYIS np uonno x l g ju uj jn u lue OUEUYIS np sinajoe s sno nuuoo jVueunu pi UN p ssod snape nbeuo s naype s p s nbiun s ueunu pi S VH SQ NN Sep Jed sagnjoaye uos nbnisi5o uleu ej ep Sin y suonoe1 lu 8971 s sin Spiepue s s l5Bo ouu l Z PURLIZUMS Wasa sa gt uang parddy jo Ay ssan un TIAMYISISAM lnqosqooquq v4 2 ssins ays enpds NNLH s eH ul s p uoniuu q AWS b SWdd O S s 41 HES SO Valais Probst St phane 120 WER Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 19 096 LO UOISISA HIYOUU98 L 0 0 3NS SWd8 QI 90Q SIEJEA OS S3H sanbjuyo9 seo L 8 uoyseo nbijeuuojul Inysuj epajul s p uontuu q INS F SWIE AML 5 Q M Opi BAU DH AOAU
110. e de persistance de suivi des services locaux permettant l application h te d interagir avec une instance de processus et des services internes permettant la personnalisation du moteur d ex cution Tous les diff rents tats des processus sont g r s dans ce module Lorsqu une instance de processus doit tre cr e ou doit se terminer cela passe automatiquement par le moteur d ex cution des processus Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 54 BER Travail de dipl me 2007 DEVELOPPEMENT La gestion de la persistance est faite au moyen d une base de donn es SQL Serveur 2005 dont le sch ma et la logique interne permettent de sauvegarder l tat d une instance de processus a un moment pr cis durant son ex cution Le module g rant cette base de donn es doit tre r f renc aupr s du moteur d ex cution des processus de l application permettant ainsi d effectuer les activit s n cessaires lorsque celui ci recoit les evenements en rapport avec la persistance des instances de processus La gestion du suivi des processus est galement faite au moyen d une base de donn es SQL Serveur 2005 contenant un sch ma et une logique permettant la sauvegarde de l ex cution complete d une instance de processus Ce service permet de sauvegarder a la p riode laquelle le changement s est effectu au sein de l instance de processus tous les changements d tats ainsi que les activit s par
111. ement des processus m tiers ainsi que la gestion du cycle de vie des processus de chaque maillon de la chaine sont stock es dans une base de donn es SQL Server 2005 Le choix de ce SGBDR est justifie du fait d une meilleure intercommunication avec les couches Data Tier utilisees dans ce d veloppement L acc s aux donn es de la base par les couches lt Business Process Tier gt est fait grace au Template Nettiers qui est bas sur les Microsoft Entreprise Library Application Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 101 WER Travail de dipl me 2007 APPENDICES Blocks Ce Template construit des objets relationnels pour la base de donn es reposant sur le Model Driven Design MDD L intercommunication entre les diff rentes interfaces de chaque acteur de la chaine est r alis e par des Web Services DotNet Cette technologie est choisie afin d avoir un environnement de d veloppement homogene Recapitulatif des technologies e Framework Net 3 0 e Langage de d veloppement C e SQL Server 2005 e Service IIS e Web Services Net HNettiers Acc s aux donn es Sc nario de la cha ne logistique Le sc nario de la cha ne logistique est compos de trois acteurs un encaveur un transporteur et un d taillant L encaveur doit livrer le vin au Encaveur d taillant faisant appel au transporteur Le sc nario a t simplifi par rapport la r alit afin de
112. ent du processus utilise Z Workflow D lt 5 B unu 7 separarea qui consiste 48 EncavorWorkfiow rules separer en fichiers distincts le design du processus la sow MX EncavorWorkflow xoml cs Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 63 EEE Travail de dipl me 2007 DEVELOPPEMENT logique et les regles Lorsque Ton ajoute un nouveau fichier de processus a un projet le fichier xoml et xoml cs sont g n r s Le fichier rules se cr e uniquement si le processus contient une activit n cessitant une condition typiquement une IfElseActivity ou une PolicyActivity La mod lisation du processus se base sur les Use Case d finit la Figure 9 Activit s du sc nario en page 21 De ce fait une SequenceActivity est implementee pour chaque Use Case De part la fonctionnalit permettant de modifier durant l ex cution des instances de processus la mani re dont les processus g rent les temps d attentes soit automatiquement soit par v nement d un utilisateur il n est pas possible de poser directement la base du processus les SequenceActivity repr sentant les Use Case Le flow du processus Figure 30 Activit EventHandlingScope Liv PEE CR Afficher EventHandlingScope Afficher les gestidffaires d v nements D s2 NewOrder EventHandlingSc Event
113. er Technologie Zur Erf llung dieser Ziele muss die Technologie eine gewisse Flexibilit t und bestimmte Funktionen besitzen Erstens muss sie ein Werkzeug zur Modellierung der Prozesse haben Dieses Werkzeug soll alle Schritte des Verfahrens visuell darstellen Zweitens muss sie ein Modul f r die Prozess Verwaltung beinhalten Schliesslich muss diese Technologie die Interoperabilitat und die Kommunikation der Prozesse mit anderen Technologien oder Anwendungen erm glichen Abbildung 1 Arbeitsaufteilung Arbeitsaufteilung Analyse Entdeckungsphase kd Szenario Entwicklung Bericht Um diese Ziele zu erreichen wurde die Arbeit in vier Phasen aufgeteilt siehe Grafik F r die Realisierung dieses Projektes wurden insgesamt 570 Stunden ben tigt Analyse Die Arbeit hat mit einer Planungsphase von zwei Wochen begonnen Diese Phase beinhaltet das Verst ndnis der Arbeit die Zielfestlegung die Prototypen der L sungsarchitektur und die Planung der Arbeit Um eine bessere berblick und eine optimale Zeitverbrauch zu erm glichen wurde die Planung in MS Project gemacht Das Lastenheft die Planung der Arbeit sowie die Prototypen des Projekts befinden sich in Seite 98 des Anhangs Entdeckungsphase Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 7 Travail de dipl me 2007 ZUSAMMENFASSUNG Die nachsten drei Wochen waren der Entdeckung der Technologie gewidmet Diese Phase hat mit der Su
114. erieure est dependante Ce processus s appelle le forward chaining L avantage des r gles est que WF cr e un fichier rules avec le m me nom que le fichier du processus Etant donn que ces r gles sont valu es s par ment du code compil ce fichier peut tre modifi au d marrage sans devoir recompiler le code Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 29 RER Travail de dipl me 2007 DEVELOPPEMENT 1 5 Design Environment La partie mod lisation de processus l aide de l environnement de conception est une des possibilit s les plus int ressantes de WF Il est tout fait possible de mod liser un processus sans utiliser cet environnement de d veloppement mais on perd toute la facilit et la puissance d utilisation du designer de Visual Studio Figure 13 Workflow Designer Bo te out s gt X Workflow1 cs Design X Windows Workflow A Porter A 4 CalExternsiMethod Workflow s quentiel Code i 25 Compersate 2 CompensatableSequence Lo ConditionedActvityGoup codeLocioup a ecount Delay EventDetren 4 FwentHan ingscope b 5 HandeExternalEvent m ttes r z InvekeebService thocountVenfied fAccourtinvahd al InvekeWorktow H t do Lusten 27 Paralel codeLook em Repicator 2 Sequence v ii suspend Ac le 1 SyncwontzasonScope N Terminate
115. ermet de distinguer si une activit donn e est traitee par une action humaine c est a dire une action manuelle ou alors gr ce a un processus automatis L objectif de ce sc nario consiste a avoir des actions humaines en nombre le plus restreint afin d avoir une automatisation optimale Au sein des entreprises l encha nement des activit s tout au long d un sc nario requiert parfois un certain temps En effet il peut se passer plusieurs heures voir plusieurs jours avant que l activit suivante ne commence L enchainement de l activit Envoi du chargement conditionn gt apres l activit lt envoi de lavis de livraison gt peut n cessiter une attente d un jour Il est possible de simuler cette attente de deux manieres diff rentes la premiere consiste a implementer un delai entre les t ches a l int rieur du processus m tier et la deuxi me consiste a activer l activit suivante par une action humaine Dans ce sc nario ces attentes sont simul es par un d lai param trable a l int rieur des processus m tiers Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 104 Travail de dipl me 2007 APPENDICES Fonctionnalit s Voici la liste des fonctionnalit s qui sont impl ment es pour ce sc nario Ces fonctionnalites sont d velopp es pour chaque maillon de la chaine si rien n est precise 2 4 Musthave 2 4 1 Gestion des stocks et des commandes avec historique Les
116. ermet une impl mentation orient e processus permettant de satisfaire les besoins sp cifiques des entreprises moyennant une charge de d veloppement cons quente Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 94 ERR Travail de dipl me 2007 XI BIBLIOGRAPHIE WebSite AquaLogic BPM BEA En ligne Citation 1 11 2007 http www bea com framework jsp CNT overview htm amp FP content products aqua logic albpm BPMS01 WebSite BPMS Business Process Management System Journal du Net En ligne Citation 1 10 2007 http www journaldunet com encyclopedie definition 325 51 20 business_process _ management system shtml BPMS02 WebSite Business Process Management Wikipedia En ligne Citation 1 10 2007 http en wikipedia org wiki Business process management BukBru07 Bukovics Bruce 2007 Pro WF Windows Workflow in DotNet 3 0 el Apress 2007 FrmDotNet WebSite Centre de d veloppement DotNet Framework Microsoft Corporation En ligne Citation 01 10 2007 http msdn2 microsoft com fr fr netframework default aspx GesProMe WebSite La gestion des processus m tiers La gestion des processus metiers En ligne Citation 1 10 2007 http www processus metier fr 2007 03 18 mais le bpm cest quoi IBMWES WebSite IBM WebSphere Logiciel France IBM En ligne Citation 1 11 2007 http www 306 ibm com software fr soa launch bpmsoa html
117. ervices Cette fonctionnalit permet aux seuls utilisateurs de cette cha ne logistique d utiliser ces services et le transfert de donn es est crypte 2 5 7 Interface d ajout de produits Cette interface permet de diversifier la palette de produit de l encaveur et du d taillant Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 106 Travail de dipl me 2007 APPENDICES Architecture 2 6 Logiciel L architecture des interfaces composants ce sc nario est inspir e de lt Microsoft patterns amp practices qui consiste a separer le d veloppement en 3 couches la couche Data Tier la couche BusinessProcess Tier et la couche Presentation Tier Pour chaque acteur de la chaine une interface sera implementee selon ce concept Source Base sur MS Patterns amp Practices 2 6 1 Data Tier La partie lt Application Data comprend les donn es permettant l exercice de l activit de l acteur ainsi que les donn es relatives a la gestion du cycle de vie des processus Les parties Business Entities et Data Access Logic Component sont dediees au Template Nettiers La couche Business Entities contient toutes les entites correspondant aux tables de la base de donn es Finalement la partie Data Access Logic Component gt fait la jonction entre lt Application Data gt et lt Business Entities Elle permet d aller interroger la base de donn es
118. eryRepsonse Executing PolicyActivity b52c3c59 7720 4839 30dc 3141c383 Completed 13 08 32 767 Activity SendNoticeDelivery Closed CallExternalMethodActivity a6eb1305 827f 4cd3 b9f0 991c61f74 Completed 13 08 29 470 Activity SendNoticeDelivery Executing CallExternalMethodActivity 13 08 29 470 Activity NoticeOfDelivery Executing SequenceActivity 13 08 29 453 Activity TransportConfirmation Closed SequenceActivity e712f17c 3e17 412b 943f 21a6eeac9 Completed 13 08 29 453 Activity WaitTransportConfirmation Closed ListenActivity 4e7b9e88 c1ldf 4958 30c8 981e11e9 13 08 29 437 Activity eventTransportConfirmationRecieved Closed EventDrivenActivity 13 08 29 437 Activity IfElseConfTransportOk Closed IfElseActivity 13 08 29 420 Activity ifIsConfTransportOk Closed IfElseBranchActivity 30e2b414 b792 40be bf7e 830d8333 Completed 13 08 29 420 Activity InsertData Closed CallExternalMethodActivity 13 08 29 407 Transport Id 266 13 08 29 407 Activity InsertData Executing CallExternalMethodActivity 647 ef236 d5c6 407d 83f9 6f8e33291 Completed 13 08 29 390 Activity iflsConfTransportOk Executing IfElseBranchActivity 13 08 29 390 Activity IfElseConfTransportOk Executing IfElseActivity 13 08 29 390 Activity SendWSResponseConfTransport Closed CallExternalMethodActivity de64dafb 605f 43 lcalb Completed 13 08 29 373 Activity 44be5630 04439 4083 b99b 745374e Completed 570585
119. es par l application Lors de la cr ation des lt services references gt dans visual studio cette section est automatiquement cr e Elle contient des informations sur le param trage des services 3 3 5 Formulaire des applications Les deux applications l application d administration et l application business sont implementees de maniere similaire Elles disposent toutes deux d une barre de Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 85 Travail de dipl me 2007 DEVELOPPEMENT boutons au sommet permettant l affichage des informations et l activation des fonctionnalites La partie gauche contient le listing des processus et la partie droite les informations du processus selectionne Une attention particuliere a t portee au design des applications afin que cela soit le plus intuitif et le plus agr able possible Figure 38 Design de l application d administration EE Admin Application Encavor Processus Etat OU Jule gt Cavo s iya G ESUIL sise 2 7 80 Rule IsDeliveryDatelnvalid Result False 13 08 32 7 80 Rule IsWebServDown Result False 13 08 32 767 Activity CheckNoticeDeliveryRepsonse Executing PolicyActivity 52 3 59 7780 4839 900 91412383 Completed 13 08 32 767 Activity SendNoticeDelivery Closed CallExternalMethodActivity 64c73116 59df 4baf 95fc Gbb706flfd4e Completed a6eb1305 827f 4cd3 b9f0 991c61f74 Completed 13 08 29 470 Activity
120. es possibilites et des fonctionnalit s de Windows Workflow Foundation ainsi que l impl mentation d une application prototype du sc nario Comme pr sent tout au long de ce rapport il est possible d affirmer que les deux objectifs ont t atteints En effet le point Exploration technologique page 22 pr sente la technologie dans son ensemble des concepts inh rents aux diff rentes fonctionnalit s propos es La r ussite de l impl mentation de l application prototype confirme galement le succ s de la r alisation du deuxi me objectif Le document exploratoire est un condens de l ensemble de la technologie ce qui en fait sa principale valeur Il permet de prendre connaissance de l tendue de ladite technologie depuis ses fondements et ses concepts jusqu aux possibilit s d implementation permet en un minimum de temps d en avoir une id e g n rale Le premier point positif de l application prototype est la r ussite de l impl mentation compl te du sc nario impos en respectant les interfaces de communication Le deuxi me comme le montre le tableau ci dessous est l incorporation totale des fonctionnalites Must Have ainsi que de la majorit des fonctionnalites Nice to Have gt du cahier des charges Finalement l utilisation des services WCF pour la communication entre les deux applications au sein d un acteur permettant a plusieurs applications business de s executer en m amp me temps sur
121. es services WAS permettant le recouvrement apr s erreur ou encore le maintien du service sur la dur e Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 87 EE Travail de dipl me 2007 DEVELOPPEMENT L affichage du suivi en temps reel des processus ainsi que du suivi des processus termin dans Tapplication d administration peut tre am lior afin d afficher uniquement les informations souhait es L affichage propos dans cette solution a t choisi afin de montrer toutes les informations pouvant tre ressorties des services de SUIVI Des tests pouss s ainsi qu une mont e en charge n ont pas t effectu s il n est d s lors pas possible de d celer toutes les erreurs pouvant survenir au cours de tel test 5 Limitations et probl mes rencontr s Ce point reference les probl mes rencontr s durant l impl mentation de la solution ainsi que les limitations de la technologie 5 1 Intercommunication service web instance de processus Le service web de communication entre les acteurs devant tre utilis avec des technologies diff rentes il doit respecter les standards De ce fait il n est pas possible d utiliser le service en mode callback Le client appel et une r ponse doit tre fournie directement Cette m thode complique l interaction avec les processus Lorsqu un appel au service est effectu les donn es sont transmises au service local inscrit dans le moteur d ex cution des proc
122. essus le service local transmet les donn es au processus et les traite suivant la logique impl ment e pour finalement renvoyer au service local une r ponse qui sera retourn e au client par le service web Les complications surviennent lorsque le service local transmet les donn es l instance de processus correspondante La m thode appel e par le service web sur le service local attend un retour or ce retour ne peut tre transmis directement car les donn es sont trait es par la bonne instance de processus au sein de son Thread d ex cution Lorsque l instance de processus renvoie les informations au service local il n est plus dans la methode attendant le retour Le probleme a t r solu en mettant en attente le retour de la m thode du service web L attente se termine lorsque l instance de processus envoie les donn es de retour au service local 5 2 Designer des processus dans Visual Studio Une lenteur et un blocage de Visual Studio survient lors de l utilisation du designer des processus pour un fichier contenant un nombre important d activites La mod lisation des processus est faite en mode code separated de ce fait a chaque ouverture et modification du fichier des processus Visual Studio doit reconstruire le diagramme a Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 88 EEE Travail de dipl me 2007 DEVELOPPEMENT l aide de ces fichiers XML Afin de d velopper le processus il est
123. et ajout d acteur puisse tre la plus simple possible uniquement la connaissance de l adresse du service web doit tre connue Cette implementation est possible grace a la cr ation dynamique de ce proxy pour application cliente La g n ration dynamique du proxy ne se base pas sur un fichier de configuration ou d une classe precompilee du proxy Elle accepte la cr ation d un client permettant d atteindre un service web lorsque l application est en cours d execution Ce proxy dynamique utilise le MetadataResolver pour telecharger les metadata du service web et ensuite utilise le Wsd Importer pour cr er le contract et le binding durant l ex cution Ensuite le DynamicProxy peut tre utilis pour appeler les m thodes du service web en utilisant la r flexion L exemple ci dessous illustre Pappel d une methode d un service web avec cette implementation Cr ation du proxy avec la WSDL Uri DynamicProxyFactory factory new DynamicProxyFactory http localhost 8080 TD2007 DynamicProxy wsdl Creation du DynamicProxy soit par un Endpoint soit par un Contract DynamicProxy proxy factory CreateProxy IWSEncavor OR DynamicProxy proxy factory CreateProxy endpoint Invocation de la method du service web int result int proxy CallMethod newOrder retailerid orderItems Fermeture du proxy proxy Close Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 76 2242 Travail de
124. eur correspond une interaction entre deux maillons de la chaine La legende nous permet de distinguer si une activit donn e est trait e par une action humaine c est a dire une action manuelle ou alors gr ce a un processus automatis L objectif de ce sc nario consiste a avoir des actions humaines en nombre le plus restreint afin d avoir une automatisation optimale Au sein des entreprises l enchafnement des activit s tout au long d un sc nario requiert parfois un certain temps En effet il peut se passer plusieurs heures voir plusieurs jours avant que l activit suivante ne commence L enchainement de l activit lt Envoi du chargement conditionn gt apr s l activit lt envoi de lavis de livraison peut n cessiter une attente d un jour Il est possible de simuler cette attente de deux mani res diff rentes la premi re consiste impl menter un d lai entre les t ches l int rieur du processus m tier et la deuxi me consiste activer l activit suivante par une action humaine L implementation r alis e permet ces deux simulations Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 22 LET Travail de dipl me 2007 DEVELOPPEMENT VIII DEVELOPPEMENT 1 Exploration technologique 1 1 Introduction Ce chapitre couvre la phase d exploration de la technologie utilisee pour la r alisation du travail demand a savoir l impl mentation d une cha ne l
125. eurs Chaque acteur contient son profil personnalis Cette implementation permet de ressortir des informations renseignant sur le m tier de l activit de l entreprise Avec un profil il est possible d ajouter des annotations sp cifiques a l acteur ainsi que de ressortir les valeurs des proprietes definies dans le processus Une classe profil doit amp tre d finie pour chaque acteur classe ActeurTrackingProfile Ces classes sont impl ment es dans le projet de la logique metier de chacun des acteurs a savoir le projet ActeurWFBusiness dans le package ProfileTracking Cette classe contient une m thode GetTrackingProfileModified permettant de d finir les valeurs personnalisees a rajouter Afin de les ajouter il faut implementer des TrackPoint en definissant leur positionnement dans les donn es de suivi Par exemple le code ci dessous li au m tier de l encaveur ajoute ex cution de l activit lt SequenceActivity l affichage des variables InputRetailer et InputOrderltems Ce TrackPoint affiche galement une annotation ActivityTrackingLocation location new ActivityTrackingLocation location ActivityTypeName SequenceActivity location ExecutionStatusEvents Add ActivityExecutionStatus Executing ActivityTrackPoint point new ActivityTrackPoint point Extracts Add new WorkflowDataTrackingExtract InputRetailer point Extracts Add new WorkflowDataTrackingExtract InputOrderltems point
126. ew S sapos sanbjenb ue 0 5 si AID soduuoo s nbi si5o ouleyd e7 san y 2 PUBLAZTHMS wajsam saus paddy jo Ayssan un TH AAQ2535 4A 25 2 jEJUSPMIO ssin s ijer ds 2 033 ane ONEUSOS np UOnIUYEG INS SWdg O S S H 811815 096 HYOUU98 610 UOISI8A SIEIEA OS S3H CLO 3NS SWdA 01 200 uons p anbyeunoyug ynysu oueu 3s NP vogue ANS SWdB OUEU99S np uoniutj q INS SWdg 00 06 909 2 Ir 22 EL 06 909 ZZ ly to sray pnoubeg IO ET pnou eg uane puejJazums Wasa saouans paddy jo Ay ssanun LI2MUISISAM Jnu3Su30uu3pa DjeUaPIII0 assing sesiemgds 21033 ANEH OS S H HES SO Valais Probst Stephane 113 ER Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 anal 0966 00 06 909 2 74 HYOUU98 O UOISISA EL 06 909 2 Ir SIBIEA OS S3H 200 9 9 48 01 200 SA U USINE LL 8 UOSED anbiyewsoyuj INSU oueu95s np vote INS F SWIE SL pnou eg uaine podsues oi PuUOdS8409 llenbe g oj uinu epueEWWOD podsueJ ep pueuu p ej lOAUS anay je lep GEO Duemgiap l esipueYoseW ej nod aurejeunsap y Plnuap asjeyeunsSEg anepodsues l podsues l inod agjepuew pi UNBpOdsues an xeou l esi
127. figuration Ensuite on cr e le service en passant le connectionString et finalement on ajoute le service au runtime La variable _runtimeHoster et le singleton de gestion de processus qui contient le manager de processus WorkflowRuntimeManager de la Commonltibrary WorkflowRuntime est la propri t permettant d acceder a la variable representant le runtime String connStringPersTrack System Configuration ConfigurationManager AppSettings EncavorPersTrack _persistenceService new SqlWorkflowPersistenceService connStringPersTrack true new TimeSpan 0 2 0 new TimeSpan 0 5 _runtimeHoster WorkflowRuntimeManager WorkflowRuntime AddService _persistenceSe rvice Comme le moteur d execution des processus utilise a la fois le core gt service de persistance et galement le lt core gt service de suivi le best practice veut qu il n y ait qu une seule base de donn es pour ces deux services De fait il faut galement utiliser le core service CommitWorkBatchService en mode SharedConnection afin d optimiser les transactions pour cette base de donn es En page 44 le point Gestion de la persistance contient une explication de cette implementation Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 69 Er Travail de dipl me 2007 DEVELOPPEMENT Afin d assurer le suivi des processus selon les fonctionnalites qui doivent tre implementees il est n cessaire de d velopper deux
128. gt lt WorkflowRuntime gt Local5ervices gt m lt Services gt lt Add local services here gt lt add type SharedWorkflows AccountService SharedWorkflows Version 1 0 0 0 Culture neutral PublicKkeyToken null gt lt Services gt c LocalServices gt lt configuration gt add the external data exchange service to the runtime ExternalDataExchangeService exchangeService new ExternalDataExchangeService LocalServices WorkflowRuntime instance new WorkflowRuntime WorkflowRuntime instance AddService exchangeService Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 44 DEEE Travail de dipl me 2007 DEVELOPPEMENT Finalement voici l enregistrement du lt local service aupr s du lt runtime engine gt de mani re cod e ainsi que l initialisation du lt runtime engine add the external data exchange service to the runtime ExternalDataExchangeService exchangeService new ExternalDataExchangeService WorkflowRuntime instance new WorkflowRuntime instance AddService exchangeService add our custom local service to the external data exchange service exchangeService AddService new AccountService 1 9 Gestion de la persistance La persistance est un concept important lorsque Ton parle de processus En effet l utilisation d applications orient es processus requiert souvent une interaction humaine pour pouvoir continuer les enchainement
129. i Hes so mu a Haute Ecole Sp cialis e e Suisse occidentale Fachhochschule Westschweiz restates A of Applied Sciences Western Switzerland Travail de dipl me 2007 Filiere Informatique de gestion Microsoft Windows Workflow Foundation Etudiant Stephane Probst Professeur Laurent Bagnoud www hevs ch Microsoft Windows Workflow Foundation 2 Travail de dipl me 2007 PREFACE I PREFACE Le domaine de l informatique est un univers en constante volution autant dans les nouvelles technologies que dans les concepts d implementation logiciel Microsoft un des leaders du d veloppement logiciel a sorti en fin d ann e 2006 son nouveau modele de generation de code Windows appele Framework 3 0 ou encore WinFx Ce Framework contient de nouveaux composants permettant la gestion de processus metiers Le terme gestion de processus metiers n est autre que la traduction francaise pour Business Process Management BPM qui est actuellement sur toutes les l vres dans le domaine de la conception logicielle En effet le BPM apparait comme une des solutions permettant d optimiser les performances des entreprises tout en diminuant les co ts La finalit du BPM est d automatiser et de fluidifier les activit s et les echanges entre collaborateurs et services De ce fait le sujet propose consistant a implementer un scenario d une chaine logistique avec la nouvelle technologie de Microsoft Windows Workflow Founda
130. ic partial class MyCustomActivity Activity t public MyCustomActivity InitializeComponent public static DependencyProperty MyStringProperty System Workflow ComponentModel DependencyProperty Register MyString typeof string typeof MyCustomA ctivity Description A String property Category Custom Activity Components Browsable true DesignerSerializationVisibility DesignerSerializationVisibility Visible public string MyStrind public static DependencyProperty MyintProperty System Workflow ComponentModel DependencyProperty Register Myint typeof Int32 typeof MyCustomActivity Description An Int32 property Category Custom Activity Components Browsable true DesignerSerializationVisibility DesignerSerializationVisibility Visible public Int32 MyIn Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 41 EE Travail de dipl me 2007 DEVELOPPEMENT La seconde etape consiste a cr er la classe permettant de valider les proprietes de l activit HE using System Lusing System Workflow ComponentModel Compiler CustomActivityComponents t lt summary gt Validator for MyCustomActivity lt summary gt public class MyCustomActivityValidator ActivityValidator public override ValidationErrorCollection Validate ValidationManager manager object obj 4 ValidationErrorCollection er
131. ices que l on peut activer selon notre besoin et qui sont galement parametrables Ces diff rents lt core gt services sont presentes un peu plus loin dans le document Les local services au contraire sont des services d velopp s par nos soins et permettent de coller a nos propres besoins Par exemple les local services peuvent servir de pont pour l change d informations entre l application h te et le processus Ces outils permettent de mod liser les processus les activit s etc sans devoir quitter l environnement de d veloppement de Visual Studio Ils supportent le d veloppement a l aide du lt drag amp drop qui est une des fonctionnalit s pr sente dans Visual Studio Ce composant comprend galement le debuggeur de processus permettant l ajout des points d arr t et de notre code LAT A T ry N BE s a eg DotNet 2 0 Runtime La brique lt WF est enti rement construite sur le lt Net 2 0 CLR qui est packagee avec DotNet 3 0 Cela signifie que toues les possibilites du Net 2 0 CLR sont conservees 1 4 2 Runtime Environment Figure 12 VVorkflovv runtime environment Source BukBru07 Bukovics 2007 Probst Stephane HES SO Valais Microsoft Windows Workflow Foundation 26 RER Travail de dipl me 2007 DEVELOPPEMENT WF n est pas fourni en tant qu application autonome mais est reellement une base sur laquelle nous pou
132. ie est le document final et la deuxieme comprend la solution developpee Ci dessous voici la liste exhaustive de chaque partie 2 7 1 Document final Pr sentation du projet Pr sentation de la technologie Compte rendu de la phase d analyse de la technologie Compte rendu de la phase de d veloppement de la solution o Diagramme de Use Case Diagramme de sequence Modelisation des differentes bases Mod lisation des diff rents processus Architecture de la solution Manuel d utilisation o Manuel de d ploiement Bibliographie Compte rendu de la gestion des sources Compte rendu du versioning Bilan du projet r alis Presentation PowerPoint rendue apr s la d fense orale Annexe o Cahier des charges o Documentation utilis e durant le projet D livrables re us et r alis s durant le projet O O O O O Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 108 WER Travail de dipl me 2007 APPENDICES 2 7 2 Solution e Solution Visual Studio 2005 du projet e Scripts de creation des bases de donn es et des utilisateurs Machine virtuelle permettant la presentation du sc nario de la cha ne logistique Delais Le projet commence le 17 septembre 2007 et se termine le 10 d cembre 2007 Les d livrables du projet sont remis le 10 d cembre 2007 avant midi Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 109 Travail de dipl me 2007 APPENDICES Definit
133. iere permettant de receptionner l v nement et la deuxi me permettant de d finir la logique si l v nement n est jamais attrap Sans la deuxi me branche si l v nement n arrivait pas l instance attendrait ind finiment et ne pourrait jamais se terminer Dans la premiere branche on pose une activit de type HandleExternalEvent permettant de receptionner l objet LSMsgEvent De la m me mani re qu auparavant on reference l interface et cette fois ci le nom de l evenement et non le nom de la m thode Ensuite Pattribut Invoked permet de d finir une methode qui sera appel e lorsque l v nement est r ceptionn ceci afin d extraire les donn es de LSMsgEventArgs Concernant la deuxieme branche afin de limiter la p riode d attente il suffit de poser une activit de type DelayActivity permettant de d finir un temps d attente et lorsque celui ci est atteint de terminer l instance de processus La modelisation des processus est faite dans les projets ActeurWFBusiness au sein du package Workflow L explication de la mod lisation des processus est presentee par rapport au processus de l encaveur L explication commence par les fichiers n cessaires la mod lisation et finalement une explication sur les diff rentes activit s utilis es Les sch mas complets et d taill s des processus de chaque acteur se trouvent dans les appendices page 98 Les fichiers du processus Figure 29 Fichier des processus Le d veloppem
134. ies employer pour le d veloppement de ce sc nario par rapport aux diff rentes solutions existantes sur le march L implementation des processus m tiers est faite gr ce a la plate forme de d veloppement DotNet propos e par Microsoft L implementation est donc faite en C Les informations permettant le fonctionnement des processus m tiers ainsi que la gestion du cycle de vie des processus de chaque maillon de la cha ne sont stock es dans une base de donn es SQL Server 2005 Le choix de ce SGBDR est justifie du fait d une meilleure intercommunication avec les couches Data Tier utilisees dans ce d veloppement L acces aux donn es de la base par les couches lt Business Process Tier gt est fait grace au Template Nettiers qui est base sur les Microsoft Entreprise Library Application Blocks Ce Template construit des objets relationnels pour la base de donn es reposant sur le Model Driven Design MDD L intercommunication entre les diff rentes interfaces de chaque acteur de la chaine est r alis e par des Web Services DotNet Cette technologie est choisie afin d avoir un environnement de d veloppement homogene 3 2 Structure solution Visual Studio Le d veloppement tant bas sur le Framework 3 0 de Microsoft l environnement de d veloppement ne peut tre autre que Visual Studio La version Visual Studio 2005 est employ e pour la r alisation des applications La configuration n cessaire de Vis
135. ind pendamment de l outil utilis L outil tant bien s r cens supporter la norme Le deuxi me objectif est de permettre aux diff rents intervenants de l impl mentation de travailler avec la m me notification L analyste m tier cr e et red fini les processus le d veloppeur est responsable de l impl mentation des processus et le gestionnaire entretien et surveille les processus Cette norme permet galement de combler le foss qui s pare la mod lisation des processus et l impl mentation de ceux ci ce qui n est pas n gligeable Microsoft arrive sur ce march en volution en proposant sa nouvelle technologie fournie avec le Framework 3 0 appel e Windows Workflow Foundation A l instar des systemes actuellement sur le march cette brique du Framework 3 0 ne fournit pas un systeme contenant un ensemble de logiciels permettant la mise en place d une solution orient e BPM mais propose tous les outils n cessaires au d veloppement d une telle solution De plus outil de mod lisation des processus de Windows Workflow Foundation ne suit pas la norme BPMN pr c demment cit e II est interessant de voir que Microsoft ne suit pas la m amp me direction que la tendance du march La question que l on peut d s lors se poser est est ce que la technologie Workflow Foundation est un outil BPMS Mon avis sur la question sera exprime en Pour de plus amples informations sur les definitions composant la norme BPMN veuillez vou
136. ion Pour ce faire il suffit de cr er une instance de la classe ServiceHost et de lui passer en parametre le service developpe ServiceHost host new ServiceHost typeof EncavorWFBusiness Service WSEncavor Puis de d marrer le service host Open Ce service permet l application business de demander des informations sauvegard es dans les bases de donn es ou encore de transmettre une interaction humaine a une instance de processus Ces demandes ne devant tre faites que ponctuellement a des moments definis et g rables dans l application ce service a un contexte PerCall comme le service metier des acteurs Pour rappel cela signifie qu une instance de service est cr e pour chaque appel quelque soit la m thode demand e et que des que le client ferme le proxy l instance est d truite Aucune donn e n est gardee sur le service pour un autre appel de methode venant du m me client La difference de ce service par rapport au service metier se situe au niveau du binding En effet tant donn que ce service est utilis qu entre l application d administration et business et ne requiert aucune interop rabilit avec d autres technologies un binding plus ad quat fourni par WCF peut tre employe Il s agit du TCP binding 1 est fourni par la classe NetTcpBinding et est utilis specialement pour la communication Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 78 2242 Travail de dipl
137. ion du sc nario Description Document re u en d but de projet d finissant le sc nario de la chaine logistique Probst St phane HES SO Valais 2 H lS 096 00 06 909 Z amp HIVOUU99 1 O 40 8 EL 06 909 ZZ 73 12 5 096 00 06 909 2 Ir 22 L oo O SEIN OS S3H Z 0 3WS r SWd8 QI 90Q sAsyMpnoubeq USINE g ysyouyse Z O UOISJ A EL 06 909 ZZ b o a LUS uols s ap ysu OUEUYIS NP onl l Q 3AS ry SWAd8 ILL pnou eg uaine SIEIEA OS S3H ZLOIWS F SWIE QI 90Q sayo pnoubeg q gt LUL uons p ap nbneuuoyu INNSU oueu os np uonitulj q INS F SWIE pnoubeg juesne gt o Z o lt O a Y LL I C D kel o 5 LL o X ou 5 Wi 5 ee gt A sonbsewoy obJey gt ud ouuosiag uoNesggq ap UOISJOA sue suone q 7 D s u ul sinb M 80100 1000 83 9 9 ans epueBeanes E S UOISIA I UZ mes 60 sanbiewoy shuejn x3 lonuoj aeg UOISJOA 4 SMOIAON 50 0 402 210 9 9 48 01900 O oeus np uonlun q IWNS 7 SNIT SUOI E9IJIDOUU SIBAIG pnou eg jueine7 1000 2C ECO Suoe pow SIBAIG pnou eg juaune 2002821 20 UOISJ A AasseIs 8J09IN 1002 L SL L O olu mod voeoy pow EI ins sonbsewoy 1ue n x3 aeg UOISJ0A OUEUSIS su y foid
138. ion et tous ses services f IWSEncavor A Interface M thodes contirm4oD confirmAoR confirmTransport newOrder IWSEncavor ass WSEncavor w Class Main b Form Probst St phane IEncavorLocalService lt lt lt lt Figure 26 Passerelle service local Interface 3 M thodes askInitParametes askTranspornRequest checkWoticeDeliveyResponse confirmAoDResponse confirmAoRResponse confTransportResponse insertNevvOrder newOrderResponse sendl oadingConditioned sendNoticeDelivey sendWaitingUseAdon sendWFTermination amp lt lt to to v nements Z LocalServiceDelayhodeRedeved Z LocalServiceMessageedeved x TEncavorLocalService EncavorLocalService Class 3 M thodes FireUserAction r setDelayMode v nements 52 EventForApplicRecieved E EncavorWorkflow TEncavorLocalServiceDB E d Interface M thodes askForProdudlist insertPackaaing updateCommande TEncavorLocalServiceDB Class A EncavorLocalServiceDB E _ a C lass LSMsgEventArqs E x b ExternalDataEventArgs r 4255 b SequentialWorkflowActivity 4 HES SO Valais Microsoft Windows Workflow Foundation 60 IER Travail de dipl me 2007 DEVELOPPEMENT Services locaux references EncavorLocalService et EncavorLocalServiceDB sont les deux services referen
139. ipl me 2007 APPENDICES Diagrammes de l architecture Description Diagrammes de l architecture et des communications entre les applications etablis durant la phase d analyse Architecture Must Have Architecture Nice to Have Intercommunication Must Have Intercommunication Nice to Have Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 132 Travail de dipl me 2007 APPENDICES Encaveur Transporteur I wF Biaos Persistence DE pa N Fara Business Wr Manager Applic Encaveur Transporteur WS Sc nario Application Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 133 Travail de dipl me 2007 APPENDICES Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 134 Travail de dipl me 2007 APPENDICES Diagrammes des processus Description Processus de la logique m tier de l encaveur Processus de la logique metier du transporteur Processus de la logique metier du detaillant Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 135 Travail de dipl me 2007 APPENDICES Workflow s quential m businessActivity al niftrzlis ation NewTransportRequest 2 InputParamsWerfication Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 136 Travail de dipl me 2007 APPENDICES CheckTruckAvsil
140. iquement tre son insertion dans la base de donn es de chaque acteur afin de disposer de ses informations personnelles Cette possibilit tout fait utile et qui para t anodine ne l est pas tout fait pour le Framework DotNet et l impl mentation des services web En effet pour pouvoir contacter un service web avec un client DotNet il doit disposer des informations n cessaires sur le service pour pouvoir le contacter Avec DotNet la mise a disposition Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 75 2242 Travail de dipl me 2007 DEVELOPPEMENT de ces informations de l application cliente se fait de deux manieres diff rentes La premiere est un outil integre a Visual Studio permettant de g n rer une classe contenant les informations du service web et les methodes utilisables La deuxieme possibilit et l utilisation d un utilitaire cr ant cette classe proxy ensuite il faut incorporer cette classe au projet de l application cliente Or cette d marche n est pas des plus agreables dans un environnement de production En effet elle n cessite une recompilation complete du projet et une redistribution de ce nouveau build a tous les utilisateurs De plus les classes d appels du web service ne r f rencant pas cette nouvelle classe une modification du code serait n cessaire Cette solution n etant pas adequate une solution differente devait tre trouvee Pour que l impl mentation de c
141. ireUserAction du local service Egalement lorsque le mode d attente des instances de processus est modifi avec l appel de la methode setDelayMode du service local Finalement le service local utilise l v nement EventForApplicRecieved pour envoyer les informations sur les modifications des donn es de la commande l application d administration L application d administration les transmet ensuite l application business pour l affichage des donn es m tiers Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 61 2242 Travail de dipl me 2007 DEVELOPPEMENT Appel d une m thode du service Figure 27 Activit CallExternalMethod Prenons l exemple avec la Z methode askinitParameters Bar AskinitParameters System Workflow Activities CallExternalMethodActivity r z Sige 7 alaj E Cette m thode est utilis e lors _ Haci de initialisation d une Wee No yeme AskinitParameters wasapas mesi H aes parameters for initialisation n sta nce d e p rocessus po ur InterfaceType EncavorWFBusiness LocalService IEncavorLocalServioe d eman d er d es d onn es d e RE MethodName askinitParameters tParams E Gestionnaires Z D I Nous parametrages Premiere El Parametres 4 ReturnValue Activity EncavorWorkflow Path InitParamsReturned eta pe l fa ut une a ct ivite d e type CallExternalMethodActivity repr sent ici par AsklnitParameters Dans l onglet des propri t s
142. iter la complexite des interfaces et des intercommunications SP a entre celles ci et permettant ainsi de terminer Le A Papplication dans les temps impartis Cette D talllant simplification est d limit e dans les deux documents suivants en appendice TD BPMS Definition du sc nario et TD BMPS Definition des interfaces techniques page 98 Le sc nario de la chaine logistique est 1 Les acteurs Encaveur encaveur est responsable de la cave il vinifie le vin le conditionne et le livre aux d taillants Transporteur le transporteur assure le transport du vin de l encaveur au d taillant Il poss de des clients dans tous les domaines de marchandises Detaillant le d taillant exploite une surface de vente au detail Il reapprovisionne son assortiment aupres de grossistes et de producteurs parmi lesquels pour le vin les encaveurs Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 20 Travail de dipl me 2007 SCENARIO DE LA CHA NE LOGISTIQUE 2 D roulement du sc nario Se Mt s m s RL mg ze S Probst St phane L l ment d clencheur du sc nario est le d taillant en effet lorsque celui ci atteint son seuil critique pour les vins il Va passer une commande l encaveur L encaveur r ceptionne la commande et dans le but d acheminer les produits au client fait une demande au transporteur Le transporteu
143. iter les transactions distribuees 1 9 1 Service de persistance personnalis II est possible de d velopper son propre service de persistance si le core service fourni ne satisfait pas vos besoins Par exemple votre application tourne avec une base de donn es Oracle ou MySQL ou vous voulez utiliser SQL Serveur mais vous voulez employer des tables d un autre sch ma que vous avez d j d fini ou simplement que votre application requiert une gestion avec des fichiers et non avec une base de donn es Les etapes a suivre afin de developper son propre service sont les suivantes 1 Deriver les classes personnalis es de gestion de la persistance de WorkflowPersistenceService du namespace System Workflow Runtime Hosting 2 Impl menter toutes les m thodes abstraites de cette classe de base 3 Enregistrer le service personnalis aupres du runtime de la m amp me maniere que le service standard Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 46 Travail de dipl me 2007 DEVELOPPEMENT 1 10 Local Services Figure 21 Workflow runtime environment a Py Source IBukBru07 Bukovics 2007 Precedemment nous avons vu que VVF est bien un composant et non une application toute definie il doit amp tre integre a une application h te Le processus ainsi developpe peut avoir besoin d informations sur l application h te ou bien interagir avec des donn es persist es c est la que
144. ites il est possible d appeler un web service ou a l inverse d exposer le processus a des clients de service web InvokeWebServiceActivity WebServicelnputActivity WebServiceOutputActivity WebServiceFaultActivity Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 39 WERE Travail de dipl me 2007 DEVELOPPEMENT Transactions Compensation and Synchronization Les activit s de cette categorie permettent de d finir une unique unite de travail qui englobe plusieurs activit s Elle comprend galement des activit s qui permettent la compensation et la synchronisation d acces aux variables CompensatableTransactionScopeActivity CompensatableSequenceActivity CompensateActivity CompensationhandlerActivity SynchronizationScopeActivity Exceptions and Error Handling Les activit s de cette cat gorie travaillent toutes avec les exceptions DotNet classe Exception Une ThrowActivity permet de lancer une exception en dehors de l instance de processus alors que les autres sont utilis es pour attraper les exceptions qui ont t lanc es ThrowActivity FaultHandlerActivity FaulthandlersActivity CancellationHandlerActivity 1 7 2 Customiser la conception des processus La customisation de la conception des processus permet de personnaliser et la r action des activit s qui se trouvent sur la vue d un processus de s quence Il est possible d agir de mani re diff rente sur
145. kflows BEA AquaLogic BPM Manager is an integrated Web console that provides real time information about all processes managed by the BEA AquaLogic BPM Enterprise Server BEA AquaLogic BPM Dashboard provides IT administrators and business users with historical activity data for business processes running in BEA AquaLogic BPM Enterprise Server BEABPM WebSite Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 16 WERE Travail de dipl me 2007 ETAT DE L ART Intalio Intalio BPMS 4 0 is architected around three main ideas support the latest industry standards for BPM offer a zero code development approach and provide a one click deployment life cycle INTBPM WebSite Figure 5 Solution Intalio Intalio Designer is an Eclipse based integrated development environment for BPMN business processes Business analysts and softvvare engineers can both use Intalio BPMS because it s the easiest way we found to bridge the gap between business and IT Also since it offers zero code development and one click deployment you do not have to be a N i J2EE guru or an XML expert to use it and if you are Source Image Google one anyway you will find in Intalio Designer a formidable productivity enhancer de Sd 5 4 Processes Z Procedures Policies Applications Databases 8 Heritage Intalio Server is a native BPEL 2 0 process server based on DEE Because i
146. l service se fait d une maniere synchrone sur le Thread du processus De ce fait il ne faut pas que la m thode execute des operations lourdes prenant un temps cons quent car elle va bloquer le Thread du processus pour une longue p riode Voici les diff rentes etapes d implementation d un local service e D finir le contrat du service l aide d une interface Ce contrat definira les m thodes et les v nements qui seront atteignables par les instances de processus D corer l interface avec lattribut ExternalDataExchangeAttribute du namespace System Workflow Activites Cet attribut identifie l interface en tant qu interface d un local service Impl menter une classe qui implemente l interface pr c demment d finie e Cr er l instance de cette classe et l enregistrer aupr s du lt runtime engine gt pendant l initialisation du lt runtime engine Un local service est identifie par le type d interface donc il ne peut tre enregistre qu une seule fois aupres du runtime engine Par contre il est possible d enregistrer plusieurs local services tant qu ils implementent une interface differente 1 10 1 Appeler une m thode d un lt local gt service II est possible d atteindre les m thodes d un local service de deux mani res diff rentes Utiliser la methode GetService pour obtenir une r f rence du lt local gt service et appeler ensuite une
147. l s l s luoduio2 SUOHEWOJUI SBD dui x Jed uosiesaAI un linq u uu Bieuo Ne SUONEWOY un Ul s p 18 Sue suolieo 92 6 0 S ul ld seyajed 42 g 0 189 un 2 aesuojne sed so u anb un UOSIBJAI aun suep UOSIBJAI SAE puodsauoo ajjenbe g apuewwos ej Jueynusp nbiun oy umu spuewwon s pueuuuuo2 sin tsnid uonepilosuoo e7 ln s un e sino no puods JJo2 UOSIEJAI Sun eau nda Goad wana x n UOSIBJAI gt s suo ne sed juos au s l nuied SUOSIEJAN S97 SOL oun UB JUOS S sanoj UOSJEJAI SIAC BP OAU BP m l 79 ALP SIE Duempiep l uosiesay siae aueyeunsap gua 5 10908 s po Sin euuos je Inaneaua Jed s sodoid synpoud sa Juos sj nb yes yuejeap anb adr D AB U pueuuuioo el ound e enken uud np ped ug sil poul sed eau ineAeoue sed uonisodsip e siw Saugp np uonseb e7 SJUBAINS sl u uu S 2 apuewwos aun g Juepuods31109 2 luellie p ne Ju tu linie 6 S S HEIM IS assed as NOL S IN BA INBABOUA nb uellie p l ua ne SOUOUUE uoSIBJAI S AB 7 uosieun SIAV O s sij pouu sed juos ou
148. la HES SO Valais jai comme objectif d integrer Microsoft Windows Workflow Foundation dans une chaine logistique Le sc nario de cette chaine logistique a t d fini par l institut d informatique de gestion Mon travail consiste a le concevoir et le g rer On distingue 3 acteurs pour cette cha ne un encaveur un transporteur et un d taillant L encaveur doit livrer le vin au detaillant en faisant appel au transporteur L objectif est d implementer une interface pour chaque maillon de cette chaine logistique et de les faire communiquer entre eux de la maniere la plus automatisee possible Le moyen de communication entre les diff rents acteurs est impose par le sc nario propos et doit se faire a l aide de Web Services 2 Technologie La technologie exig e pour le d veloppement de cette chaine logistique est Windows Workflow Foundation Cette technologie est une des composantes du Framework de d veloppement DotNet 3 0 et permet la conception d applications orient es processus 2 1 Besoins technologiques La technologie Windows Workflow Foundation restreint le choix des technologies a employer pour le d veloppement de ce scenario par rapport aux diff rentes solutions existantes sur le march L implementation des processus m tiers est faite grace a la plateforme de d veloppement DotNet propos e par Microsoft L implementation est donc faite en CH Les informations permettant le fonctionn
149. la page 73 Ce projet contient les classes communes permettant la gestion des processus dans les diff rents projets CustomTrackingChannel Cette classe est le channel donne par le CustomTrackingService au moteur d ex cution des processus Cet objet formate les informations pour le CustomTrackingService CustomTrackingService Cette classe contient le service personnalise de suivi reference dans le moteur d ex cution des processus permettant d afficher en tant reel les informations de suivi Info Cette classe represente le formulaire utilise en tant que MessageBox pour Paffichage d information l utilisateur LSException Cette classe est une exception personnalisee qui est utilisee au sein des services locaux des processus de chaque acteur Lorsqu elle est lev e l instance de processus la receptionne et se termine Elle contient le message informant de l erreur survenue causant l arr amp t de instance du processus MyEventArgs Cette classe est de type lt EventArgs et permet de passer une collection d objets aux v nements TrackingChannelEventArgs C est un objet de type EventArgs contenant les informations de suivi qui est cree a chaque fois que le service de suivi leve un evenement Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 164 DEES Travail de dipl me 2007 APPENDICES TrackingProfileHelper C est une classe outil permettant de manager les profils de
150. la partie de gauche affichent les informations relatives au processus s lectionn Ces informations sont regroup es par les Use Case d terminant la logique m tier de chaque acteur Probst St phane HES SO Valais E Business Application Encaveur SC 059 CRT 9 29 11 2007 e D23 11 2007 M Detaillant Detaillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant D taillant Business e tion Convoyer o Co o gt ER lt Om O21120 M Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Encaveur Probst St phane Microsoft Windows Workflow Foundation Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Completed Travail de dipl me 2007 Processus Reception de la commande Demande de transport Confirmation de transport
151. lequel le processus est pass Le module g rant cette base de donn es doit galement tre r f renc aupr s du moteur d execution des processus Ce service de suivi des processus offre deux fonctionnalites la premiere permet en temps reel de suivre une instance de processus afin de conna tre l tat actuel de cette instance ainsi que l activit en cours La deuxi me permet lorsqu un processus est termin de ressortir l historique de son ex cution Cette derni re fonctionnalit est tr s interessante pour les processus qui se sont termin s anormalement afin de discerner a quel moment de du processus une erreur est survenue Ce service est utilis par l application business pour trois usages diff rents En effet ce service est employ lorsque l application d marre et doit conna tre toutes les instances des processus en cours afin d afficher les informations metiers pour chacune d elles L application d administration lui retourne tous les processus figurant au sein du moteur d execution des processus Ce service est galement employe lorsque l application doit recuperer des informations dans la base de donn es sur des processus termines L application d administration interroge la base de donn es metiers et lui transmet les informations demandees La derni re utilisation de ce service concerne l interaction utilisateur avec les processus L application business permet lorsqu un p
152. liveryDate Result True 13 08 29 360 Rule Check Retailerld Result True 43 Rule Check Convoyerld Result True ed8e8c85 463d 4bd1 955f 360066a6 Completed 7840ebca 55e7 485e 914d 930d092 Completed d3536a64 9240 4bc6 sa3a b0de619f Completed 33f250cf 3f54 482b 9278 5e0668e01 Completed 13 08 29 343 Activity CheckTransportConfirmationValues Executing PolicyActivity 13 08 29 327 Activity EventTransportConfirmation Closed HandleExternalEventActivity 13 08 29 327 Activity EventTransportConfirmation Executing HandleExternalEventActivity dfd6a6af 2379 4f01 9068 26a5fd834f Completed 13 08 29 313 Activity eventTransportConfirmationRecieved Executing EventDrivenActivity 22934e87 fe03 4cb1 8d14 23660fe2 Completed 306090f9 c368 47f5 ba45 7eb6ccc3e Completed 13 08 29 313 Workflow Loaded 13 08 28 780 Workflow Persisted 13 08 28 767 Workflow Unloaded 644a396a6 c484 4224 b03e db59736 Completed 7dfee334 2cff 4444 8dc7 21463b176 Completed 4 Le DataSource du DatagridView contient un type d objet personnalis Il contient les proprietes affichees en tant que colonnes du DatagridView et la variable permettant de stocker les donn es du service de suivi personnalise Ce sont ces donn es de suivi qui sont ensuite affich es dans la partie droite de l application L application utilise deux BindingSource diff rentes une pour l affichage des processus en cours et l autre pour l affichage des
153. lus utilis s IBM WebSphere BEA Aqualogic Intalio Expert Ivy IBM WebSphere IBM propose une solution fond e sur une architecture orient e services Cette architecture regroupe une famille compl te de produits qui couvre l ensemble des fonctions de gestion des processus m tier Figure 3 Solution IBM WebSphere Gestion des processus m tler Mod lisation et simulation de processus Construction du D ploiement de Gestion des processus processus processus WebSphere Integration Developer WebSphere WebSphere Process Server Business Monitor WebSphere Business Modeler Source SiteWeb IBM Grace a WebSphere Business Modeler vous pouvez litt ralement dessiner les flux de travaux entrant dans ces processus identifier et concevoir les tapes n cessaires pour mener bien de simples t ches Vous pouvez ensuite traduire ces mod les d entreprise dans le langage BPEL Business Process Execution Language et les exporter vers WebSphere Integration Developer ou services nouveaux et existants peuvent tre combin s pour cr er de nouvelles applications composites Il vous suffit ensuite d utiliser ce code pour d ployer votre application en la diffusant via WebSphere Process Server WebSphere Business Monitor vous permet enfin de surveiller vos processus et leurs performances pour mieux les ajuster IBMWES WebSite Source http www 306 ibm com software fr websphere Source http
154. m thode definie par son interface Utiliser l activit fournie par WF CallExternalMethodActivity Cette activit permet d appeler un local service directement en tant qu tape d un processus 1 10 2 Attendre un v nement d un lt local gt service La mani re la plus commune de traiter un v nement d un local service et l utilisation de l activit HandleExternalEventActivity Voici les diff rentes tapes n cessaires afin d utiliser une activit de ce type Impl menter une classe qui va tre employ e comme argument de l v nement Afin que celui ci soit traite par l activit HandleExtrenalEventActivity il doit d river de ExternalDataEventArgs D finir l v nement dans une interface de lt local gt service Impl menter l v nement dans une classe du lt local gt service Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 48 EX Travail de dipl me 2007 DEVELOPPEMENT Fournir un moyen de lever l v nement Soit par une methode que application h te peut atteindre soit lev l v nement directement dans le local service e Ajouter une instance de l activit ListenActivity au processus Celle ci va cr er deux branches de type EventDrivenActivity en tant qu activit s enfants Ajouter l activit HandleExternalEventActivity a Tune de ces branches precedemment cr es Certaines proprietes doivent tre definies pendan
155. m thodes sont utilis es pour Pinterrogation de la base de donn es de acteur correspondant Ce dossier contient deux classes la classe RuntimeEventArgs qui est l objet transmis lorsqu un v nement servant a informer sur l tat du moteur d execution des processus est lev La classe RuntimeHosting est une classe singleton qui r f rence objet WorkflowRuntimeManager Cette classe contient les m thodes permettant de d marrer et d arr ter le moteur d ex cution des processus Ce dossier contient les classes n cessaires aux services de communication entre application d administration et l application business EventPublisherForBusinessApplic Cette classe impl mente le service WCF pour l envoi v nementiel d informations toutes les applications business en cours d ex cution IServiceForBusinessApplic Cette classe est l interface des services de communication WCF entre l application d administration et l application business ServiceEventArgs Cet objet de type EventArgs est utilis pour donner le statut des services de communication Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 166 EIER Travail de dipl me 2007 APPENDICES ServiceForBusinessApplic Cette classe implemente le service WCF utilis par application business pour la demande d informations des donn es m tiers des processus en cours Ce service utilisera alors les methodes d une des classes du dossier DataAcce
156. m de la coloane Type de donn es autoris idCommande mt gt o VEHICULET Nom de la colonne Type de donn es Null autoris 9 cVehcue int nom varchar 50 matrose sBusy D D D D El B 22 El El z El El El A 221 El A El El A D Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 Q WorkflowInstancelnternalld WorkflowInstanceld ContextGuid CallerInstanceld CallPath CallerContextGuid CallerParentContestGuid WorkflowTypeld Initiglized DateTime DbinitisizedDateTime EndDateTime DbEndDateTime APPENDICES en Probst St phane ActivityExecutionStatusEventid Workflow Instancelnternalid EventOrder ActivityInstanceld ExecutionStatusid EventDateTime DbEventDateTime TrackingWorkflowEvent Workflow Instancelnternalid WorkflowInstanceEventid QualifiedName ParentQualifiedName Removed Activity Action Order Added ActivityAction Workflow Instancelnternalid ActivityInstanceld Workflow InstanceInternalld Eventid EventTypeld Q TrackingWorkflowEventid Bu TrackingDatsltemld WorkflowInstancelnternalld A x TrackingPartitionInterval Interval Q TrackingDataltemld Workflow Instancelnternalid Eventid EventTypeld FieldName FiekiTypeld Das Sr Data Blob DatzNonSerislizzble HES SO Valai
157. mations recues dans la variable record de type TrackingRecord Ce type permet de differencier les evenements et ainsi de conna tre s il s agit d un v nement de processus d activite ou encore un evenement utilisateur C est donc dans cette classe que les donn es sont format es suivant l evenement re u Ensuite quand les donn es sont format es elles sont renvoyees au service de suivi personnalis qui va envoyer les informations pour Paffichage dans l application administration Chaque objet reference dans le DataGridView repr sentant une instance de processus contient une variable de type StringBuilder permettant de stocker les donn es de suivi afin de les afficher dans le composant WebBrowser servant l affichage du processus actuellement s lectionn L enregistrement du service aupr s du moteur d ex cution se fait de la m me mani re que le core service Lors de la construction du service la propri t r f ren ant le profil utilis qui sera demand par le moteur d ex cution est d finie Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 72 222 Travail de dipl me 2007 DEVELOPPEMENT _custTrackingService new CustomTrackingService _custTrackingService _trackingProfile EncavorWFBusiness ProfileTracking EncavorTrackingProfile MyEncavorTrackingProfile _runtimeHoster WorkflowRuntimeManager WorkflowRuntime AddService _custTrackingS ervice Profil de suivi des act
158. ment de ce service se fait de la m me mani re que pour les autres services de cette solution Le service gere la publication des evenements a l aide de delegate Chaque delegate correspond a la signature d un type d evenements auxquels on peut s enregistrer static GenericEventHandler lt Guid string gt m_WFStateChanged delegate public void Subscribe EventType mask IWFEvents subscriber OperationContext Current GetCallbackChannel lt IWFEvents gt if mask amp EventType StateChange EventType StateChange m_WFStateChanged subscriber WFStateChanged Le service contient une m thode statique pour chaque type d evenements permettant de les publier aux subscriber public static void FireEventStateChange Guid guid string state m_WFStateChanged guid state Apr s avoir g n r le proxy dans l application business l enregistrement au service de la part du subscriber se fait durant le lancement de l application Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 82 EX Travail de dipl me 2007 DEVELOPPEMENT SrvEventBusiApplic WFEventServiceCallback subscriber new EventSubscriber eventclient Subscribe SrvEventBusiApplic EventType StateChange De la m amp me maniere pour se de enregistrer de ce type d evenement eventclient Unsubscribe SrvEventBusiApplic EventType StateChange Afin de configurer un service WCF l aide du fichier de configuration
159. modele de programmation de code g r pour Windows Il combine la puissance de NEI Framework 2 0 a quatre nouvelles technologies Windows Presentation Foundation WPF Windows Communication Foundation WCF Windows Workflow Foundation WF et Windows CardSpace WCS anciennement InfoCard Utilisez NEI Framework 3 0 pour cr er des applications visuellement attractives offrant une communication transparente au del des technologies utilis es prenant en charge un large ventail de processus metier et fournissant un moyen plus simple de gerer vos informations personnelles en ligne La technologie de pointe WinFX que vous connaissez et appr ciez a change de nom Sa nouvelle d signation indique qu il s agit pr cis ment de la version suivante de l infrastructure de d veloppement de Microsoft Ce changement n affecte pas la planification des versions de NEI Framework 3 0 ni les technologies incluses dans le package FrmDotNet WebSite Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 24 Travail de dipl me 2007 DEVELOPPEMENT 1 4 Windows foundation Windows Workflow fournit des composants majeurs pour l execution des processus Chaque composant intervient pour une action particuliere durant le cycle de vie d un processus Certains sont employ s seulement durant la phase de design alors que d autres n entrent en fonction que lors de la phase d ex cution Ci dessous voici la liste des c
160. n effet l infrastructure de suivi permet de d finir un profil pour chaque type de processus WF permet galement de d finir des profils personnalis s permettant de suivre d autre type de donn es En personnalisant un profil il est possible par exemple d avoir un suivi de certains champs ou propri t s du processus Ce suivi n est pas inclus dans le comportement de base car il n cessite la connaissance sp cifique des champs et propri t s du processus 1 11 2 Maintenance de la base de donn es de suivi Pour pouvoir utiliser le service de suivi fourni avec WF il est n cessaire d avoir une base de donn es SQL Serveur Le sch ma et la logique de cette base sont galement fournis par WF La plupart du temps les donn es sont sauvegard es et maintenues Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 50 WERE Travail de dipl me 2007 DEVELOPPEMENT automatiquement sans intervention manuelle Afin de garantir et de maintenir les performances de la base une maintenance a l aide des proc dures stock es fournies galement par WF est galement possible 1 11 3 Partitionnement Le partitionnement de la base est la maintenance majeure a effectuer Le partitionnement consiste d placer les donn es de suivi des processus termin s des tables vers un autre groupe de tables definies par une p riode Cette p riode est parametrable et peut tre en jour en mois ou en ann e Ce partitionnement
161. n trois parties la partie sup rieure contient le menu la partie de gauche affiche les processus choisis et la partie de droite affiche les donn es relatives au processus selectionne Les donn es affich es dans la partie de droite repr sentent le suivi du processus Les couleurs d terminent le type d information de suivi Affichage des donnees d evenement processus Bleu Affichage des donn es d v nement activit Rose Affichage des donn es d evenement de r gles Affichage des donn es d evenement utilisateur Brun Affichage des donn es du type d activit Les quatre icones affichent l tat des services Elles sont vertes si le service respectif a pu d marrer correctement au cas contraire elles sont rouges Il faut des lors v rifier les configurations du service dans le fichier de configuration de l application Le choix de la p riode d affichage des processus fonctionne uniquement pour les processus termin s et non pour les processus en cours d ex cution La fen tre de s lection du mode d ex cution des processus permet de s lectionner le mode manuel ou alors de d finir un laps de temps en secondes pour la reprise des activit s n cessitant un d lai Si aucun processus n est en cours d ex cution le mode est sauvegard dans l application pour les processus a venir Si le lt runtime gt contient des processus en cours d ex cution ils sont reconfigur s pour passer dans le mode choisi
162. nceService _ persistenceService private SharedConnectionWorkflowCommitWorkBatchService _sharedConnService endregion region Encaveur LocalServices Variables private static EncavorLocalService _encavorLocalService private static EncavorLocalServiceDB _encavorLocalServiceDB endregion region Transporteur LocalServices Variables private static ConvoyerLocalService _convoyerLocalService private static ConvoyerLocalServiceDB _convoyerLocalServiceDB endregion region Detaillant LocalServices Variables private static RetailerLocalService _retailerLocalService private static RetailerLocalServiceDB _ retailerLocalServiceDB endregion Lorsque l application est lanc e sur l v nement OnLoad de l application les services sont instanci s Ces services sont impl ment s en code et non dans le fichier de configuration Pour savoir quels services instanciers l application utilise la valeur ActorRole dans le appSettings du fichier de configuration 3 3 2 Communication L application devant utiliser la nouvelle technologie de Microsoft faisant partie du Framework 3 0 et la volonte d avoir un environnement de d veloppement homogene les services web et la communication entre les applications est faite en utilisant le Framework DotNet Ces services sont d velopp s avec le Framework 3 0 ce qui permet ainsi galement la d couverte de cette nouvelle technologie apport e avec ce Framework Etant donn la nouveaut de
163. ndeur Directement apr s la table des mati res page 11 l introduction permet de prendre connaissance en d tail du sujet abord ainsi que du contexte dans lequel il figure La probl matique y est abord e ainsi que la pr sentation des r sultats obtenus Afin de mieux cerner les enjeux de la technologie l tat de l art actuel du domaine est pr sent page 12 Avant d aborder le d veloppement du travail r alis un chapitre pr sente page 19 le sc nario de la chaine logistique dans lequel cette technologie devra tre utilis e l pr sente de mani re d taill e le domaine de la cha ne les acteurs ainsi que les diff rents flux de communication entre eux Le document poursuit avec le chapitre du d veloppement page 19 celui ci comprend deux axes distincts Le premier pr sente la technologie dans son ensemble ses concepts ses composants ainsi que ses possibilit s Le deuxi me axe pr sente la solution d velopp e de l impl mentation de la cha ne logistique Le premier chapitre pr sente l architecture de la solution ainsi que les modules des logiciels d velopp s Le deuxi me chapitre est un chapitre technique Il s adresse aux personnes ayant des connaissances de la programmation DotNet et pr sente les diff rentes technologies utilis es et les concepts techniques de l impl mentation de la solution La synth se page 91 pr sente une discussion sur les r sultats obtenus Ce chapitre pr sente galement
164. ndition de r gle d clarative ConditionName Condition_WSTransportRequestOk Expression this TransportRequestResponse 0 Cette activit est l une des principales permettant de cr er le lt fow gt du processus Elle permet de diriger le processus en fonction de conditions definies par des propri t s L exemple ci dessus montre la v rification de la r ponse re ue pour la demande de transport Si elle est valide lid du transport est ins r dans la base de donn es sinon l erreur est transmise au service de suivi et le processus se termine 1 est possible d ajouter autant de branches que n cessaires Toutes les branches Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 66 Travail de dipl me 2007 DEVELOPPEMENT doivent avoir une valeur pour le champ Condition dans les proprietes sauf pour la derniere car elle est obligatoirement executee dans le cas ou les conditions des autres branches ont t refusees TerminateActivity Figure 34 Activit Terminate TerminateTransportRequest System Workflow ComponentModel l z Zi E d or El Activit ansportRe_ A Fi Name TerminateTransportRequest Description Enabled True Error The convoyer WS respond with an error L Comme son nom l indique cette activit permet de terminer le processus n importe quel moment durant l ex cution Elle contient un champ permettant de sp cifier un message d erre
165. ne HES SO Valais Microsoft Windows Workflow Foundation 149 Travail de dipl me 2007 APPENDICES ConfinmAoD a WaitConfimmAoD eventConfinmmAoD Recieved timeEnlapsedCon Eh Si ifEkelsCunfimAsD k iflsCunfimaArsDMa p Probst St6phane HES SO Valais Microsoft Windows Workflow Foundation 150 Travail de dipl me 2007 APPENDICES Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 151 Travail de dipl me 2007 APPENDICES Workflow s quential businessActivity 3 nittalis atin n ms uu verny Product ist checkProduct IfEbeProductExist zi u FExEt ifMotExitt AR m En m New rder Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 152 Travail de dipl me 2007 APPENDICES 4 Eelst aen Ak x fsOrderOk a IfEbelsNewFroduct flsNotNewProdwct m NotceOtDelwery m vraitingNoticeOTDelivery Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 153 Travail de dipl me 2007 APPENDICES eventNoticeOiDelven Recieve timeEnlapsedWai Zu Au a lfEbelsNotceOiDelven Ok iflsNoticeOiDelive fisNotceOiDelve_ dil dil WanlosdingLeft 5 eventLoadingLeithecieved tim eEnlapsedloa Zu aa Probst St phane HES S
166. ne sequence d activite dans un ordre pr cis A la place il d finit un groupe d tat avec plusieurs transitions possibles Chaque tat comporte un certain nombre de taches Le state machine workflow n est pas contraint a une sequence de t ches statiques Les transitions entre les etats sont ex cut es par des evenements externes qui sont lev s par l application h te Le contr le du processus se fait uniquement de l ext rieur 1 6 3 Le choix du type de processus Les deux types de processus peuvent tre employ s dans des applications similaires mais chaque type permet de r gler un probl me particulier Le type lt sequential workflow gt d finit l ordre exact ainsi que le nombre exact des tapes d un processus De ce fait il est utilis lorsque l on connait exactement le nombre d tapes pendant la phase de design que le processus doit couvrir Etant donn que le state machine workflow ne suit pas en continu les tapes il est contr l par des v nements ext rieurs De ce fait ce type de processus est employ lorsque le processus n cessite une interaction humaine les personnes n effectuant pas toujours les taches dans le m me ordre Dans la plupart des cas il est possible d employer les deux types de processus mais le mauvais choix necessitera une solution plus compliqu e et inelegante 1 7 Activities Les activit s sont des composants permettant d effectuer une t che sp cifique
167. nn es avec le login Windows modifier comme suit Initial Catalog EncaveurPersTrack Data Source nomdelamachine User Id utilisateurCree Password PwdUtilisateur Le champ lt User Id gt correspond l utilisateur SQL cr pr c demment La base de donn es de l encaveur pour la gestion de la persistance et du suivi et configuree Il reste encore a configurer la base de donn es m tier Dans la section connectionStrings modifier comme suit la valeur de la propri t connectionString gt pour la cl lt netTiersConnectionStringEncavor gt Initial Catalog EncaveurDB Source nomdelamachine Integrated Security true Ou alors Initial Catalog EncaveurDB Data Source nomdelamachine User Id utilisateurCree Password PwdUtilisateur Effectuer ces changements dans les trois dossiers des applications administration Les services se configurent galement dans le fichier lt config gt de l application d administration Les services utilisent des ports diff rents pour communiquer donc il faut que le firewall de l ordinateur accepte les communications travers ceux ci Port TCP 48081 48082 48083 47081 47082 47083 46081 46082 46083 La modification a effectuer est le changement des adresses des services par rapport a la machine h te Modifier les informations surlign es dans l image ci dessous Remplacer par le nom de la machine h te Probst St phane HES SO
168. ntation du workfiow 6 1211 2007 10 00 22 11 2007 17 00 ff impelirmantat sn DAL 13 11 2007 DE DO 13 11 2007 10 00 af imgplimentution des webservices g 13 11 2007 1000 14 11 2007 11 00 w implementation de Finterfoce gestion des workflow 20 14 11 2007 11 00 16 11 2007 16 00 1 Phase de test et correction 10 16 11 2007 16 00 20 11 2007 09 00 Probst St phane HES SO Valais 13 0 POST 11 Pha iale 6 17 09 2007 10 15 9 09 7007 11 4 af Prise connaissance du trove 1 75 17 09 2007 10 15 17 02 2007 12 00 af Configuration du poste de trovail 2 17 09 2007 13 00 17 09 2007 15 00 s Documents de suivi de projet 17 05 2007 15 00 18 05 2007 10 00 ff du sedn rin 18 09 2007 10 00 18 09 2007 12 00 Concept du BPM A 18 09 2007 13 00 12 09 2007 16 00 w Planing de r olisotion 4 18 09 2007 16 00 19 09 2007 11 00 af Analyse du sc nario 19 09 2007 11 00 19 09 2007 14 ff Analyse des besoins i 19 09 2007 13 00 12 03 2007 15 00 af Analyse de Forchitecture 1 15 09 2007 15 00 12 09 2007 16 00 a Urbing des fonctionnulit s 65 19 05 2007 16 00 15 05 2007 16 20 Diagramme de Use Case 65 19 09 2007 16 30 13 03 2007 17 00 s Cobier des charges 24 20 09 2007 08 00 24 09 2007 17 00 w Bert Practice R gles WE ete 32 25 09 2007 02700 23 09 2007 1700 vulrdotinn cohier des changes 01 10 2007 08 00 01 10 2007 08 00 vase xnloratoure p 01 10 2007 08 10 2007 i s Concepts g n
169. ntes nous n avons pas d anciens clients donc nous pouvons utiliser le binding Web Service WS binding L impl mentation du service au sein de l application d administration peut tre divis e en quatre parties La premiere consiste en la cr ation de l interface du service qui sera r f renc e comme contract dans PEndpoint Cette interface d finit toutes les m thodes pouvant tre employees par les clients de ce service la classe IWSActeur La deuxi me consiste a cr er la classe du service de l application heritant de cette interface Cette classe d finit les m thodes de l interface et la logique pr sente dans chaque m thode Ici pour chaque m thode du service web une m thode du service local des processus est appel e renvoyant comme retour la r ponse du traitement de l information par l instance de workflow correspondante Le contexte de ce service est en mode PerCall Cela signifie que pour chaque appel d une m thode une nouvelle instance du service est cr e et lorsque le client ferme le proxy cette instance est d truite la classe WSActeur La troisi me tape est la configuration du service Cette tape peut tre faite de deux mani res diff rentes soit en code soit par un fichier de configuration La deuxi me variante est choisie car elle permet une plus grande flexibilit Elle permet une modification du comportement du service sans devoir recompiler la solution La configuration par fichier
170. ocessus mais le processus dans son ensemble Lorsqu on effectue une modification d un processus par l ajout ou la suppression d activit s par exemple on modifie le lt build du processus Ces modifications peuvent tre faites soit par une mise jour dynamique d une instance de processus en cours d ex cution soit par le d veloppeur devant modifier le processus Le probl me survient avec les donn es persist es dans la base les donn es sont en version 1 0 alors que le processus est actuellement en version 2 0 La d shydratation du processus ne marchera pas et g n rera une erreur car la base contient le template complet du processus Le processus de d shydratation essaie de mapper gt le processus persist et choue car l arbre des activit s ne correspond pas Afin de r soudre ce probl me deux solutions sont possibles La premi re consiste ex cuter les deux assembly c te c te La deuxi me consiste utiliser les changements afin de passer le processus persist en version 2 0 Ces solutions ne sont pas expliqu es plus en d tail Un article de Ruurd Boeke sur son blog pr sente cette probl matique l adresse RUUBOE Ruurd Boeke Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 89 EEE Travail de dipl me 2007 DEVELOPPEMENT 5 4 Maintenance de la BD du core service de suivi Un bug subsiste dans le Framework lors de l utilisation du partitionnemen
171. ocessus et d terminera si les conditions sont remplies pour en lancer poursuivre ou arr ter l ex cution e Un r f rentiel qui m morisera tous les objets manipul s en particulier les definitions des processus les regles qui doivent declencher leur execution les contraintes d integrit de s curit ainsi que les mesures de reference relatives au metier de Ventreprise Des outils d administration qui permettront de r gler les param tres de l ensemble du systeme et d obtenir des indicateurs de performance et des statistiques partir des donn es collect es lors de l ex cution des processus L avantage de cette s paration des outils dans un tel syst me permet tous les intervenants de l impl mentation analyste d veloppeur et gestionnaire de travailler sur des outils diff rents que chacun conna t en fonction de son m tier mais dont le r sultat obtenu pourra tre mis en commun et int gr dans le syst me Cette architecture permet galement de redonner le pouvoir d cisionnel aux analystes pour mod liser les processus avec le logiciel de mod lisation des processus sans devoir faire appel aux d veloppeurs Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 14 WER Travail de dipl me 2007 ETAT DE L ART Actuellement il existe un grand nombre de systemes se disant BPMS mais ceux ci respectent ils les points mentionn s ci dessous d Le paragraphe suivant pr sente quatre des p
172. ogistique existante avec la technologie Microsoft Windows Workflow Foundation Il n a pas pour but de pr senter l impl mentation de codes complets afin de r aliser et ex cuter une application mais pr sente la technologie dans son ensemble Comment fonctionne cette technologie quels sont ces concepts quels sont les outils et les objets fournis quelles sont les possibilit s de celle ci et le plus int ressant pour quelle t che et pourquoi employer tel ou tel objet ou fonctionnalit plut t qu un ou une autre Ce chapitre r pertorie galement certains pi ges viter et ce quoi il faut faire attention en utilisant certains composants II commence par pr senter le mat riel requis afin d utiliser cette technologie Puis continue avec une pr sentation g n rale expliquant les concepts de base l architecture l utilit Ensuite il pr sente l environnement de d veloppement la place de travail permettant l impl mentation avec cette technologie La derni re partie pr sente les objets et composants mis disposition et leur utilisation La d couverte l apprentissage et la compr hension de cette technologie a t faite avec l aide des sources suivantes Centre de d veloppement DotNet Framework FrmDotNet WebSite Microsoft DotNet Framework 3 0 Community Netfx3 NetFxC WebSite Windows Workflow Foundation WWFMS WebSite Pro WF Windows Workflow in DotNet 3 0 BukBru07 Bukovics 2007 Ce chapit
173. ois ci avec une impl mentation de code ainsi que l initialisation du lt runtime engine gt String connStringPersistence String Format Initial Catalog 0 Data Source 1 Integrated Security 2 WorkflowPersistence localhost SQLEXPRESS SSPI SalVVorkflovvPersistenceService persistanceService new SqalWorkflowPersistenceService connStringPersistence true new TimeSpan 0 2 0 new TimeSpan 0 5 WorkflowRuntime instance new WorkflowRuntime instance AddService persistanceService Maintenant l enregistrement d un lt local service aupr s du lt runtime engine gt avec un fichier de configuration ainsi que l initialisation du lt runtime engine gt lt xml version 1 0 encoding utf 8 gt E xconfiguration gt lt configSections gt lt section name WorkflowRuntime type System Workflow Runtime Configuration WorkflowRuntimeSection System Workflow Runtime Version 3 0 00000 0 Culture neutral PublicKevyToken 31bf3856ad364e35 gt lt section name LocalServices type System Workflow Activities ExternalDataExchangeServiceSection Systen Workflow Activities Version 3 0 0 0 Culture neutral PublickKeyToken 31bf3856ad364e35 gt lt configSections gt lt WorkflowRuntime Name ConsoleLocaiServices gt lt CommonParameters gt lt Add parameters common to all services gt lt CommonParameters gt lt Services gt lt Add core services here gt lt Services
174. omposants faisant partie de la brique WF du Framework 3 0 1 4 1 WF Class Libraries and Framework Ce composant fournit les classes de bases et les interfaces utilis es lors de la cr ation d application orient e processus Les processus que nous construisons sont compos s de ces classes de bases ainsi que de nos propres classes heritant de celles ci Toutes les classes de cette librairie font partie du namespace System Workflow Figure 11 WF Component categories ME nasir Timo Tante Wr Design time 10015 Source BukBru07 Bukovics 2007 Runtime Engine Ce composant contient le coeur du moteur d execution des processus Il est repr sent par la classe WorkflowRuntime Ce runtime n est pas une application mais un ensemble de classes qui doivent tre impl ment es dans notre application h te afin de pouvoir manager les processus Notre application h berge ce runtime et celui ci h berge les instances de nos processus Runtime Services Le moteur d ex cution est construit avec un concept de services externes Ces services sont enregistr s aupr s du runtime pendant le d marrage de l application Il y a deux types distincts de services les core services et les local services Les Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 25 Travail de dipl me 2007 DEVELOPPEMENT core gt services sont fournis par Microsoft Ce sont des serv
175. on Raya irinn 24 1 4 1 WF Class Libraries and Framework 24 1 4 2 Runtime Environment 25 1 5 Design Environment ss 29 JO VO CE procesi uuu u a anama 36 1 6 1 Sequential Work OWN ea de daaa 36 1 6 2 State Machine Worklflow 36 1 6 3 Le choix du type de processus 36 1 7 ee be iii 36 1 7 1 Standard Activities 37 1 7 2 Customiser la conception des processus 39 1 8 Enregistrement des services ss 42 1 9 Gestion de 20 ie eek 44 1 9 1 Service de persistance personnallise 45 1 10 Eet 46 Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 9 Travail de dipl me 2007 lt TABLE DES MATIERES 1 10 1 Appeler une m thode d un lt local gt service 47 1 10 2 Attendre un v nement d un lt local gt service 47 1 11 Gestion du suivi des processus 48 1 11 1 6701600 b bbn n i 49 1 11 2 Maintenance de la base de donn es de sulVi 49 KILLS port one 50 1 12 WF et les Services Web 50 1 12 1 Appel d un service web depuis un processus
176. onfirmation a l encaveur L encaveur envoie un avis de livraison au detaillant afin a I e ES de l informer qu il va lui livrer les produits v correspondants Le scenario continue avec le transporteur qui va charger e gt la marchandise chez l encaveur afin de la livrer chez le La lt i detaillant P r Apres le chargement le transporteur envoie a l encaveur AT une confirmation de prise en charge de la marchandise Lorsque le transporteur a livre les marchandises chez le gt detaillant ce dernier lui envoie une confirmation de Nae l livraison pour confirmer la reception des marchandises livrees Finalement le d taillant envoie un accuse de livraison a E l encaveur afin de lui confirmer la r ception des A e marchandises commandees Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 103 Travail de dipl me 2007 APPENDICES Use Case D taillant Encaveur Timeline m Legende Reprise du processus L gende Manuellement U Requiert une action humaine D lais automatis Automatis par les processus gi Le schema ci dessus liste les activites qui sont accomplies par chaque acteur tout au long du sc nario La time line nous indique la succession ordonn e des activit s l aide des blocs de couleurs num rot s Chaque couleur correspond une interaction entre deux maillons de la chaine La legende nous p
177. op rabilit et la communication des processus avec d autres technologies ou d autres applications Figure 1 R partition du travail effectu Travail r alis Analyse M Phase exploratoire id D veloppement du sc nario bi Rapport Afin d atteindre ces objectifs le d roulement du travail s est effectu en quatre phases selon le graphique ci dessus La r alisation de ce projet comptabilise un travail de 570 heures r parties entre ces diff rentes phases Analyse Le travail a commence par une phase de deux semaines durant laquelle les bases du travail ont t pos es Elle regroupe la compr hension du travail a effectuer la r daction du cahier des charges les prototypes de l architecture de la solution ainsi que la planification pour le suivi du projet Afin d optimiser le rendement du travail et d avoir une vue d ensemble du travail a r aliser la planification est faite dans MS Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 5 Travail de dipl me 2007 RESUME Project Le cahier des charges la planification ainsi que les prototypes du projet se trouvent en appendices page 98 Phase exploratoire Les trois semaines suivantes ont t dediees a la d couverte technologique Cette phase a d but par une recherche sur les diff rents composants de la technologie ainsi que de ses possibilit s d int gration Finalement elle se termine par la recherche de codes so
178. oxy est alors g n r et permet l appel au service web Ensuite il suffit de param trer les diff rentes propri t s de l activit La propri t ProxyClass est initialis e au nom du proxy la propri t MethodName identifie la methode du web service que l on veut appeler et finalement les parametres d entr e et de sortie de la methode peuvent tre attaches a des variables du processus ou de l activit 2 Presentation de Pimplementation Ce chapitre pr sente la solution d velopp e pour implementation de la cha ne logistique La premiere partie de ce point pr sente la solution d velopp e pour la chaine logistique dans son ensemble le nombre de programmes et quels sont leur utilite Ensuite une presentation detaillee de la solution d un des acteurs est faite Une explication sur les diff rents modules composant cette solution est expos e Ce chapitre n aspire pas a une presentation technique de l impl mentation de la cha ne logistique mais propose une explication de l utilit de chacun des modules et services developpes Pour des informations techniques concernant le d veloppement de la solution veuillez vous r f rer au chapitre 3 Pr sentation technique page 57 Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 52 Travail de dipl me 2007 DEVELOPPEMENT 2 1 Implementation globale 2 1 1 Architecture Figure 22 Architecture de la chaine logistique x Encaveur
179. p des activit s au sein de lui m amp me Ensuite grace au code behind nous pouvons Ecrire le code comportant la logique de cette activit Figure 17 Activity Designer MyCompositeAc ty cs Design Composants CustomaActivi Composants OrderEntryA e Windows Workflow MyCompositeActi_ k Pointeur m CallExternalMethod M Code L D poser les p Compensate activit s ici m CompensatableSequence 33 ConditionedActivityGroup Delay Permet d entrer et de maintenir les r gles associ es a un processus Les r gles peuvent tre utilis es de deux mani res diff rentes Elles peuvent tre simplement une condition booleenne pour une activit demandant une condition par exemple une activit de type lt If Else gt ou alors elles peuvent tre combin es l int rieur d un Ruleset et utilis es par une activit de type PolicyActivity Ces regles sont alors valu es une a la fois et peuvent tre r valu es suivant les actions des r gles ant rieures Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 34 Travail de dipl me 2007 DEVELOPPEMENT Rule Condition Editor Pour voir appara tre la fen tre lt Rule Condition Editor gt voici le pr requis Il faut que le processus contienne des champs ou des proprietes et il doit contenir une activite demandant une condition Lorsque l on s lectionne l activit dans les prop
180. p RulesetRreference il faut cliquer sur l Ellipsis gt II est possible de determiner l ordre d execution des regles a l aide de Fattribut Priorit la r gle avec la valeur de cet attribut la plus haute est ex cut e en premier et ainsi de suite Les r gles peuvent tre actives ou inactives Il est galement possible de choisir le chainage des regles c est a dire si les regles sont executees une seule fois les une apr s les autres ou alors avec le lt forward chaining gt x Pour chaque r gle il est galement possible de d terminer si la r valuation doit se faire ou pas Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 36 KERNE Travail de dipl me 2007 DEVELOPPEMENT 1 6 Type de processus WF permet la modelisation de deux types de processus les lt sequential workflow gt ou les state machine workflow 1 6 1 Sequential Workflow Les processus de ce type permettent execution d activites dans un ordre bien pr cis Le processus demarre avec un point d entr e effectue les op rations en fonction de la logique determinee par le processus et finalement se termine lorsqu il a atteint le point de sortie Dans ce type de processus il est impossible d atteindre une activit se trouvant au milieu du processus sans passer par le point d entr e 1 6 2 State Machine Workflow A l oppos d un lt sequential workflow le lt state machine workflow gt ne d finit pas u
181. plic gt lt baseAddresses gt lt host gt lt endpoint address Linding netTcpBinding bindingConfiguration netTcp contract ServiceManager IServiceForBusinessApplicEvent gt lt endpoint address MEX binding mexTcpBinding contract IMeradataExchange gt lt service gt lt services gt lt behaviors gt lt bindings gt lt system serviceModel gt Effectuer cette modification pour chaque application d administration du scenario La derniere tape de configuration des services consiste a renseigner dans les bases de donnees metier des acteurs l adresse des services web respectifs Pour ce faire il faut aller modifier les valeurs de la table ACTEUR de chacune des bases de donn es m tier des acteurs Le champ lt wsUri gt contient la r f rence au service web e Clic droit sur la table ACTEUR de la base de donn es EncaveurDB et s lectionner ouvrir la table e Modifier la valeur du champ wsUri pour chacun des acteurs ins r s dans la base Modifier uniquement le nom de la machine par le nom de la machine h te comme effectue precedemment dans les fichiers de configuration Renouveler cette tape pour les deux autres bases DetaillantDB TransporteurDB Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 180 WER Travail de dipl me 2007 APPENDICES De la m me mani re que pour la configuration des services il faut changer l adresse des services u
182. pueyoeW ej JUeAOAUS ue un lip dx3 podsues epuewep el Jueymuap nbiun QIgwNU s ugAIms SUONeW S l odsues apuewap e7 Inayodsuen un e assaupe nb Lodsuen sun INBABDUA 140 0 NE SIPLEWWOO SUNPOJd saj JoUIWOYOeR p nq sueq wodsuen eg egpUeWIWOD gyquenb eyjueNH ulu ad un g puodse109 epoque j apos 2 enbeyo 2848 s pueuuutuoo sappe sap ajsy op I0AUS 19 lep oe D AB U I BPUeWWOD anejeunsap Fua m pi unass uuno QUE E 9P l apuewwoo ej jue nuuoj opua m pi ua pueuuuuoo JUeYNUEP nbiun oxunu opuewwon SJUBAINS slu uu S luoduuoo SpUBWWOD auf ID AB U ped ej 1018981 lBUnOS Juejjle 9p nb synpoid Sa l 3 D AB U E OAU Je luell e j p UN Jed Isa apuewwos sun eapUeWWOD V uejlle J9pP np uoneuns p E narea Jed sipadxe UIA ap Juswe leyo un p Jnayodsue sed UOSIBJAI UOISEI90 seHueyoe S JUBA Si s uj Suoo 9 s NB IH Bs nl eouepuedepieju One UOSIEJ iuel lle q sn Aaeou3 zuelen Jodsue nayodsue Inanea
183. r r ceptionne cette demande et informe l encaveur qu il est pr t a ex cuter la demande il envoie une confirmation a l encaveur L encaveur envoie un avis de livraison au detaillant afin de l informer qu il va lui livrer les produits correspondants Le sc nario continue avec le transporteur qui va charger la marchandise chez l encaveur afin de la livrer chez le d taillant Apres le chargement le transporteur envoie encaveur une confirmation de prise en charge de la marchandise Lorsque le transporteur a livr les marchandises chez le d taillant ce dernier lui envoie une confirmation de livraison pour confirmer la r ception des marchandises livr es Finalement le d taillant envoie un accus de livraison l encaveur afin de lui confirmer la r ception des marchandises command es HES SO Valais Microsoft Windows Workflow Foundation 21 Travail de dipl me 2007 SCENARIO DE LA CHA NE LOGISTIQUE Figure 9 Activit s du sc nario Encaveur Transporteur D taillant wW Timeline CI ES __ ELLES To Th L gende Reprise du processus L gende il Manuellement l Requiert une action humaine 2 D lais automatis Automatis par les processus Le sch ma ci dessus liste les activit s qui sont accomplies par chaque acteur tout au long du sc nario La time line nous indique la succession ordonn e des activit s l aide des blocs de couleurs num rot s Chaque coul
184. raux de WF 10 01 10 2007 08 00 02 10 2007 10 00 Test Sample de WF 145 02 10 2007 10 00 20 10 2007 11 00 af Construction d 02 10 2007 10 00 02 10 2007 15 00 af 12 02 10 2007 15 00 04 10 2007 10 00 Flow des processus 12 04 10 2097 10 00 05 10 2007 15 00 af Gestion 16 05 10 2007 15 00 03 10 2007 15 00 af Persistence 16 03 10 2007 15 00 11 10 2007 15 00 af Gestion v nements 16 11 10 2007 15 00 15 10 2007 15 00 w Interaction avec les webservices 16 15 10 2007 15 00 17 10 2007 15 00 w interaction avec l ext neur 24 17 10 2007 15 00 22 10 2007 15 00 1 Approfondissement 29 22 10 2007 15 00 26 16 2007 11 00 WP Encaveur 79 26 10 2007 114 3 11 2007 af Analyse et modelizetion du workflow 2 26 10 2007 11 00 26 10 2007 14 00 w Anolyse et modelisotion de le BD 2 29 10 2007 09 00 29 10 2007 11 00 af impidsmentatlon de lo B r gle de gestion 29 10 2007 16 00 30 10 2007 11 00 af impl mentation du workflow 6 30 10 2007 11 00 31 10 2007 09 00 imelimantat s n BE Z DAL 2 31 10 2007 09 00 31 10 2007 11 00 implementation des webservices 9 31 10 2007 11 00 01 11 2007 12 00 impl mentation de Finterfoce gestion des workflon 40 01 11 2007 13 00 08 11 2007 12 00 1 Phase de test et correction 10 B 11 2007 13 00 09 11 2007 15 00 Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 Analyse et modelisotion du workfiow Anaylse et modelisotion de lo 80 Implementation de la 80 r gle de gestion impl
185. rces Le projet tant important et planifi sur douze semaines il ne peut tre acceptable de perdre des donn es li es un crash mat riel Les donn es n tant utilis es que par un seul intervenant une sauvegarde de l ensemble de l existant est enregistr e chaque p riode de temps d termin e sur trois diff rents supports dont deux sont des supports de donn es externes Cette sauvegarde est faite quotidiennement en fin de journ e pendant toute la dur e du projet Les fichiers concernant la documentation du travail sont plac s dans un dossier s par de l impl mentation de la solution Ce dossier est galement subdivis en dossier repr sentant les diff rents d livrables requis Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 90 MER Travail de dipl me 2007 DEVELOPPEMENT 6 2 Gestion du versioning Le versioning des fichiers et de la solution est g r de la mani re suivante Pour les documents devant tre r dig s hebdomadairement un nouveau fichier comportant le num ro de la semaine de travail est cr Pour les documents plus importants comme par exemple le fichier du document final ou encore la solution Visual Studio chaque modification importante fait office d une nouvelle version Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 SYNTHESE IX SYNTHESE Le travail effectue avait comme objectif la d couverte d
186. re se base essentiellement sur la source Pro WF Windows Workflow Foundation En effet le chapitre ci dessous presente un condense de cet ouvrage 1 2 Pre requis Pour pouvoir developper des applications avec cette technologie il faut une machine de d veloppement supportant le Framework 3 0 C est a dire une machine avec un systeme d exploitation comprenant soit Windows XP Service Pack 2 Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 23 Travail de dipl me 2007 DEVELOPPEMENT Windows 2003 Serveur Service Pack 1 ou Windows Vista Niveau logiciel Microsoft Visual Studio 2005 version complete est requis afin de pouvoir utiliser le Visual Workflow Designer la version lt Express ne supportant pas le lt Visual Workflow Designer Il faut l extension pour Visual Studio 2005 qui permet d utiliser les composants du Framework 3 0 Il faut egalement une deuxieme extension pour Visual Studio 2005 gt pour permettre l utilisation du Visual Workflow Designer de Template et du Workflow Debugger Le mat riel requis peut tre telecharge sur le site MSDN de Microsoft 1 3 Framevvork 3 0 Figure 10 Framevvork 3 0 WINDOWS INFOCARD V INDOVVS WINDOWS PRESENTATION COMMUNICATION WORKFLOW FOUNDATION WF NET FRAMEWORK 2 0 Source FrmDotNet WebSite Microsoft NET Framework 3 0 precedemment appel WinFX est le nouveau
187. ri t s de cette activit il y a un champ Condition il faut choisir Declarative Rule Condition puis dans le champ Expression il faut cliquer sur c Ellipsis gt Figure 18 L diteur de condition SellitemWorkflow cs Design x E ifElseBranchActivity1 System Workflow Activit w Workflow s quentiel EE 2 El Activit Name ifElseBranchActivity1 Description Enabled True ifElseActivity1 El Conditions x El Condition Condition de regle declarative Conditions fa Expressio Expression de condition ifElseBranchActivi 5 Selectionner la condition e S lectionnez une condition de r gle 4 affecter a la condition d une activit Vous pouvez galement ajouter modifier supprimer ou renommer des conditions existantes Nouveau Modifier H Renommer Supprimer diteur de conditions de r gle Modifiez les contraintes pour cr er une condition de regle Exemple this Prop1 Yes this Prop2 Apercu de la condition Condition Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 35 Travail de dipl me 2007 DEVELOPPEMENT Ruleset Editor Figure 19 Editeur d ensemble de r gles SellltemWorkflow cs Design x ee 1x Les policyActivity1 System Workflow Activities Poli z A Workflow sequentiel CES d El Activit Name policyActivity1 Description Enabled True
188. rocessus est dans l tat correspondant de faire continuer l instance de processus a l activite suivante Ce service est utilis par l application business pour mettre a jour en temps r el les informations des processus en cours Ce service est employ a chaque fois qu un Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 55 Gera Travail de dipl me 2007 DEVELOPPEMENT processus change d etat a chaque fois que l activit courante d une instance de processus change et pour informer l application business de la fin d une instance de processus courant Les informations modifi es relatives aux donn es metiers passent galement par ce service v nementiel Ce module regroupe les classes permettant la creation du formulaire de presentation de l application d administration Il s occupe de la gestion du design de l application suivant les parametres choisis 2 2 2 Application business Ce module regroupe les classes permettant la cr ation du formulaire de pr sentation de l application business Il s occupe de la gestion du design de l application suivant les parametres choisis Ce module g re l enregistrement aux services fournis par l application d administration pour l affichage des processus en cours et la demande de donn es relatives 2 2 3 Stockage des donn es Le stockage des donn es est compos de deux bases de donn es h berg es sur un serveur Microsoft SQL Serveur 20
189. rors base Validate manager obj f fonly validate a single custom activity type if obj is MyCustomActivity 4 MyCustomActivity activity obj MyCustomActivity oniy do validation when the activity is in a workflow if activity Parent null if activity MyInt 0 errors Add ValidationError GetNotSetValidationError MyInt if activity MyString null activity MyString Length 0 errors Add new ValidationError MyString Property is incorrect 501 return errors Notre classe de validation doit h riter de la classe ActivityValidator impl mentation de la validation se passe dans la m thode Validate Cette m thode retourne un objet de type ValidationErrorCollection ce qui nous permet de retourner plusieurs erreurs Dans cette implementation la m thode contr le que l objet pass est bien du type de notre custom activit ce qui restreint la validation a cette classe Ensuite l objet est lt cast gt du type de notre activit La m thode contr le que le parent de l activit n est pas nul Ce test est n cessaire pour que activite ne genere pas une erreur lors de sa compilation Nous voulons que cette validation soit faite que si elle est inseree dans un processus Ensuite c est le tour de la validation de nos propri t s Il est possible de la g rer de diff rentes mani res Soit l aide de m thode lt helper gt statique de la classe ValidationError
190. s Microsoft Windows Workflow Foundation 161 Travail de dipl me 2007 APPENDICES Solution Visual Studio Description Solution Visual Studio de l impl mentation de la cha ne logistique Pr sentation des projets ainsi que des classes de la solution Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 APPENDICES Le premier niveau des n uds de l arborescence de la solution pr sente quatre dossiers et deux projets od Solution WFSolution 16 projets ER CommonLibrary ER c DynamicProxyLibrary E LA WorkflowManager H l Nettiers Convoyer E c ConvoyerwFBusiness ER ie Encavor CR 2 Nettiers Encavor E c EncavorV FBusiness Retailer ER Nettiers Retailer o Z RetailerV FBusiness ELA AdminApplication Ci Ell Properties La References DataAccess Resources RuntimeManager 3 ServiceManager en iw App config E LSinteraction cd amp EE Main cs ven Program cs i ER Settings cs BusinessApplication ER sal Properties D aj References m Eli CustomControl al Resources ER Service References m Eli UserControls me Ga app config GE DataGridObject cs EventSubscriber cs H FE Main cs amp ES NewOrder cs x ee Program cs aan ServiceManager cs Probst St phane Sg Nettiers Convoyer H A WFConvoyer BLL E
191. s Avant qu une interaction survienne il peut se passer un temps consid rable quelques jours voire des mois De ce fait il est important que l application puisse sauver le processus en cours et le recharger plus tard Sans la gestion de la persistance la dur e de vie d un processus est limitee au temps d ex cution de l application Si application rencontre une erreur et doit se fermer notre processus est perdu Ce qui n est pas permissible dans un environnement de production WEF propose en tant que core service la gestion de la persistance Pour ce faire il utilise le systeme de gestion de base de donn es relationnel SQL Serveur Ce service est optionnel pour execution du lt runtime engine gt est peut tre enregistr avant l ex cution de celui ci Le fait que WF ait implemente ce service de cette fa on permet modularite et flexibilite quant au choix de persister les processus suivant les besoins requis Il est tout a fait possible par exemple de choisir un autre SGBDR comme oracle ou alors dans des fichiers XML Par contre une telle manceuvre n cessite l impl mentation d un lt local gt service Le core service de WF pour la persistance ne sauvegarde pas un processus mais sauvegarde l tat d un processus Il est important de faire cette distinction car on ne peut pas employer ce service pour par exemple g rer l historique des processus Ce core service ne sauvegarde que l tat des proces
192. s referer au site suivant http en vvikipedia org vviki BPMN Probst Stephane HES SO Valais Microsoft Windows Workflow Foundation 18 Travail de dipl me 2007 ETAT DE L ART conclusion de ce document en me basant sur l analyse de la technologie et l impl mentation r alis e Figure 7 Mod lisation BPMN This Task returns the value ofthe Discussion Over to True or False Issue Voting List D 0105 Issues e e wm amp Delay 6 days from Announcement Allow 1 week for the discussion of the Issues through e mail or cals The Sub Process will repeat of the DiscussionOver variable is False Source Wikip dia BPMN Figure 8 Mod lisation WF gei e Process Vehicle PaymentSequence Security Sequence 3 HasVehiclePssdCharge sVehicleSuspect gt en mr VehiclePaidCond VehicleUnpaidCe Vehiclels Suspect VehncleisNatSusp a a a C CanfigureS ee Er Display Vahi u Drop Activites daHasPaid il Here Source Google images Probst Stephane HES SO Valais Microsoft Windows Workflow Foundation 19 Travail de dipl me 2007 SCENARIO DE LA CHA NE LOGISTIQUE VII SCENARIO DE LA CHAINE LOGISTIQUE compos de trois acteurs un encaveur un x transporteur et un detaillant L encaveur doit livrer le vin au detaillant faisant appel au transporteur Le sc nario a t simplifie par rapport a la realite afin de lim
193. s Xpert lvy Designer Des assistants permettent ensuite de decrire de maniere intuitive les liens avec les applications tierces et les ecrans utilisateur Durant la phase d elaboration les mod les peuvent tre simul s et test s tout moment Quelques clics suffisent appliquer le mod le dans le serveur Xpert lvy La transposition des nouveaut s dans application est alors r alis e de mani re totalement automatique en fonction d une p riode de validit choisie Si le nombre de processus parall les n est pas limit dans l ex cution de l application il en va de m me pour ce qui touche sa maintenance Plusieurs personnes peuvent simultan ment mettre jour le mod le sans que cela ne pose le moindre probl me d integrite XPEIVY WebSite L apercu de ces diff rents BPMS montre bien que la tendance est la s paration de la solution en diff rents logiciels pouvant tre utilis s par des intervenants de competences diff rentes Chaque intervenant l analyste le d veloppeur et le gestionnaire dispose de son propre programme et le syst me permet une mise en commun de l impl mentation faite sur les diff rents outils Actuellement afin de mod liser les processus on aspire unifier cette mod lisation Cette unification est connue sous le nom de BPMN Business Process Model Notation Son objectif est de fournir un cadre permettant de d crire un processus d une mani re commune tous les utilisateurs et ce
194. s modifies de la commande 4 R ponse de la bd Si I k 5 R ponse du WS au dient Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 127 WER Travail de dipl me 2007 APPENDICES sd Encaveur R ception de la confirmation de r ception A WF Manager Applic WS Interface Code de contr le Business BD I I I I 1 1 V rification des donn es en entr e 1 2 R ponse de v rification 3 Insertion des donn es modif es de la comm ande 4 la bd f 5 R ponse du WS au dient sd Transporteur R ception de la demande de transport J SS Transporteur WF Manager Applic WS interface Code de contr le Business BD I I 1 Cr ation du processus du transport I I 1 2 V rification des donn es en entr e 3 R ponse de la v rification 4 Interrogation de la bd sur l tat des v hicules 1 5 R ponse de la bd I I 8 Calculsrelatifs au transport 1 9 R ponse des calculs 10 E nregistrem ert du transport 1 11 Reponsefde la bd k 12 R ponse du WS au dient L sd Transporteur Envoi de la confirm ation de transport J 9 re CO Transporteur WF Manager Applic WS Encaveur WS Interface Code de contr le Business BD I 1 1 Interrdgation de la bd sur le transport 2 R ponse de la bd Probst Stephane HES SO
195. s processus 2 Dossier Convoyer Le dossier Convoyer contient tous les l ments permettant la gestion de l activit du transporteur Il est compos d un dossier Nettiers Convoyer et d un projet ConvoyerVVFBusiness Le detail de ce dossier est pr sent au point 7 Les classes des acteurs ala page 167 3 Dossier Encavor Le dossier Encavor contient tous les elements permettant la gestion de l activit de Pencaveur Il est compos d un dossier Nettiers Encavor et d un projet EncavorWFBusiness Le d tail de ce dossier est pr sent au point 7 Les classes des acteurs ala page 167 Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 165 WER Travail de dipl me 2007 APPENDICES 4 Dossier Retailer Le dossier Retailer contient tous les elements permettant la gestion de l activit du d taillant Il est compos d un dossier Nettiers Retailer et d un projet RetailerWFBusiness Le d tail de ce dossier est pr sent au point 7 Les classes des acteurs ala page 167 5 Projet AdminApplication Ce projet est le logiciel repr sentant l application d administration Il contient les classes de gestions des diff rents services les classes du design de l application et le fichier de configuration Ce dossier contient une classe pour chaque type d acteur de la chaine logistique Chaque classe contient des methodes statiques appelees par le service de communication pour l application business Ces
196. s que lf expertise m tier le Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 13 WER Travail de dipl me 2007 ETAT DE L ART d veloppement d applications et en passant par de l architecture et le conseil en technologies GesProMe WebSite Afin de pouvoir mettre un tel systeme en place les entreprises doivent faire appel a un systeme permettant ce d ploiement De nombreux systemes de gestion des processus m tiers existent sur le march Mais quelles sont les possibilit s que doit fournir un systeme pour tre caract ris comme BPMS Business Process Management System Le systeme doit comporter un ensemble de logiciels destines a formaliser les procedures qui font activite d une entreprise dans le but de les automatiser Cet ensemble comprend g n ralement BPMSO11 WebSite e Un outil de mod lisation qui servira formaliser la description des fonctions exerc es dans l entreprise en processus en applications informatiques Il permettra de d finir galement les donn es chang es les interfaces avec les autres modules e Des outils de d veloppement pour formaliser la logique qui r git les processus de l entreprise noncer les r gles de fonctionnement e Un moteur d ex cution qui supervisera le d roulement des processus ainsi que les changes de param tres e Un moteur de r gles qui valuera l tat de tous les objets impliqu s dans le d roulement des pr
197. services de suivi diff rents Le premier utilisant le core service de WF pour la gestion de la persistance permet de remonter les informations de suivi concernant les processus termines Le deuxieme quant a lui permet de suivre en temps r el le suivi des processus en cours d ex cution Pour ce deuxieme service une impl mentation d un service personnalis est n cessaire car celui ci n est pas fourni avec WF Chaque acteur contient une impl mentation d un profil de suivi permettant d affiner les informations du suivi selon le m tier de l acteur Core service de suivi Pour l impl mentation de ce service comme cit dans le point pr c dent concernant le service de persistance l impl mentation du core service de suivi est faite dans la m me base de donn es que le service de persistance WF fournit galement le script SQL permettant la cr ation du sch ma des tables ainsi que de la logique Ces fichiers se trouvent dans le dossier du Framework 3 0 L enregistrement du service aupr s du moteur d ex cution des processus s effectue de fa on identique comme tout core service String connStringPersTrack System Configuration ConfigurationManager AppSettings EncavorPersTrack _trackingService new SqlTrackingService connStringPersTrack _trackingService PartitionOnCompletion false _trackingService UseDefaultProfile false EncavorWFBusiness ProfileTracking EncavorTrackingProfile GetEncavorTrackingProfile
198. snooy qovuuuoo S VS RENT ae esud LONEWINUOI HOYUHHUO SIMS f S EEE yodsuen uonguujuoo yodsues ELG Kadette SPLEWWOI JOPIOMOU ZLS ENTER geet FLG kees Le 2 senbiuyse s p uontuu q e S TT 7 UTUTUTUTU TU TUTU TUT ATU TU n s npoud s p senbiun s uenuap G FARRER TORE EEE EEE ETC ETT TUTULURLAR s na oe sep senbiun SJUENNUSP 2 gt Dn TU TTUTUTUTTTUTTUTTTTTTTTUUT TUT s s l n spiepue S je selBojouy98 b nn nn nn nn nn RHEE EEE EEE TEE EEE EEE EEE ET En 890 51 FL b CEPCETETEETEE CEE TETE EE TETE ETES EURER REESE EEE EEE EEE suoneiA91qge Je s uu l p L r aime e e sajge eaud suonIpuo9 l q 5 and SE b 777777 mmm TU A TT VI y TTT u u OO wl s s neul s p lqe 1 puejsozums wajsam sauans paijddy jo Ausiaamun LI2MPDSIS2M 1413520 lbyu pro o assins vasyen ds 2 023 NNLH s nbiuuo s vey zu s p uoniuu q INS SWdg O S 5 H HES SO Valais Probst St phane 119 WER Microsoft Windows Workflow Foundation APPENDICES
199. ss pour ressortir les informations de la base de donn es Ce service permet galement d informer les instances de processus d une action utilisateur Service Hosting Cette classe est une classe singelton qui h berge les instances des deux services de communication Elle contient les methodes permettant de d marrer et d arr ter ces services de communication App config Ce fichier permet de configurer l application d administration Il permet de configurer les informations des services de communication le choix du type d acteur pour cette application ainsi que diff rents parametres des informations contenues dans la base de donn es metiers les parametres pour la couche d acces aux donn es Nettiers Main C est le formulaire d affichage principal de l application d administration contient le design de l application Program C est la classe qui lance l application d administration Settings C est le formulaire appel par l application d administration permettant de choisir le parametrage des temps d attentes 6 Projet BusinessApplication Ce projet est le logiciel repr sentant l application business d affichage des donn es m tiers Il comprend les classes de design de l application les classes de communication avec les services de l application d administration ainsi que le fichier de configuration de l application Ce dossier contient les classes personnalis es h ritant des classes de base
200. ssing aasyemgds 2 023 s oeJi lu s p uoniuu q 3WS SWd8 OS S H HES SO Valais Probst St phane Microsoft Windows Workflow Foundation 124 Travail de dipl me 2007 APPENDICES Diagrammes de s quence Description Diagrammes de sequence tablis pour chacun des Use Case des acteurs durant la phase d analyse du travail Probst St phane HES SO Valais sd Encaveur Reception de la commande J Encaveur sd Encaveur Demande de transport J Encaveur sd Encaveur R ception de la confirmation de transport J Encaveur Probst St phane Microsoft Windows Workflow Foundation 125 Travail de dipl me 2007 WF Manager Applic I 1 1 Cr ation du processus de la commande WF Manager Applic WS Transporteur 3 Demande transport SS WF Manager Applic SS WS Interface Code de contr le Business BD 2 V rifcation des donn es en entr e 3 R ponse de la v rifcation 4 Interrogation de la bd sur l tat des stocks I 5 R ponse de l interrogation r rkrzr 7 ul Fr1yFy y1yrRRryrarrru Be ay RE I 8 Calculs relatifs a la comm ande R ponse des calculs 10 E nre gistrem de la commande l 11 Repomse de la bd 00 0 2 J ER I I I k 12 R ponse du WS au dient I I 1
201. ssus Afin d am liorer la productivit lors de la phase de design il est possible l aide d attribut et de composants optionnels d afficher les erreurs directement sur le sch ma du processus afin de les d couvrir directement et non de les voir appara tre seulement lorsque la solution est compilee Cette fonctionnalit est tudi e plus en d tail dans le chapitre Customiser la conception des processus 1 7 1 Standard Activities Le but de ce chapitre n est pas d expliquer comment utiliser et comment fonctionnent les diff rentes activit s fournies par WF mais de pr senter les diff rentes cat gories d activit s et leur utilisation afin de pouvoir faire le bon choix pour la t che qu il faut r aliser Voici la liste de ces cat gories e Custom Workflow Logic e Flow Control e State Management e Event Handling e Local Service Communication e Rules e Web Services e Transactions Compensation and Synchronisation e Exceptions and Error Handling Custom Workflow Logic Une seule activit fait partie de cette cat gorie elle permet d ajouter le code concernant la logique business a un processus Code Activity Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 38 WERE Travail de dipl me 2007 DEVELOPPEMENT Flow Control Les activites de cette categorie permettent de gerer le cours du processus l coulement des t ches depuis le point de d part jusqu au point d arrivee
202. ssus avec une activit de type Terminate Afin de renseigner le type d erreur a receptionner il faut renseigner le champ FaultType dans les proprietes du FaultHandler Les activit s utilis es Ce point repertorie les activit s utilis es pour la modelisation du processus ainsi que l explication de leur impl mentation Les activit s EventHandlingScope CallExternalActivity ListenActivity HandleExternalActivity et FaultHandlerActivity ne sont pas reprises tant expliqu es pr c demment CodeActivity Figure 32 Activit CodeActivity InstantiatelnitParams System Workflow Activities CodeActivity oz 21 El 7 E Activit Name InstantiatelnitParams Description Enabled True El Gestionnaires ExecuteCode InstantiatelnitParams_ExecuteCode elnstantiateln tParams if Cette activit permet lorsque celle ci est ex cut e d appeler une m thode C est une activit utilis e principalement pour effectuer des calculs ou pour d finir des valeurs aux propri t s d finies dans le processus Pour ce faire il faut renseigner le champ ExecuteCode dans la fen tre des propri t s et d finir la m thode appeler IfElseActivity Figure 33 Activit IfElse p ifWSResponseOk System Workflow Activities If lseBranchActivity dvrSFaipensoDi ElbeEc n hAztn 21 SE Name fWSResponseOk d gem Creme Description r Enabled True 2 ER El Conditions Caps El Condition Co
203. st St phane HES SO Valais Microsoft Windows Workflow Foundation 177 ER Travail de dipl me 2007 APPENDICES Ce manuel pr sente l installation effectuer pour pouvoir ex cuter les applications prototypes au sein de la m me machine e Microsoft SQL Server 2005 e Framework 3 0 Le sc nario comporte six bases de donn es chaque acteur dispose d une base de donn es metier et d une base de donn es pour la gestion de la persistance et du suivi des processus Les bases de donn es sont fournies sous leur repr sentation fichier c est dire pour chaque base il faut disposer du fichier lt mdf ainsi que du fichier lt ldf Afin d installer toutes les bases vous devez avoir 12 fichiers en votre possession Pour installer les bases il faut les attacher a SQL Server voici les etapes a suivre e Se connecter au moteur de base de donn es e Clic droit sur le dossier Base de donn es et s lectionner Joindre e Dans la nouvelle fen tre clic sur ajouter et s lectionner le fichier mdf de la base a installer Repeter ces tapes pour chacune des bases de donn es du sc nario Au cas ou la configuration du connectionString des bases n est pas faite en mode Integrated Security cr er un utilisateur SQL et affecter le r le pour se connecter aux bases de donn es Utilisateur SQL e D velopper le dossier S curit puis clic droit sur Connexions s lectionner Nouvelle
204. stion de son activit cela doit se passer de mani re transparente pour l ensemble du sc nario De ce fait les services web developp s sont conformes au standard assurant cette interoperabilite Les interfaces des services web de chaque acteur ont t d finies au pr alable La Figure 24 Flux des communications du sc nario pr sente toutes les communications possibles au sein de ce sc nario Pour de plus amples informations sur les interfaces des services web le document correspondant se trouve dans les appendices page 98 Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 2 3 2 Flux de la solution des acteurs Figure 25 Flux des applications Flux de Fapplication business Flux de Fappliction d administration Flux de service Flux interne WF Administration Application Application v nement application Demande des processus en cours Envoi de Faction utilisateur pour la reprise des processus Recherche d un processus et de ses donnees Recherche de processus et de leurs donn es Mise jour en temps reel des donn es des commandes en cours Demande des processus en cours Recherche de processus pour Faffichage du suivi application DEVELOPPEMENT La communication entre les applications est faite avec les services WCF Windows Communication Foundation WCF est le package du Framework 3 0 permettant l impl mentation de service
205. suivi avec le moteur d ex cution des processus Source MSDN http msdn2 microsoft com en us library bb264459 vs 80 aspx e Tracking runtime The runtime is responsible for the initialization of the tracking such as setting up the appropriate tracking profile and once a workflow instance is running it picks up events such as status change and passes them on to the tracking channel e Tracking channel The tracking channel is used to deliver information from the runtime to the appropriate tracking service store For the SqlTrackingService every workflow instance has a separate tracking channel for each registered service which provides developers with an architecturally simple model that makes it easy to develop services that do not need to worry about locking e Tracking service The tracking service is the core element of the tracking infrastructure and is responsible for supplying tracking channels and tracking profiles to the workflow runtime engine e Tracking profile The tracking profile determines what information will be tracked and as such acts as a filter to reduce the amount of information generated ultimately making it easier to manage tracking data Limplementation du service est faite grace aux deux classes du projet WorkflowManager CustomTrackingChannel et CustomTrackingService Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 71 2242 Travail de dipl me 2007 DEVELOPPEMENT La
206. sus en cours des que le processus se termine il est supprime de la base de donn es Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 45 ewe Travail de dipl me 2007 DEVELOPPEMENT La persistance d un processus est faite dans les situations suivantes Lorsqu un processus attend un v nement externe ou lors d une activit n cessitant un d lai Lorsqu un processus est termin normalement lt completed gt ou arr t terminated Lorsqu une activit de type lt TransactionScopeActivity gt se termine Lorsqu une activit de type lt CompensatableSequenceActivity gt se termine Lorsqu une activit comportant l attribut lt PersistOnCloseAttribute gt se termine Lors de l invocation manuelle d une m thode causant la persistance exemple unload Lorsque vous employez la fois le lt core service de persistance et celui de tracking il faut suivre une ligne de conduite Il faut employer la m me base de donn es pour ces deux services Si les deux services utilisent des bases de donn es diff rentes il y a deux connectionString diff rentes et une transaction distribu e doit tre obtenue par le DTC Distributed Transaction Coordinator Il en r sulte une diminution de la performance II faut egalement charger le SharedConnectionWorkflowCommitBatchService a la place de celui par d faut Celui ci utilise une connexion partag e afin d ev
207. t automatique de la base de donn es du core service de suivi Si la propri t permettant le partitionnement automatique est definie a true PartitionOnCompletion alors tous les v nements utilisateurs dans le service de suivi ne sont pas ressortis Ce probleme est connu de Microsoft et en cours de traitement 6 Gestion du versioning et des sources Le projet s etalant sur douze semaines il est n cessaire d etablir une certaine rigueur dans la gestion des sources et du versioning des documents pour viter la perte de fichier ce qui pourrait amp tre d sastreux pour la r ussite du projet et pour les delais a respecter Le versioning permet galement d ordonner ces fichiers et avoir une vision sur le d veloppement du projet Ce projet tant un travail individuel il ne n cessite pas une structure lourde pour la mise en place d un systeme de projet collaboratif permettant a un team de travailler simultan ment sur la m me solution et g rant egalement le versioning et la sauvegarde des donn es Concernant la gestion des sources un simple stockage des donn es de sauvegarde sur diff rents supports permet d viter toutes pertes Concernant la gestion du versioning chaque modification importante sur un fichier engendre une nouvelle version La gestion des sources et du versioning est g r e de mani re simple mais efficace comme expos pr alablement Ci dessous voici les d tails de cette gestion 6 1 Gestion des sou
208. t is architected around the new Java Business Integration JBI technology it can be deployed on virtually any J2EE application server Our process server was designed from the ground up to be deployed on a grid of 1 000 servers by the US Department of Energy DOE so if your project requires high performance process execution you might have just found what you were looking for Intalio Workflow is an integrated human workflow suite based on the new BPEL4People extensions and compatible with any JSR 168 portal Because it offers an AJAX based XForms implementation it gives workflow participants a productive and engaging user experience while remaining compatible with any major web browser in use today Our workflow suite is directly powered by our process server allowing you to develop your own workflow patterns INTBPM WebSite Xpertivy Figure 6 Solution Xpertlvy e d D z d ter irc tenor Operen v Definition et schematisation Transfert du modele au Execution de application des processus serveur Xpert lvy Source IXPEIVY WebSite Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 17 WER Travail de dipl me 2007 ETAT DE L ART Xpert lvy se positionne comme un outil permettant la mise en uvre applicative des processus sans programmation Comme dans le cadre des certifications ISO habituelles les procedures sont simplement et graphiquement decrites dan
209. t la phase de design Apr s avoir choisi l interface qui identifie le lt local gt service il faut s lectionner l v nement que l on veut traiter Compl ter la deuxi me branche de type EventDrivenActivity en ajoutant une activit impl mentant EventActivity Couramment on emploie une activit de type DelayActivity qui permet de continuer le processus si aucun v nement n est trait apr s un certain temps L tape suivante est de d cider comment traiter argument de l v nement qui est re u Il est possible de d finir un param tre de liaison afin de d finir une propri t du processus comme valeur de l argument re u Comme cela il est possible d utiliser cet argument durant tout le processus L autre possibilit est d ajouter une activit de type CodeHandler l activit de type HandledExternalEventActivity comme cela il est possible de travailler avec argument WF propose galement une deuxi me possibilit d attendre un v nement d un local service A l aide de l utilitaire wca exe il est possible de g n rer des lt strongly typed custom activity Ces activit s sont appelees des activit s de communication Chaque activit g n r e correspond a une methode ou un v nement du lt local gt service Pour g n rer ces activit s il suffit de fournir a l utilitaire le nom de l assembly contenant les interfaces du ou des services L utilitaire va generer un fichier pour
210. tilis s pour correspondre avec la machine h te Voici les tapes aller dans le dossier de l application business de l encaveur et ouvrir le fichier BusinessApplication exe config gt Modifier les informations surlignees dans l image ci dessous lt systen serviceModel gt lt bindings gt lt client gt lt endpoint address net tcp BE 5052 5erviceForBusinessApplic binding netTcpBinding bindingConfiguration NetIcpBinding ServiceForBusinessApplic contract Business Application SrvBusidApplic ServiceForBbusinessa Applic name NetTepBinding ServiceForBusinessApplic i gt lt endpoint address net tcp BE 6083 EventPublisherForBusinessApplic binding netTepBEinding bindingConfiquration NetTepBinding WFEventService contract BusinessApplication 5rvEventEusiipplic NHFEventervice name NetTcpBinding WFEventService i gt lt client gt lt system serviceModel gt Effectuer cette modification pour chaque application business du sc nario Pour l application du d taillant il faut encore modifier l url pour atteindre le service web permettant la passation d une nouvelle commande La cl se trouve dans le n ud appSettings lt Url Web Service 2 using to retrieve product that can be ordered gt lt add key WSEncavor2 value http 48081 FEncavor5ervice Tusdi 2 lt appSettings gt Probst St phane HES SO Valais Microsoft Windows Workflo
211. tion est un des themes de discussion de Pactualite informatique et des prochaines ann es Des lors vous comprendrez aisement ma motivation a realiser mon travail de dipl me sur cette nouvelle technologie De plus l impl mentation de cette cha ne logistique implique l impl mentation de services de communication entre les diff rents acteurs de la chaine Le mot communication dans le domaine informatique me fait tout de suite penser a SOA Service Oriented Application qui est un autre theme far du moment pour les entreprises agiles Pour resumer ce travail touche tous les themes de la vague de d veloppement logiciel Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 3 Travail de dipl me 2007 PREFACE Ce document pr sente le travail r alis sur l utilisation d une nouvelle technologie d velopp e par Microsoft permettant l impl mentation d applications orient es processus Le but de ce point est de guider le lecteur travers le document en pr sentant les chapitres Le document pr sente un resume du travail effectu page 4 Il renseigne tout d abord sur l objectif atteindre puis d finit la probl matique du sujet et pr sente les tapes du travail r alis tout au long de ce projet Finalement il pr sente une synth se des r sultats obtenus Page 8 la table des mati res permet de se guider au travers du document Elle permet de retrouver un titre jusqu quatre niveaux de profo
212. tion 116 Travail de dipl me 2007 APPENDICES Definition des interfaces techniques Description Document recu en d but de projet definissant les interfaces des services web des acteurs de la chaine logistique Probst St phane HES SO Valais o DI e m Microsoft Windows Workflow Foundation APPENDICES Travail de dipl me 2007 auals 096 YAVOUUD 1 SIE EA OS S3H L O UOlS A DEOINS F SNII QI 90Q s nbiuu s ele uonsa9 anbyewsoyug Mysu EJSJUI s p uo 3WS r SWd8 sanbseway sonbsewoy SUOHEOYIPOW SJSAIQ UOISJ A BIBIWAId uoyesy pow ins sonbsewoy senbiuyos ssoeye u s p uomulu q INS t SNdg Bubq ud euuosio4 WONEIHgI Op HLA uOIS10A suoye19ql7 shueyn2oxz oej jonuo gt oyeg UOISJOA pnou eg uane pnou eg Jus ne7 uen uowis Jueyn29xz 00 06 909 2 Ir Z 66 06 909 2 Liz i meurusun uen uowis 50 0 2 2002 79 20 200 SI LO og 4015 PURHATIMS WNIM Ssa2uaNs paddy Ayssanun BNYyIsyooyyrIe ass ng aasyeneds 21023 ineH 05 5 OUAIS 096 00 06 909 2 Ly n HIVOUU98 2 0 uOISJ SA EL 06 909 LZ 4 5 o s ejeA OS S3H ZLO INS H SWNIE 01 200 UI SASUD pnoubeg uane ELL UONSED nbileuuojul ynysu OVEUVOS NP UONIUYEG JWS b SWd pnoubeg juasney S
213. trois champs sont importants InterfaceType MethodName ReturnValue Dans InterfaceType il faut s lectionner dans la liste l interface du service Ensuite choisir galement dans la liste le nom de la m thode correspondante Finalement r f rencer la propri t qui va contenir la valeur de retour de la m thode s il y en a une Le service local doit bien entendu impl menter cette m thode et fournir une valeur de retour si n cessaire Attente d un v nement du service l impl mentation d une attente d evenement n cessite plus de travail mais fonctionne selon le m me principe Prenons l exemple de l attente du num ro d identification retourn par le service local Le service local va employer l v nement LocalServiceDelayModeRecieved pour envoyer la r ponse l instance de processus l objet transmis doit obligatoirement h riter de ExternalDataEventArgs pour pouvoir tre transmis repr sent ici par la classe LSMsgEventArgs LSMsgEventArgs permet de passer un tableau d objets en param tre de ce fait il peut tre employ a chaque fois que l on veut passer des param tres une instance tout au long du processus Sur le service local on envoie l v nement de mani re standard avec comme param tre l objet LSMsgEventArgs LocalServiceMessageRecieved null new LSMsgEventArgs instanceld c null false null Afin de faciliter le transfert LSMsgEventArgs contient un param tre ici l objet lt c gt
214. ttente La deuxieme se trouve en fin de processus et ajoute une activit permettant de sauvegarder les donn es du processus dans la base de donn es metier Afin de g rer completement le flow du processus il y a galement la gestion des erreurs qui n apparait pas directement sur le diagramme Il faut activer la vue du FaultHandler l explication de l activation de cette vue se trouve au point Design Environment page 29 Lorsqu une exception intervient au cours de l ex cution d une instance de processus c est cette activit de type FaultHandler qui la r ceptionne Cette vue peut tre activee pour chaque activit definie dans le processus afin d agir directement dans l activit qui l a lev e Ce qui est tr s utile afin d eviter de terminer le processus et lui permettre de continuer son ex cution avec l activit suivante Pour ce sc nario l impl mentation des exceptions n est g r e qu une seule fois et la racine du processus ce qui signifie que toutes les activit s se terminent les une apr s les autres en remontant jusqu la racine du processus Cette gestion d erreur t impl ment e ainsi car le sc nario d finit que chaque erreur qui survient au sein d un processus implique une terminaison de celui ci Figure 31 Activit FaultHandler Propri t s lx WorkflowFaultHandler WorkflowFaultHandler Proprietes IX LSExceptionHandler System Workflow ComponentModel lt p E
215. ual Studio 2005 afin de pouvoir d velopper des applications avec WF est pr sent e au chapitre VIII au point 1 2 Pr requis a la page 22 Afin de pouvoir travailler sur l ensemble de la chaine logistique de mani re centralisee une seule solution Visual Studio pouvant faire r f rence a d autre solution Visual Studio est cr e De la meme maniere dans un souci de r utilisation de Pexistant le projet repr sentant le logiciel d administration des processus ainsi que le Probst St phane HES SO Valais Microsoft Windows Workflow Foundation Travail de dipl me 2007 DEVELOPPEMENT projet repr sentant l application business affichant les donn es m tiers sont les m mes pour les diff rents acteurs de la cha ne logistique Lors de l execution des applications il suffit alors de choisir dans un fichier de configuration le r le de l acteur pour une application donn e et les informations relatives a celui ci sont affichees En appendice en page 98 se trouve une pr sentation detaillee de la solution d montrant les diff rents projets ainsi que de l utilit des classes relatives 3 3 Implementation 3 3 1 Processus Le service local est en quelque sorte la plaque tournante de l impl mentation C est par ce service que toutes les communications transitent Le service local peut tre defini comme la passerelle entre les instances de processus et le monde ext rieur a savoir l application d administrat
216. ug 191 s dno16 1 Juos S BH QU SIOJL juejlej9g inauodsueuj naaeoug savea Up ogji lul ep uy ej s j uinu JUOS uolyem s oun g podde sed suoyeayudwis seq sausequi sns 8900 0 sine ap nb w w SuNajoe nu lix lduuo3 saneoyiuBis uononp un jwweyauued ayleg aay dw s s n uonesil poui oun 1s nbnsi6o uieuo ej uonglu s id e7 u ueu sli nb suogewsozui p xny y s nbis ud xny s Yu uu si5 Jd 19 9 Seed nu SEdepajU s u J jIp s amdeu 29 anb n sI6o uleu ej uolnesij pouu ej ap 48 9 si dse s p uN Jusjussguda 9 suonoeu lui 5971 s naJ9e SOIELISJUL ry pueyazums WASIM sa gt uang paddy jo Aussansun LI2MUISISOM 9 n0 35u30uu23043 jEJUSPNMIO ssins aasyeneds o33 in H OUBUBIS np uolnul q 3WS r SWd8 O S s H 2181S 096 00 06 909 2 4 yyouyse 1 610 UOISISA CL 06 909 2 745 SIEIEA OS S3H ZV0 3INS y SiNd8 01 000 DROUBEQ IUSJrIEI LU uolls 9 nblileuuojul mysu oueu9os np n y q 3WS r SWd8 pnou eg lu Jne1 B QWASUA P UOISIA OVBUBIS ONGIA uondaosg UONBULIYUOD H UOSIBJAJI sny a y eBieyo sud uopeuuyuop 4 UOSIBJAIJ 5 Se yodsue ap ina
217. un compte rendu des points d velopp s par rapport au cahier des charges d termin en d but de projet Finalement la conclusion page 93 pr sente les apports de cette technologie Les appendices page 98 contiennent divers d livrables du projet ainsi que les documents utilis s tout au long du projet Pour la liste compl te des documents vous pouvez vous r f rer la table des mati res La bibliographie page 94 pr sente toutes les sources employ es durant le projet Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 4 Travail de dipl me 2007 RESUME II RESUME Le travail a r aliser ayant pour but d implementer un sc nario d une chaine logistique avec la technologie Windows Workflow Foundation a deux objectifs Le premier consiste a d couvrir les possibilit s ainsi que les fonctionnalites de la technologie Le deuxi me objectif est d tablir une application prototype du sc nario celle ci servira d element de d monstration de la technologie Pour pouvoir atteindre ces objectifs la technologie doit permettre une certaine souplesse et certaines fonctionnalit s sont requises Tout d abord elle doit proposer un outil permettant la modelisation des processus des acteurs du sc nario Cet outil doit permettre de voir graphiquement toutes les etapes definissant le processus D autre part elle doit contenir un module permettant la gestion des processus Finalement elle doit assurer l inter
218. unoey gt u uuex un Jed s uluu Juene G nideuo s najoe s sed seGueyos uopewsojui p y s nbis ud xny s l no Juejjle 9p s puojoJdde sn d oun g oynsue esessed s gue 1 np anog an si4 nideuo s unu pi linsu 40 5 g saidoid snssaooid s amdeu enbysibo ulpu ej nb awegw Z nideuo jeqoj6 ana juiod un p no juoues enbysi6o uleu ej sin oe seq umop do eyaosdde oun Jed 5 1s es jeue 7 Saa Sin Guped SUEP sii nb suonesedo s p I e p nb isule syyoedsas s j Sin nbns 6o uleu snae S UBJaYIP S UOISIOGId DEAR HUHEP p 1s m lqo uos snss oid s p s jeue de asgiwaid ei 8 JUsWNIOP s id 3NS p 3N48 Jolo d sueq yoloid 89 1nod WWOI BISIOYO E li Snpul esquiou pues6 snid np yesejul lqnd osns uonensnil eun HUJINO nq sueq INd xne ldepe SWdg SUN R s nne sisuo2 3WS r 3Wd8 3 loid np in lqo 71 uononponul PURLAZUMS u19 s A ss gt uang paddy jo Ayussanun HIMYJSISIM nu35u30uu2 4
219. ur le concept ABC address binding contract Ce triumvirat forme l Endpoint du service Un Endpoint doit poss der ces trois notions pour pouvoir tre fonctionnel Address est comme son nom l indique l adresse sur laquelle le service est atteignable Il existe diff rent binding possible il d finit le comportement du service s il est synchrone asynchrone son protocole la s curisation du service etc Le contract d finit l interface du service les m thodes mises disposition Pour cette solution tant donn que les services sont h berg s au sein de l application et qu ils ne peuvent pas couter sur le m me port il faut configurer le r seau afin de permettre le transfert de donn es sur les ports utilis s Le sc nario de la cha ne logistique est determine et il fixe le nombre d acteurs trois Un encaveur un transporteur et un d taillant mais une des fonctionnalit s devant tre implementee consiste pouvoir ajouter ais ment un nouveau d taillant Il est parl ici uniquement d ajouter un acteur de type d taillant car celui ci n engendre aucune modification de l activit des autres acteurs En effet l ajout d un nouveau transporteur modifierait la logique interne de l activit de l encaveur par exemple devrait y avoir une activit suppl mentaire attendant une interaction humaine permettant le choix du transporteur La modification n cessaire pour l ajout d un nouveau d taillant devrait un
220. ur pouvant identifier la cause de la terminaison du processus DelayActivity Figure 35 Activit Delay Proprietes gt H X DelayWaitingIdCommande System Workflow Activities DelayActi ez 21 El Z E Activit Name DelayWaitingIdCommande Description Enabled True El Divers TimeoutDuration 00 00 20 El Gestionnaires InitializeTimeoutDuration Cette activit permet de fixer un temps d attente pendant l ex cution du processus Elle est souvent utilis e en collaboration avec l activit de type HandleExternalEventActivity En effet elle permet de delimiter le temps maximum pendant lequel le processus attend un v nement d un service local Il est possible de definir de deux manieres differentes le temps d attente de cette activite La premiere en referencant le champ TimeoutDuration dans les proprietes La deuxieme en referencant le champ nitializeTimeoutDuration ce champ reference une methode cette methode est appel e juste avant l ex cution de l activit Probst St amp phane HES SO Valais Microsoft Windows Workflow Foundation 67 224 Travail de dipl me 2007 DEVELOPPEMENT PolicyActivity Figure 36 Activit Delay CheckNoticeDeliveryRepsonse System Workflow Activities Policy Em Activite Davee Name CheckNoticeDeliveryRepsonse e 4 Description Enabled True El Divers E RuleSet_NoticeOfDelivery RuleSet Definition IsValid IF this WSNoticeOf
221. urces pour l impl mentation des diff rents modules exig s par le sc nario de la cha ne logistique D veloppement du sc nario Durant trois semaines cette phase a permis l laboration du prototype int grant la technologie sur la base du sc nario de la cha ne logistique Le d veloppement des services de communication est le premier module labor il est suivi par le d veloppement du module de gestion des processus L impl mentation continue par le d veloppement de l application d administration et finalement par l application business Rapport La r daction du rapport s est d roul e parall lement la phase exploratoire et au d veloppement du sc nario Apr s les douze semaines disposition pour la r alisation du projet les objectifs sont atteints La d couverte technologique est consign e dans le rapport et l impl mentation de l application prototype sur la base du sc nario impos a pu tre r alis e avec cette nouvelle technologie Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 6 Travail de dipl me 2007 ZUSAMMENFASSUNG III ZUSAMMENFASSUNG Diese Arbeit bezweckt die Implementierung einer Logistikkette mit der neuen Technologie Microsoft Windows Workflow Foundation und hat zwei Ziele Erstens die Aufdeckung der verschiedenen M glichkeiten und Funktionen dieser Technologie Zweitens die Realisierung einer prototypischen Anwendung des Szenarios als Anwendungsbeispiel d
222. usieurs endpoint et ce sera cette adresse qui servira de base a tous les endpoint Ensuite on ajoute l endpoint du service de l encaveur L adresse n est pas n cessaire du fait que l on dispose de l adresse de base du service ensuite on sp cifie le binding choisi et le contract Le contract r f rence l interface du service Ici un deuxi me endpoint a t ajout car il permet de publier les metadata sur un endpoint diff rent Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 83 EEE Travail de dipl me 2007 DEVELOPPEMENT 3 3 3 Couches d acces aux donn es La couche d acces aux donn es des bases de donn es metiers des acteurs est faite grace aux librairies nettiers et l outil de g n ration Codesmith L acc s aux donn es pour la base de donn es de suivi et de persistance est fait grace aux proc dures stock amp es et aux classes developpees a cet effet dans le Framework 3 0 dans le package WF Apres la cr ation des bases de donn es metiers de chaque acteur un fichier de projet Codesmith a t implemente afin de g n rer une solution Visual Studio par base de donn es Ces solutions ont ensuite t incorporees a la solution racine du sc nario Chaque solution contient trois projets ainsi que le fichier csp du projet Codesmith Les trois projets generes contiennent les classes d acces aux donn es ainsi que les classes representant les entit s des bases de donn es
223. vons construire notre application C est notre application qui va cr er une instance du runtime engine La facon dont Microsoft a d velopp ce composant est tres interessante car de ce fait il nous permet de construire toutes sortes d applications orientees processus Des applications consoles windows service windows forms des applications WPF et galement des applications web ASP DotNet Cette configuration a une limitation elle ne permet que la cr ation d une seule instance par AppDomain donc pour la majorite des applications cela signifie que Ton ne peut avoir qu une seule instance du runtime engine par application h te Le runtime engine fournit l environnement d execution des processus c est dire que l on n ex cute pas directement un processus l int rieur de notre application mais que l on demande au lt runtime engine gt de cr er une instance de processus que l on va d marrer ensuite Par d faut les processus sont executes de maniere asynchrone dans un thread manage par le lt runtime engine Il manage galement le cycle de vie des processus ainsi que ces diff rents tats durant son ex cution II s occupe galement de la gestion des services qu on lui aura assign s avant son d marrage Ceci entend les core et le local services II contient galement un moteur d valuation de r gles Ce moteur est capable d valuer des conditions simples comme If
224. w Foundation 181 Travail de dipl me 2007 APPENDICES Planification Description Diagramme de Gantt de la planification initiale Tableau du suivi de la planification Probst St phane HES SO Valais H 8 t H 8 H t H 6 H 6 ERBAUTEN 960993 Saas Ad puant p iodde sproddey QI re puy yuodirizoq uoneyu tun oq APPENDICES Uu002591302 Ja 159 s d LO du AAPM LOS soene LOTUS S Z AV SQ AN U01TJSU19IChul GE E KT Le EE EH uonsed ag PI uoyepuawadu 08 81 ap Uonpsiepolu y as keuy AO NP VOIE SISDOU y Alu wend o DI e N co HES SO Valais uoq294303 y is asd AOU ION Sp Olaf aveau uogepuawackuj s p vogepuawackuj Ted 5 38 Gott EE uonsab offer qg ol OS et OP Uotppsq pol y ane AAPO NP LOIR S49DOLI Ss moynodswei dM 09292809 158 OP 2 Ou UO Sep UORSSH 9261181 Lore SONAISSGOM Sap LOGE TUSSI Wd g 39 voan Appas np uoneyusul idun Loss qa amp uogepuawachu 08 sl ap uoe syppow Jp as deuy ANOHUMOAN NP LEE sq pou y sA suy m nr u3 dM p is ssipuo o aide m u ix Jane VOICI SA Jane VOIR EA VOUS 9 2791524 Lac SNSSIIOINE s p AAO14 sappy uoconisuop AM Op ayd ues
225. xceptionHandler System Workflow ComponentModel Fz v Mm 9 o of lo zl D Activit El Activit LSExceptionHandler ExceptionHandler r n LSExceptionHandler Name ExceptionHandler Description Description Enabled True Enabled True E Divers D Divers 220 TrackLSExe r TrackExcep ae Tan eption tion ran FaultType WorkflowManager LSException 11 FaultType System Exception Teminatel TerminateE Osexcepton Q ception Cette vue permet de definir plusieurs activit s de type FaultHandler afin de receptionner diff rents types d erreurs et de permettre une implementation differente de la gestion de l erreur pour chaque type Chaque FaultHandler contient une sequence lui permettant d ex cuter une s rie d activites suite a qu il receptionne Dans le scenario deux types d erreurs sont receptionnees une erreur personnalisee de type LSException qui est levee lorsqu une erreur survient dans le service local Elle contient un message definissant l erreur Le deuxieme FaultHandler r ceptionne toutes les autres erreurs et est de type Exception Pour chacune de ces Probst St phane HES SO Valais Microsoft Windows Workflow Foundation 65 Travail de dipl me 2007 DEVELOPPEMENT exceptions la logique est la meme elle contient une CodeActivity informant le service de suivi du message de l erreur et ensuite termine l instance de proce
226. y je Aep jeq C 9196 sed lueile p l lu uu 6ueuo np l pi auejeunsag s u lt UB UOIWED IN9ABIUS ld l Xx Jed s napodsues sineisnid an xpou l Inayodsues ne uswabyeyo f Siwas JUBAR oyque op gquept un lip dx3 Jues ey 5140 uodsuen Juswbas anb un un nb sinolno ayodwoo au Uodeuen 97 unapodsuen l 6 euo ue spd jueuuyuoo pique Suen unanodsues o mus SJUBAINS s u uu S ayodwos us sud uonguuuuoo2 e7 uoiue3 405 suep 1 te mda oo a r a a aaa daa lt Jeu e nb au ue sud e nb snepodsue sed uogeuuyuon s 5 ev ue asud voneuumyuon s uu pi JUBIOS SUONEI3J Sa nb pos gt yodsues un 1 anod BINDIYBA anb un un p sn d s ewel aqunpryuys s n led je SUOPed S ill ynoq sJueyhuept ne sey Sjuey Uap s p ays O ed suodsuey s na sn d Suop n d au anb un un p nb esodsip eu ineuodsuen 97 ua ad un g sp ye apen poO zajame nbeq inod oare juawaGseyo Supp snu luo2 sapie s p ole So LL quaweyinjyesB 58
227. yodsuel L epueweg g uelle 2 M juawabieyD juawabieyd 3 g ej g ayl dey gt ne uonduos p un p alqo y l suon5ei lui SAD uell e p Ne UIA np Jen INOd ineuodsue ne jedde yez 1n ABOU Sin y omug 500 S Jeu Jo l d oe ejesoueb ona oun ajuesaud JUeAINS 87 Juasodwoo gj mb 9 s Jed e ydesHeJoYyo oun e liuuisse n n d nbnsi5o ureyo un p Ju ui uuol uoj 97 ona nbi siB5ol uieuo PURPIZIMS waysam sauans payddy jo Aussan un HIMYISISIM 143520 ssins s yp o ds 2 023 ane oHEug9s NP uoniul q 3WS r SWd8 O S s H HES SO Valais Probst St phane 91J391S 096 00 06 909 22 H S 096 Uu 00 06 909 ZZ o LL E XIVOUU98 O UOISISA EL 06 909 22 Las HIYOUU92 610 UOISISA EL 06 909 2 74 22 n O s eje OS S3H 24 5 5 448 QI D0Q y sayo pnoubeg uane SIEIEA OS S3H ZV0 4MS y SINd8 11 20 UT SAOUDPNOUDEQ USINE bo Q d 200 1 O LL OL UoNsag ap nbpewsozuj Mysu oueu 5s np UOMUYJA INS P SWAE ni pnou eg uaine LUS uolls o anbeunoyug INSU OLVEUVIS NP INS F SWNIE pnou eg lu ne1 Kr gt a m gt D Wuauabueu puodsa109 ll nbel
Download Pdf Manuals
Related Search
Related Contents
368 14.7MB 90+ Residential Gas Furnaces Catálogo Técnico + Catálogo de Instalação, Operação e Manutenção 無床診療所における自主管理票 平成26年度版 Betriebsanleitung Regler Hoja Técnica Devolo dLAN Wireless extender Starter Kit Antec Customized PSU 240V AC 300W SmartPower Copyright © All rights reserved.
Failed to retrieve file