Baratine on GitHub

Baratine 1.0

Baratine 1.0.1 - 2016-09-23

This release fixes a few bugs and introduces JdbcService:

  • Map incorrected encoded in JSON (#13)
  • autoconf services not seeing the correct Config (#12)
  • @Inject and Services.current().injector() not the same (#11)
  • jdbc service for Baratine (#4)

Baratine 1.0.0 - 2016-07-28

We are happy to announce that Baratine is out of beta with a gold 1.0.0 release. This release is the culmination of years of development and many alpha/beta releases. Baratine 1.0.0 offers a refined programming model for reactive web services where services:

  • call each other via regular Java method calls
  • operate in memory, yet get persisted in the background automatically

Baratine 1.0.0 comes with the following features:

  • websockets
  • journaling
  • automatic batching
  • child services
  • session services
  • worker services
  • templates and views
  • publish/subscribe
  • timers
  • flow control support
  • Jackson JSON support
  • zero dependencies
  • Kraken, an embedded, fully reactive database

The Long Road Taken

When we first started Baratine, it was just an in-memory service platform backed by a queue. The problem Baratine was trying to solve was simple. It’s incredibly inefficient having to touch the database upon every read or update request. Baratine revolutionizes the traditional model by keeping data in memory. You only need to worry about updating your in-memory dataset. Baratine is responsible for persisting your data to the database at set intervals. In effect, Baratine takes the database out of the operational critical path. The in-memory data becomes operational data that it is live and always ready-to-use.

Based on this simple idea, we started to build out Baratine over the years. Baratine has grown to be a complete reactive platform for web services. But the road getting there was not easy. To gauge user enthusiasm for a radically new model, we presented Baratine at several Java User Groups across the county. Based on feedback, we had to simplify Baratine’s programming model and scale back Baratine’s clustering features. In the end, it was worth the time and effort to be able to present a refined programming model for a 1.0.0 release.

What Lies Ahead

We strive to make Baratine be for reactive web services, as to what Spring is for traditional web services. We’re confident that there’s nothing like Baratine for the reactive web that is as intuitive and as empowering. Of course, there is still a lot of work to be done. That means more integration and more modules as we continue to build up the infrastructure around Baratine.