|
|
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Вы тут однажды тему поднимали по поводу Web-интерфейсов... Поэтому прошу у Вас помощи... Ситуация такая: есть одна старая база (создана и работает под FPD). И вот стало просто необходимо (приказ руководства) "прилепить" к ней обработчик HTTP-запросов для инеграции в распределенную корпоративную сеть... (И обеспечить обработку запроса за 10 секунд, когда даже локально запрос обрабатывается 1 минуту (объем DBF-файла (по которому строил селект) 97 МБ, имеется структурный индекс 55 МБ)... ) Не могли бы Вы посоветовать книжку, в которой бы ПОДРОБНО описывалось создание ISAPI-расширений для IIS на Фоксе. Все от начала и до конца. Базияна (для VFP6) я почитал... Есть там очень непонятный и неприятный для меня момент. Он в книге пишет: Код: plaintext 1. 2. 3. О себе: на FPD работал 5 лет, год работаю на С++... На VFP написал два небольших проекта. До этого момента с Web (и вообще с СОМ, а особенно на VFP) никогда сталкиваться не приходилось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2005, 13:45:47 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Сразу встречный вопрос - Вы сделали пример Web Service , который я предлагаю? Разобрались как он работет? Используйте Web Services - там уже все есть... Для 97 MB 10 sec для индексного выражения очень много У нас есть таблицы около 2 GB (их несколько, Web Service выбирает данные из 4 таблиц (2фирмы*2архива)) и передает результат на клиента - что-то около 1.5 sec отклик от запроса до получения ответа, хотя может и быстрее... (базы данных FPD 2.6 DOS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2005, 15:53:03 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Sergey ChСразу встречный вопрос - Вы сделали пример Web Service , который я предлагаю? Разобрались как он работет? Используйте Web Services - там уже все есть... Пока нет, только прочитал. Но обязательно буду пробовать... Только у меня VFP6, а у Вас, насколько я понял, VFP9. Есть ли какие-то особенности построения WebServices на базе VFP6 по сравнению с VFP9? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 07:44:23 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Станислав C. ... (И обеспечить обработку запроса за 10 секунд, когда даже локально запрос обрабатывается 1 минуту ... Как правило на www серверах максимальное время работы скрипта 40 сек. Я бы начал с оптимизации запроса. SYS(3054, 11) попробуй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 08:18:17 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Дмитрий Т. Станислав C. ... (И обеспечить обработку запроса за 10 секунд, когда даже локально запрос обрабатывается 1 минуту ... Как правило на www серверах максимальное время работы скрипта 40 сек. Я бы начал с оптимизации запроса. SYS(3054, 11) попробуй И как, подскажите мне, можно соптимизировать запрос: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 08:50:02 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Дмитрий Т. Как правило на www серверах максимальное время работы скрипта 40 сек. Время настраивается и может быть почти разумно любым... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 09:16:38 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Станислав C. Select Fio from datafile into cursor Это не оптимизация, а ошибка в проектировании Вышей базы данных или задачи... Зачем Вам сразу все фамилии? Такого быть не должно... Надо обязательно применять какой-то критерий отбора по которому иметь индексное выражение. А FoxPro 6.0 с Web Services лучше не применять, себе дороже - это как раз тот момент, когда надо сделать Upgrade и перейти сразу на последнюю версию (в настоящий момент 9.0)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 09:21:34 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Sergey Ch Станислав C. Select Fio from datafile into cursor Это не оптимизация, а ошибка в проектировании Вышей базы данных или задачи... Зачем Вам сразу все фамилии? Такого быть не должно... Надо обязательно применять какой-то критерий отбора по которому иметь индексное выражение. Да знаю я это :) Просто погорячился... На самом деле мой запрос имеет вид: Select Fio from datafile into cursor where ntel=lcTel , где lcTel = параметр, переданный клиентом (в т.ч. через Web-сервис). В итоге получается, что в курсоре находится лишь одна запись... И индексное выражение имеется - внутри cdx-файла... Sergey Ch А FoxPro 6.0 с Web Services лучше не применять, себе дороже - это как раз тот момент, когда надо сделать Upgrade и перейти сразу на последнюю версию (в настоящий момент 9.0)... Почему? Просветите этот момент? К сожалению, VFP 6.0 - последняя полученная нами официально (по подписке) версия... И она удовлетворяла наши потребности (до последнего решения руководства) на 100%... А лишь из-за WebServices никто не будет тратить деньги и делать Upgrade... Неужели мне нельзя ничем помочь Хоть ссылкой на книжку... И желательно на такую, где все подробно описано: какие нужны библиотеки/компоненты, которых нет в стандартной поставке VFP, где их взять, платно/бесплатно и т.д. А то получается как в моем первом посте: Вот оно, решение! Понятное, простое! Но нет необходимого компонента/класса... И где его взять - не сказано... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 11:08:52 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Станислав C.Почему? Просветите этот момент? К сожалению, VFP 6.0 - последняя полученная нами официально (по подписке) версия... И она удовлетворяла наши потребности (до последнего решения руководства) на 100%... А лишь из-за WebServices никто не будет тратить деньги и делать Upgrade... Неужели мне нельзя ничем помочь Хоть ссылкой на книжку... И желательно на такую, где все подробно описано: какие нужны библиотеки/компоненты, которых нет в стандартной поставке VFP, где их взять, платно/бесплатно и т.д. А то получается как в моем первом посте: Вот оно, решение! Понятное, простое! Но нет необходимого компонента/класса... И где его взять - не сказано... Вижу в Вас себя пять лет назад, когда передо мной стоял вопрос переходить с 6 на 7 или нет? Дело в том, что в 9 версии очень много нужных вещей - от всех функций работы с XML до новых и полезных вещей (курсор адаптер, новый отличный синтаксис SQL, новые отчеты, новый графический интерфейс, устранены пробелемы поддержки русского языка в COM, почти новый Grid...) Если Вы заикнулись о деньгах - то Вам можно купить официальную Upgrade version - цена для России что-то в районе 400 USD... Стоит ли городить лес (изобретая велосипед) из-за такой мелочной суммы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 12:07:23 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
К вопросу об оптимизации: Станислав C. ... На самом деле мой запрос имеет вид: Select Fio from datafile into cursor where ntel=lcTel , где lcTel = параметр, переданный клиентом (в т.ч. через Web-сервис). В итоге получается, что в курсоре находится лишь одна запись... И индексное выражение имеется - внутри cdx-файла... Результат теста: Телефонный справочник Екатеринбурга развернул в 1 таблицу (Тел, Фио, Адрес), объединил его с самим собой пару раз для объема. В итого таблица 1 млн. записей и вес 93Мб. VFP6 SP5, WinXP, Cel2ГГц, 256 Мб Аналогичный запрос: без индексов 3,8 сек., с индексом 0.02 сек. Может тебе сначала вопрос по железу порешать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 13:29:45 |
|
||
|
2 Sergey Ch: FOXISAPI
|
|||
|---|---|---|---|
|
#18+
Hi Станислав! Насколько я помню, с VFP6 уже шел пример использования FOX ISAPI (и собственно его исходники, которые нужно скомпилировать в dll-ку) - в фоксе делается COM-сервер, его вызывает этот самый Сишный "посредник"... фоксовый код генерит полностью HTML ответ (ессно получая параметры запроса). Про WebServices конечно лучше забыть, а вот сделать Web интерфейс - очень даже можно. Другой вопрос, что это довольно много писанины - обычно для таких целей применяют разные WebEnabled каркасы - типа wwConnect, AFP и т.п. Можно аткже напиcать web часть на ASP, а из неё вызывать VFP COM компоненту (опять-же компонента может генеривровать цельные куски HTML представления данных). Насчёт проблем с языком - решение описано на странице михаила Дроздова (нужно заменить 1 байтик в VFP6t.dll) - ессно что ОЧЕНЬ желательно иметь SP5 к фоксу - AFAIR лишь начиная с VFP6 SP3 появилась поддержка создания "многопоточного" COM-сервера. Насчёт книги - возможно там используется свой класс - покопай исходники что шли на CD (или тогда ещё на дискетке...) там может и есть этот самый класс... В принципе если там нету никаких ссылок на This.что-то-странное() чего нет в классе Custom - то просто замени класс на Custom, или создай его (т.е. субклассируй Custom с именем foxisapi). Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2005, 01:36:16 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=312&tid=1593868]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
86ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 447ms |

| 0 / 0 |
