Как использовать и предоставлять веб сервисы с помощью SOAP и RESTful, формата данных JSON, XML, БД MySQL. Обновлен: март 2019 г.
Зачем вам нужны веб сервисы?
КОММУНИКАЦИИ
Веб сервисы позволяют "подружить" между собой любые приложения и платформы. Вы можете выставить наружу любой функционал вашего приложения.
ГОТОВЫЕ РЕШЕНИЯ
Можно пользоваться уже готовыми сервисами, чтобы не изобретать колесо. Например, сервис по оплате с помощью карточек, получение курса валют и т.д.
МУЛЬТИПЛАТФОРМЕННОСТЬ
Вы можете создавать и вызывать веб сервисы на любом языке. К примеру, создать сервис на Java и обращаться к нему из Android приложения.
На веб сервисах сегодня построены почти все коммуникации между системами, поэтому их знания обязательны для любого профессионального программиста!
Как использовать веб сервисы компаний?
Вы можете построить свой функционал на основе любых сервисов больших компаний. Это позволит вам расширить функционал вашего приложения за счет сторонних служб.
Вы можете искать товары, проверять текст на ошибки, составлять маршруты на картах, оплачивать покупки и т.д.
Доступных сервисов - огромное количество, есть из чего выбрать.
Все, что нужно будет сделать - это прочитать нужную документацию и получить интерфейсы и библиотеки.
После этого вы можете встраивать в свой бизнес процесс любой функционал и добавлять к нему уникальный дизайн.
Вам не нужно изобретать велосипед, если есть уже готовый сервис для вашей цели. Просто подключите его в свое приложение и используйте!
Очень актуален такой подход для мобильных приложений, которые не могут позволить себе производить тяжелые вычисления, и им приходится использовать веб службы через интернет.
Прогноз погоды, курсы валют, просмотр афишы, чтение новостей, бэкап приложения и т.д. - везде используются веб службы.
Свежий пример: недавно мы организовали сервисы для нашей онлайн библиотеки (проект из другого тренинга).
Теперь книги можно искать и читать из любого приложения (C#, PHP и пр.), также с мобильных устройств (Android, iPhone).
Мы создали единый интерфейс и разрешили выполнять к нему внешние вызовы (на основе SOAP или REST).
Можно установить это приложение на хостинг и предоставить службы в интернете.
НОВЫЙ ВИДЕОКУРС "Веб сервисы на Java" для начинающих
Что вы получите?
В этом курсе вы научитесь всему, что нужно знать про веб сервисы на Java:
- как использовать спецификации JAX-WS и JAX-RS
- как использовать REST и SOAP сервисы
- как безопасно передавать данные
- как сжимать данные
- как создавать клиентов
- как расширять свое приложение
- и многое другое ...
В своих курсах мы строго придерживаемся принципа "больше ПРАКТИКИ, меньше ВОДЫ".
Информация должна быть применена сразу же после получения. В этом видеокурсе как обычно соотношение теории и практики: 20 на 80
Какие типы веб-сервисов существуют?
В данный момент чаще всего используется 2 типа веб-сервисов:
Эти 2 технологии различаются способами взаимодействия и сложностью программирования. Вы должно уметь пользоваться обоими технологиями, а не только какой-то одной, чтобы предоставлять максимальные возможности для работы с вашим приложением.
Они могут использоваться совместно. В лучшем варианте - ваше приложение должно предоставлять оба интерфейса.
Какие начальные знания нужны?
Концепция веб-сервисов сама по себе не сложная. Сложности будут, когда начнете изучение различных спецификаций.
Их очень много и легко запутаться.
Как показывает практика: для начала нужно просто уметь программировать в стиле ООП.
Остальному мы вас научим.
Основные темы видеокурса
REST
Создание и вызов RESTful сервисов, основные моменты, отличия от стандартного SOAP сервиса, плюсы и минусы.
XML
Популярный формат передачи данных в SOAP сервисах, позволяет передавать любые массивы данных.
SAX, DOM
Парсеры для XML файлов. Вы научитесь разбирать документы и данные, которые будете получать от сервисов.
JSON
Самый популярный формат передачи данных в RESTful сервисах, потихоньку заменяет XML при обмене данными
WS-*
Набор спецификаций для работы с различными направлениями веб сервисов. Постоянно обновляются и дорабатываются консорциумами.
SOAP
Один из первых и популярных протоколов при работе с веб сервисами. Является надстройкой над HTTP и имеет очень большие возможности
MTOM
Механизм сжатия данных например при передаче больших двоичных файлов. Проводит оптимизацию и разбиение сообщения на части
XML Schema
Какие схемы нужно подключать и что это такое. Активно используются в веб сервисах, поэтому их понимание - обязательно для программиста
Endpoint
Как создать свою точку веб сервиса и использовать ее для получения уведомлений при вызовые веб сервиса.
JAXB
Технология по связыванию Java кода и XML тегов. Очень удобен в применении, делает всю рутину за вас.
BASE-64
Формат кодирования двоичных данных, который часто используется например в почтовых программах
XML Namespaces
Пространства имен используются в файлах настройки веб сервисов для разделения областей имен
JAX-WS
Спецификация для работы с SOAP веб сервисами. Имеет большое количество возможностей.
SAAJ
Инструмент для работы с SOAP сообщениями. Очень часто используется для упаковки или разбора данных.
JAX-RPC
Технология, которая предшествовала JAX-WS. Обычно используется в старых проектах, где нужна его поддержка.
WSDL
Формат описание веб сервисов, который полностью описывает интерфейс и возможности сервиса.
JAXP
Более современный инструмент для ручного разбора XML файлов. Отличается от SAX и DOM возможностями и удобством
JAX-RS
Спецификация для работы с веб сервисами RESTful. Описывает основные возможности и интерфейсы для использования
Аннотации
Служебная информация, которая описывается в классах и дает бОльшую гибкость при создании и вызове веб сервисов как SOAP, так и RESTful
Передача файлов
Как можно передавать двоичные данные с помощью веб сервисов, применяя различные сжатия и алгоритмы оптимизации
WS-Policy
Спецификация для описания политик сервисов. Применение политик к вашей веб службе.
W3C
Консорциум по созданию многих спецификаций, связанных с веб сервисами и другими веб технологиями.
MySQL
База данных, которую вы будете использовать при разработке проекта и веб сервисов. Предоставляет готовые драйвера JDBC.
Асинхронность
Как можно вызывать веб сервисы асинхронно, т.е. продолжать работу не дожидаясь ответа и не загружая интерфейс
Спецификации
Это все - определения и спецификации, которые вы научитесь использовать в работе.
Например, WS-Security - для обеспечения безопасности передаваемого сообщения, JSON - для формирования сообщения, JAX-RS - для работы с RESTful сервисами. И так далее.
Вы разработаете веб сервисы и будете обращаться к ним из разных приложений. Узнаете что такое на самом деле кодировка и почему она так важна для программиста.
Кодировка
Почти у всех новичков возникают проблемы с русскими символами при передаче данных, получении и пр. - поэтому данная тема очень важна.
Зачем нужен JSON и почему он набирает популярность. Чем он отличается от XML и как используется в веб сервисах. Как обрабатывать и отправлять JSON запросы.
Также научитесь обращаться к существующим службам крупных компаний для расширения своего приложения.
Какое приложение вы создадите?
Вы разработаете приложение на тему поиска авиабилетов (небольшой бизнес-процесс). У приложения будет веб интерфейс + свои сервисы (двух типов: SOAP и RESTful).
Эти сервисы мы будем учиться вызывать десктоп приложения.
Что будете использовать?
Java (NetBeans, GlassFish) - сервисы вы будете создавать на Java и опубликовывать их с помощью GlassFish. Также создадите клиента на Java для проверки работы.
Автор берет тему ищет в интернете описание что это такое, озвучивает это в видео после чего говорит урок окончен вот вам ссылки с более подробным описанием сидите разбирайтесь. Какой смысл от таких уроков не понятно, с тем же успехом можно и самому искать эту информацию и учить.