Operating systems

RMIIO is a library that makes it as simple as possible to stream large amounts of data using the RMI framework (or any RPC framework). The RMI framework makes it very easy to implement remote communication between Java programs, yet does not provide any ready solutions for sending large files without blowing out memory on the client or server. What you really want to do is stream data from the client to the server using a framework that does not really expose streaming. The RMIIO library provides some very powerful classes that enable a client to stream data to the server using only a few extra lines of code.

The Java Simple Plugin Framework is a framework for creating and using plugins for programs written in Java. It was built to reduce development time while increasing code maintainability of small to medium sized projects. It completely hides the implementation details of components, so you only use their interfaces. It is only 590k in size. Components may be loaded with only two lines of code. It makes heavy use of annotations. Through usage of generics, it is usually type safe. There are additional plugins to export other plugins by JavaScript, JSON, LipeRMI, XMLRPC, Delight XMLRPC, or ERMI. Plugins may be discovered on the local network through ZeroConf. There is initial support for RDF.

DAC (Dynamic Agent Computations) is a novel software framework designed for implementing multi-agent systems that describe parallel computations. The whole system is easy to configure and extend, but also very efficient and scalable. Moreover, the technology that is used (JMS, Cajo, JMX) ensures high reliability of the framework, which can be used in a production environment.

Eagle DNS is a powerful, multithreaded, platform independent DNS server written in Java. It is based on the very reliable and proven dnsjava API and has pluggable resolvers, zone providers, and plugins, making it very flexible.

RMI WebSocket provides a library for remote method invocations between a browser and a Jetty Web Server using the HTML5 WebSocket. The idea is to enable tight method-level integration between the user interface and the server so that patterns such as MVP (Model-View-Presenter) can be applied in a Web environment. The method-level communications between the browser code and the server code allows the developer to think about the Web page and server-side components as objects in a UML world. Details such as the over-the-wire protocols in WebSockets are abstracted away in the process.