[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] DS + ECF + RFC119 + EMF Workflow example?
|
I created https://bugs.eclipse.org/bugs/show_bug.cgi?id=293125 to
track this.
Bryan
On Oct 21, 2009, at 1:02 PM, Scott Lewis wrote:
Hi Bryan,
Bryan Hunt wrote:
Hi Scott,
It just occurred to me that creating a demo using DS + ECF + RFC119
+ EMF Workflow could be a very interesting display of the
technology. One of the things I've been needing to do is add the
ability to migrate a workflow from one server to another (think if
it as a controlled worm). We could set up a DS that runs a
workflow, and a workflow orchestration strategy that looks for a
service using a filter to run the next stage of the workflow. The
service would be remote which would transfer the workflow to that
server to execute the next stage. Interested?
Yes, very much so. I agree that the DS+remote services+EMF workflow
is a very nice use case.
If you agree and if possible, I would like to get a very small (to
start) set of bundles that show the basics such a thing into the ECF
examples area...along with wiki-based tutorial docs. (My model
these days is the load balancing example that I just did). Would
this be possible for you and/or me/others to work on cooperatively?
Again I think this is a terrific idea...to show not only DS+remote
services, but also drive it with the EMF workflow use case (I like
your recent blog posting, BTW). What can/should I do to help?
BTW, there is one thing that was added in ECF 3.1 that I've
forgotten to mention/document yet...that may be interesting/useful
to you and others that are using DS with remote services. It's this
interface (new/present in 3.1):
org.eclipse.ecf.remoteservice.IRemoteServiceProxy
I also modified the r-osgi and ecf generic remote services provider
impl to *add this interface to any proxy that's created*. So, for
example, if (using DS) you have a service binding that's something
like:
void bind(IHello remoteServiceProxy) <-- this method gets called
by DS when an IHello remote service proxy gets discovered/created.
It's now possible for the code that uses the proxy to have code like
this:
void bind(IHello remoteServiceProxy) {
if (remoteServiceProxy instanceof IRemoteServiceProxy) {
IRemoteService remoteService = ((IRemoteServiceProxy)
remoteServiceProxy).getRemoteService();
// use IRemoteService! ...e.g. asynchronous messaging,
futures, etc. }
else {
// it's not a remote service proxy...so we just use it as we
would have before...i.e. as a transparent remote reference
}
}
Again, I'm not trying to 'hide' this or anything, I just haven't had
the time recently to document it properly. Thought several folks
might be interested in this, as it allows DS-based clients (that
will be bound to the service instance by DS) to access the ECF-
provided alternative calling patterns (i.e. non-blocking messaging,
etc).
Thanks for listening...I'll put this into the wiki and then it will
be more properly documented :)...and will send a note to ecf-dev as
well.
Scott
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev