Главная » Delphi » Компоненты InternetExpress

0

С помощью компонентов InternetExpress можно  расширить функциональные воз можности простого модуля WebModule и улучшить разрабатываемое клиентское при ложение. Это возможно благодаря использованию в них таких  открытых стандартов, как XML и JavaScript.  Используя  компоненты InternetExpress, можно  создавать сер верные приложения  DataSnap, взаимодействующие лишь  с броузером  и не  нуждаю щееся  ни в элементах управления ActiveX, ни в какой либо  предварительной установ ке или  настройке специального программного обеспечения. Достаточно лишь  про стого обращения броузера к Web серверу.

При  использовании компонентов InternetExpress на Web сервере потребуется за пустить  дополнительное программное обеспечение. В данном  примере будет исполь зоваться приложение ISAPI (Internet Services Application Programming Interface — ин терфейс прикладных программ служб Internet), но эту роль  могут выполнять прило жения  CGI  (Common  Gateway  Interface —   общий   шлюзовой интерфейс)  или   ASP (Active Server  Pages — активные страницы сервера). Web брокер получает запросы от броузера и передает их на сервер приложений. Это легко осуществить, поместив ком поненты InternetExpress в приложение Web брокера.

В рассматриваемом примере используется стандартное приложение DataSnap, в ко тором имеются наборы данных Customers, Orders и Employees. Наборы данных Cus- tomers и Orders связаны взаимоотношениями типа  вложения (более  подробная ин формация по этой теме приведена далее в настоящей главе), а набор данных Employees будет использоваться в качестве таблицы подстановок (lookup table).  Воспользуйтесь прилагаемым исходным кодом для определения сервера приложений. После  создания и регистрации сервера приложений можно  будет сосредоточиться на построении прило жения Web брокера, которое будет взаимодействовать с сервером приложений.

Создайте новое  приложение ISAPI, выбрав в меню  File пункты  New и  Web Server Application в хранилище объектов. Поместите в модуль WebModule компонент TDCOMCon- nection. Он будет обеспечивать связь с сервером приложений. Поэтому  задайте в качест ве значения его свойства ServerName идентификатор ProgID сервера приложений.

Затем поместите в WebModule компонент TXMLBroker, расположенный во вклад

ке InternetExpress палитры компонентов, и установите значения его свойств Remote- Server и  ProviderName равными  CustomerProvider.  Компонент  TXMLBroker функционирует аналогично компоненту TCLientDataSet. Он  будет использоватьсядля  получения пакетов данных  с сервера приложений и передачи их  броузеру.  Ос новным отличием между пакетами данных  компонентов TXMLBroker и TClientDa- taSet является то, что компонент TXMLBroker преобразует пакеты данных  DataSnap в формат XML. Добавим также  в WebModule компонент TCLientDataSet и свяжем его с провайдером Employees на сервере приложений. Позже этот  компонент будет использоваться как источник данных для выборки.

Компонент TXMLBroker отвечает за соединение с приложением сервера и за на вигацию по страницам HTML. Для настройки поведения приложения InternetExpress можно  воспользоваться множеством параметров. Например,  можно  ограничить ко личество записей, передаваемых клиенту,  или задать количество допустимых ошибок во время  обновления.

Теперь необходимо определить способ  передачи данных  броузеру.  Используя компонент TInetXPageProducer, можно  применить технологию WebBroker для отображения страниц HTML в броузере. Однако компонент TInetXPageProducer также допускает визуальное создание Web страниц в редакторе Web Page Editor.

Дважды  щелкните на компоненте TInetXPageProducer, и на экране раскроется окно редактора Web страниц. Этот визуальный редактор позволяет определить, какие элементы будут содержаться на данной Web странице. Одной из  самых  интересных особенностей  компонентов  InternetExpress  является  их   абсолютная  открытость. Можно  создавать свои собственные компоненты, которые будут использоваться в ре дакторе Web страниц в соответствии с четко  определенными правилами. Примеры компонентов InternetExpress содержатся в каталоге <DELPHI>\DEMOS\MIDAS\ INTERNETEXPRESS\INETXCUSTOM directory.

CОВЕТ

Компонент TInetXPageProducer имеет свойство IncludePathURL. Содержащееся в нем значение существенно влияет на работоспособность всего приложения InternetExpress. Установите для него значение, которое соответствует виртуальному каталогу с файлами сценариев JavaScript, использующимися в приложении. Например, если файлы находятся в каталоге c:\inetpub\wwwroot\jscript, то свойство In- cludePathURL должно иметь значение /jscript/.

В редакторе Web страниц щелкните на кнопке Insert, и на экране появится диало говое  окно  Add Web Component (рис. 21.7).  В списке  данного диалогового окна  со держится перечень компонентов Web, которые могут быть добавлены на страницу HTML. Содержимое этого списка зависит от родительского компонента, выделенного в текущий  момент в верхней левой  области диалогового окна.  Например, добавление в корневой узел Web компонента DataForm позволит конечным пользователям про сматривать и редактировать информацию из базы данных, представленную в виде не которой формы.

Выделив  в редакторе Web страниц элемент DataForm, можно  вновь  щелкнуть  на кнопке Insert. Обратите внимание: перечень доступных  компонентов в этом  случае будет отличаться от списка,  представленного на предыдущем этапе.  После  выбора компонента FieldGroup во вкладке  предварительного просмотра появится предупреж дение, сообщающее о том,  что  свойству  XMLBroker компонента FieldGroup не при своено никакого значения. Заданные в редакторе свойств значения свойства XMLBro- ker сразу   же   отобразятся   в   окне   предварительного   просмотра   редактора   Web страниц.  Если  продолжить  редактировать  свойства  или  добавлять  компоненты,  со

стояние страницы HTML будет постоянно изменяться (рис. 21.8).

Рис.  21.10. Страница  HTML,   созданная  компонентом TReconcilePage- Producer

Пример использования такого подхода можно найти на прилагаемом CD в катало

ге \InetX раздела, посвященного настоящей главе.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии