The N2O Ecosystem

N2O as Communication Framework

N2O is an abstract processing loop of function with signature: Protocol -> IO, where Protocol is a set of messages accepted by this function and result status IO that could be continuation, JavaScript rendered code or binary data sent from server to client. As being abstract it could be embedded into any netwotk server code, thus is claiming to be communication framework. As communication framework N2O supports different formatters (BERT/XML/JSON), provides mechanism for service development, cache, session and logging facilities. The core features is limited to 25KB.

Schema. Live in Client processes or in Server Ring

The main two usages of N2O: 1) live in client connection processes of server; 2) live in server workers and handle all requests from client processes. You can add you own feature-set versions of N2O with different Github repositories. N2O is distributed by modules not as monolith application, so you can pick and pack different fiature combinations.

1. {n2o, ".*", {git, "git://github.com/synrc/n2o", []}}, 2. {n2o, ".*", {git, "git://github.com/synrc/mqtt", []}},

N2O Applications

Writing applications for N2O means writing protocol implementation modules and plug them to protocol loop. Luckily, N2O shipped with set of protocol implementations, resembling all the best parts from other federations: XMPP/WS/CORBA. If you need small, binary, compact and production-ready protocol along with existed infrastructure and community — N2O is right page you are looking for.

Picture 1. Protocol Modules
Picture 2. Protocol Messages

N2O as Web Framework

Web logic shoud be as much declarative as possible at the same time the web logic language should be readable by Java, .NET engineers. NITRO protocol is what we called Web Framework inside N2O ecosystem. If you plug NITRO module, you automatically enables web framework for all devices. It resembles Nitrogen API, well known Erlang Web Framework.

Here is example of Application powered by N2O Application Server. You may read more in articles/web.

You can read N2O Book: No Bullshit Web Framework for Wild Web   N2O.PDF

N2O Open Source

The packages are available through Github and Hex repositories and are compatible with mad and rebar package managers. We have manpage manuals, PDF/HTML generated with LaTeX and HeVeA and number of turtorials, just search "n2o erlang web". N2O is 4 y.o. has 20 releases and 40 contributors.

N2O Contributors