In this case you will have several programs and not just one.
- You will have a web application that will be responsible for all logic and storage.
- Desktop clients (one can also have mobile clients)
- API for communicating your Web Application with your customers, this API will be a Webservice.
In the web application you will have: User management, Discipline management, Enrollment management, Note release management, etc. It will have all possible actions and responsibilities of your application
The API is an interface in which through the internet the Desktop, Mobile (android, iOS, Windows Phone) applications can interact with your site, things like authentication, get student list, send notes, etc.
The Desktop and Mobile applications in this case will be API clients, that is, they will depend on the web application, to avoid data duplicity and the dangers that this brings as outdated data for example the Desktop and Mobile applications will make calls via the API to carry out the release of grades, get student grades and so on.
The normal structure of a web application would be:
- Webserver - Responsible for the logic of the program.
- Database Server - Responsible for storing information.
- API server - Responsible for providing the interface for access, usually separated from the web server because if one gives problem the other will not be affected, also helps to split the load.
Desktop and mobile applications will have:
- Basic logic of consumption, for example a form that asks user and password, sends to the server and upon receiving the success message allows the use of the application.
- Webservice interface compatible with the one used by the API.
Sometimes I can be a little confusing, but what you will get is at least two categories of programs, the Web Application that centralizes everything and the others that consume the data.
The name you are looking for is Database
– alacerda