[jBPM] - BPM Console Proposed Components
by Mauricio Salatino
Mauricio Salatino [https://community.jboss.org/people/salaboy21] modified the document:
"BPM Console Proposed Components"
To view the document, visit: https://community.jboss.org/docs/DOC-18742
--------------------------------------------------------------
This document a set of decoupled documents to provide the functionality that is already provided by the bpm-console
The main focus is to keep all the components as decoupled as possible using a central bus of communication to share information between them.
*
#Process_Components Process Components
**
#1_Process_Definitions_List 1) Process Definitions List
**
#2_Process_Definition_Details 2) Process Definition Details
**
#3_Process_Instances_List 3) Process Instances List
**
#4_Process_Instance_Details 4) Process Instance Details
*
#Global_Requirements Global Requirements
h1. Process Components
This section describe all the component related to Business Processes. This is how the jbpm-console looks right now:
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
This functionality will be decoupled in the following components
h2. 1) Process Definitions List
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
Requirements for this component:
* Query Process Definitions* Use the Rest Implementation
* Provide a pluggable way to hook any runtime (basically using an interface)
* Add filter option by process definition name
* Pagination
* Filter by type of definition
* Refresh
* Double clicking in one of the rows of the list must open the Process Definition Details component
We should have a local implementation to not depend on the jbpm-console server..
@TODO: analyze how the current rest implementation is returning the process definitions. We should list all the process definitions from the VFS, does it have ways of filtering things?
If it does, let's create a local implementation of this service inside the process definitions list widget to avoid using an external component and speed testing.
h2. 2) Process Definition Details
I'm not sure if this was included in the jbpm-console. We should provide a detailed view about the process which should allow us to see the process diagram and the BPMN XML text.
It should also contain a link to edit the process using the process designer which should be provided as a separate component.
@Toni: can we get reuse the code for displaying the diagram of the process here from the old console? or is it in someway using something that we will not have available here?
h2. 3) Process Instances List
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
Requirments for this component:
* Filters (by process definition, started date, state, etc)
* Pagination
* Refresh
* Perspectives (show and hide colums, but we should be able to show all of them from the begining)
* build a local implementations and see if we can use the Rest Services for this. A local service which give us the information required for this shouldn't be difficult to create.
We must avoid for the first version the buttons to create,delete and signal the process instances. That should not be responsability of the process instances list component, see Process Instance Details Component
h2. 4) Process Instance Details
The process instance detail component should be in charge of showing us the current status of a process instance along with the process information and the controls to interact with that specific instance.
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
https://community.jboss.org/servlet/JiveServlet/showImage/102-18742-3-190... https://community.jboss.org/servlet/JiveServlet/downloadImage/102-18742-3...
@TODO add all the actions and parameters for each action.
h1. Global Requirements
For the BPM components perspective we will not deal with authentication or authorizations, that must be provided by the application that is using the components. But there are some basic things
that our components will be waiting in order to decide how to render themselves.
There should be an Administrator Role and also we can create an Owner role that can be mapped to different groups or users.
All the components should recieve and use the role provided by the containing applicaiton.
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-18742]
Create a new document in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
12 years, 5 months
[Beginner's Corner] - Adding Existing JBoss Modules to My App
by Darrin Thompson
Darrin Thompson [https://community.jboss.org/people/darrint] created the discussion
"Adding Existing JBoss Modules to My App"
To view the discussion, visit: https://community.jboss.org/message/746776#746776
--------------------------------------------------------------
I'm trying to port some code I wrote. The purpose of this code is to call out to the rottentomatoes.com api and process the results.
What I have: Eclpise Indigo SP2 + JBoss Tools plugin.
I created a Java EE Web Project from the JBoss Central page. I added RestEASY and Guava to my pom under DependencyManagement. I made sure the versions I called for matched what was in my local JBoss AS7 install. I then added dependencies for both as provided. (Seems like there should be a complete bom for AS7.1.1 or whatever I'm running, but I couldn't find that. Am I doing even this right?)
Then I made a copy of the arquillian test that comes with the sample and I altered it to call my code. I removed the test datasource from the @Deployment method as my code does not require it.
I can run my new JUnit test and my code gets deployed and run. However, once I get to the meat of my code, one of the classes fails to load with:
Caused by: java.lang.ClassNotFoundException: com.google.common.base.Predicate from [Module "deployment.test.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
So that seems reasonable. I haven't written any kind of deployment info telling JBoss to include it's guava module in my classpath. However, Google isn't helping.
1. What do I do to my app to indicate that I want more modules available on my classpath?
2. Is there something in JBoss Tools to expedite this?
Thanks.
--
Darrin
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/746776#746776]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[jBPM] - JBPM 5.3.0.Final, JBoss 7.1.1.Final and Hibernate 4
by Brian Wallis
Brian Wallis [https://community.jboss.org/people/bwallis42] created the discussion
"JBPM 5.3.0.Final, JBoss 7.1.1.Final and Hibernate 4"
To view the discussion, visit: https://community.jboss.org/message/742184#742184
--------------------------------------------------------------
Simple question, can I get JBpm 5.3.0 working running in JBoss 7.1.1 with its version of Hibernate (4.0.1 I think) or do I have to include a version of hibernate with my app.
I am getting an error on startup that seems to be a JPA 1.0/2.0 issue:
14:41:48,263 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 62) MSC00001: Failed to start service jboss.persistenceunit."harvey-ear.ear/workflow.jar#org.jbpm.persistence.jpa": org.jboss.msc.service.StartException in service jboss.persistenceunit."harvey-ear.ear/workflow.jar#org.jbpm.persistence.jpa": javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.persistence.jpa] Unable to build EntityManagerFactory
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:91)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_31]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_31]
at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_31]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.persistence.jpa] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:187)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$500(PersistenceUnitServiceImpl.java:56)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:88)
... 4 more
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: ProcessInstanceInfo, for columns: [org.hibernate.mapping.Column(eventTypes)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:305)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:289)
at org.hibernate.mapping.Property.isValid(Property.java:238)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:468)
at org.hibernate.mapping.RootClass.validate(RootClass.java:270)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1294)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1736)
at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
... 9 more
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/742184#742184]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[jBPM] - getTasksAssignedAsPotentialOwnerByStatus fails when User has no groups
by Justin Robbins
Justin Robbins [https://community.jboss.org/people/jhrobbin] created the discussion
"getTasksAssignedAsPotentialOwnerByStatus fails when User has no groups"
To view the discussion, visit: https://community.jboss.org/message/747599#747599
--------------------------------------------------------------
Hello,
I wasn't sure if I should create a JIRA issue for this or if perhaps I'm simply doing something wrong.
*Summary:*
We are using 5.4 snapshot and after a recent update we are now getting exceptions in SyncTaskServiceWrapper.getTasksAssignedAsPotentialOwnerByStatus when the User is not a member of any groups.
*Detail:*
We have implemented theUserGroupCallback interface for use with our own implementation for user and group management. We have some users who are not a member of any groups. For those users, UserGroupCallback.getGroupsForUser will return empty list.
However, even though there are no groupIds, TaskServiceSession.getTasksAssignedAsPotentialOwnerByStatus still runs the named query "TasksAssignedAsPotentialOwnerByStatus*WithGroups*" and supplies an empty list parm to the query.
When the query is run with an empty list it fails with the following exception:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected end of subtree [select new org.jbpm.task.query.TaskSummary( t.id, t.taskData.processInstanceId, name.text, subject.text, description.text, t.taskData.status, t.priority, t.taskData.skipable, actualOwner, createdBy, t.taskData.createdOn, t.taskData.activationTime, t.taskData.expirationTime, t.taskData.processId, t.taskData.processSessionId) from org.jbpm.task.Task t left join t.taskData.createdBy as createdBy left join t.taskData.actualOwner as actualOwner left join t.subjects as subject left join t.descriptions as description left join t.names as name, org.jbpm.task.OrganizationalEntity potentialOwners where t.archived = 0 and ( potentialOwners.id = :userId or potentialOwners.id in () ) and potentialOwners in elements ( t.peopleAssignments.potentialOwners ) and ( name.language = :language or t.names.size = 0 ) and ( subject.language = :language or t.subjects.size = 0 ) and ( description.language = :language or t.descriptions.size = 0 ) and t.taskData.status in (:status0_, :status1_, :status2_, :status3_) and t.taskData.expirationTime is null]
Please advise.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/747599#747599]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[jBPM] - Logging node-level variable info
by Bob Walker
Bob Walker [https://community.jboss.org/people/bob_walker99] created the discussion
"Logging node-level variable info"
To view the discussion, visit: https://community.jboss.org/message/747561#747561
--------------------------------------------------------------
Hi,
[Stack info: jBPM 5.3.0, Java 1.7, developing on Windows 7, logging to Oracle 11gR2 database, standalone JVM app (i.e. not in any container), using Spring 3.1.1. We join an existing transaction from Oracle before the jBPM process is invoked].
We're trying to create an audit trail through a given process flow and we need to log the state of one or more context variables at the point the flow either enters and exists a given node, and be able to identify the individual process run and what the data was at any point during that process.
We aren't currently persisting the process info (we don't have a requirement to intervene in flows), and there doesn't seem to be ay obvious way to link the variable info at the node level to a specific process info - when we log out the process info id, it is always 1. Do we have to persist the process info to get unique ids for subsequent processes?
It seems a really obvious thing to need to do, but seems really difficult to implement - am I missing something?
Any help gratefully received.
Regards,
Bob
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/747561#747561]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[jBPM] - JBPM5 - usage approaches/patterns question
by darren hartford
darren hartford [https://community.jboss.org/people/dhartford] created the discussion
"JBPM5 - usage approaches/patterns question"
To view the discussion, visit: https://community.jboss.org/message/748023#748023
--------------------------------------------------------------
Hey all,
I've been having some difficulty trying to track down JBPM5 (or, in general, BPM engine) approaches/patterns/architectual mode/deployment model, or some other term I haven't figured out yet ;-)
So, example of what I'm looking for, and I'm hoping someone can help guide towards existing blogs/documentation around this area:
* [master workflow server] JBPM as a separate server, managing many workflows for many 'applications' (application defined as a single domain product, but may have shared components/workflow/subprocesses with other applications). Workflows are created and managed by the server, and 'applications' only make hooks -- an 'application' will not function without the master workflow server.
* [application workflow] JBPM integrated within the server of a N-tier system, focused on only one application.
* [embedded workflow] JBPM integrated in an offline thick client, potentially syncing with a parent system.
* ??? any others I haven't thought of
And then, of course, the pros/cons that people have experienced in each of those approaches, as well as any I may have missed or if I completely mis-understood JBPM's approach. As an older example, when learning BPEL 5-10-odd years ago there was heavy focus on webservices and leaned very much to 'master workflow server' kind of approach as the 'only way', but required a lot of investment before you got any gains. Trying to identify other approaches that may be more lightweight for gradual adoption, or may be better for certain scenarios.
Thanks for any feedback!
-D
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/748023#748023]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months