So...

Consider service S that has two modes of operation.
1. Clients can access its functionality as usual and gets back the
result.
2. It takes part in a process as follows:
- takes appropriate entries from a space
- calls its own public method as in 1.
- calls another service (D) with the result

I guess it tries to accomplish too much, so steps in 2 should be a
separate "coordinating" service's (CS) job.

This was my idea at first version: service A calls S, then with the
results calls D. However A has already enough duty (can be quite
engaged with them) and as other processing needs may arise in the
future, I do not want to keep them within A. Hence the plan is A
places info into JavaSpace for further processing by either S
or CS.
So instead of A-S-D(from A) now I have either A-JS-S-D, or A-JS-CS-S-D(from
CS) chain of
process.
Pros: CS can really be a coordinator among many processing steps by
ordering them and knowing when to finish, cleaner responsibilities
Cons: more complex, more places for possible errors

I would like to know how you think about the above scenarios.
Thanks!

Zsolt

Reply via email to