logo
Soft11

2.4. Применение серверов приложений в сетях ngn

В сетях NGN серверы приложений принимают участие в предостав­лении различных дополнительных коммуникационных и информацион­ных услуг пользователям этих сетей и применяются для управления со стороны пользователя предоставлением услуги. Условно весь спектр возможных услуг можно разделить на четыре класса:

Но это только условное деление; в реальности услуга в сетях NGN может представлять собой какую-либо комбинацию из вышеперечислен­ных услуг или быть специфичной (специально описанной) для сетей NGN. При этом надо учитывать, что услуга может применяться не к од­ному типу трафика (аудио, видео, данные), а к любой их комбинации с необходимой синхронизацией информационных потоков и необходи­мым классом обслуживания для каждого потока. Помимо предоставления услуги, сервер приложений отвечает за управление/конфигурирование услуги со стороны пользователя в ин­терактивном режиме. Учитывая, что современные пользовательские терминалы сетей NGN обладают графическим пользовательским интерфейсом (SIP-телефоны) и что с сервером приложений может взаимодействовать любой компьютерный терминал (ПК, КПК, смар­тфон и т.п.), сервер приложений должен быть способен взаимодей­ствовать с пользователем посредством графического интерфейса.

Взаимодействие между сервером приложения и пользователем сети NGN строится на базе модели «клиент-сервер», широко используемой в компьютерных сетях. В соответствии с этой моделью приложение вы­полняется в распределенной (по сети) вычислительной системе. При этом приложение делится на клиентский и серверный процессы. В сети, помимо серверов приложения, используются еще следующие типы сер­веров:

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

Помимо этой задачи сервер приложений должен стремиться обес­печить максимальную степень доступности того или иного сервиса (услуги), т.е. должен обеспечивать универсальный интерфейс взаимо­действия с клиентом с учетом технических возможностей пользова­тельского терминала и канала связи. Клиенты сервера приложения в зависимости от их функциональ­ности делятся на «тонких» и «толстых» (в терминах модели «кли­ент-сервер»). Функциональность клиента определяется степенью обработки пользовательского ввода, степенью обработки информа­ционного контента и правилами формирования пользовательского интерфейса (интерфейса отображения или представления информа­ции). Каждый из этих факторов, определяющих функциональность клиента, можно условно разделить на несколько градаций (методов реализации). Для упрощения ссылок этим градациям будут давать­ся условные названия. Пользовательский ввод может обрабатывать­ся следующим образом:

Пользовательский ввод может быть акустическим, символьным (ал­фавитно-цифровым), координатным (обрабатываются пространствен­ные координаты инструмента ввода) и смешанным. Также есть псевдо- или командный ввод, который получается только после обработки или конвертирования реального пользовательского ввода.

В свою очередь, пользовательский интерфейс может быть акустичес­ким, символьным, графическим или смешанным. Формирование пользо­вательского интерфейса может производиться следующими методами:

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

Под обработкой в данном случае понимаются достаточно сложные ресурсоемкие вычислительные действия, проводимые над информацией (например, сортировка, выборка, математические вычисления и преоб­разования, конвертирование в другой тип информации или в другое представление и т. п.). Подобная обработка может производиться либо на стороне клиента, либо по запросу клиента на стороне сервера. Соот­ветственно, где обработка происходит, там и большие функциональные и ресурсные требования к оборудованию. При этом объем передаваемой информации может увеличиваться или уменьшаться в зависимости от вида обработки и типа информации. Поэтому для оптимизации трафи­ка, если это позволяет тип клиентского терминала, может использовать­ся распределенная обработка между клиентом и сервером.

Функциональность клиента определяется сочетанием классифици­рованных выше факторов. В соответствии с этим сочетанием клиент

приобретает те или иные плюсы и минусы. Условно клиентов по функ­циональности можно разделить на следующие основные типы:

Наиболее перспективными на сегодняшний день типами клиентов считаются web-клиент и апплет, а также их переходные формы (напри­мер, «активный» web-клиент — часть пользовательского интерфейса которого реализована посредством апплетов). Их перспективность определяется тем, что они достаточно универсальны и обеспечивают не­обходимую гибкость при создании и эксплуатации, а достаточно высо­кие требования к ресурсам клиентского терминала нивелируются про­грессом в области аппаратного обеспечения.

Взаимодействие между клиентом и сервером приложений может осуществляться посредством любого стандартного протокола информа­ционного обмена в компьютерных сетях (Telnet, SNMP, LDAP, FTP, HTTP, RPC и т. п.) или специального (специфичного для приложения или технологии разработки) протокола поверх транспортного уровня (например, поверх TCP/IP или UDP/IP), или поверх вышеуказанных стандартных протоколов, или посредством группы протоколов, а не од­ного какого-либо протокола. Выбор протоколов взаимодействия опреде­ляется потребностями конкретного приложения, т. е. зависит от типа клиента, вида информационного контента, используемых технологий разработки приложений и т. п. Сегодня наиболее часто в качестве базо­вого протокола взаимодействия используется HTTP, так как он обладает достаточной функциональностью для приложений «клиент—сервер» и при этом обеспечивает прозрачную (беспрепятственную) передачу пользовательского трафика поверх любых сетей.

Логика взаимодействия между серверным и клиентским процессами приложения обычно строится на базе модели «вызова удаленной проце­дуры» (RPC), так как это значительно облегчает процесс разработки приложения и упрощает логическое представление приложения в виде единого целого, выполняющего в единой среде исполнения.

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

Самой перспективной на сегодняшний день объектной технологией является SOAP/XML, так как она наиболее универсальна, основывает­ся на международных стандартах и имеет обширную поддержку со сто­роны различных производителей программного обеспечения. Эта техно­логия чаще всего используется для создания web-сервисов (серверный процесс) и для обеспечения их взаимодействия с клиентским процессом. В качестве клиента в этом случае обычно выступает апплет или «актив­ный» web-клиент. Как говорилось ранее, для работы данных клиентов требуется специальная среда исполнения. В основном используются только J2EE (Java SUN) и «.NET Framework» (Microsoft) среды испол­нения, так как они базируются на открытых стандартах и поддержива­ются большинством производителей программного обеспечения.

В компьютерных сетях взаимодействие между клиентом и сервером происходит напрямую или при посредничестве специализированных серверов (proxy и т.п.). В сетях NGN такое взаимодействие осуществля­ется при участии программного коммутатора (SX — Softswitch). Про­граммный коммутатор в этом случае выполняет следующие функции:

На рис. 2.10 представлена возможная логическая схема информационных потоков между различным оборудованием NGN сети при взаимодействии клиента сети с сервером приложений. Через программный коммутатор обыч­но проходят только потоки управления, а потоки, связанные с передачей ин­формационного контента приложения, проходят помимо него. В качестве протокола взаимодействия между программным коммутатором и сервером приложений, а также между коммутатором и абонентом сети NGN наиболее перспективным считается использование протокола SIP и его расширения.

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

Рис. 2.10. Организация уровня предоставления услуг и управления услугами

Все сценарии, где при предоставлении услуги непосредственно ис­пользуется сервер базы данных (первые три сценария), больше подходят для предоставления статических услуг, т. е. таких услуг, которые требу­ют предварительного заказа услуги. Последний сценарий больше подхо­дит для предоставления интерактивных или динамических услуг, т. е. таких услуг, которым требуется управление в процессе их предоставле­ния со стороны пользователя, абонента или провайдера услуги.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4