Cтраница 2
В главе 16 речь пойдет о встроенной в Delphi архитектуре DataSnap, которая позволяет разрабатывать трехзвенные клиентские и серверные приложения. Эту задачу можно решить и при помощи ADO, однако данная книга в первую очередь посвящена Delphi, поэтому я расскажу вам о решении проблемы, которое является естественным для среды Delphi. После того как мы с вами завершим рассмотрение DataSnap, мы продолжим изучать встроенную в Delphi архитектуру для работы сданными. В главе 17 мы рассмотрим процесс разработки собственных компонентов, предназначенных для работы с данными. [16]
Указывает, что когда СОМ-объект потребуется нескольким клиентским приложениям, то будет существовать только один экземпляр серверного приложения Для обслуживания запросов он создаст необходимое число внутренних объектов. [17]
Серверная часть включает в себя: драйверы базы данных, которые обеспечивают взаимодействие серверных приложений АС с SQL-сервером, серверные приложения, обслуживающие запросы клиентских модулей на получение информации от SQL-сервера и обеспечивающие проверку корректности информации, которая вносится в базу данных, модуль ведения системы классификаторов, модуль администрирования и ведения системного журнала. [18]
До активизации пользователем объекта OLE 2.0 управляющий элемент отображает либо содержимое объекта OLE 2.0, либо пиктограмму, представляющую серверное приложение. [19]
Основная форма данной программы совершенно бесполезна, поэтому вы можете просто добавить на нее метку, на которой будет написано, что это главная форма серверного приложения. Когда вы скомпилируете этот сервер, вы должны запустить его один раз. В результате этого сервер автоматически зарегистрируется в вашей системе как сервер автоматизации ( Automation Server) и станет доступен для клиентских приложений. Конечно же, вы должны зарегистрировать сервер на компьютере, на котором вы намерены его запустить, это должен быть либо клиентский компьютер, либо компьютер среднего звена. [20]
На компьютерах этой сети функционируют серверные приложения, каждое из которых предоставляет в распоряжение приложений-клиентов один или несколько ресурсов - СОМ-объектов. GUID присваиваются ресурсам на этапе начальной установки и в дальнейшем никогда не изменяются. [21]
Произвольная маршрутизация используется, как правило, для выравнивания нагрузки нескольких серверных приложений, реализующих одни и те же сервисы. В этом случае запрос посылается случайно выбранному серверному приложению, обеспечивая равномерное распределение нагрузки. Произвольная маршрутизация лучше всего подходит для быстрой обработки большого числа запросов. [22]
Давайте расширим этот пример, преобразовав его в серверное приложение. Программа WebSearcher, доступная как CGI-приложение или исполняемый файл отладчика Web App Debugger, имеет два действия: сначала возвращает HTML, полученный от поисковой машины, а затем проверяет HTML-заполнение компонента ClientDataSet ( клиентский набор данных), который привязывается к продюсеру таблиц страниц для генерации окончательного вывода. [23]
Автоматическая оптимизация пропускной способности обеспечивает выравнивание нагрузки в пределах одного сервера. Остальные возможности используются для выравнивания нагрузки нескольких серверов или серверных приложений. [24]
Самым важным свойством Web-модуля ( и компонента WebDispatcher) является свойство fictions типа ш-э Ь & си. Это свойство представляет собой набор операций, выполняемых Web - серверным приложением. Каждая оиерймия представляет собой объект типа ТлэЬАсг. [25]
Под выравниванием нагрузки понимается трансляция запросов от большого числа клиентов к меньшему числу серверных приложений, функционирующих на одном или нескольких серверах. Другой важной функцией ТОР END является автоматическая оптимизация числа выполняющихся серверных приложений в зависимости от числа клиентских запросов. [26]
На основании следующей части URL ( query) Web-серверное приложение определяет назначение запроса. Название операции может быть каким угодно - главное, чтобы оно могло быть распознано и обработано серверным приложением. Фактически, название операции определяет характер результата, возвращаемого сервером. [27]
С ростом сложности распределенных вычислительных систем возникают проблемы эффективного использования их ресурсов. Мониторы транзакций выполняют две основные функции: динамическое распределение запросов в системе ( выравнивание нагрузки) и оптимизация числа выполняющихся серверных приложений. Кратко рассмотрим эти функции. [28]
Атрибут LinkUpdateOptions определяет тип обновления связываемого объекта. Значение Automatic означает, что связываемый управляющий элемент обновляется при открытии объекта, а также при изменении объекта в серверном приложении. Значение Manual предполагает, что обновление не осуществляется автоматически. [29]
О Использование почтовых протоколов для общения с пользователями, которые редко подключаются к сети. В ситуации, когда необходимо передать информацию от одного пользователя другому ( причем оба пользователя не подключены к сети постоянно), можно написать серверное приложение для синхронизации их доступа и снабдить каждого клиентским приложением для взаимодействия с сервером. [30]