Oracle Communications Calendar Server (also referred to as Calendar Server 7 and formerly known as Oracle Communications Calendar Server for CALDAV Clients and Sun Java System Calendar Server) is a newly designed server and replaces the existing Calendar Server 6. Calendar Server 7 operates in a very different manner from Calendar Server 6. Though both servers use the standard iCal format for data, Calendar Server 6 supports only the WCAP protocol for data access, making it usable only with Oracle-supplied clients and connectors. Calendar Server 7 supports the standard CalDAV access protocol, which makes it usable with Apple iCal, iPhone, Thunderbird Lightning, and any other CalDAV client.
In Calendar Server 7, servlets are deployed within a web container and the actual data is stored in either MySQL Server or Oracle Database. In addition, Calendar Server (beginning with Version 7 Update 1) supports the WCAP 7.0 protocol for use with clients such as Convergence.
For a description of features and functionality, see each release's New Feature documentation, for example, New Features in Calendar Server 188.8.131.52.0 . For an overview of the differences between Calendar Server 6 and Calendar Server 7, see Calendar Server 6 and Calendar Server 7 Comparison and Coexistence.
CalDAV, also called Calendaring Extensions to WebDAV, is an Internet standard that enables client access to scheduling information on a remote calendar server. WebDAV, also called Web-based Distributed Authoring and Versioning, is a set of extensions to the Hypertext Transfer Protocol (HTTP) that enables users to collaboratively store, edit, and manage files on remote World Wide Web servers. The WebDAV protocol makes the web a readable and writable medium that enables users to create, change, and move documents on a remote server. WebDAV is useful for authoring the documents that a web server serves, but it can also be used for storing files on the Web, permitting access to the the files from anywhere.
Until recently, the calendaring world has lacked any highly adopted standards. Different vendors have used their own proprietary protocols to coordinate their clients and servers. For example, previous versions of Sun Java System Calendar Server used the proprietary WCAP protocol.
CalDAV, described in RFC 4791, was approved as an IETF standard in March 2007. RFC 4791 and its extensions provide interoperable exchange of calendaring and scheduling information between all servers and clients conforming to these standards. The CalConnect group maintains a list of supported CalDAV clients.
By supporting CalDAV, calendaring solutions enable a wide spectrum of client choices as well as more flexibility for calendar synchronization solutions, including those offered by Notify and Synchronica.
The following figure represents the Calendar Server 7 software architecture.
Calendar Server Software Architecture
This figure shows that Calendar Server components, including servlets and the core, are deployed within a GlassFish Server web container. Additionally, Calendar Server accesses Directory Server for LDAP information, a SQL database for calendar data (which can be either MySQL Server or Oracle Database), and a document store for large data, such as calendar events and todos with large attachments. These components are described in more detail in the following sections.
Calendar Server itself is stateless. To achieve a highly available calendar environment, you can deploy multiple instances of Calendar Server to be managed by a GlassFish cluster.
In addition, you can deploy multiple back-end database instances. For monitoring, administration, tuning, and backup and restore, you use the Calendar Server davadmin command, and database tools and utilities that ship with either Oracle Database or MySQL Server.
The document store is used to store large data in the Calendar Server, such as calendar events and todos with large attachments. CalDAV and Convergence clients are able to retrieve these attachments over HTTP. You set up one document store per configured Calendar Server back end.
This section describes the clients used to access Calendar Server as well as the various Calendar Server components.
The Calendar Server deployment provides the repository for calendar and address book data, and also acts as a file storage. The main interface with the repository is the CalDAV protocol, which is based on the HTTP protocol. CalDAV clients execute on end-user computers or on mobile devices, including:
- Thunderbird + Lightning extension (CalDAV)
- Apple iCal (CalDAV)
- iOS client
Starting with Calendar Server 7 Update 1, the server portion also provides partial support for the legacy HTTP-based WCAP 7.0 protocol for use by Convergence.
Starting with Calendar Server 7 Update 2, the server provides support for Connector for Microsoft Outlook 7.3 (patch 13).
The following figure shows the Calendar Server clients and components.
Calendar Server Components
Calendar Server supports only a subset of the legacy WCAP 7.0 protocol, with no guarantee of backward compatibility. Additionally, Calendar Server supports the server-to-server iSchedule protocol, which means that it can also act as a client. The server also exposes the following HTTP-based services:
- Simple free/busy service
- Administrative browse UI
Finally, Calendar Server offers a JMX-based interface to query and alter the repository. This interface is primarily used by the davadmin command-line utility but can also be used by standard clients, such as Jconsole, and by custom JMX clients, either locally or remotely.
In Calendar Server, data is organized within repositories by subject, that is, by LDAP user, resource, or group. Each subject has one home collection (similar to a UNIX home directory), which is the parent of all service-specific collections for that subject, including:
- Calendar collections
- Address book collections
- Generic file storage collections
Currently, Calendar Server only uses calendar collections. Address book and file collections are not yet supported.
For example, the following URLs represent a single repository for calendar user smith: