Wednesday, August 29, 2007

More about Siebel BO, unit of work, service, workflow/task, escript and hacking sif/xml export

More about Siebel BO/unitOfWork, service, workflow/task, less escript by editing sif/xml export

1. Siebel BO and Hibernate unit of work

They are equivalent.

Note: A unitOfWork usually lasts longer (or, a lot of times the same) than a web-request but shorter than a web-session. This is what's called the session-per-"conversation" (for shopping carts or wizards) pattern by the hibernate-guys. If you use session-per-request, then, it is the idea of "view-BO" pair in Siebel -- told you!

2. A way to do minimum scripting

Workflow is good for making business rules explicit for power users. So, even it is now clumsy (not easy to test, drag and drop is much slower than typing in IDE etc), it is good that we keep using it.

So, we only need some "util" services from scripting -- at this level, it should be pure javascript. Not data.

All the logic outside validation and rules should be in workflow units that has low-level workflow logic. Usually this is necessary, because we need transactions (see below).

If we need explicit transaction, then, we use scripting to organize workflow units into a service.

Then, we use a workflow (or a task) to wire those workflow units, connect it to a big button or a web service.

3. I agree with the philosophy of less eScript, declarative programming is good. However, declarative does not mean "clicking": I believe Siebel is evil in this regard. There is a loophole here, I am going to hack it -- we can edit the sif/xml export files!


Post a Comment

Subscribe to Post Comments [Atom]

<< Home