Skip to content

Migrate integrated web server from Jetty to Spray #1

@scalatron

Description

@scalatron

Time Estimate: 20-40 hours (completely unscientific - provided for comparison of feature complexity only)

Motivation: the compile service, bot processing and rendering in the Scalatron server use a shared Akka ActorSystem. Jetty uses its own threads. Migrating from Jetty to Spray would provide for a more integrated load management and better scalability.

Dependencies:

  • Once the browser's login and admin pages were migrated to Ajax and the RESTful web API, only two or three static pages remain on the server, the rest is all REST API calls. Should then be relatively straight-forward to make the migration.
  • the current release (April 2012) of Spray is based on Akka 1.3, while Scalatron uses Akka 2.0. This may need to wait until Spray moves to Akka 2.

How to Implement:

  • Initially, create a Spray server that PARALLELS the existing Jetty server (find the code at Scalatron/src/scalatron/webServer), on a different port.
  • Use the Akka ActorSystem that is passed around from the Scalatron Main.main().
  • You can use the Scalatron command-line interface (ScalatronCLI) to test your implementation step-by-step, as well as the UI.
  • Once that works, make the migration complete.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions