Imap Design
Date: 29/8/2008
I've been working on the IMAP code for v2 a bit and thought I'd post an architecture diagram. Just for fun.

This how email gets from the server to the screen in the current dev build of Scribe v2. I had to write a new FETCH implementation in the IMAP class because the existing methods were too restrictive. Basically I'm moving more towards an API that maps far more directly to the protocol, exposing more power to the calling code. The new FETCH code parses the response on the fly and when it has a whole record, calls a callback method with the fields in a hash table. It's a lot faster and more flexible than the old code.

So, reading mail works. Now just to add moving, deleting and mail change notification.
07/11/2008 1:29pm
G'Day Matt,

I would call this a 'Sequence Diagram' showing the method calls and how they pass data between the layers of the application. An 'Architecture Diagram' in my vernacular would show what the software/server layers were composed of.
Something like:

UI/View Layer (.NET 3.5 System.Web.UI.WebControls etc.)
Controller Layer (Manages UI Layer; Data Transfer Objects )
Services Layer (Translation of DTOs into Domain Objects)
Data Access Layer (.NET 3.5 LINQ)

SQL Server 2005 (Application Data)
Active Directory (Enterprise User/Group Repository)

Yrs Pedantically At 12:30am


Email (optional): (Will be HTML encoded to evade harvesting)
Remember username and/or email in a cookie.
Notify me of new posts in this thread via email.