ECF/Providers

From Eclipsepedia

< ECF
Revision as of 09:58, 22 December 2010 by Hendy.rainbowpurple.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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 DocumentationJavadocProvidersECF/Bot Framework
Components
ServersShared EditingShared Code Plug-in
Development
Development GuidelinesIntegrators Guide