Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Communications Framework (ECF) » Initial provider implementation complete and available
Initial provider implementation complete and available [message #574045] Mon, 03 January 2005 05:02 Go to next message
Scott Lewis is currently offline Scott LewisFriend
Messages: 975
Registered: July 2009
Senior Member
ECFers,

The ECF team has checked into the ECF codebase the first complete
provider implementation along with updates to the ECF core plugin
(version 0.2.0) and API documentation. The new provider implementation
is in the (new) plugin:

org.eclipse.ecf.provider

For access to the new plugin source code see the project set files at
the bottom of the page: http://www.eclipse.org/ecf/downloads.html
Also see http://www.eclipse.org/ecf/documentation.html for updated API
javadocs.

Below is a brief description of the characteristics of this plugin, and
some example/test code for using it.

Thanks,

Scott


1) It is a full distributed container implementation of the ECF provider
api. For example, it implements the full ISharedObjectContainer
interface, including all the joinGroup/leaveGroup methods, the event
distribution to the ISharedObjectContainerListeners associated with a
container via addListener, as well as functioning implementations of all
the sharedobject create/add/remove/connect/disconnect container methods.
2) It provides a set of base classes for other provider implementations
(ECF implementations and others). These classes are in the package
org.eclipse.ecf.provider.* in the org.eclipse.ecf.provider plugin.
3) It is implemented with a very simple TCP-based group protocol, but
structured so that other 'group transport' layers may replace the simple
TCP implementation...while reusing all the container classes
themselves. For example, one next step is to finish implementations
that run upon JMS (activemq), XMPP (smack) and Java Groups. This should
now be an easy thing because the base classes in
org.eclipse.ecf.provider can be easily extended by classes that
implement these or other wire protocols.
4) It is based upon a client-server messaging topology...the server does
message reflection to all the connected clients to provider
publish-and-subscribe message delivery. Both the client and a
trivial-but-completely-functional server are in the
org.eclipse.ecf.provider plugin (In case you are wondering, for the
client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer and
org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
5) Both the server and client container can run as both a java
application and/or as an Eclipse plugin. What this means is that this
server (in particular) can/could run either on any JRE + OSGI
platform...i.e. as a webapp, as a standalone java application, or within
Eclipse. This provides a good deal of flexibility for ECF users, in
that they can have groups hosted by themselves (just as Eclipse users),
by an app server, or by some other shared server.
6) I generated javadocs for the org.eclipse.ecf.provider plugin and they
are available in the appropriate packages here:
http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
7) There is now a fair amount of trace code in both the org.eclipse.ecf
and the org.eclispe.ecf.provider plugins. To access the tracing for
these plugins, go to the 'Tracing' tab in the Run/Debug dialog (when
defining a run config for a new RunTime Workbench) and turn on desired
tracing for the org.eclipse.ecf and/or org.eclipse.ecf.provider plugins.

Here is some example/test code that creates a client instance of this
new provider:

ISharedObjectContainer clients[i] =
SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");

Here's code for creating a localhost server that listens on port 3282
and has name 'server':

ID serverID =
IDFactory.makeStringID("ecftcp://localhost:3282/server");
Object [] args = new Object [] { new Boolean(false), serverID };
server =
SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);

Note that neither of these code snippets refers to the provider classes
directly at all (just to the
"org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
code referenced by such clients is the ECF core code.

There is a small amount of junit test code in the org.eclipse.ecf.test
plugin. See particularly the unit test code in:

ContainerJoinTest
CreateSharedObjectTest
ContainerListenerTest
MultiContainerJoinTest

for examples of doing client-server 'joinGroup/leaveGroup', shared
object creation, removal from container, setting up a container
listener, and a multi-client (i.e. 10 clients joining/leaving a single
server) test.
Re: Initial provider implementation complete and available [message #574092 is a reply to message #574045] Mon, 03 January 2005 11:48 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5588
Registered: July 2009
Senior Member
scott,

when i checked out the code it comes up with a syntax error
in org.eclipse.ecf.provider.comm.tcp.Client! probably because
the projects where imported with jdk1.5 settings and you use
the "enum" as an identifier. in jdk1.5 it is a keyword!

cheers
/eike



Scott Lewis wrote:
> ECFers,
>
> The ECF team has checked into the ECF codebase the first complete
> provider implementation along with updates to the ECF core plugin
> (version 0.2.0) and API documentation. The new provider implementation
> is in the (new) plugin:
>
> org.eclipse.ecf.provider
>
> For access to the new plugin source code see the project set files at
> the bottom of the page: http://www.eclipse.org/ecf/downloads.html
> Also see http://www.eclipse.org/ecf/documentation.html for updated API
> javadocs.
>
> Below is a brief description of the characteristics of this plugin, and
> some example/test code for using it.
>
> Thanks,
>
> Scott
>
>
> 1) It is a full distributed container implementation of the ECF provider
> api. For example, it implements the full ISharedObjectContainer
> interface, including all the joinGroup/leaveGroup methods, the event
> distribution to the ISharedObjectContainerListeners associated with a
> container via addListener, as well as functioning implementations of all
> the sharedobject create/add/remove/connect/disconnect container methods.
> 2) It provides a set of base classes for other provider implementations
> (ECF implementations and others). These classes are in the package
> org.eclipse.ecf.provider.* in the org.eclipse.ecf.provider plugin.
> 3) It is implemented with a very simple TCP-based group protocol, but
> structured so that other 'group transport' layers may replace the simple
> TCP implementation...while reusing all the container classes
> themselves. For example, one next step is to finish implementations
> that run upon JMS (activemq), XMPP (smack) and Java Groups. This should
> now be an easy thing because the base classes in
> org.eclipse.ecf.provider can be easily extended by classes that
> implement these or other wire protocols.
> 4) It is based upon a client-server messaging topology...the server does
> message reflection to all the connected clients to provider
> publish-and-subscribe message delivery. Both the client and a
> trivial-but-completely-functional server are in the
> org.eclipse.ecf.provider plugin (In case you are wondering, for the
> client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer and
> org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
> 5) Both the server and client container can run as both a java
> application and/or as an Eclipse plugin. What this means is that this
> server (in particular) can/could run either on any JRE + OSGI
> platform...i.e. as a webapp, as a standalone java application, or within
> Eclipse. This provides a good deal of flexibility for ECF users, in
> that they can have groups hosted by themselves (just as Eclipse users),
> by an app server, or by some other shared server.
> 6) I generated javadocs for the org.eclipse.ecf.provider plugin and they
> are available in the appropriate packages here:
> http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
> 7) There is now a fair amount of trace code in both the org.eclipse.ecf
> and the org.eclispe.ecf.provider plugins. To access the tracing for
> these plugins, go to the 'Tracing' tab in the Run/Debug dialog (when
> defining a run config for a new RunTime Workbench) and turn on desired
> tracing for the org.eclipse.ecf and/or org.eclipse.ecf.provider plugins.
>
> Here is some example/test code that creates a client instance of this
> new provider:
>
> ISharedObjectContainer clients[i] =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");
>
>
> Here's code for creating a localhost server that listens on port 3282
> and has name 'server':
>
> ID serverID =
> IDFactory.makeStringID("ecftcp://localhost:3282/server");
> Object [] args = new Object [] { new Boolean(false), serverID };
> server =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);
>
>
> Note that neither of these code snippets refers to the provider classes
> directly at all (just to the
> "org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
> code referenced by such clients is the ECF core code.
>
> There is a small amount of junit test code in the org.eclipse.ecf.test
> plugin. See particularly the unit test code in:
>
> ContainerJoinTest
> CreateSharedObjectTest
> ContainerListenerTest
> MultiContainerJoinTest
>
> for examples of doing client-server 'joinGroup/leaveGroup', shared
> object creation, removal from container, setting up a container
> listener, and a multi-client (i.e. 10 clients joining/leaving a single
> server) test.
>
>
>
>
>
>
>
Re: Initial provider implementation complete and available [message #574122 is a reply to message #574092] Mon, 03 January 2005 15:27 Go to previous messageGo to next message
Scott Lewis is currently offline Scott LewisFriend
Messages: 975
Registered: July 2009
Senior Member
Hi Eike,

Thanks. I've fixed this variable name and checked it in. You should be
able to do an update and get the fix. Thanks!

Scott

Eike Stepper wrote:
> scott,
>
> when i checked out the code it comes up with a syntax error
> in org.eclipse.ecf.provider.comm.tcp.Client! probably because
> the projects where imported with jdk1.5 settings and you use
> the "enum" as an identifier. in jdk1.5 it is a keyword!
>
> cheers
> /eike
>
>
>
> Scott Lewis wrote:
>
>> ECFers,
>>
>> The ECF team has checked into the ECF codebase the first complete
>> provider implementation along with updates to the ECF core plugin
>> (version 0.2.0) and API documentation. The new provider
>> implementation is in the (new) plugin:
>>
>> org.eclipse.ecf.provider
>>
>> For access to the new plugin source code see the project set files at
>> the bottom of the page: http://www.eclipse.org/ecf/downloads.html
>> Also see http://www.eclipse.org/ecf/documentation.html for updated API
>> javadocs.
>>
>> Below is a brief description of the characteristics of this plugin,
>> and some example/test code for using it.
>>
>> Thanks,
>>
>> Scott
>>
>>
>> 1) It is a full distributed container implementation of the ECF
>> provider api. For example, it implements the full
>> ISharedObjectContainer interface, including all the
>> joinGroup/leaveGroup methods, the event distribution to the
>> ISharedObjectContainerListeners associated with a container via
>> addListener, as well as functioning implementations of all the
>> sharedobject create/add/remove/connect/disconnect container methods.
>> 2) It provides a set of base classes for other provider
>> implementations (ECF implementations and others). These classes are
>> in the package org.eclipse.ecf.provider.* in the
>> org.eclipse.ecf.provider plugin.
>> 3) It is implemented with a very simple TCP-based group protocol, but
>> structured so that other 'group transport' layers may replace the
>> simple TCP implementation...while reusing all the container classes
>> themselves. For example, one next step is to finish implementations
>> that run upon JMS (activemq), XMPP (smack) and Java Groups. This
>> should now be an easy thing because the base classes in
>> org.eclipse.ecf.provider can be easily extended by classes that
>> implement these or other wire protocols.
>> 4) It is based upon a client-server messaging topology...the server
>> does message reflection to all the connected clients to provider
>> publish-and-subscribe message delivery. Both the client and a
>> trivial-but-completely-functional server are in the
>> org.eclipse.ecf.provider plugin (In case you are wondering, for the
>> client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer
>> and org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
>> 5) Both the server and client container can run as both a java
>> application and/or as an Eclipse plugin. What this means is that this
>> server (in particular) can/could run either on any JRE + OSGI
>> platform...i.e. as a webapp, as a standalone java application, or
>> within Eclipse. This provides a good deal of flexibility for ECF
>> users, in that they can have groups hosted by themselves (just as
>> Eclipse users), by an app server, or by some other shared server.
>> 6) I generated javadocs for the org.eclipse.ecf.provider plugin and
>> they are available in the appropriate packages here:
>> http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
>> 7) There is now a fair amount of trace code in both the
>> org.eclipse.ecf and the org.eclispe.ecf.provider plugins. To access
>> the tracing for these plugins, go to the 'Tracing' tab in the
>> Run/Debug dialog (when defining a run config for a new RunTime
>> Workbench) and turn on desired tracing for the org.eclipse.ecf and/or
>> org.eclipse.ecf.provider plugins.
>>
>> Here is some example/test code that creates a client instance of this
>> new provider:
>>
>> ISharedObjectContainer clients[i] =
>> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");
>>
>>
>> Here's code for creating a localhost server that listens on port 3282
>> and has name 'server':
>>
>> ID serverID =
>> IDFactory.makeStringID("ecftcp://localhost:3282/server");
>> Object [] args = new Object [] { new Boolean(false),
>> serverID };
>> server =
>> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);
>>
>>
>> Note that neither of these code snippets refers to the provider
>> classes directly at all (just to the
>> "org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
>> code referenced by such clients is the ECF core code.
>>
>> There is a small amount of junit test code in the org.eclipse.ecf.test
>> plugin. See particularly the unit test code in:
>>
>> ContainerJoinTest
>> CreateSharedObjectTest
>> ContainerListenerTest
>> MultiContainerJoinTest
>>
>> for examples of doing client-server 'joinGroup/leaveGroup', shared
>> object creation, removal from container, setting up a container
>> listener, and a multi-client (i.e. 10 clients joining/leaving a single
>> server) test.
>>
>>
>>
>>
>>
>>
>>
Re: Initial provider implementation complete and available [message #574150 is a reply to message #574045] Tue, 04 January 2005 16:55 Go to previous messageGo to next message
Li-Te Cheng is currently offline Li-Te ChengFriend
Messages: 16
Registered: July 2009
Junior Member
Minor typo: the <title> text in the header of the ECF downloads page
(http://www.eclipse.org/ecf/downloads.html) should be corrected to

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>eclipse communication framework downloads</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>

instead of

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>eclipse communication goundation downloads</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>

Li-Te

Scott Lewis wrote:
> ECFers,
>
> The ECF team has checked into the ECF codebase the first complete
> provider implementation along with updates to the ECF core plugin
> (version 0.2.0) and API documentation. The new provider implementation
> is in the (new) plugin:
>
> org.eclipse.ecf.provider
>
> For access to the new plugin source code see the project set files at
> the bottom of the page: http://www.eclipse.org/ecf/downloads.html
> Also see http://www.eclipse.org/ecf/documentation.html for updated API
> javadocs.
>
> Below is a brief description of the characteristics of this plugin, and
> some example/test code for using it.
>
> Thanks,
>
> Scott
>
>
> 1) It is a full distributed container implementation of the ECF provider
> api. For example, it implements the full ISharedObjectContainer
> interface, including all the joinGroup/leaveGroup methods, the event
> distribution to the ISharedObjectContainerListeners associated with a
> container via addListener, as well as functioning implementations of all
> the sharedobject create/add/remove/connect/disconnect container methods.
> 2) It provides a set of base classes for other provider implementations
> (ECF implementations and others). These classes are in the package
> org.eclipse.ecf.provider.* in the org.eclipse.ecf.provider plugin.
> 3) It is implemented with a very simple TCP-based group protocol, but
> structured so that other 'group transport' layers may replace the simple
> TCP implementation...while reusing all the container classes
> themselves. For example, one next step is to finish implementations
> that run upon JMS (activemq), XMPP (smack) and Java Groups. This should
> now be an easy thing because the base classes in
> org.eclipse.ecf.provider can be easily extended by classes that
> implement these or other wire protocols.
> 4) It is based upon a client-server messaging topology...the server does
> message reflection to all the connected clients to provider
> publish-and-subscribe message delivery. Both the client and a
> trivial-but-completely-functional server are in the
> org.eclipse.ecf.provider plugin (In case you are wondering, for the
> client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer and
> org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
> 5) Both the server and client container can run as both a java
> application and/or as an Eclipse plugin. What this means is that this
> server (in particular) can/could run either on any JRE + OSGI
> platform...i.e. as a webapp, as a standalone java application, or within
> Eclipse. This provides a good deal of flexibility for ECF users, in
> that they can have groups hosted by themselves (just as Eclipse users),
> by an app server, or by some other shared server.
> 6) I generated javadocs for the org.eclipse.ecf.provider plugin and they
> are available in the appropriate packages here:
> http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
> 7) There is now a fair amount of trace code in both the org.eclipse.ecf
> and the org.eclispe.ecf.provider plugins. To access the tracing for
> these plugins, go to the 'Tracing' tab in the Run/Debug dialog (when
> defining a run config for a new RunTime Workbench) and turn on desired
> tracing for the org.eclipse.ecf and/or org.eclipse.ecf.provider plugins.
>
> Here is some example/test code that creates a client instance of this
> new provider:
>
> ISharedObjectContainer clients[i] =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");
>
>
> Here's code for creating a localhost server that listens on port 3282
> and has name 'server':
>
> ID serverID =
> IDFactory.makeStringID("ecftcp://localhost:3282/server");
> Object [] args = new Object [] { new Boolean(false), serverID };
> server =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);
>
>
> Note that neither of these code snippets refers to the provider classes
> directly at all (just to the
> "org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
> code referenced by such clients is the ECF core code.
>
> There is a small amount of junit test code in the org.eclipse.ecf.test
> plugin. See particularly the unit test code in:
>
> ContainerJoinTest
> CreateSharedObjectTest
> ContainerListenerTest
> MultiContainerJoinTest
>
> for examples of doing client-server 'joinGroup/leaveGroup', shared
> object creation, removal from container, setting up a container
> listener, and a multi-client (i.e. 10 clients joining/leaving a single
> server) test.
>
>
>
>
>
>
>
Re: Initial provider implementation complete and available [message #574162 is a reply to message #574150] Tue, 04 January 2005 18:11 Go to previous messageGo to next message
Scott Lewis is currently offline Scott LewisFriend
Messages: 975
Registered: July 2009
Senior Member
Hi Li-Te,

Fixed...thanks!

Scott


Li-Te wrote:
> Minor typo: the <title> text in the header of the ECF downloads page
> (http://www.eclipse.org/ecf/downloads.html) should be corrected to
>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <title>eclipse communication framework downloads</title>
> <link rel="stylesheet" href="../default_style.css" type="text/css">
> </head>
>
> instead of
>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <title>eclipse communication goundation downloads</title>
> <link rel="stylesheet" href="../default_style.css" type="text/css">
> </head>
>
> Li-Te
>
> Scott Lewis wrote:
>
>> ECFers,
>>
>> The ECF team has checked into the ECF codebase the first complete
>> provider implementation along with updates to the ECF core plugin
>> (version 0.2.0) and API documentation. The new provider
>> implementation is in the (new) plugin:
>>
>> org.eclipse.ecf.provider
>>
>> For access to the new plugin source code see the project set files at
>> the bottom of the page: http://www.eclipse.org/ecf/downloads.html
>> Also see http://www.eclipse.org/ecf/documentation.html for updated API
>> javadocs.
>>
>> Below is a brief description of the characteristics of this plugin,
>> and some example/test code for using it.
>>
>> Thanks,
>>
>> Scott
>>
>>
>> 1) It is a full distributed container implementation of the ECF
>> provider api. For example, it implements the full
>> ISharedObjectContainer interface, including all the
>> joinGroup/leaveGroup methods, the event distribution to the
>> ISharedObjectContainerListeners associated with a container via
>> addListener, as well as functioning implementations of all the
>> sharedobject create/add/remove/connect/disconnect container methods.
>> 2) It provides a set of base classes for other provider
>> implementations (ECF implementations and others). These classes are
>> in the package org.eclipse.ecf.provider.* in the
>> org.eclipse.ecf.provider plugin.
>> 3) It is implemented with a very simple TCP-based group protocol, but
>> structured so that other 'group transport' layers may replace the
>> simple TCP implementation...while reusing all the container classes
>> themselves. For example, one next step is to finish implementations
>> that run upon JMS (activemq), XMPP (smack) and Java Groups. This
>> should now be an easy thing because the base classes in
>> org.eclipse.ecf.provider can be easily extended by classes that
>> implement these or other wire protocols.
>> 4) It is based upon a client-server messaging topology...the server
>> does message reflection to all the connected clients to provider
>> publish-and-subscribe message delivery. Both the client and a
>> trivial-but-completely-functional server are in the
>> org.eclipse.ecf.provider plugin (In case you are wondering, for the
>> client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer
>> and org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
>> 5) Both the server and client container can run as both a java
>> application and/or as an Eclipse plugin. What this means is that this
>> server (in particular) can/could run either on any JRE + OSGI
>> platform...i.e. as a webapp, as a standalone java application, or
>> within Eclipse. This provides a good deal of flexibility for ECF
>> users, in that they can have groups hosted by themselves (just as
>> Eclipse users), by an app server, or by some other shared server.
>> 6) I generated javadocs for the org.eclipse.ecf.provider plugin and
>> they are available in the appropriate packages here:
>> http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
>> 7) There is now a fair amount of trace code in both the
>> org.eclipse.ecf and the org.eclispe.ecf.provider plugins. To access
>> the tracing for these plugins, go to the 'Tracing' tab in the
>> Run/Debug dialog (when defining a run config for a new RunTime
>> Workbench) and turn on desired tracing for the org.eclipse.ecf and/or
>> org.eclipse.ecf.provider plugins.
>>
>> Here is some example/test code that creates a client instance of this
>> new provider:
>>
>> ISharedObjectContainer clients[i] =
>> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");
>>
>>
>> Here's code for creating a localhost server that listens on port 3282
>> and has name 'server':
>>
>> ID serverID =
>> IDFactory.makeStringID("ecftcp://localhost:3282/server");
>> Object [] args = new Object [] { new Boolean(false),
>> serverID };
>> server =
>> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);
>>
>>
>> Note that neither of these code snippets refers to the provider
>> classes directly at all (just to the
>> "org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
>> code referenced by such clients is the ECF core code.
>>
>> There is a small amount of junit test code in the org.eclipse.ecf.test
>> plugin. See particularly the unit test code in:
>>
>> ContainerJoinTest
>> CreateSharedObjectTest
>> ContainerListenerTest
>> MultiContainerJoinTest
>>
>> for examples of doing client-server 'joinGroup/leaveGroup', shared
>> object creation, removal from container, setting up a container
>> listener, and a multi-client (i.e. 10 clients joining/leaving a single
>> server) test.
>>
>>
>>
>>
>>
>>
>>
Re: Initial provider implementation complete and available [message #574173 is a reply to message #574045] Tue, 04 January 2005 18:25 Go to previous message
Li-Te Cheng is currently offline Li-Te ChengFriend
Messages: 16
Registered: July 2009
Junior Member
Minor typo: the <title> text in the header of the ECF downloads page
(http://www.eclipse.org/ecf/downloads.html) should be corrected to

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>eclipse communication framework downloads</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>

instead of

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>eclipse communication goundation downloads</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>

Li-Te

Scott Lewis wrote:
> ECFers,
>
> The ECF team has checked into the ECF codebase the first complete
> provider implementation along with updates to the ECF core plugin
> (version 0.2.0) and API documentation. The new provider implementation
> is in the (new) plugin:
>
> org.eclipse.ecf.provider
>
> For access to the new plugin source code see the project set files at
> the bottom of the page: http://www.eclipse.org/ecf/downloads.html
> Also see http://www.eclipse.org/ecf/documentation.html for updated API
> javadocs.
>
> Below is a brief description of the characteristics of this plugin, and
> some example/test code for using it.
>
> Thanks,
>
> Scott
>
>
> 1) It is a full distributed container implementation of the ECF provider
> api. For example, it implements the full ISharedObjectContainer
> interface, including all the joinGroup/leaveGroup methods, the event
> distribution to the ISharedObjectContainerListeners associated with a
> container via addListener, as well as functioning implementations of all
> the sharedobject create/add/remove/connect/disconnect container methods.
> 2) It provides a set of base classes for other provider implementations
> (ECF implementations and others). These classes are in the package
> org.eclipse.ecf.provider.* in the org.eclipse.ecf.provider plugin.
> 3) It is implemented with a very simple TCP-based group protocol, but
> structured so that other 'group transport' layers may replace the simple
> TCP implementation...while reusing all the container classes
> themselves. For example, one next step is to finish implementations
> that run upon JMS (activemq), XMPP (smack) and Java Groups. This should
> now be an easy thing because the base classes in
> org.eclipse.ecf.provider can be easily extended by classes that
> implement these or other wire protocols.
> 4) It is based upon a client-server messaging topology...the server does
> message reflection to all the connected clients to provider
> publish-and-subscribe message delivery. Both the client and a
> trivial-but-completely-functional server are in the
> org.eclipse.ecf.provider plugin (In case you are wondering, for the
> client in the org.eclipse.ecf.provider.generic.TCPClientSOContainer and
> org.eclipse.ecf.provider.generic.TCPServerSOContainer classes).
> 5) Both the server and client container can run as both a java
> application and/or as an Eclipse plugin. What this means is that this
> server (in particular) can/could run either on any JRE + OSGI
> platform...i.e. as a webapp, as a standalone java application, or within
> Eclipse. This provides a good deal of flexibility for ECF users, in
> that they can have groups hosted by themselves (just as Eclipse users),
> by an app server, or by some other shared server.
> 6) I generated javadocs for the org.eclipse.ecf.provider plugin and they
> are available in the appropriate packages here:
> http://www.eclipse.org/ecf/org.eclipse.ecf.docs/api/
> 7) There is now a fair amount of trace code in both the org.eclipse.ecf
> and the org.eclispe.ecf.provider plugins. To access the tracing for
> these plugins, go to the 'Tracing' tab in the Run/Debug dialog (when
> defining a run config for a new RunTime Workbench) and turn on desired
> tracing for the org.eclipse.ecf and/or org.eclipse.ecf.provider plugins.
>
> Here is some example/test code that creates a client instance of this
> new provider:
>
> ISharedObjectContainer clients[i] =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ");
>
>
> Here's code for creating a localhost server that listens on port 3282
> and has name 'server':
>
> ID serverID =
> IDFactory.makeStringID("ecftcp://localhost:3282/server");
> Object [] args = new Object [] { new Boolean(false), serverID };
> server =
> SharedObjectContainerFactory.makeSharedObjectContainer("org.eclipse.ecf.provider.generic.ContainerInstantiator ",args);
>
>
> Note that neither of these code snippets refers to the provider classes
> directly at all (just to the
> "org.eclipse.ecf.provider.generic.ContainerInstantiator"). The only
> code referenced by such clients is the ECF core code.
>
> There is a small amount of junit test code in the org.eclipse.ecf.test
> plugin. See particularly the unit test code in:
>
> ContainerJoinTest
> CreateSharedObjectTest
> ContainerListenerTest
> MultiContainerJoinTest
>
> for examples of doing client-server 'joinGroup/leaveGroup', shared
> object creation, removal from container, setting up a container
> listener, and a multi-client (i.e. 10 clients joining/leaving a single
> server) test.
>
>
>
>
>
>
>
Previous Topic:Starting a Chat Use Case
Next Topic:makeSharedObjectContainer & org.eclipse.ecf.containerFactory extension point
Goto Forum:
  


Current Time: Fri Dec 19 15:59:04 GMT 2014

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

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