Client-side vs. Server-side Compilation

A comparison of Client-side and Server-side Compilation functionality.

You can compile a CCL project in either the server machine or the client machine. Client-side compilation is preferred if the server is heavily loaded and if registering a query is done frequently. Server-side compilation is preferred if the client nodes are intended to be "lightweight", using minimal disk, memory, or CPU resources.

Server-side compilation has some security restrictions that client-side compilation does not. Specifically, server-side compilation is not allowed to access the hard disk drive of the server machine; the query that you want to compile must be self-contained. A query you compile on the server cannot do the following:

The table below summarizes most of the advantages of each approach:

Client-Side Compilation

Server-Side Compilation

Reduces the workload on the server, which may be important if the server is heavily loaded and/or query registration is frequent.

Reduces the workload on the client, which may be important if the client is has minimal resources. For example, CPU, memory.

 

Allows light-weight clients that do not need to have the Sybase CEP Engine installed. This saves disk space and administrative work on the client, and also prevents client machines from having different versions of the Sybase CEP Engine than the server has.

Allows more than one user to compile a project at a time.

 

Allows the client to access schemas that are defined in separate files.

 

Allows the client to access modules that are defined in separate files.

 

Allows the client to use adapters that were attached via any means other than an ATTACH ADAPTER statement.

 

The specific function/method calls that allow server-side compilation or client-side compilation are documented in the chapters that describe each Sybase CEP SDK.