StandaloneServer is the main entry point for starting an Anzo server, and serves 2 main functions. The first is to setup configuration information for the server. The server first loads up a set of base default configuration properties from org/openanzo/standalone/StandaloneServer.properties. This file is usally contained within the anzo-server.jar, or within the anzo-server/src/main/resource/org/openanzo/standalone/StandaloneServer.properties if running from source. Once these default properties are loaed, it then looks for the ANZO_HOME enviornment variable, which is used to setup the core configuration properties ANZO_HOME,ANZO_CONF, and ANZO_LIB. After these properties are configured, any commandline parameters are processed. There are 3 command line arguments that are valid at this point, -h to print a help message about the usage of the commandline arguments, -p to specify the location of a configuration file, and -j to enable the JMX endpoint within the server.
The second function of the server is to host a ServiceContainer. The ServiceContainer is the main component within a server that is in charge of managing all the services, backends, endpoints and life-cycle management of the system. In its present configuration ,the following components are added to the ServiceContainer:
Backends
| NodeCentricBackend | This backend provides the connections to a repository built upon a node centric RDB database.
|
Services
| NodeCentricAuthorizationService | This service is responsible for providing the IAuthorizationService, and is backed by a node centric RDB backend.
|
| NodeCentricModelService | This service is responsible for providing the IModelService, and is backed by a node centric RDB backend.
|
| NodeCentricQueryService | This service is responsible for providing the IQueryService, and is backed by a node centric RDB backend.
|
| NodeCentricIndexService | This service is responsible for providing the IIndexService, and is backed by a node centric RDB backend.
|
| NodeCentricRulesService | This service is responsible for providing the IRulesService, and is backed by a node centric RDB backend.
|
| NodeCentricUpdateService | This service is responsible for providing the IUpdateService, and is backed by a node centric RDB backend.
|
| NodeCentricResetService | This service is responsible for providing the IResetService, and is backed by a node centric RDB backend.
|
| NodeCentricReplicationService | This service is responsible for providing the IReplicationService, and is backed by a node centric RDB backend.
|
| AuthenticationProvider | This service is responsible for providing the IAuthenticationProvider, and is backed by a node centric RDB backend.
|
| AuthenticationPlugin | This service is responsible for providing authentication hooks to the ActiveMQ broker.
|
| QueryApi | This service is responsible for providing the query api to the IQueryService.
|
| NodeCentricIndexUpdateHandler | This service is responsible for updating the index service when the server is updated.
|
| ServerToClientUpdatePublisher | This service is responsible for taking transaction update messages and sending the appropriate events to registered clients.
|
| !EmbeddedActiveMQService | This service is responsible for providing an embedded ActiveMQ broker within the container.
|
| ServerRealm | This service is responsible for a means to authenticate requests within Jetty.
|
| EmbeddedJettyService | This service is responsible for providing an embedded Jetty server within the container.
|
Service Endpoints
| AuthorizationServiceListener | This service endpoint is responsible for exposing the IAuthorizationService to the combus.
|
| ModelServiceListener | This service endpoint is responsible for exposing the IModelService to the combus.
|
| QueryServiceListener | This service endpoint is responsible for exposing the IQueryService to the combus.
|
| IndexServiceListener | This service endpoint is responsible for exposing the IIndexService to the combus.
|
| RulesServiceListener | This service endpoint is responsible for exposing the IRulesService to the combus.
|
| ResetServiceListener | This service endpoint is responsible for exposing the IResetService to the combus.
|
| ReplicationServiceListener | This service endpoint is responsible for exposing the IReplicationService to the combus.
|
| UpdateServiceListener | This service endpoint is responsible for exposing the IUpdateService to the combus.
|
| AuthorizationServiceEndpointHandler | This service endpoint is responsible for exposing the IAuthorizationService to the Rest endpoint.
|
| ModelServiceEndpointHandler | This service endpoint is responsible for exposing the IModelService to the Rest endpoint.
|
| QueryServiceEndpointHandler | This service endpoint is responsible for exposing the IQuerylService to the Rest endpoint.
|
| IndexServiceEndpointHandler | This service endpoint is responsible for exposing the IIndexService to the Rest endpoint.
|
| RulesServiceEndpointHandler | This service endpoint is responsible for exposing the IRulesService to the Rest endpoint.
|
| ResetServiceEndpointHandler | This service endpoint is responsible for exposing the IResetService to the Rest endpoint.
|
| ReplicationServiceEndpointHandler | This service endpoint is responsible for exposing the IReplicationService to the Rest endpoint.
|
| UpdateServiceEndpointHandler | This service endpoint is responsible for exposing the IUpdateService to the Rest endpoint.
|
| NotificationRegistrationServiceListener | This service endpoint is responsible for exposing the NotificationRegistrationService? to the combus.
|
| NotificationUpdateListener | This service endpoint is responsible for exposing the ServerToClientUpdatePublisher? to the combus.
|
| AuthorizationJmx | This service endpoint is responsible for exposing the IAuthorizationService to the JMX endpoint.
|
Endpoints
| !JMXEndpoint | This endpoint is responsible for providing JMX access to services and backends.
|
| RestServletEndpoint | This endpoint is responsible for providing Rest access to services.
|
| CombusEndpoint | This endpoint is responsible for providing combus/JMS access to services.
|
| !WSServletEndpoint | This endpoint is responsible for providing Web Services access to the services.
|
| ValidationServlet | This endpoint is responsible for providing a validation servlet used to test if a server has started correctly.
|
| CometdServletEndpoint | This endpoint is responsible for providing a servlet that bridges between cometd and the combus.
|