В моей компании довольно старое клиентское приложение, написанное на Delphi. Мы очень заинтересованы в замене его на блестящее новое веб-приложение. Это сделает обслуживание легким, и многие клиенты хотят веб-приложение.
Приложение чрезвычайно богато знаниями предметной области, некоторые из которых находятся вне нашего контроля. Наши клиенты используют программу, чтобы управлять своими клиентами и сообщать о них правительству. Так что неточная программа - довольно большая вещь. Старая программа не имеет тестов. Мы еще не уверены, будем ли мы внедрять автоматизированное тестирование с новым.
Сначала мы планировали начать с нуля. Но мы недолговечны и хотим, чтобы все пользователи были в сети как можно скорее. Поэтому вместо того, чтобы начинать с нуля, мы решили попытаться использовать устаревшую базу данных толстых клиентов.
База данных является SQL Server и может легко использоваться в SQL Server 2008. Он очень богат хранимыми процедурами, функциями, несколькими триггерами и множеством таблиц с более чем 80 столбцами ... Но он достаточно нормализован. Мы хотим, чтобы и веб-приложение, и толстый клиент могли использовать одну и ту же базу данных. Это связано с тем, что если что-то плохо работает в веб-приложении, наши клиенты могут по-прежнему использовать толстый клиент и подключаться к нашим серверам. После того, как веб-приложение считается «стабильным», мы не рекомендуем толстый клиент.
Кто-нибудь еще делал это? Какие советы вы можете дать? Мы хотим, чтобы после того, как все были на сайте, постепенно измените структуру базы данных, чтобы устранить некоторые недостатки дизайна. Каков наилучший способ сохранить это на уровне доступа к данным, чтобы облегчить последующие изменения?
А как на самом деле делать экраны? Есть ли способ проще, чем просто переписать форму в 80 полей в ASP.Net? Есть ли инструменты, которые могут сделать это проще?
В настоящее время планируется использовать ASP.Net WebForms (.Net 3.5). Я бы очень хотел использовать MVC, но никто в команде не знает этого, включая меня.