What is BizTalk Rule Engine?
2005 Oct 18
151 of 187 | New Business Rules Features in Biztalk 2006 -
I tend to see more and more clients using the Rule Engines now then I did in the past. So, what can we expect to see different and better in Biztalk 2006
At the BPI Conference two weeks ago we found out some of the new enhanced features that the Business Rules Engine would have in Biztalk 2006.
Some of these are:
- Ability to be installed without Biztalk
- No longer needs to be called inside an Atomic Scope
- Document type will try to be auto populated when you add a schema from an existing Biztalk project (this is great - until it gets it wrong)
- Ability to have debug information written to file at run time
Of course, these can change before the final release of the product ear......
2005 Oct 14
152 of 187 | Another Great Use for GMail - I`ve blogged about potential uses for GMail before - Using Email as a Knowledge Base, How to Manage ListServs Using GMail, Keeping Track of TODO Items, and so on - and I offer yet another one.This idea came by way of Boing Boing: Archiving Email on GMail. The jist of the idea is to use GMail`s abundant disk quota and Internet access as a means to backup email.
I`ve just implemented a couple Rules on Outlook to auto-forward all incoming emails to a separate GMail account setup exclusively to serve as a backup of my email accounts. Since I leave my home computer running 24x7, Outlook continuously downloads email from my various POP3 accounts and, now, will be continuously forwarding those ema......
2005 Oct 09
153 of 187 | WWF: Comparing WWF rules and the Microsoft Business Rule Engine - In Microsoft`s Windows Workflow Foundation,rules are executed through a sequential, rather than an `inferencing` engine. Although WWF rule processing bears a superficial resemblance to rule processing in the Microsoft Business Rules Engine (MS BRE), there are profound differences. This article attempts to explain the fundamental differences, and to provide some insight into the strengths and weaknesses of each approach....
2005 Sep 20
154 of 187 | 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
155 of 187 | 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
156 of 187 | 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......
157 of 187 | 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
158 of 187 | 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
159 of 187 | 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
160 of 187 | 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
161 of 187 | 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
162 of 187 | 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
163 of 187 | 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
164 of 187 | 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. ...
165 of 187 | 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
166 of 187 | 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
167 of 187 | 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.......
168 of 187 | 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
169 of 187 | 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
170 of 187 | 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
171 of 187 | 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
172 of 187 | 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
173 of 187 | 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......
174 of 187 | 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
175 of 187 | 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
176 of 187 | 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 ......
177 of 187 | 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 ......
2004 Nov 17
178 of 187 | 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......
179 of 187 | 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......
180 of 187 | 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
181 of 187 | 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......
182 of 187 | 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
183 of 187 | 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 ......
184 of 187 | 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
185 of 187 | 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......
186 of 187 | 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
187 of 187 | 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 ......