Let me try to give a quick answer to these bullets:
- Generating Customize Rules and Workflow through own custom Web UI
You can always build your own custom tooling, as long as you export the rules and processes in the expected DRL or xml format. Guvnor provides some examples of web-based editing of rules. We are looking into Oryx to allow web-based editing of processes.
- Admin user can see all of the items in workflow in UI (View job queue: current queue, executed jobs, exceptions)
The gwt-console allows a user to log into a web application and see the currently running instances; task lists, etc.
- Rule Actions can be web services, Java classes or it can be stored procedure
Rule actions are just Java, so you can easily invoke any functionality you want. If you want more declarative modeling of these actions, you can use work items to model these actions more declaratively.
- Delete/cancel process definitions at runtime
ksession.abortProcessInstance(id)
- Integrate with Calendaring/Scheduling
Use a pluggable work item for this. We have an example that integrates with google calendar for this.
- Web Service can be rule input
Anything inside the working memory is rule input or you can use a from clause to extract more info during rule evaluation; e.g. NewData ( .. ) from myService.getMoreInfo(..)
- Web service can be actor in process
Best to model this as a work item as well. The work item handler will delegate to the web service.
- runtime compiling capability That is, no application re-start on rule change
You can dynamically add or remove knowledge (rules and processes) from your knowledge base
- Exposing Processes as Services
The session could be exposed directly (so people can call operations like startProcess etc.). I suppose you could easily build a wrapper around this if you want to expose each process as a separate service.