copland.remote

The copland.remote package is where standard Copland services dealing with remote access to services or servers are kept.

Service Points

Configuration Points

Schemas

Service Points

DRbServerFactory (singleton)

This factory service will create new DRb servers, based on the configuration given. Each server may export a single Copland service, and may specify which methods of the service to export (and even alias them, if desired).

Implementor

copland/remote/drb-server-factory/Copland::Remote::DRbServerFactory

Schema

One of 'export' and 'export-configuration' must always be specified.
export
service [service] (required)
A reference tot he service to export.
methods [array]
A list of the methods to export. It may be a list of strings or hashes, or a combination of the two. Where an element is a string, it is the name of the method to export. Where it is a hash, it must contain a "name" key (defining the name of the method to export), and may contain an "alias" key (defining the name by which the method ought to be exported).
export-configuration [configuration]
A configuration point that ought to have the DRbServerExport schema. If 'export' is given, then this option should not be given, and vice versa.
setup
server.auto.start [boolean]
Whether or not the server should be started when the service is instantiated. If false, then the application must start the service manually.
server.bind.address [string]
The address that the server should bind to. This defaults to "127.0.0.1", which means that (by default) the server will not accept connections from other machines.
server.port [integer]
The port that the server will listen on.
server.use-log [boolean]
Whether or not a log should be created for the new service. Default to false.
setup-configuration [configuration]
A configuration point that ought to have the DRbServerConfiguration schema. If 'setup' is given, then this option should not be given, and vice versa.

DRbServiceFactory (singleton)

This factory allows remote Ruby objects (exported via DRb) to be wrapped transparently as services.

Implementor

copland/remote/drb-service-factory/Copland::Remote::DRbServiceFactory

Schema

uri [string] (required)
The URI of the remote object to wrap.

DefaultDRbServer (singleton-deferred)

A default DRb server that applications may configure. If more than one DRb server is needed, then the application should create its own servers using the DRbServerFactory.

Implementor

DefaultSOAPServer (singleton-deferred)

A default SOAP server that applications may configure and use. If an application requires more than one SOAP server, it should set them up manually via the SOAPServerFactory service.

Implementor

DefaultXMLRPCServer (singleton-deferred)

This service will create a an XMLRPC server instance.

Implementor

SOAPServerFactory (singleton)

This service creates new SOAP servers, based on the configuration given. This allows applications to define multiple SOAP servers. If an application only needs one, it will be easier just to use the predefined DefaultSOAPServer service.

Implementor

copland/remote/soap-server-factory/Copland::Remote::SOAPServerFactory

Schema

One of 'services' and 'services-configuration' must always be specified. When given, only one of 'setup' and 'setup-configuration' should be given as well.
services
namespace [string] (required)
The name by which remote clients should request this service.
service [service] (required)
The service to export.
methods [array]
The list of methods that should be exported by this service. Each element of the list ought to be either a string (naming a method), or a hash. The hash must have at least the "name" key (to identify the method to export), and may optionally have an "alias" key (to identify the name by which the method should be exported).
services-configuration [configuration]
A configuration point that ought to have the SOAPServices schema. If 'services' is given, then this option should not be given, and vice versa.
setup
server.auto.start [boolean]
Whether or not the server should be started when the service is instantiated. If false, then the application must start the service manually.
server.bind.address [string]
The address that the server should bind to. This defaults to "127.0.0.1", which means that (by default) the server will not accept connections from other machines.
server.port [integer]
The port that the server will listen on.
server.use-log [boolean]
Whether or not a log should be created for the new service. Default to false.
setup-configuration [configuration]
A configuration point that ought to have the DRbServerConfiguration schema. If 'setup' is given, then this option should not be given, and vice versa.

SOAPServiceFactory (singleton)

This factory allows remote objects (exported via SOAP) to be wrapped transparently as services.

Implementor

copland/remote/soap-service-factory/Copland::Remote::SOAPServiceFactory

Schema

methods [array] (required)
The array of methods to be imported from the remote object.
name [string] (required)
The method name to export.
alias [string]
The name that the method should be exported as.
fixed-args [integer]
The number of fixed arguments for this method. If this value is >= 0, then the method is assumed to be variable arity, with the parameter at index "fixed-args" being the one that collects all subsequent arguments.
parameters [array]
This is an array of strings that name the parameters to the method.
name [string] (required)
The name of the remote object to wrap, as registered on the remote host.
url [string] (required)
The URL of the remote object to wrap.

XMLRPCServerFactory (singleton)

This service creates new XML-RPC server instances, based on the configuration given to it.

Implementor

copland/remote/xmlrpc-server-factory/Copland::Remote::XMLRPCServerFactory

Schema

services
prefix [string] (required)
The name by which remote clients should request this service.
service [service] (required)
The service to export.
interface [array]
An array of maps that describe the methods that this service should export.
signature [string] (required)
A valid XMLRPC signature for the method. This is the name by which the method will be invoked.
help [string]
This is just arbitrary text that describes this method and what it does. It is useful for XMLRPC clients to query, to know what an interface is capable of.
method [string]
This is the actual method name (as declared in the service), if it differs from the name given in the signature. This allows for aliasing of method names.
services-configuration [configuration]
A configuration point that ought to have the XMLRPCServices schema. If 'services' is given, then this option should not be given, and vice versa.
setup
max.connections [integer]
The maximum number of concurrent connections.
server.auto.start [boolean]
Whether or not the server should start as soon as the service is instantiated.
server.bind.address [string]
The address that the server should bind to.
server.port [integer]
The port that the server should listen on.
server.use-log [boolean]
Whether or not a new log should be created for each service.
setup-configuration [configuration]
A configuration point that ought to have the XMLRPCServerConfiguration schema. If 'setup' is given, then this option should not be given, and vice versa.

XMLRPCServiceFactory (singleton)

This factory allows remote objects (exported via XMLRPC) to be wrapped transparently as services.

Implementor

copland/remote/xmlrpc-service-factory/Copland::Remote::XMLRPCServiceFactory

Schema

host [string] (required)
The hostname of the remote object to wrap.
name [string] (required)
The name of the remote object to wrap, as registered on the remote host.
path [string]
The web path to the XMLRPC service on the host. This defaults to the root of the web document tree "/".
port [any]
The port of the remote object to wrap. This defaults to port 8080.

Configuration Points

DefaultDRbServerConfiguration (map)

This configuration point is used to configure the DefaultDRbServer service.

Schema

copland.remote.DRbServerConfiguration

DefaultDRbServerExport (map)

This configuration defines the service that will be exported by the DefaultDRbServer service.

Schema

copland.remote.DRbServerExport

DefaultSOAPServerConfiguration (map)

This configuration point is used to configure the DefaultSOAPServer service.

Schema

copland.remote.SOAPServerConfiguration

DefaultSOAPServices (list)

This configuration point is used to configure the DefaultSOAPServer service.

Schema

copland.remote.SOAPServices

DefaultXMLRPCServerConfiguration (map)

This configuration point is used to configure the XMLRPCServer service. The value server.host defaults to 'localhost', and server.port defaults to 8080.

Schema

copland.remote.XMLRPCServerConfiguration

DefaultXMLRPCServices (list)

Each contribution to this configuration point should define the XMLRPC interface for a single service.

Schema

copland.remote.XMLRPCServices

Schemas

DRbServerConfiguration

server.auto.start [boolean]
Whether or not the server should be started when the service is instantiated. If false, then the application must start the service manually.
server.bind.address [string]
The address that the server should bind to. This defaults to "127.0.0.1", which means that (by default) the server will not accept connections from other machines.
server.port [integer]
The port that the server will listen on.
server.use-log [boolean]
Whether or not a log should be created for the new service. Default to false.

DRbServerExport

service [service] (required)
A reference tot he service to export.
methods [array]
A list of the methods to export. It may be a list of strings or hashes, or a combination of the two. Where an element is a string, it is the name of the method to export. Where it is a hash, it must contain a "name" key (defining the name of the method to export), and may contain an "alias" key (defining the name by which the method ought to be exported).

SOAPServerConfiguration

server.auto.start [boolean]
Whether the server should start as soon as the service is instantiated.
server.bind.address [string]
The address that the server should bind to.
server.port [integer]
The port that the server will listen on.
server.use-log [boolean]
Whether or not a log should be created for the new service.

SOAPServices

namespace [string] (required)
The name by which remote clients should request this service.
service [service] (required)
The service to export.
methods [array]
The list of methods that should be exported by this service. Each element of the list ought to be either a string (naming a method), or a hash. The hash must have at least the "name" key (to identify the method to export), and may optionally have an "alias" key (to identify the name by which the method should be exported).

XMLRPCServerConfiguration

max.connections [integer]
The maximum number of concurrent connections.
server.auto.start [boolean]
Whether or not the server should start as soon as the service is instantiated.
server.bind.address [string]
The address that the server should bind to.
server.port [integer]
The port that the server should listen on.
server.use-log [boolean]
Whether or not a new log should be created for each service.

XMLRPCServices

prefix [string] (required)
The name by which remote clients should request this service.
service [service] (required)
The service to export.
interface [array]
An array of maps that describe the methods that this service should export.
signature [string] (required)
A valid XMLRPC signature for the method. This is the name by which the method will be invoked.
help [string]
This is just arbitrary text that describes this method and what it does. It is useful for XMLRPC clients to query, to know what an interface is capable of.
method [string]
This is the actual method name (as declared in the service), if it differs from the name given in the signature. This allows for aliasing of method names.
Generated by Copland's Packrat documentation extractor on Mon Oct 11 20:22:31 MDT 2004