1 2 Previous Next 22 Replies Latest reply on Mar 18, 2007 10:22 PM by kukeltje Go to original post
      • 15. Re: Embedded FTP Server and FTP Clients
        bill.burke

         

        "mark.little@jboss.com" wrote:
        "bill.burke@jboss.com" wrote:
        Mark, this is what we've been arguing about privately over email. JBPM provides support for long-term flows, and because the flow definition/metadata can either be persisted or travel with the message, federation would be supported.


        I'm pretty sure we've established that this is a good thing for us to support on the ESB.


        In my mind, even compensating transactions could be covered in the process flow definition. You either rollback in a local transaction to your original save point in the message flow and start over, or you catch the problem and transition to the compensating part of the defined message flow.


        Until I see an implementation of a process engine that uses a transaction engine as its core for compensations, I'm not convinced that compensations are truly supported. Something like WS-BA (or one of the other dozen or so compensation transaction models) require durability, coordination and reliability characteristics that are often just ignored by process engines (both commercial and open source), leaving a lot up to the user.


        Wasn't thinking about crash and recovery. Still, don't compensations have to be more business process oriented usually anyways?

        Bill

        • 16. Re: Embedded FTP Server and FTP Clients
          marklittle

          Yes, but that doesn't mean you can't tie them into being driven by a coordinator. Afterall, rollback is a backward compensation. BTW, we can support this with ArjunaCore :-)

          • 17. Re: Embedded FTP Server and FTP Clients
            kukeltje

            backward compensation yes, but how to roll back a message already sent via smtp? or a file transported to a remote system wich already picked that up? or even webservices (I think it will take at least a year, maybe two before ws transactions et al is seriously used in a wide environment) That is also why jbpm has not implemented this in the latest versions (it was in 2.0 but left out in 3.x)

            Untill then and even after then I agree with Bill that it should mainly be corrected at the business level and for that you do not need a transactionmanager, but more like a bpel or jpdl engine...

            • 18. Re: Embedded FTP Server and FTP Clients
              bill.burke

              So, do we want an Embedded FTP Server in MP1?
              Do we want to update the testsuite to use the FTP Server?

              • 19. Re: Embedded FTP Server and FTP Clients
                marklittle

                You misunderstand. You need a reliable coordinator to record the compensations and trigger them when necessary. A rollback is a compensation that is triggered, either by the application or by the recovery subsystem. A forward compensation is just the same: the information about which compensation to trigger and when, needs to be durably recorded and replayed when/if necessary. Believe it or not, but failures during compensation do occur.

                As far as compensations are concerned, if you're doing forward compensation then they are often tied to the application or business logic and not generally applicable. Take a look at the OMG Additional Structuring Mechanisms for the OTS, or the Java Activity Service specifications for some examples of what I mean (although I'm fairly sure you understand). Some BPEL engines are implemented on these frameworks. What those frameworks do is generalise a coordinator (what you've called a transactionmanager) so that it can do forward or backward recovery.

                Although we have an implementation of these frameworks, ArjunaCore isn't it, but is similar. It allows for the structured relaxation of the ACID properties in "transaction" coordination as defined by Jim Gray in his original IBM technical report. (It was actually the basis of some of the work I mentioned above.)

                BTW, compensation transactions (including WS-BA) are being used today in some pretty important and mission critical environments. Compensations aren't new and many vertical sectors have been using them ad hoc for nearly 20 years. What they've been doing over the past 5 years is moving to the standards.

                • 20. Re: Embedded FTP Server and FTP Clients
                  marklittle

                   

                  "bill.burke@jboss.com" wrote:
                  So, do we want an Embedded FTP Server in MP1?
                  Do we want to update the testsuite to use the FTP Server?


                  I'd say so.

                  • 21. Re: Embedded FTP Server and FTP Clients
                    marklittle

                     

                    "kukeltje" wrote:
                    backward compensation yes, but how to roll back a message already sent via smtp? or a file transported to a remote system wich already picked that up? or even webservices (I think it will take at least a year, maybe two before ws transactions et al is seriously used in a wide environment) That is also why jbpm has not implemented this in the latest versions (it was in 2.0 but left out in 3.x)

                    Untill then and even after then I agree with Bill that it should mainly be corrected at the business level and for that you do not need a transactionmanager, but more like a bpel or jpdl engine...


                    BTW, if you want to continue this discussion let's take it to a different topic (maybe even the jBPM forum?) or email.

                    • 22. Re: Embedded FTP Server and FTP Clients
                      kukeltje

                      The jBPM dev forum would be a great place. I know Tom has some ideas in this area (I just know some basics ;-) ) but he's not quite sure how to implement it (afaik, but that could have changed).

                      And yes, you are right about needing a controler, and right again about it being used atm, but afaik in fairly controled environments, not in 'just any webservice based service between random organisations'

                      1 2 Previous Next