Erlang Webserver Interface Specification

0 views
Skip to first unread message

Kless

unread,
Aug 28, 2009, 6:48:31 AM8/28/09
to Ryan framework
"EWGI is a specification designed to allow web applications written in
Erlang to run on any supported server. It also makes developing web
applications simpler and more flexible by providing a common mechanism
for reusing components. It was inspired by Python's PEP 333 and
provides similar functionality to other projects such as Ruby's Rack."

It would very positive that Ryan could integrate this interface.

Kurt Miebach

unread,
Aug 28, 2009, 8:55:56 AM8/28/09
to Ryan framework, re...@googlegroups.com
Actually I was wondering for some time now if a some kind of web
server specification could be created. I was thinking of a layer
somewhere between reia/peridot and ryan (according to my humble
understanding).

Other reia/peridot frameworks could use this as a defined point to
build up from. Or people could just build their individual web
application using the specification.

I am not an Erlang expert, but I have worked with python's WSGI and it
is great to have such a standard way to plug things together. It can
make things easier for new people and projects.

I believe such a standard works like a magnet to concentrate and
attract different efforts and principles around a (then) well known
standard. Good for reia/peridot and for ryan and for everybody.

I admit I only made some tests with ryan and reia in the past but what
I saw made me a 'believer'.

Unite the power and stability of erlang/beam, the beauty and usability
of a modern language (reia/peridot) to create some stable and strong
interface for the requirements of the modern web. Ryan shows a very
good example!

I would highly encourage the realisation of such a standard interface.


Kurt Miebach



Some links and quotes from the python world:

WSGI:
----

http://docs.python.org/library/wsgiref.html

"You don’t need to understand every detail of WSGI just to install a
WSGI application or to write a web application using an existing
framework."


Python PEP 333:
--------------

http://www.python.org/dev/peps/pep-0333/

"Python currently boasts a wide variety of web application frameworks,
such as Zope, Quixote, Webware, SkunkWeb, PSO, and Twisted Web -- to
name just a few [1]. This wide variety of choices can be a problem for
new Python users, because generally speaking, their choice of web
framework will limit their choice of usable web servers, and vice
versa.

By contrast, although Java has just as many web application frameworks
available, Java's "servlet" API makes it possible for applications
written with any Java web application framework to run in any web
server that supports the servlet API.

The availability and widespread use of such an API in web servers for
Python -- whether those servers are written in Python (e.g. Medusa),
embed Python (e.g. mod_python), or invoke Python via a gateway
protocol (e.g. CGI, FastCGI, etc.) -- would separate choice of
framework from choice of web server, freeing users to choose a pairing
that suits them, while freeing framework and server developers to
focus on their preferred area of specialization."


CherryPy / WSGI:
---------------

http://cherrypy.org/wiki/WSGI

Using CherryPy as a WSGI application

"Whenever you create a CherryPy application, you're creating a WSGI
application, probably without even knowing it. That's because each
cherrypy.Application object is usable as a WSGI application
automatically--just by calling it."


Kless

unread,
Aug 29, 2009, 4:39:17 AM8/29/09
to Ryan framework
I forgot myself about links:

Master branch is now at: http://github.com/skarab/ewgi/tree/master
Google group: http://groups.google.com/group/ewgi/

Phil Pirozhkov

unread,
Sep 5, 2009, 8:12:00 AM9/5/09
to Ryan framework
Kless, Kurt!

Yes, the common interface between is a must have.
Ryan currently has mochiweb and yaws adapters, and
it would be great to abstract the adapters out from
the other code. But i would prefer not to use the
existing erlang libs to make it possible to keep
everything going if sometimes Reia will get an alternative
implementation (different from current Erlang's).
There are some more web servers i would like the
gateway interface to have support for:
- Inets, the Erlang bundled server, so that the webdev can do thier
job without any additional installations
- https://github.com/mujaheed/erlang-http/tree (i haven't tested it
myslef, but people tells that it's great)
- some non-erlang servers

Cheers, Phil
Reply all
Reply to author
Forward
0 new messages