Sun Java System Calendar Server includes the following internal subsystems:
The following graphic shows the logical flow through these subsystems.
Clients retrieve calendar data by submitting requests using the HTTP protocol layer. This is a minimal HTTP server implementation, streamlined to support calendar requests. This is done by appending Web Calendar Access Protocol (WCAP) commands to the URL.
WCAP is an open protocol that allows you to write your own interface to Calendar Server. Using WCAP commands (.wcap extension), you can perform most server commands, except for certain administrative commands. You can use WCAP commands to request output as XML or iCalendar wrapped in HTML.
For information about WCAP commands, see the Sun Java System Calendar Server 6 2005Q4 Developer’s Guide.
The Core subsystem includes anaccess control component, WCAP using data translators to format data coming from the calendar database component, and any CSAPI plug-ins. The Core subsystem processes calendar requests and generates WCAP output. The Core subsystem also handles user authentication, including Calendar Server API (CSAPI).
The Database subsystem uses the Berkeley DB from Sleepycat Software (the database API is not public). The Database subsystem stores and retrieves calendar data to and from the database, including events, todos (tasks), and alarms. Calendar data is based on iCalendar format, and the schema used for Calendar Server data is a super set of the iCalendar standard.
For a distributed calendar database, Calendar Server uses the Distributed Wire Protocol (DWP) to provide a networking capability. For more information, see Distributed Database Service: csdwpd.
For information about the calendar database, refer to Chapter 16, Administering Calendar Server Databases with csdb.