Hi, All --

I agree that automated migration is probably too difficult to achieve as a meaningful feature.

I can certainly imagine that wizard-like tools for migrating instances would be useful, but those would really be the kind of thing that a combined business/process expert would use -- select which activities are enabled in the new model (discarding any history), apply transformations to existing variables, set correlation keys, and then dehydrate. (Ode's state model makes it possible to work with instance state outside of the server runtime, but I don't know of anyone who's done that outside of a lab environment.)

I *do* like the idea of save/load from serialized format (XML or other) in the management API, since that might give a way to migrate an instance between, say, a staging environment and a production environment.

Just my $0.02.

-- Paul

On Jan 20, 2009, at 10:32 AM, Tammo van Lessen wrote:

Hi,

I absolutely agree. I was just feeding from a researchers point of view. From the BPEL engine implementer's point of view I strongly believe that instance migration should not be an immediate task of a workflow engine.
It should however be capable of supporting multiple versions of a
process model (with a gentle migration phase, i.e. running process
instance are completed following the old model while new instances are
created according to the new model), like ODE does.

If there were tools which help developers to identify [1] and create a
meaningful diff between BPEL process models we could think about
mechanisms to apply such a patch to migrate the process status. But this
is IMO right after "incorporate alien technology" on the our roadmap.

Best,
 Tammo

[1] http://dbis.eprints.uni-ulm.de/335/1/DKE_WRR08.pdf

Andres P. Ferrando wrote:
I think that automatic Process migration isn't something useful to
achieve. All process definitions have a background process that covers a business need, and that cannot be expressed there. So, even when in the new definition there exists the same activity unmodified, you can't be
sure that the best option is to kept instances in this step.
So, IMO perhaps a better option could be to have some tool that helps in
migration tasks, allowing to define source and targets activities for
process instances. But I repeat: that helps a person that understands
the business to do it, and not that tries to do it by itself. It could
automatically do a suggestion, but no more than this.

Regards,

Tammo van Lessen wrote:
Hi,

Matthieu Riou wrote:
On Sun, Jan 18, 2009 at 1:37 PM, Rafal Rusin <[email protected]>
wrote:

Hello,

recently I added feature request:
https://issues.apache.org/jira/browse/ODE-483

It's about adding save/load process instances to/from XML in management
API.
I'd like to hear from you, what's the best solution from your (user's)
perspective.

This is a pretty hard problem. Saving and reloading the instance
state is
the easy part, migrating it to a new definition is where it gets hairy. Generally speaking, automagically migrating any process definition to
a any
new one is impossible, too many cases are undecidable. So whichever tool gets used to do that migration will need human input to know what to
do in
all but simple cases (which might already be interesting). The
question then
becomes how to describe a transformation from one process definition to
another. With a relational database you would use SQL to alter the
schema
and update data. There's no equivalent for processes.

I'm not aware of much literature directly in that field although
Tammo may
be able to point you to some papers.

Instance migration is definitely a non-trivial problem, though very
interesting. The guys in Ulm have done a lot of research in this field [1], I think it is a good starting point (also to find related work).

Best,
 Tammo

[1]http://www.uni-ulm.de/en/in/institute-of-databases-and-information-systems/research/projects/adept2.html






Reply via email to