Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2014-01 КНЯЗЕВА_Эл_бизнес / Электронный бизнес_Князева.doc
Скачиваний:
50
Добавлен:
20.02.2016
Размер:
1.24 Mб
Скачать
    1. Отладка приложений на локальном сервереWebAppDebugger

В поставку Delphi 6,7 включен локальный сервер, который имитирует работу обычного Web-сервера.

Для того чтобы новое приложение было зарегистрировано на этом сервере в качестве COM-объекта, необходимо при создании нового модуля в качестве его типа в начальном окне выбрать значение Web App Debugger executable. В нижней части окна станет доступным поле ввода, в котором нужно указать произвольное название создаваемого приложения, например Test. Дальнейшее создание модуля происходит обычным образом. Затем можно приступить к его отладке:

  1. Запустить модуль командой Run.

  2. При выборе в меню Tools  Web App Debugger на экране появляется окно сервера Web App Debugger.

  3. Для его запуска нажать кнопку Start и щелкнуть по строке-ссылке, расположенной справа от кнопки Start.

  4. В появившемся окне со списком приложений, зарегистрированных на сервере, выбрать созданное приложение и нажать кнопку Go.

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

Для такого преобразования нужно выполнить следующие шаги:

  1. К текущей группе проектов добавить новый проект.

  2. В окне мастера Web Server Application выбрать соответствующий тип web-модуля.

  3. После переключения в окно менеджера проекта все модули, в которых была реализована логика работы первого приложения (Web App Debugger Test), перетащить с помощью мыши в новый проект. Главный модуль-форму перетаскивать не надо. Результирующий проект будет представлять собой готовое приложение нужного типа.

    1. Обзор дополнительных возможностейDelphiдля создания сетевых приложений

Компоненты со страницы FastNet

Обмен текстовыми сообщениями можно организовать с помощью компонентов TNMMSGServ и TNMMsg.

Компонент TNMMsg передает сообщения. Его основные свойства:

  • Host - адрес сервера, которому отправляется сообщение.

  • Port – порт сервера (как правило имеет номер 6711).

  • FromName – произвольное имя клиента, отправляющего сообщения.

Основной метод компонента PostIt, обеспечивающий отправку сообщения, в который в качестве параметра sMsg передается текст сообщения

Компонент TNMMSGServ обеспчивает получение сообщения на сервере. Свойства этого компонента подобны свойствам TNMMsg, кроме FromNane (оно отсутствует). Основное событие компонента OnMSG, в обработчик которого передаются полученные тексты.

Обмен двоичными файлами любого вида можно организовать с помощью компонентов TNNStrm и TNMStrmServ. Они позволяют обмениваться потоками, а в поток может быть помещена любая информация: аудио-, видео-, графика и т.д.

Компонент TNNStrm по своим свойствам и событиям ничем не оиличается от компонента TNMMsg. Только вместо строки сообщения в этото метод передается поток – объект класса TStream или одного из его потомков. Так что перед передачей собщения надо создать объект потока и загрузить в него передаваеиую информацию.

Компонент TNMStrmServ принимает на сервере переданный поток. По свойствам и событиям он аналогичен компоненту TNMMSGServ. Только обработчик события OnMSG принимает вместо текстового сообщения переданный поток.

Компонент TNMFTP позволяет организовать общение с сервером по протоколу FTP для обмена файлами.

Компоненты TNMSMTP и TNMPOP3 работают с протоколами SMTP и POP для отправки и получения писем электронной почты.

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

Компонент TNMUUProcessor решает чисто служебные задачи – позволяет кодировать и декодировать файлы методами UUEncoding/Decoding и MIME/Base 64.

Компонент TMNURL декодирует строки в формате URL в обычные символьные строки и решает обратную задачу.

Компоненты со страницы Internet

Передачу информации можно осуществить с помощью сокетов. Сокеты – это некие коммутаторы, обслуживающие соединения в сети. По своему назначению они разделяются на три типа:

  • клиентские;

  • слушающие;

  • серверные.

Клиентский сокет инициирует соединение, указывая имя или IP-адрес удаленного сервера и порт, используемый сервером. В сервере запрос клиента о связи получает слушающий сокет. Его задача – сформировать очередь запросов. А серверный сокет, освободившись от текущей работы, берет очередной запрос из очереди и устанавливает соединение с клиентским сокетом. В результате клиентский сокет получает описание серверного сокета, с которым он установил связь.

Функции клиентского сокета выполняет компонент TClientSocket. Для соединения с сервером используется метод Open. Для завершения соединения – метод Close. Метод SendText посылает серверу текстовое сообщение. Методы SendStream и SendStreamThenDrop передают поток с любой информацией. Для чтения сообщения предусмотрен метод ReceiveText – чтение строки, и ReceiveBuf – чтение двоичной информации.

Компонентом, объединяющим в себе слушающий и исполняющий сокеты сервера, является TServerSocket. В обработчике его событий OnClienRead и OnRead можно прочитать пришедшее сообщение и отправить ответное сообщение серверу или другому клиенту.

Компоненты со страницы WebSnap

Эти компоненты предназначены для создания приложений, работающих с разными типами данных, не обязательно хранящихся в базах данных. Это может быть любая информация, принимаемая от поставщиков данных.

Для создания промежуточного независимого интерфейса между программным кодом и данными применяются компоненты-адаптеры.

  • TApplicationAdapter – хранит информацию о текущем приложении;

  • TEndUserAdapter – хранит информацию о пользователе (имя, права доступа и т.д.).

Поставщики страниц позволяют выполнить сценарные программы в зависимости от формы и типа запроса.

Обработка запросов от HTML-форм контролируется компонентами-диспетчерами.

  • TPageDispatcher – проверяет строку HTTP-запроса и вызывает соответствующий модуль;

  • TAdapterDispatcher – распределяет работу между различными адаптерами в ходе формирования HTML-страницы;

  • TWebDispatcher – позволяет определить коллекцию объектов-действий для обработки поступающих запросов.

Диспетчер страниц TPageDispatcher анализирует строку запроса – свойство PathInfo объекта TWebRequest, на её основе выбирает подходящий зарегистрированный Web-модуль и передает ему управление. Диспетчер страниц работает совместно с обязательным для приложения диспетчером TWebDispatcher.

Все действия архитектура WebSnap выполняет автоматически, разработчику остается только настроить отдельные свойства ключевых компонентов. Практически весь HTML-код «разрабатывает» сама среда Delphi. Разработчик аппелирует только свойствами объектов.

Набор компонентов, исходно размещенных на WebSnap-модуле, определяется при создании. Для этого необходимо нажать кнопку «Components».

Когда к WebSnap-модулю поступает запрос, автоматически создается объект TWebRequest, хранящий этот запрос, а также объект TWebResponse, который формирует итоговый ответ. Эти объекты хранятся в глобальном системном объекте WebContext.

Компоненты со страницы WebServices предназначены для создания приложений, предусматривающих обмен информацией в любых сетях: локальных, глобальных и т.д. (создание собственного браузера). При разработке приложений используется ряд стандартных высокоуровневых протоколов, в частности SOAP (Simple Object Access Protocol), основанный на языке XML.