Ich arbeite an einer Telefonbank-Software für mehrere Benutzer. Ursprünglich hatte ich vor, Windows Communication Foundation zu verwenden. Ich verwende jedoch Visual Basic 2010 Express, und während ich WCF-Clients erstellen kann, kann ich keinen WCF-Server erstellen. Als Student habe ich kein Geld für Visual Studio 2010 Professional, und obwohl es über das DreamSpark-Programm erhältlich ist, erlauben die Lizenzbedingungen keine kommerzielle Nutzung (ich möchte ein kostengünstiges Telefonbanksystem entwickeln [dies ist keine Hausaufgabe; ich bin eigentlich Student der Buchhaltung]).
Gibt es Alternativen zu WCF, die ich verwenden kann? Der von mir vorgeschlagene Anwendungsentwurf sieht wie folgt aus:
- Auf dem Server erstellter Auftrag, der alle anzurufenden Telefonnummern aus einer Datenbank enthält (d.h. die Person, die den Auftrag erstellt, kann aus einer allgemeinen Datenbank eine gefilterte Liste der anzurufenden Telefonnummern erstellen). Diese Nummern kommen in eine Warteschlange.
- Die Clients verbinden sich mit dem Server und melden sich an. Wenn sich ein Client anmeldet, wird ihm eine Nummer aus der Warteschlange zugewiesen.
- Wenn ein Anrufer einen Anruf beendet, drückt er eine Taste, die die Antwort auf diesen Anruf anzeigt. Der Client sendet dann eine Aktualisierungsnachricht an den Server und erhält als Antwort die nächste Nummer in der Warteschlange.
Ich spekuliere hier nur, aber könnte ich nicht eine SQL-Datenbank sowohl für die allgemeine Liste als auch für die gefilterte Liste verwenden? Das heißt, jede Liste befindet sich in einer eigenen Tabelle, und eine Variable verweist auf den nächsten Datenbankeintrag in der gefilterten Liste. Wenn ein Client einen Datensatz anfordert, würde er den nächsten Datensatz senden, und wenn der Client einen Datensatz aktualisiert, könnte er eine SQL-Anweisung senden, die die entsprechende Änderung vornimmt.
Ich habe von Transaktionen und Caching gehört, muss ich sie für eine Anwendung dieser Art verwenden? Wenn ja, wie würde ich das tun?
Ich würde dann System.Net oder etwas ähnliches für die Verbindung des Clients mit dem Server verwenden, richtig?
Vielen Dank für Ihre Hilfe!