4 Replies Latest reply on Apr 14, 2010 9:28 AM by swiderski.maciej

    jBPM integration

    koen.hermans

      hi,

       

      I'm doing my internship at a document management company. My assignement is to integrate jBPM with their own system.

       

      I've never worked before with jBPM, so I've first learned the basics of jBPM. Now I know the basics, I'm looking for possibilities to integrate it. They've told me I had to try to find a solution to work only with the services and not with hibernate. I know it's possible if you work on your local pc, I've made examples with just working with the services, but as far as I know this isn't possible when you use it on your network, accessing data from jBPM remotely. Than you need hibernate. Am I correct?

       

      Further, I have to make an abstraction layer. I'm not really the programmer-type, so can anyone help me with give me some information on making an abstraction layer for jBPM?

       

      grtz

        • 1. Re: jBPM integration
          rebody

          Hi keon,

            Why do you think the service layer of jBPM4 is not enough? If you only use the interface in the api package, you needn't face to hibernate directly. Even if you want to make some extension for pvm, you could create your owner Command. Maybe you could clarify your requirements, then we could go deeper.

          • 2. Re: jBPM integration
            koen.hermans

            Thanks for the fast answer, I'll try to give you some more information....

             

            actually I don't know if the service layer is enough. I've searched this community-site and I thought they said that you need 'hibernate' for accessing jBPM remotely.

             

            In this company, where I do my internship, they work with a Document management system, but they want to integrate it with jBPM to have better workflows.

            So it must be possible to start a workflow in their ECM en let it execute by jBPM, if you understand what I mean.

            Therefore they asked me to make an abstraction layer and try to let jBPM work without the hibernate.

             

            At the end it must be possible to access the tasks, which are kept within the jBPM part, from their own ECM and all this without using hibernate.

            I've tried this allready on my PC with using the ProcessEngine and TaskService and it worked well, but they told me that this was only possible because I was working locally. When you try this remotely from another PC, you'll need hibernate.

             

            I hope that you have enough information to help me.

             

            grtz

            • 3. Re: jBPM integration
              rebody

              Hi Koen,

                There are some scenario where we have to use hibernate in jBPM.

                1.You want to do advanced query for jBPM database. The query interface is not enough, it only provides simple feature.

                2.You want to access jBPM database directly. When you want to do some extension for jBPM, sometimes you have to use hibernate to access jBPM directly.

               

                I guess your company just want to use a process engine to invoke their services automatically, so they don't want to let hibernate to add complex operation. If your process isn't very complex, I think the service of jBPM could fulfill your requirements.

               

              But you have to understand that the jBPM is just a processEngine kernal. There are many things should do around it.

              1 of 1 people found this helpful
              • 4. Re: jBPM integration
                swiderski.maciej

                Hi,

                 

                you can use the REST interface (JSON) that is part of the distribution. It provides quite basic functionality but in most cases it is quite enough.

                 

                You can find another REST interface (XML) that was built by on of community users on the forum. Just search for REST on jbpm forum. There is even really nice wiki page describing that.

                 

                HTH

                Maciej