Сервисы на основе гибридных приложений
Архитектура гибридных приложений
Технологические средства разработки гибридных приложений
Повышение интеллектуальности бизнеса с Web 2.0
Варианты применения технологии гибридных приложений
Использование гибридных приложений в системах SCM
Информационный веб-сервис с ведением рейтинга
В последнее время в связи с ростом популярности концепции Web 2.0 все чаще можно встретить упоминание о гибридных приложениях. Под неофициальным термином «гибридное приложение» (mashup application) принято понимать интернет-приложение, интегрирующее данные из разных источников в Интернете и обеспечивающее пользователю возможность интерактивного взаимодействия с предоставляемой информацией.
На данный момент самыми распространенными являются картографические гибридные приложения. Они предоставляют пользователю информацию о географическом размещении каких-либо объектов. Такие приложения объединяют в себе информацию, полученную как из баз данных, так и с помощью картографических функций каких-либо сервисов (например, Google Maps). Таким образом, пользователь может получить информацию о размещении интересующего его объекта в графическом виде, а также интерактивно изменять требования к типу отображаемой информации, то есть пользователю будет предоставлена возможность работать только с теми данными, которые ему необходимы, и он будет освобожден от избыточной информации. Существуют разные типы гибридных приложений, о которых речь пойдет далее.
В данной статье мы рассмотрим технологии, используемые при создании гибридных приложений, проанализируем возможности применения семантических технологий для расширения их функциональности, а также предложим перспективные возможности использования гибридных приложений.
Типы гибридных приложений
Существующие в настоящий момент гибридные приложения можно разделить на следующие типы:
- картографические приложения;
- видео- и фотоприложения;
- поисковые и торговые приложения;
- новостные приложения.
Картографические гибридные приложения — это приложения, которые объединяют в себе информацию о географическом расположении какого-либо объекта с другой информацией, описывающей данный объект. Информацию о размещении объекта гораздо удобнее воспринимать, если она представлена графически — в виде карты.
Стартом для развития технологий создания такого рода приложений стало появление Google Map API (Application Programming Interface — программный интерфейс приложения), предоставляющего разработчикам возможность использования карт Google на своих веб-сайтах. Он позволил привязывать к карте практически любой объект.
Гибридные видео- и фотоприложения — это приложения, позволяющие объединить с какой-либо фотографией информацию о ее авторе, лицах, находящихся на ней, месте съемки и т.д. В настоящее время данный тип гибридных приложений широко используется в социальных сервисах.
Поисковые и торговые гибридные приложения — приложения, объединяющие в себе информацию об одном о том же объекте, но полученную из разных источников. Это дает пользователю возможность сравнивать информацию по товарам, если речь идет о торговых приложениях, и получать полный объем новостей об одном и том же событии.
Архитектура гибридных приложений
Гибридные приложения состоят из трех основных элементов:
- браузер-клиента;
- провайдер-контента;
- mashup-сайта.
Клиентский браузер является средой взаимодействия пользователя с приложением, а также интерпретирует графическое содержимое. Через браузер происходит сбор информации о требованиях к содержанию веб-страницы, которую просматривает пользователь.
Провайдером контента является сторонний сервис, предоставляющий данные для гибридного приложения. Число провайдеров контента, предоставляющих доступ к данным через API, медленно растет, но все же большинство информации приходится получать при помощи специальных утилит, проводящих синтаксический анализ содержимого страницы.
Mashup-приложение является интеграционным стержнем, объединяющим информацию из разных источников. Существует два подхода к реализации данного веб-сервиса:
- создание веб-приложения, размещенного и выполняющегося на стороне сервера. При этом могут быть использованы такие технологии, как ASP, Java, PHP и др.;
- генерация содержимого полностью на стороне клиента. При этом применяются сценарии исполнения, реализованные, например, при помощи JavaScript.
Использование каждого из этих подходов в чистом виде не очень удобно. Например, при реализации серверного варианта пользователь столкнется с проблемой частого обращения к серверу для обновления информации на странице. Кроме того, при применении приложения, выполняющегося на стороне клиента, будет проблематично обрабатывать сложные запросы, адресованные сразу к нескольким источникам данных.
Как правило, на практике эти два подхода объединяются: сбор данных выполняется на сервере, а их компоновка и представление — в клиентском приложении. Это позволяет не запрашивать страницу заново, а просто обновлять какую-то ее часть, что положительно отражается на скорости работы приложения.
Приложения такого типа в значительной мере ориентированы на пользователя и называются полнофункциональными веб-приложениями (Rich Internet Application, RIA). Они являются следующим поколением сервисов, именуемых сервисами Web 2.0.
Технологические средства разработки гибридных приложений
При разработке гибридных приложений применяются различные технологии.
Технология Asynchronous JavaScript and XML (AJAX) позволяет отделить взаимодействие пользователя с веб-сайтом от взаимодействия веб-браузера с сервером. В сообществе разработчиков AJAX считаются скорее моделью веб-приложений, а не технологией. AJAX основан на DHTML (Dynamic Hypertext Markup Language) и включает следующие технологии:
- CSS (Cascaded Style Sheet) — используется для оформления стиля страниц;
- API модели DOM (Document Object Model) — применяется для динамического отображения документов и взаимодействия браузера с сервером;
- XML — используется для асинхронного обмена данными;
- JavaScript — применяется для выполнения клиентских сценариев. На данный момент JavaScript поддерживается всеми браузерами.
Использование этих технологий дает возможность обмениваться незначительными объемами данных без полной перезагрузки страницы, что позволяет оперативно реагировать на действия пользователя.
Платформонезависимые веб-протоколы REST (Representational State Transfer) и SOAP (Service-Oriented Access Protocol) применяются для взаимодействия с удаленными веб-сервисами. Взаимодействие по протоколу SOAP происходит при помощи обмена XML-сообщениями. Программные интерфейсы веб-сервиса, с которым идет взаимодействие, описаны в формате WSDL (Web Services Description Language).
REST — протокол передачи состояния для интерпретации и представления. Основным понятием в нем является понятие ресурсов.
RDF (Resource Description Framework) предоставляет набор методик для описания данных.
Повышение интеллектуальности бизнеса с Web 2.0
Web 2.0 и архитектура, ориентированная на сервисы (Service-Oriented Architecture, SOA), становятся новым способом производства услуг. Эти технологии предлагают измененный подход к тому, как вводятся новшества, принимаются решения, ведется сотрудничество, привлекаются новые клиенты.
Данные технологии предполагают вовлечение средств бизнес-аналитики. Традиционно доступ к внутренней информации возможен разными ограниченными путями: через системы ERP (Enterprise Resource Planning) или MIS (Management Information System). C использованием технологий Web 2.0 данные теперь доступны не только в рамках одной организации, но и через Интернет. В этом контексте термин BI (Business Intelligence) может быть интерпретирован как «совместный интеллект». Под данным термином понимается объединение нового типа представления данных с традиционным подходом предприятия к созданию этих данных, что позволяет использовать эти знания для достижения успеха на рынке.
Варианты применения технологии гибридных приложений
Использование гибридных приложений, осуществляющих интерактивное представление информации, поступающей из разных источников, вполне оправданно во многих областях.
Применение данного типа приложений возможно, к примеру, в системах управления цепочками поставок (Supply Chain Management, SCM), в сервисах предоставления данных и ведения рейтинга подобных сервисов, а также во многих других решениях.
Использование гибридных приложений в системах SCM
Возможности гибридных приложений можно применять для реализации системы уровня B2B (Business to Business). Основная идея данного предложения заключается в выполнении следующих этапов:
- Сбор информации от поставщиков продукции.
- Представление данных в единой форме.
- Сравнение и анализ предоставляемых данных.
- Параметрический отбор поставщиков.
Графически данный подход может быть представлен следующим образом (см. рисунок).
Схема получения информации для системы SCM
с использованием гибридных приложений
Ставшая в последнее время популярной архитектура SOA позволяет инкапсулировать определенный функционал и бизнес-логику в сервисы. Предположим, что поставщик продукции реализует веб-сервис, осуществляющий предоставление информации по продукции (количество, стоимость, скорость доставки, стоимость доставки и др.). Предлагаемое гибридное приложение будет заниматься сбором этой информации и поддержанием ее в актуальном состоянии (то есть периодически обновлять данные, синхронизируя их с сервисом поставщика).
Для эффективного использования mashup-сервис необходимо снабдить функциями сравнения предлагаемой продукции (сырья) по определенным параметрам, заданным конечным пользователем, предоставить пользователю возможность изменять набор сервисов, информация которых ему необходима, а также реализовать кэширование данных для увеличения скорости предоставления информации. Далее функциональность можно наращивать, дополняя необходимыми методами обработки и представления данных.
Клиентом в данной ситуации может являться, например, менеджер по закупкам. Пользуясь предложенным гибридным приложением, он сможет в зависимости от ситуации выбрать того или иного поставщика, опираясь на функциональность данного приложения. Например, при высокой значимости фактора времени предпочтение будет отдаваться поставщикам с наименьшим временем доставки продукции. При наличии большего количества времени предпочтение будет отдаваться поставщикам, стоимость сырья и доставки у которых ниже.
Данные о сочетаниях параметров могут быть сохранены и приняты во внимание при следующем запросе информации. Таким образом, скорость обмена информацией и заказа сырья увеличится за счет быстрого доступа к данным о продукции в интерактивном режиме. Позитивным эффектом от использования такой архитектуры является существенное сокращение операционных издержек.
Данная система может быть адаптирована к схеме B2C (Business to Customer), если контент-провайдерами будут служить сервисы, предоставляющие услуги потребителям, например магазины.
Информационный веб-сервис с ведением рейтинга
Данный веб-сервис может быть разработан для предоставления информации, собранной с различных сервисов, в обобщенном виде, а также в режиме выбранных предпочтений.
Предположим, что в виде веб-сервисов реализованы услуги, предоставляемые агентствами недвижимости. Разработанный mashup-сервис осуществляет сбор информации по недвижимости с этих веб-сервисов и предоставляет возможность в интерактивном режиме просматривать и сравнивать данные, полученные с различных ресурсов.
Рейтинг сервисов можно производить по разным показателям: частота обращений, доступность (время нахождения сервиса в режиме доступности, онлайн) и пр. Рейтингование нужно проводить для того, чтобы пользователь мог сравнить позиции разных сервисов по различным параметрам и выбрать тот, который ему больше подходит.
В дальнейшем можно расширить сферу предоставляемой информации и добавить новые сервисы. Бизнес-выгода от такого проекта при его успехе будет очевидна, например если взимается определенная плата за учетную запись в системе — для пользователей и определенная плата за нахождение сервиса в списке — для поставщиков услуг.
Заключение
По мере все более широкого внедрения SOA в компаниях можно говорить о том, что со временем сервисы станут более веб-ориентированными. Можно предположить, что вскоре внедрение SOA будет подразумевать обеспечение сервисов веб-интерфейсами для обмена и предоставления информации другим сервисам. Обеспечение веб-сервисов функциями, присущими приложениям Web 2.0, позволит бизнесу быстрее адаптироваться к меняющимся требованиям рынка и позволит более гибко управлять бизнес-процессами компании.
В данном контексте гибридные приложения займут хоть и не лидирующее положение, но прочно укрепят свои позиции как веб-приложения, позволяющие по запросу предоставлять информацию по услугам из различных источников, которыми будут являться сервисы сторонних компаний.