none
Qual o conceito de long-running transaction workflow?

    Question

  • Olá, novamente estou aqui com mais uma dúvida.

    Qual o conceito de long-running transaction workflow?

    Pesquisei bastante na net, mas td q eu acho é mto teórico e técnico, mto dificil o entendimento. Se alguer puder ajudar com o conceito, ou ainda um exemplo prático. Creio q isso será útil ao meu projeto.

     

    Mto obrigado!

    Thursday, October 11, 2007 1:28 PM

Answers

  • Oi !

     

    Long-running : De longa duração, cuja execução pode demorar dias. Esse tipo de workflow normalmente tem interações humanas que causam esta demora.

     

    Transactional : Transacional. Se depois de dias executando o processo algo de errado for descoberto, tudo o que foi feito até então é desfeito.

     

    WorkFlow : É workflow mesmo.

     

    []'s

     

    Meu Blog : http://blog.dennestorres.com.br

     

     

     

    Sunday, October 14, 2007 1:07 AM
  • Fornachari,

     

    é uma transação que não tem um tempo definido para terminar, ou seja, é esperado que dure um período considerável de tempo. O conceito de transação é ou "tudo" ou "nada", ou seja, se um processamento envolve vários passos, em uma transação, ou todos os passos são concluídos com sucesso ou, caso algum dê problema, os passos já executados devem ser desfeitos, voltando-se ao estado original.

     

    Em uma transação de longa duração, existe essa mesma funcionalidade, permitindo que passos executados anteriormente, sejam desfeitos ou não, dependendo do resultado. Imagine um workflow no qual uma das atividades seja a aprovação de um gerente. Não temos como controlar quando essa aprovação será feita: pode ser no mesmo dia, na semana que vem, no mês que vem, etc. Vai depender de uma série de fatores: o gerente pode não estar no local de trabalho porque está visitando um cliente, pode estar de licença médica, pode estar de férias, etc. Nesses casos se aplicaria esse conceito de transação de longa duração.

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Sunday, October 14, 2007 3:49 PM

All replies

  • Oi !

     

    Long-running : De longa duração, cuja execução pode demorar dias. Esse tipo de workflow normalmente tem interações humanas que causam esta demora.

     

    Transactional : Transacional. Se depois de dias executando o processo algo de errado for descoberto, tudo o que foi feito até então é desfeito.

     

    WorkFlow : É workflow mesmo.

     

    []'s

     

    Meu Blog : http://blog.dennestorres.com.br

     

     

     

    Sunday, October 14, 2007 1:07 AM
  • Fornachari,

     

    é uma transação que não tem um tempo definido para terminar, ou seja, é esperado que dure um período considerável de tempo. O conceito de transação é ou "tudo" ou "nada", ou seja, se um processamento envolve vários passos, em uma transação, ou todos os passos são concluídos com sucesso ou, caso algum dê problema, os passos já executados devem ser desfeitos, voltando-se ao estado original.

     

    Em uma transação de longa duração, existe essa mesma funcionalidade, permitindo que passos executados anteriormente, sejam desfeitos ou não, dependendo do resultado. Imagine um workflow no qual uma das atividades seja a aprovação de um gerente. Não temos como controlar quando essa aprovação será feita: pode ser no mesmo dia, na semana que vem, no mês que vem, etc. Vai depender de uma série de fatores: o gerente pode não estar no local de trabalho porque está visitando um cliente, pode estar de licença médica, pode estar de férias, etc. Nesses casos se aplicaria esse conceito de transação de longa duração.

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    Sunday, October 14, 2007 3:49 PM
  • Dennes e Ricardo, foi muito útil o post de vcs, agora entendi bem. Qdo eu pesquisei na net, este conceito era passado de uma forma mto teorica.

     

    Agora, não querendo abusar, mas para implementar este conceito de long-running transaction pelo que verifiquei podemos usar um conceito chamado de Persistência, certo, q eh uma forma de armazenar em qual estado que o workflow parou. Para isto utilizamos um serviço de persistência chamado SqlWorkflowPersistenceService (achei  algumas outras formas q deve ser variações do SqlWorkflowPersistenceService, q são:

    SqlTrackingService e SQLStatePersistanceService, q ainda estou tentando entender a diferença entre esses).

    Tb estou estudando a respeito disso, vcs teriam alguma dica ou algum site para indicar sobre persistencia no WF e o uso do SqlWorkflowPersistenceService, pois em cada lugar ensina de um jeito, e para mim q nunca trabalhei com WF, fica um pouco confuso.

     

    Mto obrigado a ajuda!

     

    Monday, October 15, 2007 3:54 PM
  • Oi !

     

    Existe 2 vídeos de webCasts passados disponíveis aqui no Midia Center do MSDN Brasil. Um de 1 hora, sofre WF, outro um pouco mais longo, pois foi um Saturday Night Code. Em ambos os vídeos isso é explicado. Depois comente aqui as dúvidas que sobrarem...

     

    []'s

     

    Meu Blog : http://blog.dennestorres.com.br

     

     

     

    Monday, October 15, 2007 5:48 PM
  • Ola Dennes, vlw pela dica!

    Eu já tinha baixado os dois webcasts, o menor eu já assisti (q eh com o Daniel Oliveira) mas não esclarecia como fazer a persistência, qdo arranjar um tempo vou assistir o maior, creio q deve ter o q preciso msm, se não me falhe a memória, foi feito por vc e pelo Daniel Oliveira neh.

     

    Vlw a ajuda, qualquer duvida posto aqui!

    Monday, October 15, 2007 9:51 PM
  • Oi !

     

    Realmente, desculpe pela gafe...

     

    Daniel fez diversos webCasts sobre Workflow, creio que inclusive um sobre um framework de workflow para web, muito legal...

     

    Mas quando falei "o menor" me referia ao que eu fiz, de 1 hora, que está lá no Midia Center. O maior, o Saturday Night Code, foi feito por mim e pelo Daniel, em conjunto. Em ambos existe a explicação de persistência. Por mais que exista alguma redundância, vale assistir aos 2

     

    []'s

     

    Meu Blog : http://blog.dennestorres.com.br

     

     

    Monday, October 15, 2007 10:13 PM