3 Replies Latest reply on Jan 29, 2010 4:23 AM by kukeltje

    Multi-client/tenant capability

    tdtappe

      I have some application with multi-client capability. For instance each table in my database has a "tenant" column to separate all clients from each other. And I would like to also have all jBPM data in my database, too. But of course all clients/tenants should only see "their" jBPM data.

      What would be the best approach to integrate jBPM into this scenario?

       

      --Heiko

        • 1. Re: Multi-client/tenant capability
          kukeltje

          your ui layer should prevent them from seeing eachothers running processinstances. If you have tasks assigned to someone from company a they are not visible to someone from company b. Or do I miss something? In that case you have to be way more specific.

           

          Ronald

          • 2. Re: Multi-client/tenant capability
            tdtappe

            As I am new to jBPM this might be a silly question... but what about USER/GROUP stuff for instance? There will definitely be a user JOHN in company a and also in company b. And they are not related to each other in any way.

            And there might be other queries to the process engine that should only return results concerning the current company.

             

            --Heiko

            • 3. Re: Multi-client/tenant capability
              kukeltje

              For jBPM these are just strings and you do not need to use the identity tables if you pass id's as strings yourself. So e.g. in the real IDM system, make the id's you pass to jBPM have e.g. the company/id name as a prefix, like A_JONHN (or JOHN_A) and when querying for tasks do the same (e.g. in your webapp)

               

              You can also easily plugin your own IDM that does all this for you. So jBPM does not care :-)