Skip to main content

[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



Back to the top