Migration to Dovecot for email services
In 2003, Apple released Mac OS X 10.3 Panther Server using the open source Cyrus server for POP and IMAP email. In Snow Leopard Server, Apple will now be using Dovecot for POP and IMAP email services.
The new choice is based upon Dovecot's enhanced scalability to handle more uses, better data reliability, and new features including automatic "self healing" data corruption detection and repair, according to people familiar with Apple's plans.
The Dovecot open source project is also known for its focus on security as well as full compliance with the IMAP specification. According to testing cited by imapwiki.org, the latest version of Dovecot fully passed a battery of over 440 IMAP tests, while Cyrus, the popular IMAP software Apple has been using in Leopard Server, failed at least a couple dozen of the tests.
The IMAP implementations used in Gmail, IBM's Notes Domino, Kerio Mail Server, and Sun Java Messaging Server (currently used by Apple for its MobileMe cloud services) were also all reported to have unreliable behavior when checking messages, bugs in updating flags on atomic items in mailboxes, and multiple failures in scripted testing of their compatibility with the IMAP standard.
Strict adherence to IMAP is as important in email software as web standards compliance is in a web server or browser. In many cases it is even critical, as poor implementation of standards on the web usually only results in improperly formatted pages or flaws in using web applications, while errors in IMAP can result in email data loss.
According to the Dovecot project's web site, the software is also "among the highest performing IMAP servers," using self optimizing, transparent indexing of mail folders that support modification by multiple concurrent users. The software also supports IMAP extensions including IDLE push notifications, and provides plugins for handling ACL support and quota limitations. Apple is also expect to tout improvements of its own, including support for server side email rules and vacation messages.
Open Directory improvements
Apple is also improving its Open Directory services in Snow Leopard Server for better scalability and performance in handling more concurrent connections. Directory services are used to manage users, groups, and devices on the network. Administrators use Open Directory to set user permissions and establish policy for systems bound to their network domain, such as limitations on what software can be installed, and the default settings and preferences users see at login.
Rather than writing its own implementation of LDAP itself, Apple uses the popular OpenLDAP open source software and then builds its own graphical admin tools and integration with other software packages included in Mac OS X Server, including MIT's Kerberos and Apple's own SASL Password Server for authentication.
That modular design enables the company to rapidly incorporate the latest improvements made by the OpenLDAP project and integrate Mac OS X Server into existing enterprise directory services environments in a straightforward way, from universities using Keberos with LDAPv3 to corporations using Microsofts' Active Directory or Sun's NIS.
Leopard Server's Open Directory used OpenLDAP 2.3, while Snow Leopard Server will reportedly move to the latest 2.4.11 stable release, which offers dynamic monitoring enhancements, support for supply DNS SRV records to identify the default server, and "significant performance enhancements throughout the client and server code base," according to the OpenLDAP project site.
Address Book Server strips contacts from LDAP
While Apple uses LDAP (lightweight directory access protocol) in Open Directory for managing network users, a new Address Book Server in Snow Leopard Server is reported to employ a different system to allow users on the network to share their personal and group contacts across multiple computers on the network.
Similar to iCal Server, which debuted in Leopard Server, the new Address Book Server will make use of extensions to WebDAV, a protocol developed to make web servers accommodate both read and write operations. Both iCal Server and Address Book Server act as specialized web servers handling specific types of files, with iCal Server using CalDAV to manage event data, and Address Book Server using the CardDAV specification to manage contacts.
This enables Snow Leopard Server to support the rich contact records supported in Address Book without running into the schema limitations and security issues related to LDAP. Along with iCal Server and the mail services Apple provides using Dovecot, this will give Snow Leopard Server the integrated email, contacts, and calendar of Exchange without the cost of Exchange, or its steep resource demands related to its massive, specialized email database architecture.
iPhone-savvy Wiki services and remote access
Apple's web-centric approach to serving businesses' information sharing needs extends to Mac OS X's collaboration services, which provides web-based wikis, blogs, mailing lists, and RSS feeds tied in with Open Directory users, comparable in some respects to Microsoft's SharePoint services.
In Snow Leopard, those features will be enhanced with search across multiple wikis, a template optimized for mobile use on the iPhone, and a central My Page site customized to provide access to all of the updates to the intranet wiki sites a user selects to track.
Along with sending push notifications to mobile users outside the company's local network, Snow Leopard Server also enables mobile access for setting up secure incoming connections to remote users, providing them with proxy service access to their corporate email and intranet websites.
Snow Leopard shared performance updates
Snow Leopard Server will also inherit the same kernel updates as the Snow Leopard desktop version, with full 64-bit addressing to handle massive amounts of RAM. That's a particular advantage in the the server realm, where applications can take full advantage of wide resources to accommodate more simultaneous network users. Leopard Server already employs 64-bit versions of many of its non-kernel services, from Apache web hosting to email.
The move to a 64-bit kernel will give Snow Leopard Server security advantages as well, as noted in a previous article. Other new architecture changes due in the Snow Leopard kernel will also benefit the Server side, including Grand Central technology for optimizing performance on multiple-core and multiple-processor hardware.