Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Communications Framework (ECF) » ECF Clients/Servers questions
ECF Clients/Servers questions [message #621625] Thu, 14 February 2008 14:21 Go to next message
Patrick Dempsey is currently offline Patrick DempseyFriend
Messages: 2
Registered: July 2009
Junior Member
I have two questions about ECF.
My first question has to do with an understanding of how the concept of
clients and servers work, using the
org.eclipse.ecf.examples.remoteservices.client and .server as the
example. Both the .client and the .server are really
ECF_GENERIC_CLIENTS, and need an ECF Server to be up and running in
order to work. The default server is at
ecftcp://ecf.eclipse.org:3283/server The
org.eclipse.ecf.examples.remoteservices.server is not a stand alone
server that org.eclipse.ecf.examples.remoteservices.clients can connect
to. Is that correct?

Second:
Do you have an example or thoughts on the pattern to use for
reconnecting clients. I have a simple ecf client/server based on the
org.eclipse.ecf.examples.remoteservices. examples, and run them on my
local machine with the server bundle running in the same runtime as my
ecf generic server on my local machine. Sometimes the ecf generic
server starts after my server which causes my server to not be able to
connect and it throws a org.eclipse.ecf.core.ContainerConnectException.
Do you just recommend spawning a thread, trying to connect catching
the connect exception, waiting some period of time and trying again?

Thanks,
Patrick
Re: ECF Clients/Servers questions [message #621626 is a reply to message #621625] Thu, 14 February 2008 16:35 Go to previous message
Scott Lewis is currently offline Scott LewisFriend
Messages: 975
Registered: July 2009
Senior Member
Hi Patrick,

Patrick Dempsey wrote:
> I have two questions about ECF.
> My first question has to do with an understanding of how the concept of
> clients and servers work, using the
> org.eclipse.ecf.examples.remoteservices.client and .server as the
> example. Both the .client and the .server are really
> ECF_GENERIC_CLIENTS, and need an ECF Server to be up and running in
> order to work. The default server is at
> ecftcp://ecf.eclipse.org:3283/server The
> org.eclipse.ecf.examples.remoteservices.server is not a stand alone
> server that org.eclipse.ecf.examples.remoteservices.clients can connect
> to. Is that correct?

Yes. That's correct. The
org.eclipse.ecf.examples.remoteservices.server is a server WRT the
service provided (IRemoteEnvironmentInfo)...but you are correct that it
is a client in a pub/sub group hosted at
ecftcp://ecf.eclipse.org:3283/server

This was a design choice, however...not imposed by ECF at all. It is
just as possible to connect directly to a given target (not a pub/sub
group), and proceed with using the remote services API as shown in this
example. In fact, other providers have other characteristics in this
regard...in the case of r_OSGi as a provider, for example, the connect
target is a peer (rather than a pub/sub group).

>
> Second:
> Do you have an example or thoughts on the pattern to use for
> reconnecting clients. I have a simple ecf client/server based on the
> org.eclipse.ecf.examples.remoteservices. examples, and run them on my
> local machine with the server bundle running in the same runtime as my
> ecf generic server on my local machine. Sometimes the ecf generic
> server starts after my server which causes my server to not be able to
> connect and it throws a org.eclipse.ecf.core.ContainerConnectException.
> Do you just recommend spawning a thread, trying to connect catching the
> connect exception, waiting some period of time and trying again?

For this use case (timing issues on startup) I believe a good answer is
'yes' . You will have to define some simple rule for giving up that
makes sense with your environment (i.e. after 5 minutes of trying give
up) but if you expect to have your server be reliable then the strategy
you define should be OK.

BTW, there are real/known limits to the generic server's scalability.
It wasn't intended or designed to be truly scalable. If you are
intending to do a more serious messaging server implementation I would
suggest using one of the jms or jgroups providers available at

http://ecf1.osuosl.org

or use another, commercial implementation and create your own provider
(e.g. tibco, etc., etc). If you do so, please consider sharing it with
the community!

Thanks,

Scott
Previous Topic:ECF 2.0.0 milestone 5 now available
Next Topic:Reminder: ECF conference call TODAY 2/19/2008
Goto Forum:
  


Current Time: Sat Dec 20 18:09:15 GMT 2014

Powered by FUDForum. Page generated in 0.01629 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software