Security and Trust Agent Architecture and Components

At a high level the agent can be viewed as a black box that implements the DirectProject specification. Digging deeper into the box, the agent consists of a directly consumable API and several subsystems that can be directly consumed as stand-alone components.

highLevelArch

Each component within the agent functions independently whilst the agent orchestrates the business logic between the internal components.

Core Components and Interfaces

Typically messages are processed by the agent using the appropriate incoming or outgoing method and return either a processed message or throw an exception if the message cannot be processed.

IoC and DI Support

Inversion of control (IoC) and dependency injection (DI) are popular design patterns for componentized software. Most of the components support multiple IoC and DI frameworks through constructor and attribute setter methods; however, the agent module is biased towards the Spring framework and supports Spring specific constructs such as Spring Beans and Spring application contexts.

Although the protocol implementation bridges provided by the gateway module almost exclusively instantiate component instances using Spring, component instances can be instantiated directly without the use of DI.