<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'WCF', 'BizTalk', and 'SOA Architecture'</title><link>http://bloggingabout.net/search/SearchResults.aspx?a=1&amp;o=DateDescending&amp;tag=WCF,BizTalk,SOA+Architecture&amp;orTags=0</link><description>Search results matching tags 'WCF', 'BizTalk', and 'SOA Architecture'</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Business Rules Engine: Samples</title><link>http://bloggingabout.net/blogs/chilberto/archive/2009/11/21/business-rules-engine-samples.aspx</link><pubDate>Sat, 21 Nov 2009 07:18:55 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482490</guid><dc:creator>chilberto</dc:creator><description>&lt;p&gt;I recently presented at the &lt;a href="http://www.acsug.co.nz/Meetings/Practical-exploration-of-the-Business-Rules-Engine.aspx" target="_blank"&gt;Auckland Connected Systems User Group&lt;/a&gt;.&amp;#160; In order to prepare, I created several examples of methods of using the rules engine.&amp;#160; &lt;/p&gt;  &lt;p&gt;The sample solution is &lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/chilberto.BRE/3286.ACSUG.BusinessRulesEngine.zip"&gt;here&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;Included in the sample solution are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Various Vocabulary definitions including using a function in XPath Field (TotalCostOfOrder)&lt;/li&gt;    &lt;li&gt;Various Rules definitions including retrieving from a database, using classes, adding XML Nodes to a document, forward chaining and priority&lt;/li&gt;    &lt;li&gt;Examples implementations of IFactRetriever&lt;/li&gt;    &lt;li&gt;BizTalk Application showing calling rules with both XML Document and objects&lt;/li&gt;    &lt;li&gt;BizTalk Application showing an example of using the BRE for routing&lt;/li&gt;    &lt;li&gt;A WCF Service and Client including an example tracking interceptor&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The WCF Service was my focus of the talk and what I wanted to discuss most of all.&amp;#160; I have found using the BRE very beneficial and now that I have spent time understanding it, I believe it helps to make more maintainable solutions by separating the business rules from the application framework.&amp;#160; This allows for the business logic to more accessible and readable than embedded in BizTalk expressions, maps or custom classes.&amp;#160; &lt;/p&gt;  &lt;p&gt;Because of this I wanted to illustrate how a WCF service could be strongly typed but not require costly rebuilds when the facts or rules change.&amp;#160; Though I believe strongly in SOA, I am not a fan of the un-typed XML in/XML out design.&amp;#160; To achieve this, I took advantage of the KnownTypes attribute to allow WCF to serialize the payloads and to present metadata.&amp;#160; In the example service, the specific classes are retrieved from the web.config, but there is not any reason why this could not have been retrieved from a more dynamic resource.&lt;/p&gt;  &lt;p&gt;Cheers and feedback appreciated.&lt;/p&gt;</description></item></channel></rss>