Project April is an API invented for annotation-based approach in creating distributed services.
Remote procedure = Remote method = RP
Procedure (method) whose execution is delegated to a Data-provider server (most commonly, on other physical machine) via the Distributor server
Data-user, Distributor or Data-provider
Data-user( server) = DU
Server containing Remote procedures delegated to Distributor server. May be registered in Distributor server(s). Multiple may occur optionally joined by a single Data network.
Distributor( server) = DS
Server responsible for accepting requests for Remote procedure executionm processing them to Data-provider server(s) and returning the result (if any). Multiple may occur joined by a single Data network.
Data-provider( server) = DP = ~Executor
Server responsible for execution of procedures (methods) for whom the are local. Should be registered in Distribution server(s). Multiple may occur joined by a single Data network.
Group of Data-users, Distributors and Data-providers joined for cooperative work.
Stream of data between Data-user, Distributor and Data-provider. Normally goes from the first to the last and backwards.
Object unique for each node in a Network used for its identefication amongst others.
On Data-user server
Interface describing methods of a RP. May contain non-RP methods.
Factory capable of creatng runtime implementations of Remote interfaces.
@Remote on method
Method in Remote-interface expected to be executed using April.
targetColor prameter indicating the target color of this method's executor.
On Distributor server
Data about the network. Should be similar between DSs of the same network.
Object capable of effective distribution of requested remote procedures via data-providers
On Data-provider server
Object used for identifying functional purpose of this DP. Multiple may occur.
Object describing behaviour of a foreign RP being executed on this machine. Should be registered in Remote-interface implementation handler
Method in Remote-interface implementation expected to be executed using April
Remote-interface implementation handler
Manager capable of accepting requests from distributor server delegating them to registered Remote-interface implementations.
@Cached on a
Indicator that the
RemoteInterfaceFactory should cache the results of this method call for all its parameters or only those which are annotated as
@NonShared on a
Indicator that the same Data-provider should be used for this method calls always or only for the same values of parameters annotated as