40 likes | 137 Views
Versioning Workflow Services. WCF Routing Service. ServiceA. Client. Routing Service. ServiceB. Config. Filter Tables. Filters. Easy to configure routing implementation Routing and filtering based on predefined or custom heuristics Filter by action, address, header or body content
E N D
WCF Routing Service ServiceA Client Routing Service ServiceB Config Filter Tables Filters • Easy to configure routing implementation • Routing and filtering based on predefined or custom heuristics • Filter by action, address, header or body content • Useful for: • Content-based routing • Versioning • Partitioning
Content Based Routing Versioning Workflow Services Challenge: No out of the box support for updating workflow definitions. Problem: Persisted instances fail on resume if correct XAMLX not present. Solution: One approach is Content Based Routing. Client v1 Client v2 Router Service XAMLX v1 XAMLX v2 Use WCF Routing Service with XPath filter on message content Configure it to route to correct version of workflow service Default is config based Requires specific message shape
Versioning Activities • Versioning of Activity Types within a Workflow • Activities are versioned within assemblies • XAMLX workflow services reference these types • Publishing new activity assemblies potentially introduces problems which cause persisted workflows to fail to resume • Consider placing all versions of activity library in GAC