Spray: Build REST/HTTP-based integration layers on top of Scala & Akka

Spray Logo

From the Spray Website:

Spray is a suite of lightweight Scala libraries providing client- and
server-side REST/HTTP support on top Akka.

Fully asynchronous, non-blocking
All APIs are fully asynchronous, blocking code is avoided wherever at all
possible.

Actor- and Future-based
spray fully embraces the programming model of the platform it is built upon.
Akka Actors and Futures are key constructs of its APIs.

High-performance
Especially sprays low-level components are carefully crafted for excellent
performance in high-load environments.

Lightweight
All dependencies are very carefully managed, sprays codebase itself is kept
as lean as possible.

Modular
Being structured into a set of integrated but loosely coupled components your
application only needs to depend onto the parts that are actually used.

Testable
All spray components are structured in a way that allows for easy and
convenient testing.

Presentation Slides: Micro services – Java, the Unix Way

Here are some interesting slides from a talk on Micro services:

http://2012.33degree.org/talk/show/67

From the summary:

“Write programs that do one thing and do it well. Write programs to work
together” was accepted 40 years ago yet we have spent the last decade building
monolithic applications, communicating via bloated middleware and with our
fingers crossed that Moore’s Law keeps helping us out. There is a better way.

Micro services. In this talk we will discover a consistent and reinforcing set
of tools and practices rooted in the the Unix Philosophy of small and simple.
Tiny applications, communicating via the web’s uniform interface with single
responsibilities and installed as well behaved operating system services. So,
are you sick of wading through tens of thousands of lines of code to make a
simple one line change? Of all that XML? Come along and check out what the
cools kids are up to (and the cooler grey beards).

This is a talk about building micro-services using simple java tools

Jetty: Open Source Servlet Container & HTTP Server

Jetty logo

I’ve recently become interested in Microservices and Jetty is a good choice of servlet container for running and serving microservices.

From the Jetty homepage:

Jetty provides a Web server and javax.servlet container, plus support for SPDY, WebSocket, OSGi, JMX, JNDI, JAAS and
many other integrations. These components are open source and available for commercial use and distribution.

Features

  • Full-featured and standards-based
  • Open source and commercially usable
  • Flexible and extensible
  • Small footprint
  • Embeddable
  • Asynchronous
  • Enterprise scalable
  • Dual licensed under Apache and Eclipse

Sonatype Nexus: Repository management tool that proxies remote repos and allows sharing of artifacts between teams

Sonatype logo

The Sonatype Nexus webpage says:

Sonatype Nexus sets the standard for repository management providing
development teams with the ability to proxy remote repositories and share
software artifacts. Download Nexus and gain control over open source
consumption and internal collaboration.

At work, we’re using Ant to manage our builds. We store artifacts from other teams in a common module. It would be nice to manage those external dependencies in a tool like Nexus.