I'm working on a system that is kind of a Business Rules Engine. Rules are authored in a devleopment environment, executed (SQL code gets generated) and tested in DEV, then they are deployed into production so users can execute them on demand and create reports off of them. The deployment process through involves several steps and checks, such as:
- Get XML definition of business rule
- Verify all "rule dictionary" criteria used in DEV, exist in production (this done against a "Dictionary" web service)
- Execute each 开发者_StackOverflowrule for the first time in prod (this is done through a "Rules Execution" web service)
- Verify that certain counts and KPI numbers in production are within certain bounds .....(4 more steps)
I'm very new to BPEL and I was wondering if BPEL would be a good fit to automate this process? or is it an overkill? If not, what do you recommend for automating this?
Thanks!
This scenario can be done with BPEL, but indeed it might be overkill. This basically depends on the requirements on your scenario. I think it could also be done with any WS-capable scripting language. BPEL typically fits better for long-running processes, e.g. if you like to periodically check for updates of the rule definitions and want to redeploy them to production. Also, BPEL processes are always rendered in terms of Web services, so it is following a recursive approach. A process is exposed as a Web service which composes other Web services in order to achieve a higher level service goal. I know, this is not an exact answer to your question, I'm trying to give some background info to make the decision easier.
Overkill!
For this simple task a simple script (Groovy?) or an Ant build would suffice and much more maintainable.
P.S. The whole BPEL thing is considered by many an overkill.
精彩评论