Discussions

News: New Article: Getting Started with jBPM and Spring

  1. New Article: Getting Started with jBPM and Spring (13 messages)

    Business process management (BPM) provides a way of modeling and running long-lived processes across multiple steps. Josh Long demonstrates a BPM implementation using jBPM with Spring for a real application that includes transactional Hibernate usage, DAOs, and examples on Quartz and a simple Struts application. Read Article

    Threaded Messages (13)

  2. Link is broken![ Go to top ]

    arg
  3. Good Article[ Go to top ]

    Very Nice article Josh, it would have been informative if you had explained, how business rules can be integrated into jBPM more clearly. How ever, i like this article as it brings good insight about jBPM. Thanks Very Much. -Srinivas
  4. page format[ Go to top ]

    It would be nice if the page stayed within the browser windows so that I don't have to scroll right and left to read the article. As a remark, it's much easier to read a text if you don't have to move your eyes. I don't remember exaclty but I think that about 12-15 centimeter is a good column width. But most important is to eliminate scrolling sideways.:-)
  5. About[ Go to top ]

    Getting Started with jBPM and what? Sorry, couldn't resist :)
  6. BPM editor.[ Go to top ]

    I have always been frustrated not to have a Java editor for BPM models. That makes deployment really tough. Anyone knows about a (open-source?) Java/Swing editor for BPM?
  7. Re: BPM editor.[ Go to top ]

    It sort of depends on what you're looking for. BPM diagrams are essentially activity diagrams with swim lanes. So any good UML tool will let you model a BPM process. Building an executable diagram, however, is quite a different matter. JBoss's jBPM Eclipse integration doesn't let you draw more advanced design patterns without descending into the technical side. Vendors providing support for BPEL will usually ship an editor that works just fine, usually dealing with the XPDL format. The saving grace about jPDL and the JBoss Eclipse tool is that it's a good enough visual tool for the 80% cases, and it's easy enough to write by hand if you're ever in a position where you need to synchronize a Activity diagram with the process definition. As to actual tools, I'd recommend JBoss' jBPM Eclipse tooling, TIBCO Business Studio (which is also an Eclipse integration), and something like MagicDraw, which is my favorite.
  8. Dead technology or slow to start?[ Go to top ]

    Here is a link to the jPDL documentation: http://docs.jboss.com/jbpm/v3.2/userguide/html_single/ The mailing list only has a 19 threads since its inception in 2005, and only two of them have followups. (That's jbpm-users) There is a version 3 tutorial here: http://docs.jboss.org/jbpm/v3/userguide/tutorial.html And a version 2 tutorial here: http://www.jboss.com/products/jbpm/docs/tutorial Where does JBoss recommend questions regarding jBPM be asked?
  9. jboss forums[ Go to top ]

    The jboss forums is where the actions is http://www.jboss.com/index.html?module=bb&op=viewforum&f=217 23000 posts .. it is fairly active, and there seem to be a few keeners on the forums that provide helpful responses.
  10. Re: Dead technology or slow to start?[ Go to top ]

    Nooo, don't get started with Spring, Spring insults to the open source community and it is a piece of garbage. Spring is KAPUT!.
  11. Article is a bit misleading[ Go to top ]

    Having recently done jbpm and Spring integration I found this article a little misleading, and I kind of doubt that the author really has a properly working implementation. The spring modules project that glues together jbpm and spring is poorly documented, poorly supported on the spring forums, and generally very difficult to get working for non trivial applications. The most valuable part of the spring modules project is the proxy code that allows actions to be implemented as spring beans. The rest... at times I questioned if the developers for the modules project understood what they were doing.
  12. Love it![ Go to top ]

    Great article! Keep up the good work!
  13. Tutorial does not work[ Go to top ]

    Could you help me with the following issues with the tutorial? Apparently some important items are missing or I did not get the deployment right. I built with Maven and tried to deploy the services-endpoint war to Glassfish V2ur2, but I only get a directory listing. It seems that the index page and the spring webflow is missing in the tutorial sources. I do not know what to do with the services-client.jar. I also tried http://localhost:8080/services-endpoint/userManagmentService.service, which leads to the errors below. Best regards Dietrich --- snip --- javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.XWS_ClientProvider.property.signature.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "domain.applications.lifecycle-module.JBIFramework.property.com.sun.jbi.home" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.XWS_ServerProvider.property.encryption.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ClientProvider.property.security.config" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ClientProvider.property.encryption.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ServerProvider.property.security.config" javax.management.InstanceNotFoundException: No object matches the specified name "server.applications.lifecycle-module.JBIFramework.property.com.sun.jbi.home" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ClientProvider.property.dynamic.username.password" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ServerProvider.property.signature.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.XWS_ClientProvider.property.dynamic.username.password" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.XWS_ClientProvider.property.encryption.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ClientProvider.property.signature.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.ServerProvider.property.encryption.key.alias" javax.management.InstanceNotFoundException: No object matches the specified name "server.security-service.message-security-config.SOAP.provider-config.XWS_ServerProvider.property.signature.key.alias" StandardWrapperValve[remoting]: PWC1406: Servlet.service() for servlet remoting threw exception java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780) at java.io.ObjectInputStream.(ObjectInputStream.java:280) at org.springframework.remoting.rmi.CodebaseAwareObjectInputStream.(CodebaseAwareObjectInputStream.java:85) at org.springframework.remoting.rmi.CodebaseAwareObjectInputStream.(CodebaseAwareObjectInputStream.java:70) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.createObjectInputStream(HttpInvokerServiceExporter.java:194) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:159) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.readRemoteInvocation(HttpInvokerServiceExporter.java:140) at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:116) at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:475) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:430) at javax.servlet.http.HttpServlet.service(HttpServlet.java:718) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
  14. Re: Tutorial does not work[ Go to top ]

    just from a cursory look at your stack trace, it looks as though you're trying to speak SOAP to the services being vended from server application? The original example was using Spring's own HTTP/Invoker protocol, not SOAP. I'm not sure if you've accounted for this and retrofitted them to vend SOAP (a relatively trivial operation), but that may be part of the problem. Thanks