The framework is conformed by a set of layered libraries, some tools to help you on building Af-Arch applications and some support applications which helps developed applications to run in production environments.

Next layer structure diagram shows how the different Af-Arch libraries are arranged to allow you communicate with Af-Arch servers from clients written in C or C#.

Af-Arch API Stack

As you can observe, while developing client applications you'll have to face with LibAfDal* layer, which is a automatically generated by af-gen tool, and LibAfDal layer when you use C as your client application language.

As an example for LibAfDal* components we have to mention LibAfDal-Af-Kernel. This library allows client application written in C to invoke services exported by the central server Af-Kernel.

However, if you choose to use C# you'll have to use LibAfDalSharp* layer, which is also generated by af-gen tool, and Af-Arch#.

As an example for LibAfDalSharp* we have to mention AfKernel Sharp. This library allows client written in C# to invoke services exported by the central server Af-Kernel.

In the other hand, while developing server applications at the server side you'll have to use LibCoyote, LibAfDal, LibAfGs and LibExArg. At this moment there is no plan to allow Af-Arch server development using other languages than C.