Миграция с FoxPro на Dot-Net

Без избыточных вопросов! Лучшая документация это код!


Пример интерфейса в FoxPro



Пример интерфейса переписаного в WPF



Порядок взаимодействия(кратко):

Отправить сообщение в DataOdyssey ...

Некоторые подробности:

Что необходимо для выполнения проекта?

Обязательным условием является полное наличие всего исходного кода и тестовых данных.

Мы должны быть способны запускать и трассировать все компоненты приложения, которые должны быть переписаны в Dot-Net.

Исходный проект и тестовые данные должны быть предоставлены нам перед началом работ после подписания NDA, но перед заключением договора. Мы должны убедиться, что у нас есть весь актуальный и работоспособный исходный код и актуальна структура тестовых данных.

С каких версий FoxPro переписываем?

С любых включая FoxPro 2.X для DOS

В какие технологии?

Выбор технологий зависит прежде всего от выбора технологии доступа к данным в новом приложении. В наиболее всеобъемлющем случае приложение логически разбивается на три части:

  1. Компоненты, работающие в локальной сети с прямым доступом к данным
  2. Компоненты, работающие с данными удалённо, но не через WEB-интерфейс. Те же WPF приложения, но с доступом к данным по REST протоколам (HTTP).
  3. Компоненты, работающие удалённо через публичные сети и WEB-интерфейс.

Для первой группы используем WPF + ADO.NET(plain or E-F) + SQL Server.

Здесь возникает вопрос. Использовать plain ADO.NET ( DataSet ) или Entity Framework? Выбор осуществляется по следующему главному критерию. Если структура данных постоянна и отсутствуют компоненты CMS ( Content Management System ), то используем Entity Framework.

Если же требуется функциональность CMS, другими словами, если администратор или пользователь должен иметь возможность развивать или изменять структуру данных, то НЕ используем E-F, а DataSet с нашим фреймом.


Если присутствуют компоненты второй группы, то необходимо делать следующий выбор:


В третьем случае создаём n-tier решение (трёхуровневое для базовой безопасности):


Всё это справедливо, если речь идёт не о размещении всей системы в облаке. В облаках работаем по правилам облаков. Для Azure это ASP.NET(MVC) + HTML5 + jQuery + SQL Server.

Цены

Предварительная оценка осуществляется либо самим заказчиком с помощью VFP FoxPro формы, которую мы присылаем, либо нами, если заказчик согласен на основании NDA передать нам все исходные коды проекта и тестовую базу для оценки.

Окончательную оценку делаем только при наличии у нас развёрнутого в виде исходного проекта ( со всеми кодами ) приложения, которое мы реально запускаем и трассируем.

Порядок оплаты

Возможны два варианта:

Сроки

Как и стоимость предварительно оцениваются той же утилитой, которую мы присылаем, или нами, если заказчик передает исходные коды. Окончательные сроки только когда имеем полностью развёрнутые исходники и тестовую базу у себя.

Порядок взаимодействий

Использование пре-конвертации

За использование пре-конвертации выступают следующие факторы:

Прежде всего пре-конвертация позволяет не потерять код и функциональность!

Пре-конвертация будет одним из первых пунктов в графике со сроком не менее месяца.
Первым всегда идёт миграция данных!

Преконвертируется структура классов, разметка форм с контролами и весь закомментированный исходный код переносится в правильные места.

Использование компонентов сторонних фирм

Для создания интерфейса используем компоненты Telerik

Для организации доступа к данным в распределённом приложении предлагаем использовать IdeaBlade DevForce

Компоненты других компаний по настоянию заказчика

Порядок ввода в эксплуатацию

На первом этапе создаём программу миграции и синхронизации данных.
В процессе миграции создаются таблицы и другие объекты в базе SQL и переносятся данные.
Программа синхронизации позволяет синхронизировать данные в старой и новой базах, если работа ведётся одновременно в старом и новом приложениях.

По готовности очередной группы компонентов и в зависимости от организации бизнес-процессов заказчик начинает ввод и работу с отдельными данными в новой базе и в новом приложении.
Данные синхронизируются ежедневно или в любой нужный момент. Всегда есть возможность отката к работе в старом приложении.

Так постепенно и МАКСИМАЛЬНО безопасно происходит тестирование новых компонентов и переход на них.

Отправить сообщение в DataOdyssey ...

Дополнительно о технологиях миграции ...