Package ch.rswk.meta.engine
package ch.rswk.meta.engine
meta-engine is the backend of every application based on meta.
Various Services provide all the the vital functions. Each service is one of:
AbstractEngineIdleService- Similar toAbstractIdleServiceAbstractEngineExecutionThreadService- Similar toAbstractExecutionThreadServiceAbstractEngineWorkQueueService- Custom version ofAbstractEngineExecutionThreadServicewith a work queue for scheduling sequential work
The central meta services are:
ActionServiceDatabaseServiceFileServiceGatewayServiceHttpServiceLoggingServiceLuceneServiceMetaServiceUserServiceWatchdogService
API is mainly based on a WebSocket request/reply Protocol. There are some REST-like endpoints for
actions that should be accessible by simpler clients (like curl) that dont implement the WebSocket protocol.
EngineWebSocketListenerEngineWebSocketControllerActionExecuteResourceFileDownloadResourceFileUploadResourceUserTokenResourceUserWebhookAuthResourceWatchdogStatusResourceWatchdogUpdateResource
Runtime:
-
ClassDescriptionActionService receives and dispatches
MetaActionto services that are registered to handle them.AlertRegistry.GaugeHealthCheck<T extends Comparable<T>>EngineRuntime provides executor services,ServiceManagerfor service lifecycle, centralized access to Metric, Health-Check andAlertRegistry.EngineUpdater executes tasks against two engine instances for importing/exporting and migrating service data.FileService to upload, download, search and delete files.GatewayService for sending SMS, email and invoking webhooks.Geo3DUtilWrapper exposes methods from Geo3DUtil to the public.HttpServiceHeaderCorsConfig is used to configure aCrossOriginFilter.HttpServiceHeaderCorsConfig is used to configure aHeaderPatternRule.LoggingService for storing and searching for logs and metrics.LuceneService handles writing and searching a single Lucene index via a work queue.Main provides the generic main method for all applications based on meta-engine.MetaSchema handles generating LuceneDocumentfields from JSON schemas.MetaTypeFieldGenerator generates Lucene fields when encountering an object of the specified type.NamedFieldGenerator generates Lucene fields when ecnountering a field with the specified name.MetaService provides CRUD functionality for all meta model entities.UserService provides CRUD functionality for all user entities.WatchdogService can report engine health to another engine (usually a central, dedicated watchdog), check if other runtimes are healthy (as the dedicated watchdog) and schedule/process automated updates.