|I knew the answers will start to come as when the sun reaches America.
Well, jschell, as Pete said, this is feasible. People have done this before. But there is a new approach.
The solution will be very simple, both for the end users and for the developers as well.
Here are some example scenarios (our application will be named S) :
Company A develops an emailing applications. To provide its end users with the ability to make sophisticated treatments, A integrates our solution S this way :
it adds the rules editor to the front end, it publishes all sort of events/facts, when they occur to the engine part of S (incoming email, with properties, contacts with properties..)
and adds code that listens for actions triggering by engine so that it fulfills them.
The developer will describe to S, what is the set of possible facts/events and their arguments, also will describe to S the set of possible actions.
As you can see the developer did not puzzle himself how to create some langage or parser. To the end user, I imagine he can do this :
When all of the following is true
There is an email E from a person X
Person X belongs to contact group G
Move email E to Folder named G+"Emails"
Company B develops an access control system that allows other companies to restric access of employees to secure zones. After integrating S, now, the end user can write this rule :
When all of the following is true :
There is access request from reader R by person P1 (the system should interpret the card id to a person id)
Reader R is an input door to zone Z
Person P2 is owner of zone Z
Person P2 is within zone Z
Open door attached to reader R.
This rule allows the system to grant access to a zone only when its "owner" is in it.
End users can come with many rules like this.
So the company will take care of the hardware communiaction part plus some interpretations of the signals, then it sends evrything to the engine and reacts when the engine triggers some action. End users will be more happy this way.
Is the idea clearer now ?
What are your thoughts ?
Push Framework - now released !