Файл: Средства разработки клиентских программ.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 20.05.2023

Просмотров: 311

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рисунок 1

Вывод по первой главе:

Особенность клиентских языков программирования в том, что программы, написанные на них, обрабатываются браузером на компьютере клиента, т.е. пользователя. Это позволяет ускорить работу сайта и снизить нагрузку на сервер. Недостатком в данном случае является то, что разные браузеры интерпретируют эти программы по разному, соответственно, в разных браузерах внешний вид сайта может немного отличаться. Поэтому при разработке сайта следует уделить отдельное внимание кроссбраузерности сайта — тому, как он будет выглядеть в наиболее широко используемых браузерах, таких как Chrome, Firefox, Safari, Internet Explorer и Opera.

Глава 2. Средства разработки клиентских программ

2.1 Клиентские программы

Клиент – это заказчик той или иной услуги или покупатель. Неважно где и что вы покупаете, например, вы покупаете доменное имя и становитесь клиентом регистратора или вы покупаете хостинг, тогда вы становитесь клиентом хостинг-провайдера. Покупая хлеб в магазине, вы становитесь клиентом магазина.

Вообще, термин клиент пришел к нам из Древнего Рима, в исконном значении слова клиент – это свободный гражданин Римской Империи, который находится в зависимости от патрона (знатного гражданина), но в то же время клиент пользуется покровительством и защитой патрона.

Если говорить про информатику, то клиент – это программное средство или физическое устройство, которое посылает запросы серверу (поставщику услуг). [11]

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

В общем случае клиентская программа – это приложение, отправляющее запросы серверу с целью получения той или иной информации. Термин клиент в области IT чаще всего применяется именно к приложениям. Если говорить о сфере веб, то мы уже упоминали о браузерах, которые отправляют серверу специальные HTTP сообщения, которые получили название HTTP запрос серверы в свою очередь отправляют клиенту сообщения, которые называются HTTP ответы.


Запросы клиента содержат специальные HTTP методы, которые позволяют указать серверу на то, как он должен обрабатывать запрос (некоторые запросы позволяют получить информацию с сервера, некоторые удалить информацию, а некоторые записать, всё зависит от метода). HTTP сервер, отправляя ответ, сообщает клиенту о том, как он понял запрос при помощи специальных кодов состояния.

Если говорить про MySQL сервер, то у него есть клиент, который позволяет выполнять SQ запросы к базе данных из командой строки (это специальное приложение), а также есть клиент с графическим интерфейсом, который позволяет управлять базами данных при помощи мышки. В качестве сервера, к которому делают запросы браузеры, можно привести пример сервера Apache. Если же вас интересуют готовые сборки серверов для веб-разработки, то можно порекомендовать: локальный веб-сервер AMPPS и российскую сборку Denwer.

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

2.2 Сущность клиентских программ

Клиентские программы обрабатывают или наблюдают за входящими и исходящими коммуникационными каналами. Клиентской программой может быть все, что угодно, что зарегистрировано диспетчером каналов. Существует три вида клиентских приложений (хотя одно и то же клиентское приложение может, по желанию разработчика, относиться к двум или ко всем трем видам клиентских приложений):

  • Наблюдатели (Observers): Наблюдают за каналами, не взаимодействуя с ними. Наблюдатели обычно используются для журналирования чатов и текущей деятельности (например, входящих и исходящих звонков VoIP).
  • Согласователи (Approvers): Ответственны за предоставление пользователям возможности принимать или отклонять решение об использовании входящих каналов.
  • Обработчики (Handlers): Выполняют действительное взаимодействие с каналом. Это может быть подтверждение о получении текстового сообщения или отправка сообщений, отправка или получение файлов, и т.д. Обработчик, как правило, связан с пользовательским интерфейсом.

Клиентским программам предоставляются сервисы D-Bus с одним, двумя или тремя следующими интерфейсами: Client.Observer, Client.Approver и Client.Handler. В каждом интерфейсе есть метод, который может вызваться диспетчером каналов для того, чтобы проинформаровать клиентскую программу о канале, за которым осуществляется наблюдение (т. е. будут выполнены операции, реализуемые с помощью клиентской программы типа Observer), относительно которого принимается решение о подтверждении или отклонения с ним работы(т. е. будут выполнены операции, реализуемые с помощью клиентской программы типаApprover) и который будет обрабатываться (т. е. будут выполнены операции, реализуемые с помощью клиентской программы типа Handler). [14]


Диспетчер каналов, в свою очередь, осуществляет распределение канала по всем группам клиентских приложений. Сначала канал распределяется по всем соответствующим наблюдателям (клиентским программам типа Observer). После того, как поступят все ответы, канал будет распределен по всем соответствующим согласователям (клиентским программам типа Approver). После того, как первый согласователь одобрит или отклонит использование канала, об этом будут проинформированы все другие согласователи и канал, наконец, будет отправлен обработчику (клиентской программе типа Handler). Диспетчеризация канала происходит поэтапно, поскольку прежде, обработчик начнет изменять состояние канала, программам-наблюдателям может потребоваться время с тем, чтобы выполнить некоторые настройки.

У клиентских программ есть свойство — свойство фильтра канала, в котором перечисляются фильтры, считываемые диспетчером каналов с тем, чтобы знать, какие каналы интересуют данное клиентское приложение. В фильтре должны быть указаны, как минимум, тип канала и тип целевого хэндла (например, контакт или чат-комната), которые интересуют клиентскую программу, но в нем также можно указывать и другие свойства. Сравнение с неизменяемыми свойствами канала выполняется с помощью простой операции сравнения. В таблице 2 показан фильтр, который без всяких изменений должен присутствовать во всех каналах текстовых сообщений. [16]

Свойство

Значение

ofdT.Channel.ChannelType

Channel.Type.Text

ofdT.Channel.TargetHandleType

Handle_Type_Contact (1)

Таблица 2

Поиск клиентских приложений осуществляется через шину D-Bus, поскольку они публикуют сервисы, имя которых начинается с хорошо известного префикса ofdT.Client (например, ofdT.Client.Empathy.Chat). Они также могут установить файл, из которого диспетчер каналов прочитает фильтры. Это позволит диспетчеру каналов запустить клиентское приложение в случае, если оно еще не запущено. То, что клиентские приложения можно искать таким образом, позволяет делать пользовательский интерфейс настраиваемым, который можно изменять в любой момент, не заменяя при этом каких-либо других частей фреймворка Telepathy.

Всё или ничего

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


Пустой фильтр означает, что обработчика не интересуют никакие каналы. Не смотря на это, есть возможность передать канал такому обработчику, если вы сделаете это, указав имя обработчика. Такие фильтры используются во временно создаваемых обработчиках, которые создаются по запросу. [17]

2.3 Средства разработки клиентских приложений

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

Разработка на уровне поставщиков услуг позволяет обеспечить унифицированный доступ клиентских приложений к дополнительным ресурсам, таким как адресные книги, хранящиеся, например, в базах данных; агентам передачи сообщений, позволяющим принимать и отправлять сообщения в почтовые системы, отличные от Exchange Server, например, систему РЕМАРТ, и хранилищам, позволяющим использовать для хранения и извлечения почтовых сообщений расширенные форматы файлов данных и специализированные системы хранения информации. При разработке приложений такого уровня должны применяться Win32 Software Development Kit (SDK) и компиляторы C/C++. В частности, все необходимые компоненты входят в состав пакета разработки Visual C/C++ 4.x Professional. При использовании компиляторов других производителей необходимо приобретение Win32 SDK. Разработка под Windows 3.1x требует наличия соответствующего компилятора и 16-битной версии MAPI SDK.

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

Наличие высокоуровневых интерфейсов OLE Messaging и OLE Scheduling позволяет использовать при создании приложений, способных использовать услуги электронной почты, как офисные пакеты, такие как Excel, Word, Access, так и средства разработки, поддерживающие стандарт OLE, например Visual Basic, Delphi или Visual J++.

Набор вызовов Simple MAPI может быть использован при создании прикладных программ, которым достаточно минимального набора функций электронной почты, на любых языках программирования, поддерживающих подключение динамических библиотек (DLL) или включение статических библиотек на этапе сборки (linking) исполняемого кода. В качестве примера таких средств разработки можно привести Visual Basic, Power Builder, Delphi, компиляторы C/C++ и FORTRAN различных производителей.

Интерфейс Common Messaging Calls (CMC) может применяться при разработке программ, которые будут переноситься на отличные от Windows платформы. По функциональности CMC соответствует уровню Simple MAPI и требует использования таких же систем разработки приложений.


Для написания прикладных программ, использующих все функциональные возможности MAPI, такие как асинхронная обработка событий, манипулирование почтовыми профилями, работа с электронными досками объявлений, поиск в каталоге, маршрутизация, расширенные свойства сообщений и т.д., должны применяться компиляторы C/C++ и Win32 SDK для платформ Windows 95 и NT или 16-битная версия MAPI SDK для Windows 3.1x. Хотя отдельные фрагменты полного набора интерфейсов могут вызываться и из приложений на Visual Basic или Delphi.

Разработка прикладных программ, расширяющих базовую функциональность, может выполняться с применением следующих средств:

  • электронного дизайнера форм клиента Exchange или электронного дизайнера Outlook, если предоставляемая ими функциональность достаточна для выполнения поставленной задачи. Поскольку в обеих системах используется язык программирования Visual Basic, поддерживающий механизм OLE, при помощи электронных форм можно удовлетворить большинство требований по созданию приложений коллективной работы, однако многие расширенные функции с их помощью не реализуются по причине ограниченных возможностей OLE Messaging и OLE Scheduling;
  • компиляторов C/C++ и Win32 SDK/MAPI SDK для создания расширений, дополняющих или заменяющих отдельные компоненты клиентской части и способных использовать в работе полный набор интерфейсов MAPI. Примером таких программ могут служить специализированный сервер электронных форм написанных на языке Java; обработчик входящих сообщений, использующий расширенный набор правил; дополнительная панель в окне клиентской программы, используемая для ускоренного просмотра сообщения.

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

  • каталог SAMAPPS на дистрибутиве сервера Exchange содержит примеры электронных форм;
  • Win32 SDK и MAPI SDK содержат примеры использования различных уровней интерфейса MAPI;
  • примеры электронных форм Outlook и программ, использующих MAPI, в том числе расширяющие базовую функциональность клиента Exchange, доступны в Internet на сервере фирмы Microsoft по адресу http://www.microsoft.com/Exchange в разделе Application Farm;
  • исходные тексты некоторых программ, входящих в Exchange Server 5.0 Resource Kit, также доступны для загрузки с WWW-сервера Microsoft.

2.4 Преимущества клиентских программ

Преимущества клиентских программ:

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