Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Net4j"

(Features)
Line 1: Line 1:
__TOC__
+
__NOTOC__
 +
Net4j is an extensible '''client-server communications platform''' based on OSGi but also executable standalone. You can easily extend the protocol stack with [[Eclipse]] plugins that provide new transports or application protocols. Net4j focusses on performance and scalability as well as ease of extension.
 +
<br>
 
<br>
 
<br>
==Introduction==
 
 
Net4j is an extensible '''client-server communications platform''' based on OSGi but also executable stand alone. You can easily extend the protocol stack with [[Eclipse]] plugins that provide new transport or application protocols. Net4j's focus on performance and scalability is featured by non-blocking I/O, zero-copy signals and multiplexed binary protocols. Net4j was originally developed to support the [[CDO]] technology for distributed shared and persistent [[EMF]] models but can also multiplex your own user-supplied application protocols through the same socket connection.
 
  
 
[[Image:Multiplexing.png]]
 
[[Image:Multiplexing.png]]
 +
<br>
 +
 +
{|border="0" cellspacing="10"
 +
|valign="top"|'''Documentation'''<br>
 +
[[Net4j Architecture]]<br>
 +
[[Net4j User Interface]]<br>
 +
[[Net4j Utilities]]<br>
 +
[[Net4j SignalProtocol]]<br>
 +
[[Net4j Container]]<br>
 +
 +
|valign="top"|'''Tutorials'''<br>
 +
[[Setting up a Net4j Server]]<br>
 +
[[Writing Net4j Clients]]<br>
 +
[[Using the Net4j User Interface]]<br>
 +
[[Writing Standalone Net4j Applications]]<br>
 +
 +
|valign="top"|'''Resources'''<br>
 +
[[Net4j Project Resources#Downloads|Downloads]]<br>
 +
[[Net4j Project Resources#Sources|Sources]]<br>
 +
[[Net4j Project Resources#Documentation|JavaDocs]]<br>
 +
[[Net4j Project Resources#Support and Feedback|Support and Feedback]]<br>
 +
[[Net4j Project Resources#Miscellaneous|Miscellaneous]]<br>
  
 +
|valign="top"|'''Features'''<br>
 +
[[#Core Features|Core Features]]<br>
 +
[[#Transport Implementations|Transport Implementations]]<br>
 +
[[#Examples|Examples]]<br>
 +
|}
 
<br>
 
<br>
  
Line 22: Line 48:
 
<br>
 
<br>
  
==See Also==
+
==Examples==
* [[Net4j Project Resources]]
+
* Extensible collaborations platform with buddy list, chat, fileshare, ...
* [[Net4j Architecture]]
+
* JMS(TM) provider implementation (experimental but functional)
* [[Net4j User Interface]]
+
* [[Net4j Transports]]
+
* [[Net4j Protocols]]
+
* [[Net4j Utilities]]
+
* [[CDO]]
+
 
+
 
<br>
 
<br>
 +
 
----
 
----
 
Wikis: [[CDO]] | [[Eclipse]] | [http://en.wikipedia.org/wiki/OSGi OSGi] | [http://en.wikipedia.org/wiki/Nio NIO] | [http://en.wikipedia.org/wiki/New_I/O New I/O]
 
Wikis: [[CDO]] | [[Eclipse]] | [http://en.wikipedia.org/wiki/OSGi OSGi] | [http://en.wikipedia.org/wiki/Nio NIO] | [http://en.wikipedia.org/wiki/New_I/O New I/O]
  
 
[[Category:Modeling]] [[Category:EMF]]
 
[[Category:Modeling]] [[Category:EMF]]

Revision as of 05:15, 29 May 2008

Net4j is an extensible client-server communications platform based on OSGi but also executable standalone. You can easily extend the protocol stack with Eclipse plugins that provide new transports or application protocols. Net4j focusses on performance and scalability as well as ease of extension.

Multiplexing.png

Documentation

Net4j Architecture
Net4j User Interface
Net4j Utilities
Net4j SignalProtocol
Net4j Container

Tutorials

Setting up a Net4j Server
Writing Net4j Clients
Using the Net4j User Interface
Writing Standalone Net4j Applications

Resources

Downloads
Sources
JavaDocs
Support and Feedback
Miscellaneous

Features

Core Features
Transport Implementations
Examples


Core Features

  • Extensible signalling framework for application protocols (IProtocol, SignalProtocol)
  • Extensible transport framework for physical transports (IConnector, IAcceptor)
  • Multiplexing of different application protocols (IChannel)
  • Fast, asynchronous and non-blocking buffering kernel (IBuffer)


Transport Implementations

  • NIO-based TCP transport implementation (ITCPConnector, ITCPAcceptor)
  • In-process JVM transport implementation (IJVMConnector, IJVMAcceptor)
  • Polling HTTP transport implementation (IHTTPConnector, IHTTPAcceptor)


Examples

  • Extensible collaborations platform with buddy list, chat, fileshare, ...
  • JMS(TM) provider implementation (experimental but functional)



Wikis: CDO | Eclipse | OSGi | NIO | New I/O

Back to the top