What is BizTalk Rule Engine?
2005 Sep 20
151 of 184 | MS-BRE: Here are the results for my port of Peter Lin`s tests - For those following the debate on the implementation of the Rete algorithmin the Microsoft Business Rules Engine, you may be aware that I undertook to port some CLIPS/Jess tests provided by Peter Lin to the MS-BRE and to publish the results. This follows on from the original article I published here.
My results for the ported tests are documented here. They show virtually identical scaling behaviour between Jess and the MS-BRE....
2005 Sep 17
152 of 184 | BizTalk Server 2004: The great MS Business Rule Engine Debate - I have had some fun in the last couple of weeks debating the Microsoft Rules Engine with Peter Lin. Many people in the BizTalk community will know that Peter used Amazon and The ServerSide site early this year to launch an attack on Microsoft`s representation of their rules engine. You can read the original thread here. Based on a BizTalk performance whitepaper, the latest version of which is here, and on the documentation of the Rules Engine on MSDN, he deduced that that the engine does not implement the Rete algorithm correctly, does not support forward chaining inferencing and does not scale. For the uninitiated reader, the Rete (Latin for `Net`, pronounced "Ray-tee" according to m......
2005 Sep 16
153 of 184 | Windows Workflow Foundation - Where does BizTalk fit in - The last paragraph of my Windows Workflow Foundation posting was me being deliberately devils advocate to try and get you to think about the possibility of Windows Workflow Foundation being used in everything from Windows Forms Applications to ASP.NET Applications, and I didnt really position how WWF and BizTalk should be used moving forwards so here goes.
The official message on BizTalk Vs WWF is here, but heres my take from a BizTalk point of view which hopefully doesnt confuse any further!
So, we are now shipping a fully-featured workflow runtime and designer in the Windows Platform as part of WinFX, the sequential workflow aspects are very similar to the BizTalk Orchestration Engine......
154 of 184 | Windows Workflow Foundation - Where does BizTalk fit in - The last paragraph of my Windows Workflow Foundation posting was me being deliberately devils advocate to try and get you to think about the possibility of Windows Workflow Foundation being used in everything from Windows Forms Applications to ASP.NET Applications, and I didnt really position how WWF and BizTalk should be used moving forwards so here goes.
The official message on BizTalk Vs WWF is here, but heres my take from a BizTalk point of view which hopefully doesnt confuse any further!
So, we are now shipping a fully-featured workflow runtime and designer in the Windows Platform as part of WinFX, the sequential workflow aspects are very similar to the BizTalk Orchestration Engine......
2005 Jun 16
155 of 184 | BizTalk -> More on Constructing Messages and Configuration Information for an Orchestration - I recently was reading Scott`s entry on Constructing Messages from Scratch with Embedded Resources. This is a good method, so take a look a look at it HERE. Below is a variant on Constructing Messages in an Orchestration. This also can be used as a method to read any type of configuration information into an Orchestration.This method needs:
1) A Sql Server table to store the templates for the XML Messages and/or Configuration Information.2) A BizTalk XML Schema.3) A BizTalk Map.
A Sql Server TableBelow is a create statement for the table with three columns:
if exists (select * from dbo.sysobjects where id = object_id(N`[GenericCodes]`) and OBJECTPROPERTY(id, N`IsUserTable`) = 1)drop table [......
2005 Jun 15
156 of 184 | It`s all about semantics, frankly - IBM Research came up with something very interesting approach to finally incorporate semantics better into the whole Web Services story: Semantic Tools for Web Services. Definitely worth a look. Semantic Tools for Web Services Semantic Tools for Web Services is a set of Eclipse plug-ins that allow developers to insert into a WSDL document semantic annotations (references to concepts in a semantic model) that describe the semantics of the input, output, preconditions, and effects of service operations. A second plug-in matches the description of the service or composition of services to that for which a developer is searching. This semantic matching and composition of Web services, develope......
2005 Jun 07
157 of 184 | BizTalk 2004 "Commando" Training course - Decks and Samples - Here`s the powerpoint decks we used for some of the extended sessions. Some of these have added sections on all the perf tuning recommendations we layed out. There`s quite a bit that you have to consider when working in a farm scenario. Also, you`ll find some best practice around flat file, and the Flat File project I walked you through building. In all you`ll find the following:
1. Advanced Orchestration
2. Rules Engine
3. Building Pipelines
4. Messaging and Flat File best practice
5. Installation of farms and best practice and tuning parameters
Here are the decks, and here is the project we walked through to demonstrate parsing Flat Files......
2005 Jun 06
158 of 184 | BizTalk 2004 "Commando" Training course in Santa Monica, CA - Hi Everyone.......well...this is a first! I never thought I`d actually post something to my own Blog. I think I set this up 6 months ago or so, but after seeing all the wonderful content already being posted to blogs, I thought to myself, what could I probably add. However, I think this is going to be a great avenue to distribute all the goodies we cover in our training courses, as well as other things of interest...
Last week Richard Seroter and I tried to to kill about 60 people by putting them through the extended 5 day MOC course. What does that mean 14 to 16 hours a day for 5 days, first going through the the typical 5 day MOC (Microsoft Official Curriculum) lab training (this w......
2005 May 05
159 of 184 | Subtext Roadmap -
This document describes the goals for future versions of Subtext as well as a plan for achieving them. The goals for this roadmap are the following:
Communicate to end users what features are planned for future releases
Elicit feedback from users about upcoming releases
Provides a prioritization of features
This document is a work in progress and feedback is welcome.
Administrative Road Map
Documenting existing source code and features. (priority: high)
Fill specific project roles (patch manager, forum manager, etc...) (priority: high)
Set up a website and Wiki for Subtext (unfortunately subtext.com is taken). (priority: med)
Set up an automated build process (NAnt) (priority: low)
......
2005 Apr 26
160 of 184 | Changing a VPC Computer Name with BizTalk - Im looking at using Virtual PC with a team of BizTalk developers. The idea is to install the dev env (Server 2003, SQL Server, Visual Studio, BizTalk etc) on a virtual PC image, and then each team member uses a copy of the image to develop with.
We have network problems if two or more images with the same computer name are started with network access (to SourceSafe). So I attempted to change the computer name in an image. After a while I managed to do it like this:
Export any information from the BizTalk databases (business rules etc.)Run ConfigFramework /uDelete BizTalk jobs in SQL Server AgentDelete BizTalk logons in SQL Server SecurityDelete BizTalk databasesChange computer nameRe-start ......
2005 Apr 25
161 of 184 | Business Rules Engines Within Enterprise Platforms - This article compares ILOG JRules to the XML-based rule engine within BEA WebLogic Platform 8.1. The article also discusses the role of Java Specification Request (JSR) 94 for the integration of rule engines into a J2EE platform. ...
162 of 184 | Sharing Knowledge - Blogs and sharing knowledge; an article on business rules engines; blogs about configuring the EJB entity cache and debugging Web services. ...
2005 Apr 21
163 of 184 | Recommended Article: Developing Integration Solutions with BizTalk Server 2004 -
There`s a very good article and extensive (88 pages!) on MSDN that covers a
lot of the problems and issues that you will encounter when you are developing
using BizTalk Server 2004. A must-read for anyone who is working with BizTalk!
Some of the discussed topics:
MSF and BizTalk development
Team development
Organizing VS.NET projects and solutions
Naming guidelines
HAT
Debugging and trouble-shooting
DeploymentDeveloping
Integration Solutions with BizTalk Server 2004
This guide contains examples of team approaches for developing with
BizTalk Server 2004, and illustrates techniques that can increase development
efficiency. It also provides hints and tips that can decrea......
2005 Apr 07
164 of 184 | A complete list of all the MSDN BizTalk 2004 Web Casts untill now... - When you have nothing to do or time left , and want to know something more about BizTalk 2004 check out one of below 17 Microsoft Web casts. This is a list of the MSDN web casts Im aware of :)). Have fun....
MSDN Webcast: Extending Mainframe Applications using BizTalk Server 2004 and Host Integration 2004May 24, 2004Paul Larsen, GROUP PROGRAM MANAGER, MicrosoftThis webcast demonstrates how to integrate your existing IBM mainframe assets with new enterprise solutions based on BizTalk® Server using Host Integration Server 2004. HIS provides the key enabling technologies you need to extend your IBM network, security, messaging, data and application systems running on these IBM host computers.......
165 of 184 | From the mail: BRE (Rules Engine) question - I am not Rules Engine guy, but I`ve checked with them, and here it is:
Hi, how could I implement a rule like this in the BRE of BiztalkServer2004 (not splitting it, into separate rules):
1)IF (condition1)THEN (action1)ELSEIF (condition2)THEN (action2)
Answer: Has to be separate rules:IF (condition1)THEN (action1)IF NOT(condition1) AND (condition2)THEN (action2)
2) IF (condition1) THEN IF (condition2) THEN (action2) IF (condition3) THEN (action3) END IF
Is there any way to call a rule within another one
Answer: No, one rule cannot directly call another rule.
IF (condition1) AND (condition2)THEN (action2)IF (condition1) AND (condition3)THEN (action3)
OR
IF (condition1)T......
2005 Apr 06
166 of 184 | A complete list of all the MSDN BizTalk 2004 Web Casts untill now... - When you have nothing to do or time left , and want to know something more about BizTalk 2004 check out one of below 17 Microsoft Web casts. This is a list of the MSDN web casts Im aware of :)). Have fun....
MSDN Webcast: Extending Mainframe Applications using BizTalk Server 2004 and Host Integration 2004May 24, 2004Paul Larsen, GROUP PROGRAM MANAGER, MicrosoftThis webcast demonstrates how to integrate your existing IBM mainframe assets with new enterprise solutions based on BizTalk® Server using Host Integration Server 2004. HIS provides the key enabling technologies you need to extend your IBM network, security, messaging, data and application systems running on these IBM host computers.......
2005 Mar 30
167 of 184 | Putting a Crimp in the RSS Fire Hose -
In my post entitled Drinking From an RSS Fire Hose I dealt with some of the issues surrounding the flood of incoming RSS entries within an RSS aggregator raised by Dare`s post "Nightcrawler Thoughts: Thums Up, Thumbs Down and Attention.xml".
The Keep It Simple Stupid Solution
Reading through some of the comments on both posts, I realize that for a great majority of users, a very simple system will satisfy their needs. One user mentioned that it`d be nice to be able to have items with specific keywords automatically marked as read. This is great if you`re tired of hearing about, say, Paris Hilton. Add the keyword "Paris Hilton" and no longer will you have to endure her name in your agg......
2005 Mar 24
168 of 184 | Doing cool things with the Business Rules engine in BizTalk - When I learned BizTalk 2004 over a year ago now, I also took a day to play with the Business Rules Engine. That day always left me with the feeling that you could do really cool things with that, but not a single occassion last year allowed me to put this engine to test.
Now Microsoft published an interesting article about complex business rule processing up on MSDN. That`s the kind of rules I thought about. Haven`t got the time to test it though....
2005 Feb 28
169 of 184 | Making Spaghetti with BizTalk - Last week I went out to assist a client that needed some BizTalk help. This sounded pretty harmless and from the overview of the system, the job of BizTalk was to accept a request, perform some transformations, validate that certain fields were populated and then communicate with a back end system. For this type of scenario, a fantastic place to use BizTalk!
I was a little surprised at what I found. An initial map with 357 functoids and an Orchestration with 44 Sends, 28 Receives, 24 Transformations, 9 Decisions, 2 Loops, 2 Calls to the Business Rules Engine, 8 Request/Response Ports and 10 Request Ports.....wow! I wasn`t real sure that I could find spaghetti code in a BizTalk Orchestra......
2005 Jan 18
170 of 184 | Microsoft BizTalk 2004 Business Rules Engine Utility to Create Updated Policy Versions From Updated Voacbularies. - Hi all and a happy new year, Sorry I haven`t posted in a while but I`ve had a great Summer Holiday, wedding and honeymoon in Bali :)
I`m re-energised and ready for a great 05, I might even sit the new BizTalk 2004 Partner Exam.
Having worked a while with the Rules Engine now, and having used Vocabularies to describe my XSD schemas. I have discovered that there is no easy way to update a deployed policy to use an updated vocabulary. What do I mean by this Take the following scenario:
I have a Vocabulary “Client.Project.Configuration.Vocabulary” Version 1.0 published and being used by a couple of deployed Policies.
Both Policies “Client.Project.Configuration.Policy” and “AnotherClient.Proje......
171 of 184 | Microsoft BizTalk 2004 Business Rules Engine Utility to Create Updated Policy Versions From Updated Voacbularies. - Hi all and a happy new year, Sorry I haven`t posted in a while but I`ve had a great Summer Holiday, wedding and honeymoon in Bali :)
I`m re-energised and ready for a great 05, I might even sit the new BizTalk 2004 Partner Exam.
Having worked a while with the Rules Engine now, and having used Vocabularies to describe my XSD schemas. I have discovered that there is no easy way to update a deployed policy to use an updated vocabulary. What do I mean by this Take the following scenario:
I have a Vocabulary “Client.Project.Configuration.Vocabulary” Version 1.0 published and being used by a couple of deployed Policies.
Both Policies “Client.Project.Configuration.Policy” and “AnotherClient.Proje......
2004 Dec 30
172 of 184 | The Rules Engine and Repeating Elements - I have found a scenario with the rules engine where the defaults in the Rule Composer do not produce the desired results when dealing with a node that contains repeating elements. The XML document that I was dealing with had the following structure. Description for Item 1 Description for Item 2 Description for Item 3 In the Business Rule Composer when I add the schema in the Facts Explorer to the XML Schemas tab, the Rules Composer creates the following XPaths by default on the Item node. XPath Field: *[local-name()=`Item` and namespace-uri()=``] XPath Selector: /*[local-name()=`Package` and namespace-uri()=``]/*[local-name()=`Items` and namespace-uri()=``] This set of defa......
2004 Dec 07
173 of 184 | A Really, Really Big Update for Deployment... -
(Update: See the latest on the Deployment Framework here.)
It has been about three months since my initial submission to the BizTalk 2004 developer
competition that I discussed here.
The contents of that contest entry took a prize (woohoo!) but still left a lot to
be desired…
Since then, I’ve had a chance to make what I believe are major improvements
to the deployment story I’ve been discussing since last May. In addition,
I’ve had a chance to see the practice being used across several large BizTalk
projects, and have done a lot of learning as a result. (No guarantees or warranty
implied, but derivatives of the scripts/tools ......
174 of 184 | A Really, Really Big Update for Deployment... -
It has been about three months
since my initial submission to the BizTalk 2004 developer competition that I discussed here.
The contents of that contest entry took a prize (woohoo!) but still left a lot to
be desired…
Since then, I’ve had a chance
to make what I believe are major improvements to the deployment story I’ve been
discussing since last May. In addition, I’ve had a chance to see the practice
being used across several large BizTalk projects, and have done a lot of learning
as a result. (No guarantees or warranty implied, but derivatives of the scripts/tools
I discuss here have been in use for some time by ......
2004 Nov 17
175 of 184 | Rules Engine and A4Swift gotcha... - I`ve been using the A4Swift (v2.1) accelerator a lot recently, which I have to say is extremely good. Around this I though it worth sharing a tip with you all that has caused me some pain on two occasions recently!! Depending on your scenario, the issue can cause a significant performance degradation on the receive side, the CPU utilization is pegged at close to 100% but the inbound processing rate is very slow. The issue is caused by some of the QFE`s for the Rule Engine and possibly even the A4Swift accelerator, to be honest I don`t want to waste time digging thru the dependencies and which QFE cause it. The bottom line is that the following registry key needs to be checked after apply......
176 of 184 | Rules Engine and A4Swift gotcha... - I`ve been using the A4Swift (v2.1) accelerator a lot recently, which I have to say is extremely good. Around this I though it worth sharing a tip with you all that has caused me some pain on two occasions recently!! Depending on your scenario, the issue can cause a significant performance degradation on the receive side, the CPU utilization is pegged at close to 100% but the inbound processing rate is very slow. The issue is caused by some of the QFE`s for the Rule Engine and possibly even the A4Swift accelerator, to be honest I don`t want to waste time digging thru the dependencies and which QFE cause it. The bottom line is that the following registry key needs to be checked after apply......
177 of 184 | Rules Engine and A4Swift gotcha... - I`ve been using the A4Swift (v2.1) accelerator a lot recently, which I have to say is extremely good. Around this I though it worth sharing a tip with you all that has caused me some pain on two occasions recently!! Depending on your scenario, the issue can cause a significant performance degradation on the receive side, the CPU utilization is pegged at close to 100% but the inbound processing rate is very slow. The issue is caused by some of the QFE`s for the Rule Engine and possibly even the A4Swift accelerator, to be honest I don`t want to waste time digging thru the dependencies and which QFE cause it. The bottom line is that the following registry key needs to be checked after apply......
2004 Nov 14
178 of 184 | Processes for invoking BizTalk orchestrations both synchronously and asynchronously - I know this is pretty straight forward stuff… but I have found that naming conventions chosen for these two distinct shapes (“Call” & “Start”) can lead to some confusion on how they operate. For this reason I’m going to attempt to clarify a few things here.
BizTalk 2004 has two different Orchestrations Shapes for invoking orchestrations from within an orchestration.
The Call Orchestration - Enables your orchestration to call another orchestration synchronously (BizTalk help - ms-help://BTS_2004/SDK/htm/ebiz_prog_orch_vont.htm).
A common use for the Call Orchestration shape would be to take a common piece of functionality that completes quickly and returns information to the calling or......
179 of 184 | Processes for invoking BizTalk orchestrations both synchronously and asynchronously - I know this is pretty straight forward stuff… but I have found that naming conventions chosen for these two distinct shapes (“Call” & “Start”) can lead to some confusion on how they operate. For this reason I’m going to attempt to clarify a few things here.
BizTalk 2004 has two different Orchestrations Shapes for invoking orchestrations from within an orchestration.
The Call Orchestration - Enables your orchestration to call another orchestration synchronously (BizTalk help - ms-help://BTS_2004/SDK/htm/ebiz_prog_orch_vont.htm).
A common use for the Call Orchestration shape would be to take a common piece of functionality that completes quickly and returns information to the calling or......
2004 Oct 25
180 of 184 | Using the Rules Engine for orchestration configuration values *BizTalk Sample*... - I have been working on a few BizTalk solutions recently that don`t have dependencies on SQL or external assemblies. Within these projects I have needed to get access to configuration information such as “process time out value” or “notification email address”. I have found it particularly useful to use the Rules Engine that ships with BizTalk to store such values.
Why
The rules engine is installed by default on any machine running BizTalk.
There is no need to modify the “BTSNTSvc.exe.config” to use the rules engine… modifying this file is difficult to do via deployment scripts and if done incorrectly can cause the whole BizTalk service to stop responding.
A small helper class can be ......
181 of 184 | Using the Rules Engine for orchestration configuration values *BizTalk Sample*... - I have been working on a few BizTalk solutions recently that don`t have dependencies on SQL or external assemblies. Within these projects I have needed to get access to configuration information such as “process time out value” or “notification email address”. I have found it particularly useful to use the Rules Engine that ships with BizTalk to store such values.
Why
The rules engine is installed by default on any machine running BizTalk.
There is no need to modify the “BTSNTSvc.exe.config” to use the rules engine… modifying this file is difficult to do via deployment scripts and if done incorrectly can cause the whole BizTalk service to stop responding.
A small helper class can be ......
2004 Oct 16
182 of 184 | RuleSetTranslationComplexityException - Scenario... - I have a large number of messages that are passed into an orchestration/ split in the incoming pipeline and then passed one by one into a Rules Engine policy. I have discovered when I am processing hundreds of instances at once I ocassionally get the following exception raised in HAT.
"Microsoft.RuleEngine.RuleSetTranslationComplexityException
Ruleset is too complex and translation cannot complete within the configured translation timeout interval."
This is because BizTalk 2004 does not throttle the calls to the rules engine and the rules engine queues the inbound message and processes them in FIFO order.
The solution:
"Increase the time out in the registry for the rules engine from 1 min......
183 of 184 | RuleSetTranslationComplexityException - Scenario... - I have a large number of messages that are passed into an orchestration/ split in the incoming pipeline and then passed one by one into a Rules Engine policy. I have discovered when I am processing hundreds of instances at once I ocassionally get the following exception raised in HAT.
"Microsoft.RuleEngine.RuleSetTranslationComplexityException
Ruleset is too complex and translation cannot complete within the configured translation timeout interval."
This is because BizTalk 2004 does not throttle the calls to the rules engine and the rules engine queues the inbound message and processes them in FIFO order.
The solution:
"Increase the time out in the registry for the rules engine from 1 min......
2004 Jun 29
184 of 184 | EBZ213: David Chappell on services, business processes and BizTalk 2004 -
David Chappell presented a barn-storming
presentation based on the idea that the future is services, that services will be
called by business processes and that we need to look for a platform that will manage
business processes. He argues, convincingly that we can't expect App
Servers to perform this role. The answer comes with Business Process Platforms.
Here he positions BizTalk 2004 as the answer and goes so far as to claim that it will
be the major product at future TechEd's and that getting close to business processes
(through BizTalk) could be a key part of keeping your job as a developer since business
processes are much harder to outsource ......