Я работаю над многопользовательским программным обеспечением для телефонного банка. Первоначально я планировал использовать Windows Communication Foundation. Тем не менее, я использую Visual Basic 2010 Express, и хотя я могу создавать клиенты WCF, я не могу создать сервер WCF. Будучи студентом колледжа, у меня нет денег на Visual Studio 2010 Professional, и хотя он доступен через программу DreamSpark, условия лицензирования не позволяют использовать его в коммерческих целях (я надеюсь разработать недорогую систему телефонного банка [это не домашнее задание; на самом деле я учусь на бухгалтера]].
Могу ли я использовать какие-либо альтернативы WCF? Мой предложенный дизайн приложения выглядит следующим образом:
- Задание, созданное на сервере, который имеет все телефонные номера, которые необходимо вызвать из базы данных (то есть лицо, создающее задание, из общей базы данных может создать отфильтрованный список телефонных номеров, которые необходимо вызвать). Эти номера идут в очередь.
- Клиенты подключаются к серверу и входят в систему. Когда подключается каждый клиент, ему передается номер из очереди.
- Когда каждый абонент заканчивает вызов, он нажимает кнопку, указывающую ответ на этот вызов. Затем клиент отправляет сообщение об обновлении на сервер, и в ответ ему присваивается следующий номер в очереди.
Я размышляю здесь, но не могу ли я использовать базу данных SQL как для общего списка, так и для отфильтрованного списка? То есть каждый список находится в своей собственной таблице и имеет переменную, указывающую на следующую запись базы данных в отфильтрованном списке. Когда клиент запрашивал запись, он отправлял следующую запись, а когда клиент обновлял запись, он мог отправлять инструкцию SQL с внесением соответствующего изменения.
Я слышал о транзакциях и кэшировании, нужно ли их использовать для приложений такого типа? Если так, как бы я?
Я бы тогда использовал System.Net или что-то подобное для подключения клиента к серверу, верно?
Спасибо за вашу помощь!