[erlang-questions] Framework advise

Jesse Gumm <>
Sat Jul 14 15:36:34 CEST 2012

As far as Erlang web frameworks go, you're basically gonna have Chicago
Boss (MVC), Nitrogen (event driven), and Zotonic (CMS with some event
driven stuff).

You can also develop a little "closer to the metal" using yaws, cowboy,
mochiweb, webmachine, or the new fandangled hybrid mochicow.

Both Nitrogen and Boss use simple_bridge to facilitate whichever underlying
erlang server you'd want to use, so you can tap into the various streaming
capacities of the underlying server of your choice.

As I'm familiar with Nitrogen moreso than the others, I can at least
address how it can handle your requirements:

The multiserver (multi domain?) one is interesting. Nitrogen supports
session sharing across a cluster, however it's default identification is
with a cookie, so that's worth considering with regard to multiple domains.
I can imagine a custom session handler combined with a custom security
handler solving the session sharing problem. I may put together a single
sign on POC just to satisfy my own curiosity.

In place upgrade with a hot swappable rollback sounds more like something
you'd want to do by using multiple nodes and a reverse proxy like nginx.

As for mssql connectivity goes, nitrogen is db agnostic (provides no direct
facilities for db integration), but using the erlang drivers for databases
is no problem at all. The easiest method of accessing mssql from erlang
might be odbc.

With those caveats mentioned, Nitrogen can handle the others just fine. I'm
sure Boss and Zotonic would do just as well. Using Chicago Boss would
likely require a custom BossDB adapter for mssql.

The big difference, however, will be in how you prefer to develop. Spend a
few hours tinkering with each and see which development model you prefer.

Jesse Gumm
Owner, Sigma Star Systems
414.940.4866 || sigma-star.com || @jessegumm
On Jul 14, 2012 7:06 AM, "Paul Barry" <> wrote:

> +1 from me on Chicago Boss.  It's worth spending some time with - and
> I think it hits most of the items on your list (as it is built on
> Erlang/OTP and "inherits" a lot of the application characteristics
> that are important to you.  Chicago Boss has a very friendly user
> community and mailing list (just like Erlang's).  :-)
> Paul.
> P.S.  I'm just starting to go through Zachary Kessin's recent book
> (
> http://www.amazon.com/Building-Web-Applications-Erlang-Working/dp/1449309968/
> )
> which may be worth a look also.  It's not an expensive purchase, and
> touches on some of your issues.
> On 14 July 2012 05:33, Tim McNamara <> wrote:
> > Good luck developing the prototype Jayson. You may want to give some
> > reasons why the Frankenstein middleware isn't performing to get the
> > most helpful responses.
> >
> > Are you just want to creating an authenticated front-end for a
> > database? Without knowning more, I would say that facilitating single
> > sign-on will be the trickest part. Creating a database front end will
> > be pretty easy. You might want to look at Chicago Boss's Boss_DB
> > project (https://github.com/evanmiller/boss_db), which will allow you
> > to easily create an adapter for MS SQL if one doesn't already work for
> > you.
> >
> >
> > On 14 July 2012 14:59, Jayson Barley <> wrote:
> >> I need to show a POC on a rewrite/redesign of an existing Java/CPP code
> >> base. From my work with Erlang I believe it is the best choice for the
> job.
> >> I am seeking some advise on what frameworks would be best to start with
> that
> >> will meet my goals. See below for the details. I am willing to listen
> to any
> >> feedback on which frameworks would be best or even if Erlang isn't the
> best
> >> tool for the job.
> >>
> >> Requirements
> >>
> >> Web standards based - Must support HTML 5, JS, CSS, etc. I am thinking
> >> Authentication - Users will need to be able to move from one server to
> >> another without losing their session.
> >> Template-able - I will need to be able to perform CRUD and retrieve
> data as
> >> HTML, XML, JSON, and possibly other formats in the future.
> >> Scalable - It must support at least 10,000 requests per second. It
> could be
> >> higher but based on the next requirement I am starting out small.
> >> Capable of streaming large amounts of data - It is possible that a REST
> >> request could contain millions of rows of data. This is rare but it is
> a use
> >> case that the existing Tomcat/IIS/Java Frankenstein currently does.
> >> MS SQL connectivity - Our existing database is MS SQL and that won't be
> easy
> >> to change so it needs to be able to connect to it.
> >> Testable - I will need to be able to write and run Unit, Integration
> tests.
> >> I am guessing that eunit and common test will cover this.
> >> Easily deployable - A new server will need to be deployed and
> configured in
> >> minutes. Something like Chef would be ideal since we are already using
> that
> >> in other areas.
> >> In place upgrades - When a new build is ready to deployed we should be
> able
> >> to deploy it, leave the previous version in place to roll back should an
> >> issue be found.
> >> Easy logging.
> >>
> >> I think that is everything I can think of. If anyone has any questions
> or
> >> recommendations on how to make this clearer please let me know.
> >>
> >> Thank you in advance,
> >> Jayson
> >>
> >>
> >> _______________________________________________
> >> erlang-questions mailing list
> >> 
> >> http://erlang.org/mailman/listinfo/erlang-questions
> >>
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://erlang.org/mailman/listinfo/erlang-questions
> --
> Paul Barry, w: http://paulbarry.itcarlow.ie - e: 
> Lecturer, Computer Networking: Institute of Technology, Carlow, Ireland.
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120714/6db65573/attachment.html>

More information about the erlang-questions mailing list