Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФОМИН А С Доклад.docx
Скачиваний:
0
Добавлен:
10.01.2024
Размер:
272.1 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ

КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Сетевые информационные технологии и сервисы»

Доклад по дисциплине

«Введение в информационные технологии»

на тему: «Сервис на основе WEB - технологий»

Выполнил студент 1 курса

Группа: УБСТ21-02

ФИО: Фомин Алексей Сергеевич

Проверил: преподаватель Шведов А.В.

Москва, 2021

Содержание

ВВЕДЕНИЕ 3

1.1 ОСНОВНЫЕ ПОНЯТИЯ РАЗРАБОТКИ WEB-СЕРВИСОВ 4

1.2. ИСПОЛЬЗОВАНИЕ WEB-ТЕХНОЛОГИЙ 18

HTML/XHTML и CSS 18

СТАТИЧЕСКИЕ И ДИНАМИЧЕСКИЕ САЙТЫ 19

ТЕХНОЛОГИЯ КЛИЕНТСКОГО ПРОГРАММИРОВАНИЯ JAVASCRIPT 21

ТЕХНОЛОГИИ СЕРВЕРНОГО ПРОГРАММИРОВАНИЯ 22

ЗАКЛЮЧЕНИЕ 23

СПИСОК ИСТОЧНИКОВ 24

Введение

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

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

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

Интернет-технологии стремительно развиваются, проникая в самые разнообразные сферы профессиональной деятельности, в том числе и экономической. Для компаний присутствие в Интернете – это возможность рассказать о своих товарах и услугах, найти потенциальных партнеров и клиентов, а также снизить издержки за счет Интернет-торговли. Даже такие традиционно замкнутые системы, как промышленные автоматизированные системы управления производством, также в большинстве случаев прямо или косвенно подключены к Интернету.

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

Концепция веб-сервисов (Web Services) призвана решить эту задачу объединения, интеграции разнородных систем на основе открытых стандартов. На сегодняшний день огромное количество людей пользуется услугами web-сервисов.

Цель: Изучить сервис на основе WEB – технологий.

Для реализации поставленной цели необходимо решить следующие задачи:

1. Изучить основные понятия WEB - технологий;

2. Рассмотреть представление и передачу информации в сети интернет;

3. Изучить базовые технологии разработки web-страниц;

1.1 Основные понятия разработки web-сервисов

При разработке современного программного обеспечения для Интернета все больше вниманию удаляется разработке такого типа приложений, как web-сервисы. В развитых странах, Интернет уже давно доминирует в области социального обслуживания: при помощи использования web-сервисов можно покупать билеты на поезда и самолеты, оплачивать коммунальные услуги, приобретать бытовую технику. Это избавляет население от пустой траты времени стоя в очередях, поисках магазинов. В связи со сказанным, можно считать, что разработка и применение web-сервисов для оказания социальных услуг является весьма актуальной темой в современном обществе.

Web-сервис может предоставлять определенные услуги. Например, такой web-сервис как интернет-магазин предлагает пользователю определенный товар, который он может приобрести непосредственно на данном web-сервисе.

Анализ, посвященный изучению разработке web-сервисов, позволяет выделить два наиболее важных направления: дизайн и навигация. Дизайн играет важную роль в привлечении внимания пользователей сети Интернет к web-сервису. Навигация в web-сервисе должна быть простой и понятной – это положительно сказывается на конверсии и помогает клиенту в поиске товара.

Существует множество платформ и языков, на которых может быть разработан web-сервис. Выделяют несколько этапов разработки web-сервиса:

  1. Подготовка и заполнение ТЗ

На этом шаге происходит «знакомство» заказчика и команды разработчиков, т.е. собирается вся необходимая информация для начала работы:

  • Формальные сведения о бизнесе, например, название компании, сфера её деятельности, товарный ассортимент и т.п.;

  • Пожелания клиента к проекту, если таковые имеются;

  • Вопросы стратегии – определение ключевых целей, задач разработки;

  • Состояние сегмента рынка на текущий момент (т.е. изучается конкурентная среда).

Во время подготовительного этапа собирается максимальная информация о компании-заказчике

В итоге заказчик принимает окончательное решение, нужен ли ему интернет-магазин, готов ли он к активной работе с выбранными специалистами. 

  • Составление ТЗ

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

Правильно составленное ТЗ содержит полное описание процесса создания web-сервиса, а именно:

  • Функциональные требования к проекту (т.е. тот набор задач, которые должен реализовывать «продающий» сайт);

  • Аспекты графического оформления;

  • Условия сотрудничества, перечень основных работ;

  • Сроки выполнения каждого этапа, порядок их оплаты.

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

Этот этап завершается подписанием договора, в котором отражены ключевые аспекты сотрудничества. 

  1. Помощь с выбором системы управления (CMS)

CMS для интернет-магазина — это система управления содержимым, от правильности выбора которой зависит будущая продуктивность и эффективность проекта.

Современная платформа под интернет-магазин в обязательном порядке должна иметь:

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

  • быстрый поиск по сайту

  • интеграция с 1С Предприятие

  • автоматизированные расчеты: бонусы, скидки, программы лояльности

  • интуитивный интерфейс (как для администратора, так и для покупателя)

  • функция отправки автоматических уведомлений по email.

Для того, чтобы выбрать оптимальный движок, необходимо четко понимать цели проекта, каким показателям он должен соответствовать. Например, если нужен небольшой сайт-витрина для демонстрации нескольких видов товаров, то вкладываться в полноценный движок с обширным функционалом, рассчитанный на большие нагрузки, не имеет смысла. И наоборот, планируя запуск крупного интернет-магазина с большим оборотом, экономить на платформе не надо.

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

  • WordPress WooCommerce

WooCommerce — бесплатный плагин для интеграции с WordPress, основная цель которого — легкое создание интернет-магазинов. Популярное решение, которое предоставляет владельцам интернет-магазина полный контроль над проектом благодаря своей гибкости. Плагин имеет доступ к сотням платных и бесплатных расширений WP (WordPress), благодаря чему обходит многие движки по количеству опций.

Итак, владельцу/администратору магазина доступно на WooCommerce продажа материальных и цифровых товаров, варианты товаров, партнерские товары с других магазинов, резервация, скидка на цифровые загрузки и многое другое. Кроме того, данная платформа легко устанавливается, имеет множество разных шаблонов. Конечно, и тут не обошлось без минусов. Например, в WordPress WooCommerce некоторые важные плагины платежных систем для СНГ платные. Также непросто работать с вариантами товаров (размеры, цвета и т.д.), но при желании с этим можно освоиться.

  • Bitrix

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

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

Администратору: для администратора доступна мощная административная панель для редактирования параметров магазина и управления заказами. Если вы стоите перед выбором WordPress или Битрикс и планируете запускать крупнейший интернет-магазин, тогда выбор однозначен — Битрикс.

Но будем объективны, у системы есть свои минусы. Один из них — это массивность системы; она рассчитана на большие проекты, затратна в плане финансов и времени на освоение.

  • ImageCMS Shop

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

  • гибкие возможности панели управления

  • хорошая SEO-оптимизация

  • высокое быстродействие

  • современные маркетинговые возможности для развития продаж

  • множество готовых шаблонов под самые разные тематики интернет-магазина

  • обширные возможности для масштабирования

  • подробная встроенная аналитика

  • премиальная техническая поддержка и бесплатные консультации

  • высокий уровень безопасности данных

  • автоматические обновления

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

Один из главных минусов — редко выходят релизы. Также нет возможности управления несколькими магазинами одновременно.

Сравнение CMS: WordPress WooCommerce, Битрикс и ImageCMS, отличия и особенности

WooCommerce

Bitrix

ImageCMS

Цена CMS

бесплатно

340$ — 730$

299$, 499$

Стоимость работы специалистов

среднерыночная

выше среднерыночной

среднерыночная

Открытый код

да

нет

да

Возможности CMS

реализуются модулями

обширные

обширные

Интерфейс

дружественный

дружественный

дружественный

Освоение платформы

быстро, просто

сложно, медленно

быстро, просто

Безопасность движка

уязвим

менее уязвим

надежный

Поиск по административной панели

удобный

неудобный

удобный

SEO-оптимизация

да

да

да

Интернет-магазин

плагин интеграции с WordPress

готовое решение

готовое решение

Интеграция с 1С

с помощью модуля

да

с помощью модуля

Аналитика продаж

с помощью модуля

да

да

Перед тем, как окончательно решить, какой движок выбрать на свой сайт — WordPress, Битрикс или ImageCMS, определитесь с масштабами и потребностями вашего бизнеса. Только правильное видение целей и объемов будущих продаж поможет вам принять самое оптимальное решение в выборе платформы.

В итоге:

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

Битрикс — мощная система, которая дает магазину практически неограниченные возможности. Готовая к высоким нагрузкам, но при этом не проста в управлении.

ImageCMS — система для создания интернет-магазинов любого уровня с обширными возможностями для маркетинга и масштабирования.

  1. Создание прототипа

Прототип – это «набросок» сайта виртуального магазина. Эскиз отражает структуру продукта, его функциональные возможности, адаптивные решения для разных устройств (например, ноутбуки, ПК, смартфоны).

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

  • Решает многие вопросы в создании дизайна

  • После утверждения можно сразу передать в верстку и наполнение контентом. Поисковики уже начнут индексировать сайт.

  • Наглядное отображение бедующего сайта

UI/UX-дизайнеры продумывают общую концепцию оформления будущего интернет-магазина. За формирование положительного опыта взаимодействия пользователя с интернет-магазином отвечает UX-дизайн.

UI-дизайнеры разрабатывают оформление ключевых элементов торговой площадки, учитывая:

  • Фирменные цвета компании-заказчика;

  • Общую цветовую гамму проекта;

  • Тенденции в веб-дизайне.

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

  1. Выбор программного обеспечения для реализации проекта

Без редактора кода не сверстать сайт. Это основной инструмент верстальщика. Он позволяет писать код на десятке языков программирования, подсвечивать синтаксис, выравнивать код, тестировать его (иногда прямо в редакторе), пушить в репозиторий гитхаба. Какой из редакторов выбрать - дело вкуса. Самые популярные: VSCode, Sublime Text, Brackets, Atom. Все современные редакторы кода обладают примерно одинаковым функционалом, позволяют работать с Git и устанавливать дополнения. А вот плагины к редакторам могут сильно облегчить жизнь верстальщику.

Emmet

Работает практически с любым редактором кода. В VSCode, например, его даже не надо специально устанавливать: он уже встроен в его функционал.

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

Также Эммет может написать префиксы для кроссбраузерной верстки и даже сгенерировать “Lorem ipsum” нужной длины.

Prettier

Аккуратный и хорошо читаемый код — признак мастерства, но выравнивать его муторно и скучно, особенно, если проект насчитывает уже не одну тысячу строк кода. На помощь придут плагины для выравнивания кода. Один из них - Prettier. Надо всего лишь выделить кусок кода и нажать на комбинацию клавиш, и вуаля — ваш код аккуратно выстроен в соответствии с шаблоном. Конечно, все правила выравнивания можно при желании настроить.

Live Server

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

  1. Реализация.

На этом этапе проводится подготовка текстового и графического материала (печать, сканирование, оптимизация). Материал разбивается по файлам в соответствии со структурой. Организовываются ссылки между web-страницами сайта. Разрабатывается дизайн. На этом этапе определяются: фон, на котором будет расположена информация, цвет текста, цвет гипертекстовых ссылок, знаки навигации, выделение разделов графикой или текстовыми ссылками, представление фотографического материала.

Реализация состоит из:

  • Подготовка Дизайн-макета

Дизайн-макет - это специально подготовленный шаблон, предназначенный для вывода рекламного изображения на печать. Дизайн-макет обязательно должен быть в электронном варианте; он представляет собой файл в особом формате и с заданными параметрами. Чтобы результат был корректным, над макетом должен поработать профессиональный дизайнер.

  • Подготовка контента (статьи, фото, товары)

  • Верстка

Этап заключается в визуальной части проекта в программный код. Как правило, используется стек технологий:

  • HTML – стандартный язык разметки, без которого невозможно создать ни один ресурс в интернете;

  • CSS – каскадные таблицы стилей, которые позволяют воспроизвести уникальный дизайн элементов (например, изменить цвет, придать форму объекту);

  • JavaScript – язык программирования, который обеспечивает интерактивное взаимодействие пользователя со страницей.

Основной стек технологий для верстки сайта – HTML, CSS, JavaScript.

Однако разработчики часто используют в работе разные библиотеки (например, JQuery) и фреймворки (Bootstrap и другие), которые ускоряют процесс верстки.

  • Программная реализация

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

  • Настройка основных модулей сайта (например, каталоги, разделы, корзина);

  • Разработка индивидуальных решений, если есть необходимость;

  • Работа с CMS – откладка всей системы, добавление модулей;

  • Подключение сторонних сервисов (способы оплаты, доставки).

Программная реализация интернет-магазина занимает больше всего времени.

Стадия полностью выполнятся разработчиками на основе технического задания проекта.

  • Наполнение контентом

Качественные текстовые описания товаров, их изображения важны для любого интернет-магазина, потому что:

  • Потенциальный покупатель получает максимальную информацию о продукте, а значит вероятность покупки увеличивается;

  • Грамотный контент необходим для SEO-продвижения.

Стадия заключается в определении общей стратегии контент-маркетинга, написании текстов и публикации их на сайте.

  1. SEO дословно означает «поисковая оптимизация», т.е. это набор методов, которые продвигают именно Ваш проект в ТОП поисковой выдачи.

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

В результате такого алгоритма действий можно получить два варианта:

  1. Поисковый робот пока не заходил на сайт, а следовательно, не проиндексировал страницы. В результате контент не участвует в поисковой выдаче.

  2. Поисковик проиндексировал ресурс и отражает его при релевантном запросе.

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

    1. Белый метод оптимизации

В свете последних событий, связанных с изменением алгоритма ранжирования сайтов, легальное СЕО имеет приоритет. С учётом рекомендаций Яндекса и Google «белые» методы действительно дают хороший результат. Следовательно, работа, проводимая в таком направлении, приобретает определенный смысл.

При наполнении сайта контентом нужно придерживаться правил: актуальности и полезности. Текст должен нести определенную информационную нагрузку и быть интересным для читателя. Кроме того, должен соблюдаться определенный объём, так как полностью раскрыть тему можно в развернутой статье, имеющей размер не менее 5000 символов.

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

    1. Чёрный метод оптимизации

Смысл нелегального СЕО – обмануть поискового робота так, чтобы он проиндексировал некачественный ресурс как релевантный. В данном направлении встречаются такие понятия, как Doorway (Дорвей) и Cloaking (Клоакинг).

В последнее время понятие нелегальная SEO-оптимизация уходит в прошлое, потому что поисковые роботы научились легко вычислять подделку. Кроме того, на фоне легальных методов «чёрные» приёмы стали выглядеть практически бессмысленными. Также есть вероятность того, что при обнаружении нелегальной оптимизации конкуренты могут просто подать жалобу на нарушение правил поисковых систем, и тогда ресурс будет заблокирован.

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

На этапе оптимизации проводятся работы, которые позволяют улучшить технические характеристики разработанного интернет-магазина:

  • Составляется семантическое ядро сайта из всех возможных ключевых слов;

  • Страницы распределяются под запросы;

  • На похожие товары (например, из одной категории) создаются внутренние ссылки;

  • Изображения ужимаются, если есть необходимость.

  1. Тестирование.

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

  1. Публикация.

Размещение сайта в Internet. Для этого необходимо разместить все файлы web-сервиса на web-сервере, предоставляющем такие услуги.

  1. Рекламирование.

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

  1. Сопровождение.

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

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

На архитектуру программного обеспечения оказывают влияние множество факторов, в том числе:

  • заинтересованные в системе лица, такие как разработчики, заказчики;

  • компания-разработчик с выработанными в ней подходами к реализации программных проектов;

  • опыт и привычки архитекторов программной системы;

Рассмотрим подробно архитектуру web-сервисов. Архитектура программной системы охватывает не только ее структурные и поведенческие аспекты, но и правила ее использования и интеграции с другими системами, функциональность, производительность, гибкость, надежность, возможность повторного применения, полноту, экономические и технологические ограничения, а также вопрос пользовательского интерфейса. По мере развития информационных технологий и программных систем все большее значение приобретает их интеграция друг с другом с целью построения единого информационного пространства. Для того чтобы построить правильную и надежную архитектуру и грамотно спроектировать совместную работу программных систем необходимо четко следовать современным стандартам в области информационно-коммуникационных технологий. Без этого велика вероятность, создать архитектуру, которая неспособна развиваться и удовлетворять растущие потребности пользователей в сети Интернет. В качестве законодателей стандартов в области информационно-коммуникационных технологий выступают такие международные организации как SEI (Software Engineering Institute), WWW (консорциум World Wide Web), OMG (Object Management Group), организация разработчиков Java – JCP (Java Community Process), IEEE (Institute of Electrical and Electronics Engineers) и другие. Web-сервисы представляют собой приложения с сервис-ориентированной архитектурой (Service-Oriented Architecture – SOA). SOA представляет собой модульный подход к разработке программного обеспечения, основанный на использовании сервисов (служб) со стандартизированными интерфейсами. В настоящее время наблюдается устойчивый рост интереса к концепции сервис-ориентированной архитектуры (Service-Oriented Architecture – SOA). SOA – это архитектурная модель для объединения доступных вычислительных ресурсов, таких как: приложения, данные, формы их представления, средства управления и мониторинга, с требованиями достижения желаемых результатов, для потребителей сервисов, которыми могут быть: конечные пользователи, другие приложения, или другие, подобные, сервисы. В общем виде SOA предполагает наличие трех основных участников: поставщика сервиса, потребителя сервиса и реестра сервисов (Рис.1).

Рис. 1 Общая схема сервис-ориентированной архитектуры

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

  • XML – расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;

  • SOAP – протокол обмена сообщениями на базе XML;

  • WSDL – язык описания внешних интерфейсов веб-сервисов на базе XML;

  • UDDI – универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description, and Integration).

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

SOAP (Simple Object Access Protocol – простой протокол доступа к объектам) представляет собой протокол сообщений для выбора web-сервисов. SOAP основан на языке XML и расширяет некоторые протокол прикладного уровня: HTTP, FTP, SMTP и т.д. Как правило, чаще всего используется HTTP. Вместо использования HTTP для запроса HTML-страницы, которая будет показана в браузере, SOAP отправляет посредством HTTP-запроса XML-сообщение и получает результат в HTTP-ответе. Для правильной обработки XML-сообщения процесс - «слушатель» HTTP (напр. Apache или Microsoft IIS) должен предоставить SOAP-процессор, или, другими словами, должен иметь возможность обрабатывать XML. SOAP является самой главной частью технологии web-сервисов. Он осуществляет перенос данных по сети из одного места в другое. SOAP обеспечивает доставку данных web-сервисов. Он позволяет отправителю и получателю XML-документов поддерживать общий протокол передачи данных, что обеспечивает эффективность сетевой связи.

SOAP – это базовая однонаправленная модель соединения, обеспечивающая согласованную передачу сообщения от отправителя к получателю, потенциально допускающая наличие посредников, которые могут обрабатывать часть сообщения или добавлять к нему дополнительные элементы. Спецификация SOAP содержит соглашения по преобразованию однонаправленного обмена сообщениями в соответствии с принципом «запрос/ответ», а также определяет, как осуществлять передачу всего XML-документа. Каждый web-сервис предоставляет документ WSDL (Web Service Description Language – язык описания web-сервиса), в котором описывается все, что клиенту необходимо для работы с этим сервисом.

WSDL-документ предоставляет простой и последовательный способ задания разработчиком синтаксиса вызова любого web-метода. Более того, этот документ позволяет использовать инструменты автоматического генерирования прокси-классов, подобные включенным в среды Visual Studio, .NET и .NET Framework. Благодаря указанным средствам использование web-сервиса является таким же простым, как и применение локального класса. WSDL- документ основанный на XML формат, в соответствии с которым информация подразделяется на пять групп. Первые три группы представляют собой абстрактные определения, не зависящие от особенностей платформы, сети или языка, а оставшиеся две группы включают конкретные описания.

Спецификация UDDI (Universal Description, Discovery, and Integration - универсальное описание, поиск и интеграция) позволяет избежать различных проблем посредством использования специального хранилища (репозитория), где предприятия и организации могут размещать данные о предоставляемых ими сервисах, включая Oracle и Microsoft. Объединив свои усилия, эти компании разработали проект спецификации UDDI, которая по истечении 18 месяцев была стандартизирована. Информация в этом репозитории должна обновляться вручную. С этой целью некоторые «узловые операторы» хранят идентичные копии репозитория UDDI. Эти компании обеспечивают хранение указанного репозитория и бесплатный доступ к нему для популяризации web-сервисов. Кроме того, Майкрософт включила версию UDDI в программное обеспечение сервера Windows .NET для использования в корпоративных сетях интернета. В хранилище UDDI содержатся сведения о предприятиях, предоставляющих web-сервисы, о типе каждого сервиса и связях с информацией и спецификациями, относящимися к этим сервисам. Интерфейс UDDI сам по себе представляет собой web-сервис. Для регистрации или поиска службы следует отправить SOAP-сообщение. Главными недостатками web-сервисов являются меньшая производительность и больший размер сетевого трафика по сравнению с такими технологиями как RMI, CORBA, DCOM за счет использования текстовых XML-сообщений.

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

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

  • сокращение издержек при разработке приложений, за счёт упорядочивания процесса разработки

  • расширение повторного использования кода

  • независимость от используемых платформ, инструментов, языков разработки

  • повышение масштабируемости создаваемых систем

  • улучшение управляемости создаваемых систем.

Взаимодействие компонентов в данной архитектуре происходит благодаря использованию протокола HTTP (HyperText Transfer Protocol). Он представляет собой протокол прикладного уровня для передачи гипертекста. Является протоколом высокого уровня, использующийся в сетях TCP/IP для извлечения файлов с соответствующих ресурсов. При этом HTTP не хранит информацию о своем состоянии: каждая транзакция рассматривается независимо от остальных. Следовательно, в типичной реализации создается новое TCP-соединение между клиентом и сервером для каждой транзакции, которое прерывается сразу после ее завершения. Таким образом, при разработке web-сервисов основными принципами являются:

  • независимость от платформы и языка программирования,

  • простота реализации, поиска web-сервисов и интеграции приложений с их помощью.