Вы можете использовать Visual FoxPro, как "front end" для разработки стабильных клиент-серверных приложений. Visual FoxPro объединяет высокоуровневую поддержку для обновляемых представлений серверных данных с прямым доступом к родному синтаксису сервера с помощью сквозных запросов (SQL pass-through). Это дает солидную основу, на которой можно строить гибкие клиент/серверные решения. Полнофукнциональный словарь данных, локальные и удаленные представления, поддержка null-значений, транзакции, поддержка международных приложений и доступ к ODBC источникам данных - все это способствует обеспечению вас возможностями разработки клиент/серверных приложений.

Увеличение производительности клиент/серверных приложений

Вы можете увеличить производительность вашего клиент/серверного приложения с помощью свойств и драйвера ODBC, поставляемых в Visual FoxPro.

Управление производительностью с помощью свойств

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

  • CompareMemo

  • FetchAsNeeded

  • Prepared

Вы можете отобразить эти свойства с помощью функций DBGETPROP() и CURSORGETPROP() или установить эти свойства с помощью функций DBSETPROP() и CURSORSETPROP().

Включение или исключение мемо-полей в определение конфликтов обновления   Вы можете использовать свойство CompareMemo для управления тем, как мемо-поля будут использоваться для определения конфликтов обновления. Это свойство курсора или представления определяет - будут ли мемо-поля  (типы M или G) включены в опцию обновления WHERE. Значение по умолчанию, True (.T.), означает, что мемо-поля включены в опцию WHERE. Если вы установите это свойство в False (.F.), мемо-поля не будут участвовать в опции обновления WHERE, независимо от установки UpdateType.

Оптимистическое определение конфликта на мемо-полях блокируется, когда CompareMemo устанавливается в False (.F.). Для определения конфлика по мемо-полям, CompareMemo должно быть установлено в True (.T.).

Тонкая настройка извлечения записей  Используйте свойство FetchAsNeeded для указания того, что все строки должны извлекаться програссивно, или что извлекаться должны только те строки, которые находятся внутри набора строк, определяемого установкой свойства FetchSize. Если вы желаете извлекать все строки в набор результатов с помощью свободного цикла Visual FoxPro, используйте значение по умолчанию, False (.F.). Если вы желаете извлекать строки только тогда, когда пользователь прокручивает набор строк, определенный свойством FetchSize, установите значение свойства FetchAsNeeded в True (.T.) для извлечения следующего набора строк.

Ускорение операций повторных запросов на параметризированных представлениях   С помощью свойства Prepared, вы можете установить - будут ли подготовлены запросы для представления до их исполнения. Если вы установите значение этого свойства в True (.T.), Visual FoxPro посылает запрос ODBC-драйверы для подготовки или компиляции SQL запроса, который определяет представление. Если ODBC-драйвер для вашего источника данных (back-end data source) поддерживает использование подготовленных предложений, то последовательные повторные запросы исполняются быстрее.

Определение правил со словарем данных (Data Dictionary)

Базы данных Visual FoxPro (.dbc файлы) предоставляют словарь данных, который позволяет вам ввести правила, представления, триггеры, постоянные отношения и соединения для каждой таблицы в базе данных.

Внутри базы данных вы можете определить:

  • Правила уровня поля или записи, которые Visual FoxPro приводит в исполнение, каждый раз, когда таблица используется в приложении.

  • Первичные индексные ключи и ключи-кандидаты.

  • Локальные и удаленные представления.

  • Триггеры.

  • Постоянные отношения между таблицами базы данных.

  • Соединения с удаленными источниками данных.

  • Хранимые процедуры.

  • Значения по умолчанию для полей.

  • Длинные имена таблиц и полей.

В дополнение к этому, вы можете обеспечивать ссылочную целостность для каждого постоянного отношения с помощью компоновщика Referential Integrity для определения правил вставки, обновления и удаления записей.

Кроме того, Visual FoxPro поддерживает в таблицах null-значения, значительно улучшая таким образом совместимость и возможность соединения с другими источниками данных, таких как Microsoft Access, Visual Basic и серверами на основе SQL. Для получения более подробной информации о null-значениях произведите поиск по ключевым словам "null" и "null-значения".

Каждая база данных Visual FoxPro полностью расширяема пользователями, с доступом через расширения языка и визуальные конструкторы. Для получения более подробной информации о базах данных и словарях данных прочитайте Разработка баз данных.

Представление локальных, удаленных и отключенных данных   Вы можете разработать и протестировать клиент/серверное приложение на вашем компьютере, используя данные из удаленных, локальных и многотабличных гетерогенных представлений. Локальные представления используют таблицы на вашем локальном комьютере, а не таблицы удаленного сервера, а многотабличные представления используют связанные данные из отдельных таблиц. Вы можете создавать параметризированные представления для минимизации объема данных, которые вы загружаете с сервера, брать данные в пути или обновлять удаленные данные из  вашего приложения Visual FoxPro. Для получения более подробной информации прочитайте Работа с представлениями.

Управление совместным доступом с помощью транзакций   Вы можете разрабатывать ваши приложения для обеспечения совместного доступа к данным. Совместный доступ к данным включает в совместное использование данных других пользователей и ограничивает доступ к ним по необходимости. Транзакции и буферизация — пессимистическая или оптимистическая, уровня записи или таблицы — означает для вас меньшее количество кода, который нужно написать. Встроенная пакетная обработка и тщательный контроль над обработкой конфликтов обновления упрощает обновление данных в многопользовательской среде. Для получения более подробной информации о разработки вашего приложения для совместного доступа прочитайте статью Программирование для совместного доступа к данным.

Разработка межународных приложений   Visual FoxPro предоставляет несколько областей поддержки для разработки международных приложений. Например, Visual FoxPro поддерживает несколько кодовых страниц. Кодовые страницы для греческого и русского языков поддерживаются в MS-DOS, Microsoft Windows и на платформе Macintosh. Visual FoxPro, кроме того, поддерживает двухбайтные наборы символов для таких языков, как Japanese, Korean, Traditional Chinese и Simplified Chinese; однако Unicode не поддерживается. Visual FoxPro поддерживает последовательности сопоставления (collation sequences) для таких языков, как Japanese, German, Traditional Chinese и Icelandic. Для получения более подробной информации о междунарожных приложениях смотрите описание Разработка международных приложений.

Выполнение клиент/серверных приложений   В дополнение к использованию представлений для разработки клиент/серверных приложений, вы можете посылать любой родной серверный синтаксис, который вам требуется, непосредственно на сервер с помощью Visual FoxPro SQL pass-through функций. Эти функции позволяют дополнительный серверный доступ и управление вне возможностей представлений. Для получения более подробной информации о технологии сквозных запросов смотрите описание Расширение приложений с помощью технологии SQL Pass-Through.

После локальной разработки вашего приложения, вы можете произвести его перенос относительно серверного источника данных (upsize). Перенос применяет суммарные выгоды клиент/серверной архитектуры к локальному приложению и позволяет вам создавать удаленную серверную базу данных с такой же структурой таблиц и данных, как и в оригинальных таблицах Visual FoxPro. Когда вы осуществляете перенос, вы выбираете - какие таблицы будут перемещены на сервер и какие останутся в локальном использовании для непосредственного доступа. Для получения подробной информации о переносе смотрите описание Перенос баз данных Visual FoxPro.

Смотрите также