Welcome to Resoa Projects
Resoa itself is a collection of projects. During runtime you need to run at least one Controller node, one node serving for your business and one Rest server.
If you like to learn about development and deployment of Resoa Business Services, you should continue here.
If you are interested into the Resoa internal architecture, you should read more about the following projects:
Resoa node
Resoa nodes provide a grid management container for deploying Java Business Services. There exists a specialized node, so called Controller, which runs services for grid deployment management and persistence archiving.
You need at least one Controller and one node running within your grid.
Resoa persist
Resoa persistence is a generic, JSON based persistence solution, especially designed for Resoa services.
The storage itself is a BTree key/value system. By default we use Berekely DB Java Edition.
Resoa persistence provides:
- ACID transaction support.
- Automatic Class<?> and List<?> reference resolution (mapping to DB relation) support.
- BTree based data retrieval.
- Compression and encryption support.
Resoa stack
The stack is a protocol stack implementation, offering a flexible and slight protocol activation for each single message, domain based channeling, encryption, compression, prioritization and digital signature. Header structures are kept very small for achieving maximum bandwidth.
Features:
- channel / application domain based message categorization
- message prioritization, based on fragmentation with configurable size (default 8192 bytes)
- optional GZIP compression of each single message
- optional 128/256 bit AES encryption of each single message
- 1024/2048 bit public/private key authentication interface (RSA)
- optional digital signature. Each message might be wrapped by a XML, encrypting and signing the original content
- transaction request, commit and rollback support (this enables synchronous message handling)
- connection monitoring with automatic reconnection by TCPClients,
- multiple Server IP addressing with random server selection. This allows client controlled load balancing strategies.
- Server side Java NIO / .net asynchronous socket/multi-threading architecture for high scalability of concurrent sessions
Resoa web
Resoa Rest is a framework for deploying REST based web applications. A RestApplication characterizes by the following features:
- Serving of static content
- Integrated session management (including secure sessions)
- URL based automatic Resoa Business Service invocation, both by JSON and XML objects
Resoa util
This project offers generic stuff like Classloaders and JSON Serialization solutions.