Have something to say?
Join LinkedIn for free to participate in the conversation. When you join, you can comment and post your own discussions.
Business Rules Engine on Android platform?
Is anybody aware of Business Rules Engine (BRE) application deployment on an Android platform. Preferably, Blaze Advisor applications.
Have something to say?
Join LinkedIn for free to participate in the conversation. When you join, you can comment and post your own discussions.
26 comments • Jump to most recent comments
Baljeet
Baljeet S. • Are you thinking of deploying the rule engine as part of android app ?? Or you are referring to the RMA on Android??
Typically, one would create a decisioning web service which uses a bre. This web service should be consumed by the amdroid app.
Baljeet
Shishir
Shishir M. • I am looking only for deploying Blaze Advisor rules service on an android platform as an Android application.
I am aware of the usual scenario of deploying Rules as a web service at a centralized location and then consuming it; however, I still want to deploy rules service on an Android platform. Any clue?
Fred
Fred S. • I guess my question would be why?. Deploying a service to be consumed by a dedicated app plays to the strengths of both sides of the equation. On the server side you have horse power which allows you to support rich and complete rule sets along with security and maintainability to insure currency and delivery. On the mobile device side your delivery a light footprint for performance and insuring that the user is interacting with, and acting on the most current knowledge.
The only scenario I can conceive for wanting to roll out the app all on the Android side is in environments where communication integrity is fragile or non existent e.g. emergency services , combat, non service areas (urban or rural)
I'm sure you are aware that while mobile platforms have grown more powerful they still are limited both in memory and processing power. If you could build and deploy a rule based app (including engine) on a mobile device it would have be extremely small which immediately sets up issues on completeness and you would face the possibility of fragmentation because individual users would be updating their rule base at different times creating currency and support issues.
Baljeet
Baljeet S. • I agree with Fred - What is the reason for deploying a CPU and Memory intensive decision service on Android? I have developed a "mini" rules engine using Java which can be deployed on Android platform, but would be interested in knowing "Why" :-)
Fred
Fred S. • I still don't recommend it but you might want to check out this blog post. It is Drools not Blaze but it does cover some of the issues of deploying directly to the device: http://blog.athico.com/2011/03/jbpm5-lightweight-running-on-android.html
Shishir
Shishir M. • Fred, I agree that apps like Rules service are still heavy as far as their deployment on Mobiles are concerned. I am making a try towards application deployment over a tab with minimum required hard ware configurations.
Thanks for the blog as mentioned by you, I have also gone through the same and have tried this as well, however the approach does not seem to work.
However, it is strange that Google like companies are swiping the mobile and tablet market and the hardware are also becoming stronger with due time (making users addict of mini gadgets); still I am not sure if product companies are matching their pace and are even considering to develop products compatible to Andorid OS unlike windows or linux OS.
Fred
Fred S. • Well let me ask this...Is it the form factor as opposed to the OS that you are interested? Would you consider a Windows (at this point a slight shutter runs through Fred <g>) based tablet?
As for why the vendors are not thinking in terms of either the Android, they can probably provide specifics themselves but I suspect that it is a combination of what one commentator referred to as "the wild west nature" of the Android community. How many flavors of OS are there? So how can a software vendor know what flavor to target. Second, the Web service model provides both adequate performance and all the features mentioned above as well as being delivery hardware and OS agnostic, soooo....
Paul
Paul S. • DTRules is an open sourced Decision Table based Rules Engine, and while I have not yet deployed it to an Android device (one of my goals for this year!), the deployment should be pretty easy. When I have profiled significant rule sets for production systems I have built, the foot print for execution has been less than 130 MB. Most Android phones have 500MB or more. The jars required for deployment are less than 1 MB.
Of course, DTRules is a deterministic rules engine (Much like Corticon rather than like Drools), but it has a great deal of flexibility as to how it can be integrated into an application, and how the logic is deployed. The first version of the Rules Engine is in use in Texas to evaluate eligibility for most Health and Human Services Assistance programs (SNAP (i.e. Food stamps), TANF, Medicare, Medicaid, etc.). Being small doesn't mean it isn't powerful.
This is a small opensource project, and you can get more information at DTRules.com
Baljeet
Baljeet S. • Shishir - Assuming BRE is available on Android, would you deploy the "rules" themselves also as part of the business application? I am still puzzled what kind of business application (on Android) would need full blown BRE and the rules as part of the application....That used to be the architecture of monolithic desktop applications years ago...
Fred
Fred S. • Baljeet, even "back in the day" (mid to late '80s) imbedding the rules in the application was considered bad form and missed the whole point of externalization provided by RBS tools. The first application I built with Blaze's ancestor Nexpert (not even Nexpert Object yet and on a 512k Mac...those were the days <g>) was departmental budget preparation application with an Excel based application. When values in certain cells met defined criteria the application would invoke the Nexpert application and consume the response. That was the standard model that most KEs I know followed.
Shishir
Shishir M. • @Fred; One question, I am not aware if the windows OS can be deployed on tablets, if yes can you throw some light on the same. Also, can you please let me know if Blaze application is deployable on Apple IOS (especially tablets)?
@Paul: I will try out with DT rules as well, thanks suggesting that.
@Baljeet: I am not planning to embed Blaze with any application, rather it will be a loosely coupled architecture; where an application will be able to invoke blaze rules java deployment on an android platform.
Fred
Fred S. • Yes Windows 7 tablets exist (but then again so does the Platypus...and the world asks "why" <g>) if you just Google you will come up with a list.
To my knowledge Blaze doesn't run on OSx (for development) or IOS (for deployment) but Baljeet would know definitively. A little sad considering that (as my previously posted trip down memory lane pointed out) the little beige one piece no hard drive Mac was where it all began.
Baljeet
Baljeet S. • I am not sure about Blaze on OSx or IOS. Perhaps a quick email to FICO Blaze Support will confirm that.
@Shishir - How many business rules are you planning to deploy on Android? What is the performance expectations?
Shishir
Shishir M. • Baljeet, FICO does not officially support on Mac OS. However, I have approx 1000 rules to be deployed on android.
Fred
Fred S. • 1000 rules!!! Nope no way, no how not all sitting on an itty bitty Android with the rule engine and any ancillary code for interface etc. As we say in Jersey "faaagedaboutit" <g>
To paraphrase the bard ... get thee to a webservice
Paul
Paul S. • I think Fred is right about traditional rules engines. 1000 rules would be about 100 to 200 decision tables (the translation of how many rules equals how many decision tables is highly variable). DTRules would very likely run such a rule set using less than 100 MB of memory, which would fit easily in an Android (most have 500 MB to 1G).
But before I said such a thing, I ran a little test. Since I haven't yet done the port to Android (on my list of things to do), what I could do is duplicate decision tables in one of the sample rule sets until I simulated a large rule set. Then I could run the application that allows automated regression testing. In some ways this isn't fair, because I am not duplicating *used* decision tables. So to balance that, I built a Rule Set with ~2800 Decision Tables, then ran 50 tests. DTRules used about 86 MB (watching the process from Window's Task Manager).
This agrees with a body of DTRules performance testing I have done for production systems using YourKit.
Paul
Paul H. • Paul's experience is typical of decision table approaches. If your problem fits that metaphor they can perform extremely well while consuming very few resources. If you need the power of full business rules, we have deployed thousands with excellent performance on single-core ghz Pentiums with far less than a gigabyte. I know Blaze can do pretty well, too. Thousands of rules can certainly run with excellent performance on the multi-core gigahertz-plus processors of tablets with a gigabyte of memory. That's not to say they should but there is no technical problem (other than the lack of an off-the-shelf solution, but if there is a business case behind this, that's not a problem either, really).
Paul
Paul S. • Paul, what Rules Engine were you using? Just curious.
But I think you are absolutely right. 10 years ago, the specifications we have for the typical Android phone would have made for a very reasonable server (at least in terms of storage, memory, and processor speed). Ten years ago we deployed the first versions of Decision Table based Rules Engines that were able to handle all the Eligibility rules for Health and Human Services Assistance Programs in Texas. I don't think my experience is that different than other BRE developers.
The question boils down to the business case, and really, I can think of all sorts of business cases for executing rules remotely from the server. Built correctly, your devices could get updated as rules change, and save on network load and delays as you actually have to apply your rules.
Fred
Fred S. • @Shishir is there a database included in this application or is it purely dialog driven?