<p>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).</p>
<p>You can also develop a little "closer to the metal" using yaws, cowboy, mochiweb, webmachine, or the new fandangled hybrid mochicow.</p>
<p>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.</p>
<p>As I'm familiar with Nitrogen moreso than the others, I can at least address how it can handle your requirements:</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>--<br>
Jesse Gumm<br>
Owner, Sigma Star Systems<br>
414.940.4866 || <a href="http://sigma-star.com">sigma-star.com</a> || @jessegumm</p>
<div class="gmail_quote">On Jul 14, 2012 7:06 AM, "Paul Barry" <<a href="mailto:paul.james.barry@gmail.com">paul.james.barry@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+1 from me on Chicago Boss. It's worth spending some time with - and<br>
I think it hits most of the items on your list (as it is built on<br>
Erlang/OTP and "inherits" a lot of the application characteristics<br>
that are important to you. Chicago Boss has a very friendly user<br>
community and mailing list (just like Erlang's). :-)<br>
<br>
Paul.<br>
<br>
P.S. I'm just starting to go through Zachary Kessin's recent book<br>
(<a href="http://www.amazon.com/Building-Web-Applications-Erlang-Working/dp/1449309968/" target="_blank">http://www.amazon.com/Building-Web-Applications-Erlang-Working/dp/1449309968/</a>)<br>
which may be worth a look also. It's not an expensive purchase, and<br>
touches on some of your issues.<br>
<br>
<br>
On 14 July 2012 05:33, Tim McNamara <<a href="mailto:paperless@timmcnamara.co.nz">paperless@timmcnamara.co.nz</a>> wrote:<br>
> Good luck developing the prototype Jayson. You may want to give some<br>
> reasons why the Frankenstein middleware isn't performing to get the<br>
> most helpful responses.<br>
><br>
> Are you just want to creating an authenticated front-end for a<br>
> database? Without knowning more, I would say that facilitating single<br>
> sign-on will be the trickest part. Creating a database front end will<br>
> be pretty easy. You might want to look at Chicago Boss's Boss_DB<br>
> project (<a href="https://github.com/evanmiller/boss_db" target="_blank">https://github.com/evanmiller/boss_db</a>), which will allow you<br>
> to easily create an adapter for MS SQL if one doesn't already work for<br>
> you.<br>
><br>
><br>
> On 14 July 2012 14:59, Jayson Barley <<a href="mailto:jayson.barley@gmail.com">jayson.barley@gmail.com</a>> wrote:<br>
>> I need to show a POC on a rewrite/redesign of an existing Java/CPP code<br>
>> base. From my work with Erlang I believe it is the best choice for the job.<br>
>> I am seeking some advise on what frameworks would be best to start with that<br>
>> will meet my goals. See below for the details. I am willing to listen to any<br>
>> feedback on which frameworks would be best or even if Erlang isn't the best<br>
>> tool for the job.<br>
>><br>
>> Requirements<br>
>><br>
>> Web standards based - Must support HTML 5, JS, CSS, etc. I am thinking<br>
>> Authentication - Users will need to be able to move from one server to<br>
>> another without losing their session.<br>
>> Template-able - I will need to be able to perform CRUD and retrieve data as<br>
>> HTML, XML, JSON, and possibly other formats in the future.<br>
>> Scalable - It must support at least 10,000 requests per second. It could be<br>
>> higher but based on the next requirement I am starting out small.<br>
>> Capable of streaming large amounts of data - It is possible that a REST<br>
>> request could contain millions of rows of data. This is rare but it is a use<br>
>> case that the existing Tomcat/IIS/Java Frankenstein currently does.<br>
>> MS SQL connectivity - Our existing database is MS SQL and that won't be easy<br>
>> to change so it needs to be able to connect to it.<br>
>> Testable - I will need to be able to write and run Unit, Integration tests.<br>
>> I am guessing that eunit and common test will cover this.<br>
>> Easily deployable - A new server will need to be deployed and configured in<br>
>> minutes. Something like Chef would be ideal since we are already using that<br>
>> in other areas.<br>
>> In place upgrades - When a new build is ready to deployed we should be able<br>
>> to deploy it, leave the previous version in place to roll back should an<br>
>> issue be found.<br>
>> Easy logging.<br>
>><br>
>> I think that is everything I can think of. If anyone has any questions or<br>
>> recommendations on how to make this clearer please let me know.<br>
>><br>
>> Thank you in advance,<br>
>> Jayson<br>
>><br>
>><br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
>><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
<br>
<br>
--<br>
Paul Barry, w: <a href="http://paulbarry.itcarlow.ie" target="_blank">http://paulbarry.itcarlow.ie</a> - e: <a href="mailto:paul.barry@itcarlow.ie">paul.barry@itcarlow.ie</a><br>
Lecturer, Computer Networking: Institute of Technology, Carlow, Ireland.<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>