AgE 2.5 : Node overview

Introduction

In the deployment model of the AgE platform, the node is associated with a physical machine and is responsible for managing the platform among one computer. In fact, the node is run as a single process and is responsible for:

  • defining component model which allows for extending the platform functionality;
  • intermediating in the communication between registered services
  • managing the platform life-cycle

Component model

Node utilizes the AgE platform component model where components are common Java classes enriched with Java annotations which describe dependencies between components.

Node components provide implementations of services which are registered in the service bus (see the next section).
Components are provided to the platform in modules (plugins) which are JAR files built by Apache Maven (more details in node architecture page).

Service bus

The service bus is responsible for managing platform services such as core service, communication service.
Services are being registered in the bus by other services or the platform boot-strapper (see more details at Node start-up page) and than they become available for other objects having access to the registry.

The main role of the bus it to intermediate in the communication between services - the bus implements service-locator design pattern: all customer services ask the bus for the reference to a required service (using service interface or String key, not a concrete implementation). Next, the appropriate implementation is searched and, if found, returned to the customer.

The below diagram presents the node bus with registered services which communicate with each other.

Attachments:

Node Bus Overview.png (image/png)