Packages

  • package root

    glngn server is a business process as a service rapid development system.

    glngn server is a business process as a service rapid development system. Conceptually similar to Microsoft Access or Apple FileMaker (but scalable) for event sourced business services. In addition to a library, a standalone application is provided that is useful with minimal ceremony. This can be customized with a simple API. As well as deployed to a kubernetes cluster should those advantages be required.

    A deployment is cluster glngn.server.Nodes serving a dynamic composition of glngn.server.ServiceFragments. Deployments are designed to be fully usable as a standalone local application or a kubernetes service.

    Contact support@dogheadbone.com for support and licensing.

    Definition Classes
    root
  • package glngn
    Definition Classes
    root
  • package server

    Definition Classes
    glngn
  • trait ServiceActorBindings extends AnyRef

    Declarative mapping from a service domain's internal protocol to implementations.

    Declarative mapping from a service domain's internal protocol to implementations. Included in ServiceFragment. Implementations are typically other ServiceActors. Using these provides additional auditing features. However, glngn.server.prelude.ZIO actions and plain akka actors are supported.

    Conceptually, the mapping of service domain protocol to implementations is refered to as the bindings: the binding of a domain term to an implementation. Logically similar to a one-way data binding in various UI controller libraries. The bindings are determined by evaluating Instance.bindings for each service actor instance.

    The ServiceActorBindings trait enforces this by requiring the ServiceActor object to define an Instance class implementing BindingsInstance: a method bindings defining the mapping.

    object BalanceSheet extends ServiceActor with ServiceActorBindings {
      sealed trait Proto extends Message
    
      class Instance(val env: InstanceEnv) extends BindingsInstance {
        def bindings: Bindings[_] = ???
      }
    }
    Definition Classes
    server
  • Bindings
  • BindingsInstance
  • BindingsOp
  • Instance
  • InstanceEnv

object Bindings

Linear Supertypes
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Bindings
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def daemon(daemon: ServiceActorDaemon[(ServiceActorBindings.this)#Envelope]): (ServiceActorBindings.this)#Bindings[_]

    Start a daemon of the given ServiceActorDaemon that will be provided a reference to this service actor.

    Start a daemon of the given ServiceActorDaemon that will be provided a reference to this service actor. The daemon operates using it's own protocol (ServiceActorDaemon must be a ServiceActor). The behavior is provided a reference to this service actor to communicate events and perform requests on.

  7. def delegate(behavior: prelude.Behavior[(ServiceActorBindings.this)#Envelope]): (ServiceActorBindings.this)#Bindings[_]

    All protocol messages (in an envelope) that have not thus matched a binding will be provided to the behavior.

    All protocol messages (in an envelope) that have not thus matched a binding will be provided to the behavior. Logically similar to delegating to an actor with a behavior on envelopes.

  8. val empty: (ServiceActorBindings.this)#Bindings[Unit]
  9. def entity[E <: ServiceEntity](Delegate: E)(pf: (ServiceActorBindings.this)#EntityMapping[Bindings.entity.E.Id, Bindings.entity.E.Request[_ <: prelude.Message] with Bindings.entity.E.Proto]): (ServiceActorBindings.this)#Bindings[_]

    Delegates the match protocol message to persistent entities defined by a given ServiceEntity.

    Delegates the match protocol message to persistent entities defined by a given ServiceEntity.

    The delegation is defined by a partial function from the domain protocol to an entity identifier and entity protocol.

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

HighLevel TODO: rename to "persistence" or "storage"?

Service Logic

Ungrouped