Architecture Layers

Each Code Generator supplied in SilverModel is designed to fit into a layer of the architecture. The architecture layers being

  • Data Models (defines the structure of the data e.g CQRS)
  • Data Manipulation (access and update the data store e.g. Entity Framework)
  • Data Access (external access to the data e.g Rest API)
  • Web Client (HTML front end)
  • Mobile Client (iPhone or Android front end)

You get to choose what technology best fits your solution.

All our included code generators are provided to give you an excellent starting point.

Since our Code Generators are stored on GitHub, you can download the latest updates whenever you want. Also by using Git Tools you will be able to merge any changes in the source code.

If you wish to submit changes to our GitHub Repository you are more than welcome too.

Data Model Layer

The data models of the code generators are designed around the CQRS pattern. This allows for the definition of data read and update operations that are independent of the technologies you use.

It also allows for the system to scale more easily as you can use different technologies to process the operations e.g. via a Rest API, Actors, Message Queues etc.

Data Manipulation Layer

Our goal is to make the data access layers as independent and swappable as possible. Allowing you to move from a Rational SQL database to a NoSQL database as required.

The Data Access layer uses the Data Model layer for all the definitions for updating and viewing the database.

Currently we support Entity Framework in the data access layer and plan to add others.

Data Access Layer

The data access layer allow your various front end client to access the data manipulation layer.

Again this is designed to be swappable and the follow are examples of technologies that can be used in this layer

  •  Rest API
  • Actors (Akka)
  • Message Queues

Currently we have the Rest API layer included in our generators

Web Client

The web client layer is to allow end users to interact with your models.

The web client communicate over Rest to update and retrieve data from your database.

Included with SilverModel is support for

  • Angular 4
  • Asp.net MVC

Mobile Client

The mobile client layer is to allow end users to interact with your models from there mobiles.

The web clients communicate over the REST api to update and retrieve data from your database.

Included with SilverModel is support for

  • iPhone
  • Android
  • Windows Phone