Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
ECF/Providers
The Eclipse Communication Framework defines a number of APIs that can be implemented by adopters and add-in providers. The project itself provides implementations of some existing networking protocols. This page is intended to list all known providers, official or third-party, along with some basic information about the provider such as its runtime requirements and licensing.
Contents
Providers
There is a table of providers, along with factory names, available for dev.eclipse.org here, and for the containers available at OSU Open Source Lab here.
Discovery (org.eclipse.ecf.discovery)
Zeroconf/aka Bonjour/Rendevous
JmDNS is a java-based open source implementation of the zeroconf protocol. This provides an implementation of the ECF Discovery API.
Bundle Name: org.eclipse.ecf.provider.jmdns
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.discovery
- org.eclipse.equinox.common
Imported Packages:
- org.osgi.framework
- org.osgi.util.tracker
Download: Included with ECF core feature
Execution Environment: J2SE-1.3
Original Implementation: Eclipse.org
Container Factory Names: ecf.discovery.jmdns
Container Adapter APIs: Discovery
Notes: None.
jSLP aka SLP/RFC2608
jSLP is a java-based open source implementation of the Service Location Protocol protocol. This provides an implementation of the ECF Discovery API.
Bundle Name: org.eclipse.ecf.provider.jslp
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.discovery
- org.eclipse.equinox.common
Imported Packages:
- ch.ethz.iks.slp orbit
- org.eclipse.core.runtime
- org.eclipse.core.runtime.jobs
- org.eclipse.osgi.util
- org.osgi.framework
- org.osgi.util.tracker
Download: Included with ECF core feature
Execution Environment: CDC-1.1/Foundation-1.1, J2SE-1.4
Original Implementation: Eclipse.org
Container Factory Names: ecf.discovery.jslp
Container Adapter APIs: Discovery
Notes: None.
File Transfer (org.eclipse.ecf.filetransfer)
URL/URLConnection Protocols (file retrieval)
There is a base ECF file transfer provider based upon the JRE URL/URLConnection classes, which will allow the file transfer API to be used based only upon the JRE-built-in URL/URLConnection protocol handlers.
Bundle Name: org.eclipse.ecf.provider.filetransfer
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.filetransfer
- org.eclipse.equinox.common
- org.eclipse.equinox.registry
Imported Packages:
- org.eclipse.core.runtime.jobs
- org.eclipse.osgi.util
- org.osgi.framework
- org.osgi.service.url
- org.osgi.util.tracker
- org.osgi.service.log
Download: Included with ECF as of 1.0.0M6.
Execution Environment: J2SE-1.3
Original Implementation: Eclipse.org
Container Factory Names: ecf.base
Container Adapter APIs: File Transfer
Notes: None.
Apache Httpclient for HTTP/HTTPS
Bundle Name: org.eclipse.ecf.provider.filetransfer.httpclient
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.filetransfer
- org.eclipse.ecf.provider.filetransfer
- org.eclipse.equinox.common
- org.apache.commons.httpclient (3.0.1). Orbit Bundle]
Imported Packages:
- org.eclipse.core.runtime.jobs
- org.eclipse.osgi.util
- org.osgi.framework
- org.osgi.service.url
- org.osgi.util.tracker
- org.osgi.service.log
Download: Included with ECF as of 1.0.0M6.
Execution Environment: J2SE-1.3
Original Implementation: Eclipse.org
Container Factory Names: ecf.base
Container Adapter APIs: File Transfer
Notes: None.
BitTorrent (file retrieval)
The BitTorrent protocol is a peer-to-peer protocol that uses the upload speed of the people currently downloading a file so that pieces of the file can be distributed among the various parties as quickly and as efficiently as possible.
Bundle Name: org.eclipse.ecf.provider.bittorrent
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.filetransfer
- org.eclipse.bittorrent
- org.eclipse.equinox.common
Imported Packages:
- org.eclipse.osgi.service.datalocation (1.0.0)
- org.eclipse.osgi.util
- org.osgi.framework
- org.osgi.service.url
- org.osgi.util.tracker
Download: Included with ECF as of 1.0.0M6.
Execution Environment: J2SE-1.4
Original Implementation: Eclipse.org
Container Factory Names: ecf.filetransfer.bittorrent
Container Adapter APIs: File Transfer
Notes: None.
XMPP (peer-to-peer file sending)
The XMPP protocol has an extension for peer-to-peer file transfer (XEP-0096).
See XMPP below for XMPP provider information.
Presence (org.eclipse.ecf.presence)
IRC
The IRC protocol is a popular chatting protocol that allows a group of people to discuss about something together as well as one-to-one communication via private messages.
Bundle Name: org.eclipse.ecf.provider.irc
License: Eclipse Public License 1.0, implementation code is under the Apache License 2.0
Required Bundles:
- org.eclipse.equinox.common
- org.eclipse.ecf
- org.eclipse.ecf.presence
Imported Packages:
- org.eclipse.osgi.util (1.0.0)
- org.osgi.framework (1.3.0)
- org.osgi.service.log (1.3.0)
- org.osgi.util.tracker (1.3.2)
Download: Included with ECF as of 0.9.0
Execution Environment: J2SE-1.4
Original Implementation: IRClib
Container Factory Names: ecf.irc.irclib
Container Adapter APIs: Presence
Notes: None.
MSN
The MSN protocol is the protocol used by Microsoft's Windows Live Messenger instant messaging application.
Bundle Name: org.eclipse.ecf.provider.msn
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.presence
- org.eclipse.equinox.common
- org.eclipse.ecf.protocol.msn
Imported Packages:
- org.osgi.framework (1.3.0)
Download: Included with ECF as of 1.0.0M6.
Execution Environment: CDC-1.0/Foundation-1.0 (see Notes)
Original Implementation: Gokigenyou
Container Factory Names: ecf.msn.msnp
Container Adapter APIs: Presence
Notes: While the bundle itself will compile under a CDC-1.0/Foundation-1.0 environment, the library itself will actually not work out of the box as the library needs to make an HTTPS connection. No implementations of the HTTPS protocol is included with the CDC-1.0/Foundation-1.0 runtime environment by default. This library will run in a CDC-1.1/Foundation-1.1 runtime environment provided that the optional security classes has been added to the classpath.
XMPP
XMPP is an open standards protocol that allows for the exchanging of messages and presence information in real-time. Google Talk is an example of an application that uses XMPP.
Bundle Name: org.eclipse.ecf.provider.xmpp
License: Eclipse Public License 1.0, implementation code is under the Apache License 2.0
Required Bundles:
- org.eclipse.equinox.common
- org.eclipse.ecf
- org.eclipse.ecf.filetransfer
- org.eclipse.ecf.sharedobject
- org.eclipse.ecf.presence
- org.eclipse.ecf.provider
- org.jivesoftware.smack
Imported Packages:
- org.eclipse.core.runtime.jobs,
- org.eclipse.osgi.util (1.0.0)
- org.osgi.framework (1.3.0)
- org.osgi.service.log (1.3.0)
- org.osgi.util.tracker (1.3.2)
Download: Included with ECF
Execution Environment: J2SE-1.4
Original Implementation: Smack
Container Factory Names: ecf.xmpp.smack, ecf.xmpps.smack
Container Adapter APIs: Presence, Datashare, File Transfer, Remote Services, Shared Object
Notes: None.
Bot (org.eclipse.ecf.presence.bot)
See Bot Framework
Remote Services (org.eclipse.ecf.remoteservice)
ECF Generic
ECF Generic is a TCP-based protocol. Both client and server implementations are included in the org.eclipse.ecf.provider bundle. The ECF Generic provider implements the ECF Shared Object API.
Bundle Name: org.eclipse.ecf.provider
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.sharedobject
- org.eclipse.equinox.common
Imported Packages:
- org.osgi.framework
- org.eclipse.osgi.util
- org.osgi.service.log
- org.osgi.util.tracker
Download: Included with ECF SDK.
Execution Environment: J2SE-1.4, CDC Foundation 1.1
Original Implementation: Eclipse.org
Container Factory Names: ecf.generic.client, ecf.generic.server
Container Adapter APIs: Datashare, Remote Services, Shared Object
Notes: None.
r-OSGi
r-OSGi is based upon a TCP-based protocol. Both client and server implementations are included in the org.eclipse.ecf.provider bundle.
Bundle Name: org.eclipse.ecf.provider.r_osgi
License: Eclipse Public License 1.0
Required Bundles:
- org.eclipse.ecf
- org.eclipse.ecf.sharedobject
- org.eclipse.ecf.provider
- org.eclipse.equinox.common
- ch.ethz.iks.r_osgi.remote (r-OSGi)
Imported Packages:
- org.osgi.framework
- org.eclipse.osgi.util
- org.osgi.util.tracker
Download: Included with ECF SDK.
Execution Environment: CDC-1.0/Foundation-1.0, J2SE-1.3
Original Implementation: Eclipse.org
Container Factory Names: ecf.r_osgi.peer
Container Adapter APIs: Remote Services
Notes: None.
XMPP
Scott Lewis has recently blogged about using the remote services API over XMPP
HTTP REST
See ECF/REST_abstraction.
Telephony(org.eclipse.ecf.telephony.call)
Skype
See Skype Provider
Enterprise Messaging/JMS
IBM Websphere Community Edition/ActiveMQ JMS
See here to access.
BEA Weblogic JMS
See here to access.
JavaGroups Reliable Multicast
See here to access. JGroups is here.
Development is just being completed (8/10/2007) on a remote services implementation based upon JMS.
Eclipse Communication Framework |
API |
API Documentation • Javadoc • Providers |
Development |
Development Guidelines • Integrators Guide |