Sun Java System Calendar Server 6 2004Q2 Deployment Planning Guide |
Chapter 1
Understanding Calendar ServerThis chapter provides an overview of Sun Java System Calendar Server 6 2004Q2, the business reasoning behind deploying Calendar Server, and the deployment process itself.
This chapter contains the following sections:
Calendar Server OverviewSun Java System Calendar Server 6 2004Q2 (formerly Sun ONE Calendar Server) is a high- performance, Internet standards-based calendar server designed with the scalability to meet the needs of customers ranging from medium-and large-sized enterprises to even the largest Internet, telecommunication, and enterprise service provider. Through a native Web browser interface or connectors to other calendar clients, including Microsoft Outlook, Calendar Server provides group scheduling and personal calendaring to consumers at home or at work, while enabling them to share calendar information with others over the Internet. The user interface (UI) can be customized to include Web links for e-commerce, banner ads, logo, or brand of the calendar server customer, and more.
Calendar Server provides one of the industry’s most open, interoperable, and high-performance time and resource management solutions. Through its scalability, performance, and reliability, it provides the features you require at a lower total cost of ownership than alternative solutions. Native support for iCalendar standards enables users to schedule events in a format that is easily shared across the Internet. The Java System Calendar Server employs standards and protocols such as:
The Calendar Server architecture is flexible, extensible, and scalable both vertically (by increasing the number of CPUs per system) and horizontally (by introducing additional servers into the network). As a result, Calendar Server can be thought of as a system of servers that can be configured to fit a variety of needs. It can remain in isolation as a standalone calendar server, or it can be configured with many instances, having the various services duplicated or split between them.
Calendar Server makes use of plugins to obtain external services. It also supports both LDAP-and identity-based deployments, and integrates with the Sun Java System Identity Server (formerly Sun ONE Identity Server), Sun Java System Portal Server (formerly Sun ONE Portal Server), and Sun Java System Instant Messaging (formerly Sun ONE Instant Messaging) to provide additional functionality.
Calendar Server provides the following benefits:
- Web-based group scheduling, free-busy lookup, and corporate directory lookup
- Web-based resource scheduling for conference rooms, projectors, and other resources
- XML-based customization (color, login, user interface, logo, branding, and so on)
- Support for standards-based event and calendar data feeds published in XML or iCalendar formats, which improves communication and can offer new revenue opportunities through commerce links and banner ads
- Native LDAP support, with an API for other directory services
- Connectors to additional calendar clients including Microsoft Outlook and Evolution, enabling these clients to perform scheduling on Calendar Server
- Support for hosted domains
- Simplified system management, online backup and restore, and entire database backup and restore
- Support for multiple calendars, such as work, family, friends, and more
- Support for public and private calendars, as well as public, private, and confidential individual events
- Support for layered calendar views, which enables users to combine two or more calendars into a single view, providing improved communication and productivity
- Automatic e-mail notification of appointments, invitations, and reminders sent to selected recipients; integrates with Java System Instant Messaging to provide automatic pop-up reminders
- Support for multiple owners of each calendar, to facilitate communication and productivity with project teams and community groups
- Ability to delegate calendar ownership to others who may act on behalf of the primary owner
- Daily, weekly, monthly, yearly, and comparison views
- Supports hundreds of thousands of users through a scalable, networked, server-to-server, client- server architecture
- Supports Secure Sockets Layer (SSL) encryption, LDAP authentication, authentication plugins, and identity-enabled single sign-on (SSO) through the Java System Identity Server
For more information on Calendar Server concepts, see the Sun Java System Calendar Server Administration Guide:
How Calendar Server Satisfies Business NeedsCalendar Server provides one of the industry’s most open, interoperable, and high-performance time and resource management solutions. Calendar Server provides the features you need at a lower total cost of ownership than alternative solutions. Through its flexible and extensible architecture, Calendar Server scales both vertically (by increasing the number of CPUs per system) and horizontally (by adding more servers to the network).
The following table summarizes the benefits to the enterprise provided by Calendar Server.
Making the Calendar Server Deployment Highly Available
Calendar Server provides high-availability options that supports the Sun Cluster services. With this option, a secondary Calendar Server host provides services to users if the primary system is taken offline for maintenance or is down due to a problem.
Additionally, you can deploy Calendar Server in a highly available configuration through use of redundant components. This kind of deployment gives services a high level of uptime. A highly available deployment of this sort requires the redundancy of every component in the service architecture. These components include a duplicate data store server, duplicate network interface cards, and duplicate system storage.
Using Portal Server with Calendar Server
You can install Calendar Server with Portal Server to provide access to a calendar portlet in a portal page. This portlet provides a calendar schedules and address book information. The integration of Portal Server includes single sign-on capabilities between Portal Server and Calendar Express web client (as well as other Messenger Express and Communications Express clients).
The following two components of Portal Server provide additional functionality to a basic Calendar Server deployment:
- Portal Server Desktop. Calendar Server installed on Portal Server enables users to launch Calendar Express.
- Sun Java System Portal Server 6, Secure Remote Access. Enables remote end users to securely connect to Secure Remote Access organization’s network and its services over the Internet. End users access Secure Remote Access by logging in to the web-based Portal Server Desktop through the Secure Remote Access gateway. The authentication module configured for Portal Server authenticates the end user. The end-user session is established with Portal Server and the access is enabled to the end user’s Portal Server Desktop.
Understanding the Deployment ProcessThe Calendar Server deployment process consists of the following general phases:
The deployment phases are not rigid: the deployment process is iterative in nature. Nevertheless, the following subsections discuss each of the deployment phases independently.
Designing the Deployment and Architecture
In general, during the deployment design phase, you construct a deployment architecture based on the deployment scenario specified in the requirements analysis phase. The objective is to map the logical building blocks (the logical architecture) to a physical environment (a physical topology) in a way that meets the system requirements specified in the deployment scenario.
One aspect of this design is sizing the physical environment to meet load, availability, and performance requirements. The deployment architecture takes into account details of the physical topology, such as the capabilities of different computing nodes and network bandwidth, in assigning system servers and application components to the computing nodes in the environment.
Objectives of Your Deployment
Before you begin your deployment planning, a good question to ask is:
Several reasons to consider are:
- Cost savings. The total cost of ownership per user is lower than using other calendar products on the market.
- Increased productivity. Your calendar users can manage their events and tasks as well as schedule meetings and appointments with others in the organization. Your users can also manage calendar groups and resources such as meeting rooms and equipment. They can also synchronize their calendars with mobile devices (PDAs) and Microsoft Outlook.
- Improved scalabilty and availability. Calendar Server scales both horizontally and vertically. If your organization grows, you can easily upgrade your configuration by upgrading a server or add more servers.
- Improved security. If you deploy Calendar Server on a Solaris system, your organization can avoid many viruses and other security threats that are common in Windows environments.
- High availability (HA) configuration. Integration with clustering software such as the Sun Cluster enables you to configure Calendar Server as a high availability service. If you experience a software or hardware failure, Calendar Server fails over to a secondary server.
Calendar Server Deployment Team
Deploying Calendar Server usually involves a number of people, each with different roles and responsibilities. In a small organization, one person might perform several roles. Some of the roles to consider are:
- Program Manager oversees the overall Calendar Server deployment and is responsible for its success or failure.
- Calendar Server Administrator performs day-today administrative tasks to manage Calendar Server and might also be responsible for installing and upgrading Calendar Server.
- Performance Engineer test and monitors the Calendar Server performance for the trial and production deployments to see if the deployment criteria is met.
- Development Engineering writes Calendar Server applications or plugins, or customizes the Calendar Server user interface (UI), if required.
- Documentation Specialist writes any customized documentation for administrators and end users.
- Education/Training develops training classes and material.
Support Specialists support both the trial and production deployments.
Calendar Server End Users
End users can connect to Calendar Server by using the Calendar Express Web client, Communications Express web client, or Sun Java System Connector for Microsoft Outlook.
Questions about end users at your site include:
- How many total Calendar Server end users will your site have?
- How will your end users connect to Calendar Server? Calendar Express? Microsoft Outlook? A combination of clients?
- How many geographic locations are involved? Are your end users all in the same time zone or are they in different time zones?
- Will your end users log into Calendar Server at the same time each day?
- How many active end users will your deployment have during peak use?
- How fast will your end user base grow?
- What are your specific performance requirements for the Calendar Server end users?
- What are your single sign-on (SSO) requirements?
- Are any of your users migrating from Netscape Calendar 4.x?
- Are your end users planning to use Sun ONE Synchronization?
- Are you planning to customize the UI for your end users?
- Does your site plan to use a proxy server?
- Does your site plan to use load balancing?
Expected End User Performance
What are your specific performance requirements for your end users? For example:
What configuration do you plan to use for your deployment? Calendar Server configuration scenarios include:
If you plan to configure multiple front-end servers, how do you plan to distribute your end users?
If you plan to configure multiple back-end database servers, how do you plan to distribute your database? For example, geographically.
What plans to you have for growth? For both front-end and back-end servers?
Development and Customization
The logical architecture specified in the requirements analysis stage of the life cycle determines the scope of the development work needed to implement a solution.
Additional work might be necessary, either in extending services through the use of APIs, or in customizing look and feel, for example, introducing a corporate branding.
For some solutions, development and customization might be quite extensive, requiring you to develop new business and presentation services. In other cases, it might be sufficient to customize existing graphical user interfaces, such as the Portal Server desktop, to achieve the functionality required.
For more information on using product APIs and customizing product functionality, see the appropriate component product documentation, including:
Prototyping and Testing
In the prototyping phase, you prototype your deployment design by implementing the deployment architecture in a test environment. You use new application logic and server customizations from the development effort, as described above (see Development and Customization), to perform proof-of-concept deployment testing. This phase involves installing, configuring, and starting up distributed applications and any required infrastructure services in your test environment.
If prototype testing reveals shortcomings in your deployment architecture, you modify the architecture, prototype again, and test again. This iterative process should eventually result in a deployment architecture that is ready for deployment in a production environment.
Your trial deployment should include a rollback plan, in case the deployment fails or runs into serious problems. As part of this plan, consider:
Rolling Out the Production System
In the production rollout phase, you implement your deployment architecture in a production environment. This phase involves installing, configuring, and starting up distributed applications and any required infrastructure services in a production environment. You normally start with a limited deployment and move to organization-wide implementation. In this process, you perform trial runs, in which you apply increasing loads and stress test the system.
As part of the rollout phase you might need to perform administrative tasks such as provisioning users, implementing single sign-on, and tuning the system to meet performance objectives. Verifying the deployment and performing capacity planning are also part of this phase. Capacity planning, of which monitoring the system plays an important role, is necessary for meeting the long-term needs of system growth.