Bug 1125825 - Need a list of jars to be included in an application package for BPM Suite
Summary: Need a list of jars to be included in an application package for BPM Suite
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Deadline: 2015-05-15
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Documentation
Version: 6.0.2
Hardware: Unspecified
OS: Unspecified
urgent
high
Target Milestone: CR2
: One-off release
Assignee: gsheldon
QA Contact: Marek Baluch
Vikram Goyal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-08-01 07:34 UTC by Hisao Furuichi
Modified: 2019-07-11 08:06 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-25 00:17:39 UTC
Type: Bug
jhrcek: needinfo-
hfuruich: needinfo-


Attachments (Terms of Use)
jBPM Regression Test Suite Dependencies For 6.0.3.GA (10.21 KB, text/plain)
2014-11-12 12:33 UTC, Marek Baluch
no flags Details
Performance test suite maven dependencies for 6.0.3.GA (7.55 KB, text/plain)
2014-11-12 14:13 UTC, Marek Baluch
no flags Details
Performance test suite maven dependencies for 6.0.2.GA (7.54 KB, text/plain)
2014-11-12 14:27 UTC, Marek Baluch
no flags Details
Performance test suite pom.xml for 6.0.2.GA (20.06 KB, text/plain)
2014-11-27 15:41 UTC, Marek Baluch
no flags Details
Performance test suite pom.xml for 6.0.3.GA (20.06 KB, text/plain)
2014-11-27 15:42 UTC, Marek Baluch
no flags Details
List of Jars (6.03 KB, text/plain)
2015-05-22 06:28 UTC, Vikram Goyal
no flags Details
List of Jars - Updated (6.17 KB, text/plain)
2015-06-17 00:27 UTC, gsheldon
no flags Details

Description Hisao Furuichi 2014-08-01 07:34:05 UTC
Description of problem:
There is no document about which jar files should be included in an application package for BPM Suite. Although maven is a solution for it, still some customers want to include jars without using maven.

It looks like adding all of jars in jboss-bpms-6.0.2.GA-redhat-5-deployable-generic-2.zip/jboss-bpms-engine.zip is not working. (For example, jbpm-test-6.0.3-redhat-4.jar should not be included.) So customer needs a tested jar list.

The list is depends on which future application uses, but at lease a list for the needs which an application uses all of futures provided by BPM Suite is necessary.

Actual results:
There is no document about which jar files should be included in an application for BPM Suite.

Expected results:
There is a list of jar files which should be included in an application package that uses full of BPM Suite function.

Comment 6 Vikram Goyal 2014-08-29 03:01:05 UTC
Hisao - thanks. I think that is a good plan. You could also NEEDINFO this bug itself?

Comment 7 Vikram Goyal 2014-08-29 05:37:08 UTC
Marek - can you provide info on this?

Comment 8 Marek Baluch 2014-09-01 11:17:00 UTC
Vikram, Hisao - please take a look at this sample application [1] created by Jiri Svitak.

The simple webapp uses the following features:

* Human tasks
* Persistence
* Transactions
* Singleton session manager
* Context dependency injection

Just explore the pom.xml file and you will have the list of dependencies required to enable the above features in an user application.

If this information is not sufficient and/or you need anything else please set the needinfo? flag again.

[1] https://github.com/jsvitak/jbpm-6-examples/tree/master/rewards-basic

Comment 9 Marek Baluch 2014-09-01 11:40:31 UTC
One more thing that could help. An article written by Jiri Svitak about the rewards-basic application located here: http://jsvitak.wordpress.com/2014/01/09/jbpm-6-web-application-examples/

Comment 10 Vikram Goyal 2014-09-02 01:56:43 UTC
Hisao - can you please go over what Marek has provided. If that is sufficient, please let us know and put together the list from his article so we can include it. If that is not sufficient, please set NEEDINFO for Marek and include your reasons.

Comment 11 Hisao Furuichi 2014-09-05 07:43:16 UTC
Thanks for the advice Mark, Vikram.

Using maven-dependency-plugin, I got a jar list. Also I compare the out put with jar files in jboss-bpms-6.0.2.GA-redhat-5-deployable-generic.zip. this is the list which we can used for BPMS 6.0.2:

activation-1.1.1-redhat-2.jar
aether-api-1.13.1.jar
aether-connector-file-1.13.1.jar
aether-connector-wagon-1.13.1.jar
aether-impl-1.13.1.jar
aether-spi-1.13.1.jar
aether-util-1.13.1.jar
ant-1.8.3.jar
ant-launcher-1.8.3.jar
antlr-runtime-3.5.jar
cal10n-api-0.7.3-redhat-2.jar
cdi-api-1.0-SP4-redhat-2.jar
commons-codec-1.4-redhat-2.jar
commons-collections-3.2.1-redhat-2.jar
commons-io-2.1-redhat-2.jar
commons-logging-1.1.1.jar
dom4j-1.6.1-redhat-5.jar
drools-compiler-6.0.3-redhat-4.jar
drools-core-6.0.3-redhat-4.jar
drools-persistence-jpa-6.0.3-redhat-4.jar
ecj-3.7.2-redhat-1.jar
freemarker-2.3.19-redhat-1.jar
guava-13.0.1-redhat-1.jar
hibernate-jpa-2.0-api-1.0.1.Final-redhat-2.jar
httpclient-4.2.1-redhat-1.jar
httpcore-4.2.1-redhat-1.jar
jackson-core-asl-1.9.9-redhat-2.jar
jakarta-regexp-1.4.jar
javassist-3.15.0-GA-redhat-2.jar
javax.inject-1-redhat-3.jar
jboss-annotations-api_1.1_spec-1.0.1.Final-redhat-2.jar
jboss-ejb-api_3.1_spec-1.0.2.Final-redhat-2.jar
jboss-el-api_2.2_spec-1.0.2.Final-redhat-1.jar
jboss-interceptors-api_1.1_spec-1.0.1.Final-redhat-2.jar
jboss-transaction-api_1.1_spec-1.0.1.Final-redhat-2.jar
jbpm-audit-6.0.3-redhat-4.jar
jbpm-bpmn2-6.0.3-redhat-4.jar
jbpm-flow-6.0.3-redhat-4.jar
jbpm-flow-builder-6.0.3-redhat-4.jar
jbpm-human-task-audit-6.0.3-redhat-4.jar
jbpm-human-task-core-6.0.3-redhat-4.jar
jbpm-human-task-workitems-6.0.3-redhat-4.jar
jbpm-kie-services-6.0.3-redhat-4.jar
jbpm-persistence-jpa-6.0.3-redhat-4.jar
jbpm-runtime-manager-6.0.3-redhat-4.jar
jbpm-shared-services-6.0.3-redhat-4.jar
jcl-over-slf4j-1.7.2-redhat-1.jar
joda-time-1.6.2-redhat-4.jar
jsoup-1.6.1-redhat-1.jar
jta-1.1.jar
kie-api-6.0.3-redhat-4.jar
kie-ci-6.0.3-redhat-4.jar
kie-internal-6.0.3-redhat-4.jar
lucene-analyzers-common-4.0.0.jar
lucene-core-4.0.0.jar
lucene-queries-4.0.0.jar
lucene-queryparser-4.0.0.jar
lucene-sandbox-4.0.0.jar
mail-1.4.5-redhat-1.jar
maven-aether-provider-3.0.5.jar
maven-artifact-3.0.5.jar
maven-compat-3.0.5.jar
maven-core-3.0.5.jar
maven-model-3.0.5.jar
maven-model-builder-3.0.5.jar
maven-plugin-api-3.0.5.jar
maven-repository-metadata-3.0.5.jar
maven-settings-3.0.5.jar
maven-settings-builder-3.0.5.jar
mvel2-2.1.9.Final-redhat-9.jar
plexus-cipher-1.4.jar
plexus-classworlds-2.4.jar
plexus-component-annotations-1.5.5.jar
plexus-interpolation-1.14.jar
plexus-sec-dispatcher-1.3.jar
plexus-utils-3.0.9.jar
protobuf-java-2.5.0.jar
sisu-guice-3.0.3-no_aop.jar
sisu-inject-bean-2.2.3.jar
sisu-inject-plexus-2.2.3.jar
slf4j-api-1.7.2-redhat-1.jar
slf4j-ext-1.7.2-redhat-1.jar
solder-api-3.2.1.Final.jar
solder-logging-3.2.1.Final.jar
wagon-http-2.0.jar
wagon-http-shared4-2.0.jar
wagon-provider-api-1.0-beta-7.jar
weld-api-1.1.Final-redhat-2.jar
weld-core-1.1.13.Final-redhat-1.jar
weld-spi-1.1.Final-redhat-2.jar
xmlpull-1.1.3.1.jar
xpp3_min-1.1.4c-redhat-2.jar
xstream-1.4.7.jar

Please add this list with Mark's explanation:
==
The simple webapp uses the following features:

* Human tasks
* Persistence
* Transactions
* Singleton session manager
* Context dependency injection
==

Comment 13 Hisao Furuichi 2014-09-05 08:49:58 UTC
I need to report one more thing.

Although sisu-guava-0.9.9.jar is packaged in the sample project(WEB-INF/lib/sisu-guava-0.9.9.jar), sisu-guava-0.9.9.jar is not in jboss-bpms-6.0.2.GA-redhat-5-deployable-generic.zip/jboss-bpms-engine.zip. I checked bpms 6.0.2 installed by the installer, but there is not sisu-guava-0.9.9.jar either.

Since sisu-guava-0.9.9.jar is not in jboss-bpms-6.0.2.GA-redhat-5-deployable-generic.zip/jboss-bpms-engine.zip, I did not list it in the above comment.

Is it better to ask productization team about it? If sisu-guava-0.9.9.jar should be in the jboss-bpms-6.0.2.GA-redhat-5-deployable-generic.zip/jboss-bpms-engine.zip, I'll open another BZ ticket.

Thx

Comment 14 Vikram Goyal 2014-09-06 04:08:18 UTC
(In reply to Hisao Furuichi from comment #11)
> Thanks for the advice Mark, Vikram.
> 
> Using maven-dependency-plugin, I got a jar list. Also I compare the out put
> with jar files in jboss-bpms-6.0.2.GA-redhat-5-deployable-generic.zip. this
> is the list which we can used for BPMS 6.0.2:
> 

Hisao/Marek: Since we are about to release the product and the docs for 6.0.3, does this list also work for 6.0.3?

Comment 15 Hisao Furuichi 2014-09-08 05:42:47 UTC
Vikram: Unfortunately, this list is for BPMS 6.0.2. For example, jbpm-human-task-core-6.0.3-redhat-5.jar is packaged for BPMS 6.0.3. For BPMS 6.0.2, it's jbpm-human-task-core-6.0.3-redhat-4.jar. I'll check and update a list for BPMS 6.0.3

Comment 16 Vikram Goyal 2014-09-08 05:57:29 UTC
Thanks Hisao - I suspected as much. Thanks for looking into it and updating it.

Comment 20 Hisao Furuichi 2014-09-09 03:17:16 UTC
I made a list for BPMS 6.0.3 using bpms-6.0.3-ER1:

activation-1.1.1-redhat-2.jar
aether-api-1.13.1.jar
aether-connector-file-1.13.1.jar
aether-connector-wagon-1.13.1.jar
aether-impl-1.13.1.jar
aether-spi-1.13.1.jar
aether-util-1.13.1.jar
ant-1.8.3.jar
ant-launcher-1.8.3.jar
antlr-runtime-3.5.jar
cal10n-api-0.7.3-redhat-2.jar
cdi-api-1.0-SP4-redhat-2.jar
commons-codec-1.4-redhat-2.jar
commons-collections-3.2.1-redhat-2.jar
commons-io-2.1-redhat-2.jar
commons-logging-1.1.1.jar
dom4j-1.6.1-redhat-5.jar
drools-compiler-6.0.3-redhat-5.jar
drools-core-6.0.3-redhat-5.jar
drools-persistence-jpa-6.0.3-redhat-5.jar
ecj-3.7.2-redhat-1.jar
freemarker-2.3.19-redhat-1.jar
guava-13.0.1-redhat-1.jar
hibernate-jpa-2.0-api-1.0.1.Final-redhat-2.jar
httpclient-4.2.1-redhat-1.jar
httpcore-4.2.1-redhat-1.jar
jackson-core-asl-1.9.9-redhat-2.jar
jakarta-regexp-1.4.jar
javassist-3.15.0-GA-redhat-2.jar
javax.inject-1-redhat-3.jar
jboss-annotations-api_1.1_spec-1.0.1.Final-redhat-2.jar
jboss-ejb-api_3.1_spec-1.0.2.Final-redhat-2.jar
jboss-el-api_2.2_spec-1.0.2.Final-redhat-1.jar
jboss-interceptors-api_1.1_spec-1.0.1.Final-redhat-2.jar
jboss-transaction-api_1.1_spec-1.0.1.Final-redhat-2.jar
jbpm-audit-6.0.3-redhat-5.jar
jbpm-bpmn2-6.0.3-redhat-5.jar
jbpm-flow-6.0.3-redhat-5.jar
jbpm-flow-builder-6.0.3-redhat-5.jar
jbpm-human-task-audit-6.0.3-redhat-5.jar
jbpm-human-task-core-6.0.3-redhat-5.jar
jbpm-human-task-workitems-6.0.3-redhat-5.jar
jbpm-kie-services-6.0.3-redhat-5.jar
jbpm-persistence-jpa-6.0.3-redhat-5.jar
jbpm-runtime-manager-6.0.3-redhat-5.jar
jbpm-shared-services-6.0.3-redhat-5.jar
jcl-over-slf4j-1.7.2-redhat-1.jar
joda-time-1.6.2-redhat-4.jar
jsoup-1.6.1-redhat-1.jar
jta-1.1.jar
kie-api-6.0.3-redhat-5.jar
kie-ci-6.0.3-redhat-5.jar
kie-internal-6.0.3-redhat-5.jar
lucene-analyzers-common-4.0.0.jar
lucene-core-4.0.0.jar
lucene-queries-4.0.0.jar
lucene-queryparser-4.0.0.jar
lucene-sandbox-4.0.0.jar
mail-1.4.5-redhat-1.jar
maven-aether-provider-3.0.5.jar
maven-artifact-3.0.5.jar
maven-compat-3.0.5.jar
maven-core-3.0.5.jar
maven-model-3.0.5.jar
maven-model-builder-3.0.5.jar
maven-plugin-api-3.0.5.jar
maven-repository-metadata-3.0.5.jar
maven-settings-3.0.5.jar
maven-settings-builder-3.0.5.jar
mvel2-2.1.9.Final-redhat-9.jar
plexus-cipher-1.4.jar
plexus-classworlds-2.4.jar
plexus-component-annotations-1.5.5.jar
plexus-interpolation-1.14.jar
plexus-sec-dispatcher-1.3.jar
plexus-utils-3.0.9.jar
protobuf-java-2.5.0.jar
sisu-guice-3.0.3-no_aop.jar
sisu-inject-bean-2.2.3.jar
sisu-inject-plexus-2.2.3.jar
slf4j-api-1.7.2-redhat-1.jar
slf4j-ext-1.7.2-redhat-1.jar
solder-api-3.2.1.Final.jar
solder-logging-3.2.1.Final.jar
wagon-http-2.0.jar
wagon-http-shared4-2.0.jar
wagon-provider-api-1.0-beta-7.jar
weld-api-1.1.Final-redhat-2.jar
weld-core-1.1.13.Final-redhat-1.jar
weld-spi-1.1.Final-redhat-2.jar
xmlpull-1.1.3.1.jar
xpp3_min-1.1.4c-redhat-2.jar
xstream-1.4.7.jar

Comment 22 Jan Hrcek 2014-09-19 05:54:18 UTC
Sorry, I don't have any info about this issue. Setting the right contact for needinfo

Comment 26 Vikram Goyal 2014-10-27 10:48:38 UTC
@Hisao, are you happy for the list provided by Marek to be included and updated for 6.0.3 docs?

Comment 29 Vikram Goyal 2014-10-29 22:30:33 UTC
*** Bug 1155258 has been marked as a duplicate of this bug. ***

Comment 30 Hisao Furuichi 2014-10-30 00:09:35 UTC
Hello Vikram.

As Alessandro commented at BZ-1155258.  This BZ ticket is not a duplicate of BZ-1155258.

Thx

Comment 32 Vikram Goyal 2014-11-03 04:14:57 UTC
Anton and I have had a few discussions on this offline and he has suggested a slightly different approach to solving this issue. Certainly, from a documentation perspective, it makes a lot of sense. I would like to see what others here think of this.

The approach is to document with text description only top level jbpm/kie/drools jars. We would also include the list of all transitive dependencies but won't describe every single jar.

If you remove the redundant (transient) jars, you are left with the following 20 jars which can be grouped into drools (BRMS), jBPM (BPMS) and KIE (KIE) libraries:

    org.drools:drools-compiler:jar:6.0.3-redhat-5
    org.drools:drools-core:jar:6.0.3-redhat-5
    org.drools:drools-persistence-jpa:jar:6.0.3-redhat-5
                
    org.jbpm:jbpm-audit:jar:6.0.3-redhat-5
    org.jbpm:jbpm-bpmn2:jar:6.0.3-redhat-5
    org.jbpm:jbpm-flow-builder:jar:6.0.3-redhat-5
    org.jbpm:jbpm-flow:jar:6.0.3-redhat-5
    org.jbpm:jbpm-human-task-audit:jar:6.0.3-redhat-5
    org.jbpm:jbpm-human-task-core:jar:6.0.3-redhat-5
    org.jbpm:jbpm-human-task-workitems:jar:6.0.3-redhat-5
    org.jbpm:jbpm-persistence-jpa:jar:6.0.3-redhat-5
    org.jbpm:jbpm-runtime-manager:jar:6.0.3-redhat-5
    org.jbpm:jbpm-shared-services:jar:6.0.3-redhat-5
    org.jbpm:jbpm-test:jar:6.0.3-redhat-5

    org.kie:kie-api:jar:6.0.3-redhat-5
    org.kie:kie-ci:jar:6.0.3-redhat-5
    org.kie:kie-internal:jar:6.0.3-redhat-5
    org.kie.remote:kie-services-client:jar:6.0.3-redhat-5
    org.kie.remote:kie-services-jaxb:jar:6.0.3-redhat-5
    org.kie.remote:kie-services-remote:jar:6.0.3-redhat-5

So, in the documentation requested by the client, this would come up as, as an example for the first artifact:

Example start:

Artifact:

org.drools:drools-compiler:jar:6.0.3-redhat-6

Description:
The BRMS/Drools compiler jar provides facilities to compile various rule representations (DRL, DSL, etc.) into a corresponding internal structure. In addition, it provides the CDI extension allowing usage of @KSession and other annotations. It is the main artifact used when embedding the BRMS engine.

Following libraries are used internally by the **drools(BRMS)-compiler**, therefore they also need to be present on the classpath when this artifact is used:
 
org.antlr:antlr-runtime:jar:3.5:compile
org.eclipse.jdt.core.compiler:ecj:jar:3.7.2-redhat-1:compile
org.mvel:mvel2:jar:2.1.9.Final-redhat-13:compile
com.thoughtworks.xstream:xstream:jar:1.4.7:compile
xmlpull:xmlpull:jar:1.1.3.1:compile
xpp3:xpp3_min:jar:1.1.4c:compile
com.google.protobuf:protobuf-java:jar:2.5.0:compile
org.slf4j:slf4j-api:jar:1.7.2-redhat-1:compile

Example end.

This way, we are providing a manageable list of artifacts/libraries, grouped together in a consistent format, and at the same time, providing a list of the other (transient) libraries that are actually required for each artifact in case it is bundled into a clients application.

Does this look like a plausible solution?

Comment 36 Anton Giertli 2014-11-06 12:18:00 UTC
Hisao,

I didn't really got that list of jars. I have only used the list provided by Marek and filtered every jBPM/KIE/Drools library. Therefore I am setting NEEDINFO and asking Marek:

1) How did you get the original list of JAR? I guess but you have extracted it somehow from your test suites? I think if customers would know this they would be pretty confident with having such a list.

2) Can you please provide us with updated list for BPM Suite 6.0.3?

Hisao, one more question for you:

Do you want to have this kind of list for every micro version? So even though the BPM Suite 6.0.3. is out, is it really necessary to maintain such list for even BPM Suite 6.0.2  and other former releases?

And regarding your notes:

Well, sure, it requires additional work, but I think that having that list categorized to smaller chunks, and have a proper description for every chunk has much more value than just include the plain list of jars.

Sure, it will require input from respective engineers but I hope it won't be problem for anybody to chip in and help, we essentially need only proper description for the product jars, which is not that much of a work. Marek Winkler++ stepped up and delivered description for Drools jars and its short and very descriptive and I think exactly what we are looking for.

Anton

Comment 37 Vikram Goyal 2014-11-06 23:30:52 UTC
Anton making your comment public.

From the docs point of view, it is not too much work to create the list the second time around, once we have an agreed procedure. There will be lot of work for the first time, but I think it is manageable for each new version.

Comment 40 Marek Baluch 2014-11-12 12:31:38 UTC
Anton,

The following list was obtained from our jbpm-regression-test suite which tests the engine (including human tasks), workitems, transactional behaviour etc, ...

The version of the tested product is 6.0.3.GA.

I hope that all we need to do now is remove non-relevant dependencies for the customer and add description.

@M

Comment 41 Marek Baluch 2014-11-12 12:33:19 UTC
Created attachment 956719 [details]
jBPM Regression Test Suite Dependencies For 6.0.3.GA

Comment 43 Marek Baluch 2014-11-12 14:13:33 UTC
Created attachment 956751 [details]
Performance test suite maven dependencies for 6.0.3.GA

Attaching the dependency list for 6.0.3.GA.

These dependencies are used in our performance test suite.

Comment 44 Marek Baluch 2014-11-12 14:27:48 UTC
Created attachment 956754 [details]
Performance test suite maven dependencies for 6.0.2.GA

Hisao - here's the list of dependencies we have used for performance testing of BPMS 6.0.2.GA

Comment 45 Vikram Goyal 2014-11-18 04:23:13 UTC
Thanks Marek. Much appreciated. 

Hisao - with the list of dependencies now for 6.0.3, and Marek's answer to your question, can we go ahead with building this list and including it in the documentation in the format suggested by Anton?

Comment 49 Marek Baluch 2014-11-27 15:41:12 UTC
Created attachment 962129 [details]
Performance test suite pom.xml for 6.0.2.GA

Comment 50 Marek Baluch 2014-11-27 15:42:19 UTC
Created attachment 962132 [details]
Performance test suite pom.xml for 6.0.3.GA

Comment 59 Vikram Goyal 2015-05-22 06:28:21 UTC
Created attachment 1028563 [details]
List of Jars

Comment 63 gsheldon 2015-06-17 00:27:10 UTC
Created attachment 1039699 [details]
List of Jars - Updated

Updated list of jars.

Comment 67 gsheldon 2015-06-21 23:41:57 UTC
Setting needinfo for review before this is pushed live to the Customer Portal.


Note You need to log in before you can comment on or make changes to this bug.