Skip to content
juliusse edited this page Apr 15, 2013 · 2 revisions

Akka is a library, which can be used for asynchronous message processing and is also able to handle messages that come from a remote place.

Why not Jersey

Originally we started implementing the plugin with an RESTful webservice based on Java Jersey. It fitted our original specifications, where the remote plugin would have handled request from a client (Docear Desktop or Online Viewer) directly. It was also already used by the Docear-team and would have been a known technology.
Over the time the specifications changed and for better maintenance and scalability we put all request handling into the Frontend/API-Server, where it belongs. This way the remote plugin does not need to be accessible from the outside, which makes it harder to attack.

Biggest issue

The key problem, why we had to switch to another library was that jersey as a stateless web service is based on multi threading and accepts more than on request at a time. At the time of writing this Docear is still a single threaded applications, which makes it impossible to handle several request at a time. This big difference between Jersey and Docear made us switch to another library.

Clone this wiki locally