Difference between revisions of "Net4j"

From Eclipsepedia

Jump to: navigation, search
(Examples)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__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.
+
The Net4j Signalling platform is an extensible client/server communications framework.<br>
 +
Net4j eases the development of fast and maintainable application protocols that are independent<br>
 +
of the physical transport medium. Transport protocols are pluggable and Net4j ships with support<br>
 +
for TCP, HTTP and in-memory transport. The core of Net4j is a fast, asynchronous and non-blocking<br>
 +
buffer multiplexing kernel, based on OSGi but also executable stand-alone.
 +
 
 +
'''The Net4j project is now integrated into the [[CDO]] project.'''<br>
 +
'''[http://www.eclipse.org/cdo/downloads/ Downloads] and other resources are provided there.'''
 
<br>
 
<br>
 
<br>
 
<br>
  
[[Image:Multiplexing.png]]
+
[[Image:Multiplexing.png|600px]]
<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>
+
[[#Transports|Transports]]<br>
+
[[#Examples|Examples]]<br>
+
[[#Utilities|Utilities]]<br>
+
|}
+
 
<br>
 
<br>
  
 
==Core Features==
 
==Core Features==
* Extensible signalling framework for application protocols (IProtocol, SignalProtocol)
+
* Extensible signalling framework for '''application protocols''' (IProtocol, SignalProtocol)
* Extensible transport framework for physical transports (IConnector, IAcceptor)
+
* Extensible transport framework for '''physical transports''' (IConnector, IAcceptor)
* Multiplexing of different application protocols (IChannel)
+
* '''Multiplexing''' of different application protocols (IChannel)
* Fast, asynchronous and non-blocking buffering kernel (IBuffer)
+
* Fast, asynchronous and non-blocking '''buffering kernel''' (IBuffer)
 
<br>
 
<br>
  
 
==Transports==
 
==Transports==
* NIO-based TCP transport implementation (ITCPConnector, ITCPAcceptor)
+
* NIO-based '''TCP''' transport implementation (ITCPConnector, ITCPAcceptor)
* In-process JVM transport implementation (IJVMConnector, IJVMAcceptor)
+
* In-process '''JVM''' transport implementation (IJVMConnector, IJVMAcceptor)
* Polling HTTP transport implementation (IHTTPConnector, IHTTPAcceptor)
+
* Polling '''HTTP''' transport implementation (IHTTPConnector, IHTTPAcceptor)
 
<br>
 
<br>
  
 
==Examples==
 
==Examples==
* Extensible collaborations platform with buddy list, chat, fileshare, ...
+
* Extensible collaborations platform with buddy list, chat, fileshare, and more. [[Net4j/Using_Net4j_example|Tutorial]]
 
* JMS(TM) provider implementation (experimental but functional)
 
* JMS(TM) provider implementation (experimental but functional)
 
<br>
 
<br>
Line 75: Line 53:
 
* Extensible security framework
 
* Extensible security framework
 
* Generic transactional operations framework
 
* Generic transactional operations framework
 +
* Debugging Tools
 +
** Remote tracing (OM extension + Eclipse UI)
 +
** Container view (Eclipse UI)
 +
** Introspector view (Eclipse UI)
 +
* Extensible DB abstraction framework
 +
** Derby DB adapter implementation
 +
** HSQLDB adapter implementation
 +
** MySQL adapter implementation
 +
** PostgreSQL adapter implementation
 
<br>
 
<br>
  
Line 80: Line 67:
 
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]] [[Category:Net4j]]

Latest revision as of 03:19, 19 November 2013

The Net4j Signalling platform is an extensible client/server communications framework.
Net4j eases the development of fast and maintainable application protocols that are independent
of the physical transport medium. Transport protocols are pluggable and Net4j ships with support
for TCP, HTTP and in-memory transport. The core of Net4j is a fast, asynchronous and non-blocking
buffer multiplexing kernel, based on OSGi but also executable stand-alone.

The Net4j project is now integrated into the CDO project.
Downloads and other resources are provided there.

Multiplexing.png

[edit] 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)


[edit] Transports

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


[edit] Examples

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


[edit] Utilities

  • Caching and monitoring framework
  • Special collections
  • Concurrency support
  • Wiring framework (managed containers)
  • Event framework
  • Factory framework
  • Generic finite state machine (FSM)
  • I/O tools
  • Lifecycle framework
  • Operations and maintenance framework (OM)
    • Platform abstraction (OSGi, Eclipse runtime, stand alone)
    • Bundle abstraction
    • Logging abstraction
    • Tracing abstraction
    • Preferences abstraction
    • Progress monitoring framework
  • Memory sensitivity framework
  • Transactional and notifying registries
  • Extensible security framework
  • Generic transactional operations framework
  • Debugging Tools
    • Remote tracing (OM extension + Eclipse UI)
    • Container view (Eclipse UI)
    • Introspector view (Eclipse UI)
  • Extensible DB abstraction framework
    • Derby DB adapter implementation
    • HSQLDB adapter implementation
    • MySQL adapter implementation
    • PostgreSQL adapter implementation



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