Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос. / 4 сообщений из 4, страница 1 из 1
28.11.2005, 11:53:20
    #33402968
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос.
День добрый. Не в курсе ли кто, такого вопроса.
Имется проект на VFP 7. Хотелось бы сделать его более "тонким", желательно работающим через вэб интерфейс. Цель- перенести большую часть нагрузки на сервер. Вместе с тем переводить вообще всю логику на MS SQL довольно напряжно(можно, но долго некоторые вещи делать, включая то, что задача работает с очень разнородными данными и логика не самая простая).
Есть ли соображения как можно переделать задачу. Вроде когда то слышал что можно куски кода на VFP включать в программы на языках семейства VS .Net.
...
Рейтинг: 0 / 0
29.11.2005, 01:16:41
    #33404686
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос.
Hi denis_viktorovich!

Выделить собственно код работы с данными в отдельные классы (никак не
связанные с интерфейсом!). Указать что эти классы OLEPUBLIC. Скомпилировать
в виде MTDLL - затем разместить как компоненту в COM+ приложении, и даже
можно поместить под управление IIS, сделав из них WebService. К COM+
компонентам (как впрочем и к просто COM компонентам - но без возможности
запуска на разных компах) в NET можно сделать Interop и с грехом по полам
заставить работать совместно (к сожалению создаваемые мастером в NET
Interop-ы часто оказываются кривыми :( ). с WebService чуть получше -
главное основывать взаимодействие на простых форматах - например на
String-ах, в которые VFP компонента будет помещать XML с данными.
"Куски кода" никуда поместить не получится. Это совершенно разные среды с
разной идеологией работы с данными. Использование VFP Toolkit for Net никоим
образом не поможет в переносе существующего кода - и IMHO только затруднит
процесс полного переписывания системы.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
29.11.2005, 07:08:22
    #33404752
denis_viktorovich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос.
Спасибо за ответ. А работу с данными придется пересматривать? Логика в основном в основном находится в программах (prg). Работа с данными гдето через курсоры, гдето через таблицы.
Т.е. я может торможу, но не совсем себе представляю как в таком виде должно работать чтото типа:
use ./data/t6.dbf in 0
append from ./data/t6_1.dbf

Придется работать только с курсорами?
...
Рейтинг: 0 / 0
30.11.2005, 03:10:50
    #33407267
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос.
Hi denis_viktorovich!

> А работу с данными придется пересматривать?

В простом случае нет. Придётся добавлять код который будет "передавать"
данные (в т.ч. и результаты работы твоих расчётных методов) из среднего слоя
на клиент (через XML например).

> Логика в основном в основном находится в программах (prg).

Из метода класса можно вызывать процедуры без проблем. Т.е. метод класса для
тебя это "ворота" к бизнес логике, которая может оставаться и в prg. Хотя
конечно проверить всё, и настроить правильную систему возврата возникающих
при работе программы ошибок на клиента всё-же придётся.

> Работа с данными гдето через курсоры, гдето через таблицы.

Это не важно - если система рассчитана на многопользовательсукую работу, то
с этим вопросов не будет. Конечно если система пользует какие-то
"фиксированные имена" для временных таблиц (т.е. скажем всегда создаёт
C:\temp\MyTemp.dbf) или другие нехорошие приёмы и соответственно работа 2-х
экземпляров программы на одном компьютере невозможна в принципе без
переделки - тогда конечно ой.

> Т.е. я может торможу, но не совсем себе представляю как в таком виде
> должно работать чтото типа:

Нормально будет работать. Если по уму сделано и этот код не мешает своим же
копиям, работающим параллельно.

> Придется работать только с курсорами?

Нет. Главное помнить всегда что ты не один работаешь, и что параллельно
может ещё 10 экземпляров того-же самого кода исполняться - значит разводи
temp таблицы по именам или даже по разным подкаталогам в %temp% не забывай
что сервис может работать не с теми же правами как и интерактивный
пользователь (т.е. может не иметь доступа к сетевым дискам например - хотя
это всё настраивается), что сервис не может иметь UserInterface - т.е.
всевозможные MESSAGEBOX(), WAIT WINDOW, GETFILE(), формы (к сожалению и
вывод отчётов на печать или в файл через REPORT FORM также невозможен на
сервере) и прочую подобную "визуальщину" надо устранить как класс... Т.е.
уносить на уровень клиента - на сервере оставив лишь невизуальную обработку.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]