A-Stack Runtime


A-Stack Anatomy


  • A-Stack is capability based system and runs as OSGI container in Java Virtual machine. 
  • Engine by default provides only one capability - of loading additional capabilities, which are added through Facet Types.
  • Every Facet Type brings a new capability to the engine. All these Facet Instances are kept in a package from deployment perspective. 
  • One package shares the context for communication, storage and engine cache. 
  • Multiple Facets can be stringified at the time of definition like Workflow Facet can use Http Facet, means all requests can come on Http Channel for the Workflow facet. 
  • One facet can invoke another facet through facet script as well.

On same engine, multiple packages can be deployed and two packages are treated as two independent environments in the same engine.

Communication between two packages happen in the same way as between two stacks.

A-Stack Manager Model

The purpose of A-Stack Manager Model is to configure, manager the runtime using the a dedicated EndPoint. TQLEngineManager is the endpoint that handles the configuration and management of the runtime.

  1. To get List of all Running Facet Instances run the query:

Request:

Fully qualified endpoint is:

http://<host>:<port>/fid-TQLEngineManager

Where host: hostname where Runtime is started

port: port on which the runtime is started.

TQLEngineManager List Facets
#
GetInfo

Response:

TQLEngineManager List Facets
#
FacetAgent(Status: "200", Reason:"OK", Version: "1.1.1.201801081456-REL-1.1.7"):
	GetSqlInfo:
    	Storage(URL: "jdbc:hsqldb:mem:TqlNotification"):
            MaxConnections: 75 # Maximum Number of DB Connections Configured
           	UseConnections: 1 # Number of connections there were/are in use
            SqlStatements: 0 # Total Number of SqlStatements prepared against this storage
        Storage(URL: "jdbc:hsqldb:file:tqlenginemanager"):
            MaxConnections: 75
            UseConnections: 1
            SqlStatements: 14 
    GetJvmInfo"
        #...
    GetNetInfo:        
		#...
    GetUseInfo:
        #...
    GetFacetInfo
        #List of all the running Facets...