My favorites | Sign in
eif
Project Home Downloads Wiki Issues Source
Search
for
eif  
Erlang Internet Framework
featured
Updated Jul 21, 2008 by ave...@gmail.com

Introduction

The Erlang Internet Framework, or EIF, is an attempt to create most or all of the major internet protocols into one suite all written in the Erlang programming langauge and designed to take advantage of OTP design principles. The core goal of this is to create a distributed multi-core fault tolerant system that can scale from one older PC to a cluster of hundreds or thousands of nodes without any changes to the software or configurations; only adding more servers as needed.

All aspects of standard Internet applicaitons and server need to be addressed in Erlang in order for this to happen.

Design

At it's core Erlang was written to handle communications between nodes and clients; therefore any applicaiotn based on communications is well suited to be written in Erlang. This pretty much covers nearly all Internet technologies, with the possible exception of search and other text processing.

The core applicaitons in EIF will be very farmilar as they are the core technologies that run the Internet; SMTP, POP3, IMAP4, DNS, LDAP and HTTP to name a few of the intial major protocols.

EIF Director

The EIF Director is a manage package that can:

  • Start or stop any EIF applicaiotn on remote nodes
  • Move connections from one node to another to balance workload or shutdown a node
  • Integrates with AWS to incorpeate all of the features of the EIF on EC2, S3 and SimpleDB.

Prorities

ErlMail

The first priority is something that the inital devlopment team for EIF is very familiar with and is missing in the world of Erlang; email, SMTP, IMAP4 and POP3.

ErlWeb

The next protocol that is going to be required for EIF is a webserver. Several webservers already exist, inclduing one build into Erlang, and there is a project to make HTTP modules that can be used in other applicaions. We intend to create a complete webserver outside of the existing projects.

The INETS is fine for intial testing of web servers, but it does not include multi-homing. This makes it unsuited for large scale hosting projects.

YAWS, or Yet Another Web Server, is a perfectly cabible web server, but it is based on the apache design model, which does not follow OTP best practices.


Sign in to add a comment
Powered by Google Project Hosting