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.
EIG:The Container Architecture
Contents
The Container Architecture
Container Introduction
ECF introduces the concept of a communications container. Containers represent access to a protocol-specific communications context like TCP/IP Sockets. For connection-oriented communications, an ECF container loosely corresponds to the traditional notion of a communications session, but the more general Container concept is also useful even if the communications are not session-oriented.
ECF containers can represent both point-to-point communications (e.g. client/server) or publish-and-subscribe (group) communications. Container instances can provide access to synchronous communications, asynchronous communications, or both together. This flexibility allows many communication applications to be constructed out of one or more ECF containers...each of which provides access to some specific communications context and some protocol(s) for communicating within that context.
Instance Creation
Container instance creation is done via ECF-provided factory APIs. For example, here's code to create and IContainer instance:
IContainer container = getContainerFactory().createContainer(<Container Type>);
Containers
Supported API's | ||||||||
Protocol | Container | Bundle | File Transfer | Shared Object | Datashare | Presence | Discovery | |
HTTP/HTTPS, file, all other protocols supported JRE URLConnection | ecf.base | org.eclipse.ecf,org.eclipse.ecf.provider.filetransfer | X | |||||
HTTP/HTTPS via Httpclient 3.0.1 | ecf.base | org.eclipse.ecf,org.eclipse.ecf.provider.filetransfer.httpclient | X |
EIG:ECF ID's EIG:Containers EIG:Container Factories EIG:Implementing a New Container