We call our Application Service Architecture for the Genus Server. Our services are mostly written in C# and .NET using Windows Communication Foundation (WCF), and support all our clients using web services over http(s).

The core of our Application Service Architecture is the Core Event Handler. The Core Event Handler receives requests for data reads and changes from the layer above, handles the requests and returns responses. The requests are truly requests, i.e. the Core Event Handler decides if data is readable or if changes are doable.


The Desktop Services are standard web services used solely by our Desktop Clients (Microsoft Windows).


The App Services are standard web services used solely by our app clients (i.e. mobile, tablet and web clients).


Modeled Services are web services set up as part of an application model and made specific for an external app or an external interface.

The Action Orchestration Handler breaks the web services down to steps and handles the sequence of steps.

The Meta-Object Model is interpreted by the Core Event Handler, in order to recognize your business objects, like Projects, Activities, Customers etc. The Meta-Object Model is read into a memory cache at client start-up from a database using the layers below.

The Transaction Engine Object/Relational Mapper converts data between the object-oriented Meta-Object Model and the relational-oriented database representation. The Mapper is responsible for the security and for SQL generation. The Genus Server is stateless and therefore does not have any object cache.

The databases are stored on a standard relational database system, like MS SQL Server, mySQL or Oracle. The full Meta-Object Model is stored in the Metadata-database. This database is also called the Directory database.


The Modeled Services are available as WCF services. Our services include a Feed Service, following the OpenSearch standards.


The Desktop Services are only accessible to our Genus Desktop Clients. Our App Services may be accessed by any client.


A Mail Service is responsible for sending e-mail, while a set of Agent services executes modeled background tasks.


The Genus Core Service contains the Core Event Handler, the Meta-Object Model and the Transaction Engine O/R Mapper. The responsibility of the Genus Core Service is to handle requests from above services layers.