Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ECF Remote Services"

m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Scott has been fooling around with designing a remote OSGI services API.
+
Scott has been fooling around with designing a remote services API, similar to but not the same as the OSGI services API.
  
 +
See the newly checked in (8//4/2006) org.eclipse.ecf.remoteservice plugin, provider implementation and test code.  See below for project set with the API, provider, and test plugins, or see [http://www.eclipse.org/ecf/resources.html ecf dev resources].
  
Bslow are some ideas for an IRemoteServiceContainer...an adapter interface for registering, finding, and using remote service references.
+
See also the appropriate project set below.
  
See also the newly checked in (7/17/2006) org.eclipse.ecf.remoteservice plugin (see [http://www.eclipse.org/ecf/resources.html ecf dev resources] to get CVS access to the code (in plugins module).
+
Project set file for ECF committers:
 
+
See also this project set (for anonymous CVS access...ECF committers should access via extssh protocol for read/write access):
+
  
 
<pre>
 
<pre>
Line 12: Line 11:
 
<psf version="2.0">
 
<psf version="2.0">
 
<provider id="org.eclipse.team.cvs.core.cvsnature">
 
<provider id="org.eclipse.team.cvs.core.cvsnature">
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
+
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
 +
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
 +
<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
 
</provider>
 
</provider>
 
</psf>
 
</psf>
 +
 
</pre>
 
</pre>
  
<pre>
+
Project set file for anonymous CVS access
public interface IRemoteServiceContainer {
+
+
public void addRemoteServiceListener(IRemoteServiceListener listener);
+
public void removeRemoteServiceListener(IRemoteServiceListener listener);
+
+
public IRemoteServiceRegistration registerRemoteService(String [] clazzes, Object service, Dictionary properties) throws ECFException;
+
public IRemoteServiceReference[] getRemoteServiceReferences(ID [] idFilter, String clazz, String filter) throws ECFException;
+
public IRemoteService getRemoteService(IRemoteServiceReference ref) throws ECFException;
+
public boolean ungetRemoteService(IRemoteServiceReference ref);
+
+
}
+
 
+
public interface IRemoteServiceRegistration {
+
public IRemoteServiceReference getReference();
+
public void setProperties(Dictionary properties);
+
public void unregister();
+
}
+
 
+
public interface IRemoteServiceReference {
+
public ID getRemoteID();
+
public Object getProperty(String key);
+
public String [] getPropertyKeys();
+
}
+
 
+
public interface IRemoteService {
+
public Object callSynch(IRemoteCallable call) throws ECFException;
+
public AsynchResult callAsynch(IRemoteCallable call) throws ECFException;
+
public void fire(IRemoteCallable call) throws ECFException;
+
}
+
 
+
public interface IRemoteCallable {
+
public String getMethod();
+
public Object [] getParameters();
+
public Dictionary getProperties();
+
public long getTimeout();
+
}
+
  
 +
<pre>
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<psf version="2.0">
 +
<provider id="org.eclipse.team.cvs.core.cvsnature">
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
 +
<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
 +
</provider>
 +
</psf>
 
</pre>
 
</pre>
 +
 +
[[Category:Eclipse Communication Framework|Remote Services]]

Latest revision as of 22:44, 14 November 2006

Scott has been fooling around with designing a remote services API, similar to but not the same as the OSGI services API.

See the newly checked in (8//4/2006) org.eclipse.ecf.remoteservice plugin, provider implementation and test code. See below for project set with the API, provider, and test plugins, or see ecf dev resources.

See also the appropriate project set below.

Project set file for ECF committers:

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
	<provider id="org.eclipse.team.cvs.core.cvsnature">
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
		<project reference="1.0,:extssh:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
	</provider>
</psf>

Project set file for anonymous CVS access

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
	<provider id="org.eclipse.team.cvs.core.cvsnature">
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.provider.remoteservice,org.eclipse.ecf.provider.remoteservice"/>
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/plugins/org.eclipse.ecf.remoteservice,org.eclipse.ecf.remoteservice"/>
		<project reference="1.0,:pserver:dev.eclipse.org:/home/technology,org.eclipse.ecf/tests/org.eclipse.ecf.test.remoteservice,org.eclipse.ecf.test.remoteservice"/>
	</provider>
</psf>

Back to the top