[
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