[feature-proposal] Execution Environment Governance Via A Push Model
by Justin Holmes
Hello Devs,
I'm currently working on a project that employs Drools/jBPM 5.x. We author
knowledge assets in Guvnor and then use a KnowledgeAgent to pull down
compiled kpackages. This is an enterprise project, so we have about 6
different environments that the kpackages need to be promoted to over time.
However, we've had issues with promoting assets via the polling/pull model
that is implemented in the KnowledgeAgent, as sometimes packages will be
pulled accidentally due to user error. I know the 6.x project moves to
KieContainer/KieServices using Maven, but my reading of the code suggests
that this is still a polling model against the Guvnor Repository. To me, it
seems that polling does not provide sufficient governance of the execution
environment, and that one would need to "push" a specific version of an
KBase into a specific environment, without a redeployment, to achieve the
proper level of control.
So here is my line of questioning...
1) Am I correct that there is no feature in the project today that allows
an end user to "push" a KPackage into an environment?
2) If the feature doesn't exist, would the team be interested in adding it
the project? I'm imagining that the feature would need to include both a
Guvnor server side component as well as client side component which exposes
some sort of service endpoint.
3) If its a feature you guys are interested in, how can we begin the
conversation to build it?
- Justin
11 years, 4 months
IMPORTANT: droolsjbpm-parent is dead, long live kie-parent-metadata and kie-parent-with-dependencies
by Geoffrey De Smet
Hi guys,
*Please read this, especially the bold parts.*
We've created user-facing boms: drools-bom, jbpm-bom, optaplanner-bom,
guvnor-bom and kie-bom.
This way, users can do:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-bom</artifactId>
<type>pom</type>
<version>6.0.0.Final</version>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
...
<dependencies>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-compiler</artifactId><!-- No version needed
:) -->
<dependency>
<dependency>
<groupId>org.drools</groupId>
<artifactId>drools-decisiontables</artifactId><!-- No version needed :) -->
<dependency>
</dependencies>
*1) When you create a new module in any kie repository (for example
jbpm-foo),
instead of adding an entry in droolsjbpm-build-bootstrap,
now add an entry in the appropriate bom file.
*- The bom files are in the git repo droolsjbpm-build-bootstrap.
- The new module's groupId determines its bom file:
-- groupId org.kie => kie-bom
-- groupId org.drools => drools-bom
-- groupId org.optaplanner => optaplanner-bom
-- groupId org.jbpm => jbpm-bom
-- groupId org.guvnor => guvnor-bom
- Normally you 'll add 2-3 entries: normal, classifier sources and
classifier test-jar
For example: modules in drools-bom:
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/droo...
*2) When you add a new external dependency (for example richfaces-core)
or update/delete an existing one,**
**instead of changing droolsjbpm-build-bootstrap,**
**now change the pom file **kie-parent-with-dependencies*
- the bom files do not extend kie-parent-with-dependencies, but
kie-parent-with-dependencies imports the bom files
- kie-parent-with-dependencies is in a subdirectory of git repository
droolsjbpm-build-bootstrap
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/kie-...
- kie-parent-with-dependencies holds a properties list of all versions
and the dependencyManagement section
-- Note: the ongoing platform bom work will affect this, but I 'll
explain that in a new mail when it's done.
- All new repo's root poms should extend kie-parent-with-dependencies
(NOT kie-parent-metadata)
*- Reminder (long time standing rule): No poms except for
kie-parent-with-dependencies should mention versions of dependencies*
-- Some modules violate this and might run into issues during
productization when their dependency versions don't align with the rest.
*3) When you add/change/delete a build plugin or any other metadata
(anything except dependencies),**
****instead of changing droolsjbpm-build-bootstrap,**
****now change the pom file **kie-parent-metadata*
- the bom files do extends kie-parent-metadata.
- kie-parent-with-dependencies extends kie-parent-metadata - so
effectively everything extends kie-parent-metadata
- kie-parent-metadata is in the root of git repository
droolsjbpm-build-bootstrap
https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/blob/master/pom.xml
Questions, suggestions, feedback: let me know.
The repo droolsjbpm-build-bootstrap's restructure is now finished - feel
free to make changes there again.
11 years, 4 months
Restructuring droolsjbpm-build-bootstrap
by Geoffrey De Smet
Hi guys,
I am doing some major restructuring of the droolsjbpm-build-bootstrap
repo (master and 6.0.x)
for the BOM work.
I would appreciate if you can avoid making any commits to it in the next
2 days.
Thanks :)
11 years, 4 months