Architecture
As you can see from the following diagram, applications build with Vidyano are based on a multi-tier service oriented architecture where most of the usual advanced multi-tier programming work is taken care of by the Vidyano base framework.
Thin Client
Vidyano applications use a thin client that communicates directly with a service tier. This thin client is based on a MVVM architecture and takes care of all the client side logic of the application such as:- Dynamically displaying the data
- Providing feedback to the end user
- Open and save file dialogs
- Caching of local resources
- Etc.
It is possible to add your own custom client logic in the client side project, this will for instance allow you to override or extend custom actions before and after they are communicated to the service.
Service Layer
The Service Layer is responsible for receiving the communications from the Thin Client and calling the appropriate methods on the Business Logic Layer. This layer takes care of the authentication, security, caching, logging, session and interaction with the repository. This is the heart of the service tier and is maintained by the Vidyano development team. The WCF service contract for setting up your application service on IIS or Windows Azure resides in this layer.Business Logic Layer
The Business Logic Layer is where all the persistent object classes, custom actions, business rules and custom LINQ to Entities queries reside. Writing code for the Business Logic Layer is based on coding by convention principle, which seeks to decrease the number of decisions that developers need to make; thereby gaining simplicity and easier cross developer interaction.Data Layer
Vidyano uses the Entity Framework as a Data Layer. When the LINQ queries are executed, the Entity Framework will translate the LINQ query to the conceptual entity model (the Entity Data Model, or EDM), map the entity aspects to the storage layer, and generate a SQL query to execute against the database.
General information - Developer
information
