3.2.4 Message Processing Events and Sequencing Rules

A COMA client MUST provide an implementation-specific mechanism by which a client application can request that it perform implementation-defined configuration tasks by making one or more calls to a COMA server. Additionally, it SHOULD provide a mechanism by which a client application can separately request that it establish a session. Establishing a session, whether implicit in a request to perform configuration tasks, or as an explicit request from the client application, consists of DCOM activation of the COMA server, optionally catalog version negotiation (see section 3.2.4.1 for a list of methods that do not require this), and optionally capability negotiation.

A COMA client also MUST provide an implementation-specific mechanism by which a client application can request that it end a session (by releasing all references to the COMA server's interfaces). This mechanism might be implicit, for example destroying the COMA client object if the COMA client provides an object-oriented interface for client applications.

This section covers sequencing rules for method calls made by a COMA client, including catalog version and capability negotiation.