The Server SDK is an ASP.NET/C# solution that can be used to completely customize individual Weavy components (both look and feel and functionality). It can also be used to add new components and/or extend Weavy with all kinds of new functionality such as custom AppsContent TypesDaemons etc. Before learning how to develop with Weavy it could be useful to understand a bit more about the Weavy server architecture.


Weavy is built on .NET and uses a classic three tier architecture (Presentation-Logic-Data).

  • User interaction is managed by the presentation tier.
  • Business rules and logic are managed by the logic tier.
  • The underlying data is stored and served by the data tier.

architecture diagram

Presentation tier

The presentation tier is an ASP.NET MVC web application. It uses familiar concepts such as Controllers, Models and Views to compose the Weavy user interface.

The Weavy.Web assembly contains code for the standard Weavy user interface as well as base classes, helpers and other things you will need when developing with Weavy. And although it would be technically possible to remove the dependency on Weavy.Web and build a custom user interface directly on top of Weavy.Core, most developers will probably want to modify and extend the existing UI instead of creating it from scratch.

Logic tier

The presentation tier calls into the logic tier which coordinates everything, processes commands, makes logical decisions, performs access control etc. The most important classes in the logic tier are the classes in the Weavy.Core.Services namespace which make up the service layer and contain all the logic and methods required for working with the domain models.

The service classes, domain models and many other classes are located in the Weavy.Core assembly. It is the engine of Weavy and has common functionality that even the most fundamental things you develop will have to rely on. You can think of it as the base class library for Weavy.

Data tier

The data tier is responsible for storing and serving data. It is implemented using the repository design pattern. The underlying data stores supported are SQL Server and Azure SQL Database.