Overview | Package | Class | Tree | Deprecated | Index | Help
| Compoze Software, Inc.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package com.compoze.collab.exchange

This package provides classes for the Exchange schema, used for connecting to Exchange 5.5, 2000 or 2003.

See:
Description

Interface Summary
IAccessControl | `IAccessControl` is the basis for maintaining Access Control about an item.
IAccessEntry | This interface defines an access entry, which is used when determining permissions for a container.
IDeliveryReport | The `IDeliveryReport` interface represents the message that is sent when a message that was marked for delivery notification was successfully delivered.
IExchangeAddressEntry | This interface is used for Exchange specific address entries as obtained from the GAL for Exchange 5.5, or Active Directory for Exchange 2000 and 2003.
IExchangeAppointment | This interface is used to represent appointments in exchange.
IExchangeCalendarContainer | Container class that holds appointments.
IExchangeCalendarItem | This interface is used to represent the common properties and methods among calendar items in Exchange.
IExchangeContact | Represents a contact in the Exchange system.
IExchangeContactsContainer | Container class that holds Exchange contacts.
IExchangeContainer | Containers of this type are specific to Exchange.
IExchangeItem | This interface is used to define an item in exchange.
IExchangeMailContainer | Container class that holds Exchange mail.
IExchangeMessage | This interface is used to represent an exchange message.
IExchangeNonDeliveryReport | The `IExchangeNonDeliveryReport` interface represents the message that is sent when a delivery failure has occurred.
IExchangeReadReport | The `IExchangeReadReport` interface represents the message that is sent when a message that was flagged with a read receipt was read by the recipient.
IExchangeReport | The `IExchangeReport` interface represents messages that are used to report on events in the Exchange subsystem, such as `IExchangeReadReport` notices.
IExchangeSession | Represents an Exchange session.
IExchangeTask | The `IExchangeTask` class represents a task in Exchange.
IExchangeTasksContainer | Container class that holds Exchange tasks.
IMeetingCancellation | The `IMeetingCancellation` interface represents the message that is sent to recipients of meetings when the organizer cancels the meeting.
IMeetingNotice | The `IMeetingNotice` interface represents the message that is sent from recipients of meeting requests that have either accepted or declined a meeting.
IMeetingNoticeAccepted | The `IMeetingNoticeAccepted` interface represents the message that is sent from recipients of meeting requests when they have accepted a meeting.
IMeetingNoticeDeclined | The `IMeetingNoticeDeclined` interface represents the message that is sent from recipients of meeting requests when they have declined a meeting.
IMeetingNoticeTentative | The `IMeetingNoticeTentative` interface represents the message that is sent from recipients of meeting requests when they have tentatively accepted a meeting.
IMeetingRequest | The `IMeetingRequest` interface represents a meeting request.
ISynchCallback | This interface is used as a callback mechanism for synchronization.
ITaskNotice | The `ITaskNotice` interface represents the message that is sent from recipients of task requests that have either accepted, declined or modified an assigned task.
ITaskRequest | The interface `IExchangeTaskRequest` represents the message that is received by a recipient when a task has been assigned to them.

Class Summary
AppointmentRecurrencePattern | This class is used to set recurrence patterns on an appoinment.
ContainerPermission | The element class for the `ContainerPermissionEnum` enumeration.
ContainerPermissionEnum | The enumeration class that contains `ContainerPermission` elements.
DayOfWeek | This class is used to represent a day of the week for an Exchange recurrence pattern.
DayOfWeekEnum | This class is used to represent a day of the week for an Exchange recurrence pattern.
DaysOfWeek | This class stores the values for 'days of week'.
ExchangeBusyStatus | The element class for the `ExchangeBusyStatusEnum` enumeration.
ExchangeBusyStatusEnum | The enumeration class that contains `ExchangeBusyStatus` elements.
ExchangeTaskStatus | The element class for the `ExchangeTaskStatusEnum` enumeration.
ExchangeTaskStatusEnum | The enumeration class that contains `ExchangeTaskStatus` elements.
ExchangeTimeZone | This class is used to represent different time zones in Exchange.
FlagStatus | This class is used to represent how an item is flagged in Exchange.
FlagStatusEnum | This class is used to represent how an item is flagged in Exchange.
FlagText | This class is used to represent some standard strings that are associated with a flag status on an item.
FlagTextEnum | This class is used to represent some standard strings that are associated with a flag status on an item.
Gender | This class is used to represent the sex of a person or contact.
GenderEnum | This class is used to represent the sex of a person or contact.
InstanceType | The element class for the `InstanceTypeEnum` enumeration.
InstanceTypeEnum | The enumeration class that contains `InstanceType` elements.
MapiKey | This class represents keys used by the MAPI Exchange provider, but can also be used with the WebDAV Exchange provider.
MeetingResponseStatus | This class is used to represent the how an organized meeting request was responded to.
MeetingResponseStatusEnum | This class is used to represent the how an organized meeting request was responded to.
MeetingStatus | This class is used to represent the status of an appointment.
MeetingStatusEnum | This class is used to represent the status of an appointment.
Priority | The element class for the `PriorityEnum` enumeration.
PriorityEnum | The enumeration class that contains `Priority` elements.
RecurrenceEndType | This class is used to represent how the end date of a recurrence pattern is specified.
RecurrenceEndTypeEnum | This class is used to represent how the end date of a recurrence pattern is specified.
RecurrenceInstance | This class is used to represent the day of the week that an "nth" recurrence occurs on.
RecurrenceInstanceEnum | This class is used to represent the day of the week that an "nth" recurrence occurs on.
RecurrencePattern | This class is used as a base class for Exchange recurrence patterns.
RecurrenceType | This class is used to represent the type of recurrence that a recurrence pattern has.
RecurrenceTypeEnum | This class is used to represent the type of recurrence that a recurrence pattern has.
SelectedMailingAddress | This class is used to represent which address type is used when sending information to a person or contact.
SelectedMailingAddressEnum | This class is used to represent which address type is used when sending information to a person or contact.
Sensitivity | This class is used to represent the level of confidentiality of a message in Exchange.
SensitivityEnum | This class is used to represent the level of confidentiality of a message in Exchange.
TaskRecurrencePattern | This class is used to represent the recurrence pattern for a task.
TaskResponseStatus | The element class for the `TaskResponseStatusEnum` enumeration.
TaskResponseStatusEnum | The enumeration class that contains `TaskResponseStatus` elements.
TimeZoneInfo | This class is used to represent different time zones in Exchange.
WebdavKey | The `WebdavKey` class is used to define the properties that can be retrieved, accessed and modified from Exchange via WebDAV.

## Package com.compoze.collab.exchange Description

This package provides classes for the Exchange schema, used for connecting to Exchange 5.5, 2000 or 2003.

### Quick Start

If you wish to get started quickly, you should create a `ISession` instance using the properties defined in `IExchangeSession` and its various subclasses.

### Exchange Connectivity

There are two different ways to connect to Exchange using the Collaboration API. The first is using WebDAV (Web-based Distributed Authoring and Versioning), the second is MAPI (Messaging API).

The previous version of the Exchange connector, Compoze Exchange Connector, distributed two distinct packages for communication, WebDAV, and a Compoze Exchange Service, based on SOAP and CDO. The APIs were separate and distinct.

In the Collaboration API, these two branches have been merged into a single entity. Switching between the two is as simple as changing Session properties.

### WebDAV

The following highlights features of the WebDAV protocol:

- Compatibility with Exchange 2000 and Exchange 2003.
- No intermediary server required.
- Protocol is XML/WebDAV over HTTP or HTTPS.
- Advanced querying capability.
- IIS is required to be running on the Exchange server.
- Windows is not required to use the Java APIs to communicate with Exchange.

### MAPI

The following highlights features of the MAPI protocol:

- MAPI communication is very fast.
- Compatibility with Exchange 5.5, 2000, and 2003.
- Protocol is native DCE/RPC or XML over HTTP/S.
- No intermediary server is required, but is recommended due to DCE/RPC overhead.
- Advance querying capability.
- No reliance on CDO whatsoever.

For MAPI, the Java APIs may run on any platform supporting Java, but there MUST be a MS Windows server running the supplied service. This is due to the reliance of core Windows functionality within the MAPI subsystem.

The JVM running the service that uses the native library runs from a protected thread pool. This is required due to the thread initialization requirements of MAPI. The number of threads is configurable (see below).

The following configuration options are available for the MAPI provider.

Property | Purpose
`threads.minimum` | The minimum number of threads in the MAPI initialization pool. Default value is 5.
`threads.maximum` | The maximum number of threads in the MAPI initialization pool. Default value is 7.
`storethreshold` | The maximum number of stores to have available at one time. There is a MAPI limit to the number of open stores at one time, at a max of 256 (The actual number may be smaller as some are reserved. If the service is installed on the Exchange server AND all sessions are opened against that server, then this value can be set to `-1` to disable store management. Default value is 200.

The following configuration options are available for the WebDAV provider. See `IWebdavSession` for more information on these properties and examples on how to use them.

Property | Purpose
`trust.store` | The location of the trust store for the current JVM. There is no default value, leaving any certificate trusted.
`trust.password` | The password to access the trust store. There is no default value, and therefore no default password.

### Implemenation Differences

Every attempt has been made to completely unify the MAPI and WebDAV providers. Due to limitations of the underlying system, there are some differences between the two:

| Difference
Synchronization | MAPI and WebDAV store synchronization state differently. The bytes in streams returned when performing an `IExchangeContainer.synchronize` are NOT interchangeable.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Compoze Software, Inc.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Copyright ©1999-2003 Compoze Software, Inc. All rights reserved.