CORAL Component documentation: CoralCommon

Ioannis Papadopoulos


October 2005

1. Introduction

1.1. Purpose of the component

The CoralCommon package is a library providing shared implementations as well as developer-level interfaces for the various plugin components of CORAL.

1.2. Repository of the component

2. CoralCommon Semantics

2.1. Shared implementations for the Authentication Service components

The package provides the definition and implementation of the AuthenticationCredentials class, which is a transient implementation of the IAuthenticationCredentials interface. It provides shared code for the various implementations of the IAuthenticationService interface.

2.2. Shared implementations for the Lookup Service components

The DatabaseServiceSet class is a transient implementation of the IDatabaseServiceSet interface. It can be used as a shared implementation in components providing implementations of the ILookupService interface, where the result set of a lookup query is fully retrieved before in can be made available to the client. This is a behaviour which is expected to be always valid for any ILookupService implementation.

2.3. Shared implementations for the Monitoring Service components and the related developer-level interfaces

The developer level interfaces and default implementations related the the client-side monitoring are defined within the coral::monitor namespace. This namespace defines:

  • The state-less class MonitoringEventDescription and the singleton object monitoringEventDescription, which is used for the definition of the string literals corresponding to a monitoring event. The RDBMS-specific plugins use its methods for retrieving this string literals instead of hard-coded strings.
  • The namespace Event, where the Record and Payload classes are defined. The latter are used as shared code by the various plugins providing implementations for the IMonitoringService interface.
  • The enumeration ReportType, which is used by the various implementations of the IMonitoringService interface.

2.4. A URI parser for the connection strings

The package provides a simple parser for processing the database connection strings supplied to the IRelationalService and/or IConnectionService interfaces by the client. The URIParser class extracts from a valid connection string the RDBMS technology name, the optional protocol, the host name, the optional port number, and the name which defines the schema/service name. In case the supplied connection string is not valid or cannot be parsed, a URIException object is thrown. The URIParser class is also used in the plugins providing the RDBMS-specific implementations.

3. Related components

  • RelationalAccess, is the package where the CORAL abstract interfaces are defined.

4. Reference documentation of the CoralCommon developer-level interfaces