Помощь в написании студенческих работ
Антистрессовый сервис

Сравнение технологий по созданию и использованию web-сервисов

РефератПомощь в написанииУзнать стоимостьмоей работы

Для поддержки web-сервисов надо только установить пакет от Apache Software Foundation — Apache Axis (http://ws.apache.org/axis/). Всю установку Apache Axis можно тоже свести к простой разархивации дистрибутива и копированию библиотек Axis из каталога lib/ в common/lib/ и каталога webapps/axis/ в каталог webapps/ сервера Tomcat. После этого Tomcat будет работать еще и как SOAPи WSDL-сервер. Первый… Читать ещё >

Сравнение технологий по созданию и использованию web-сервисов (реферат, курсовая, диплом, контрольная)

Архитектура платформ Java и .Net

Кроссплатформенность

Java: является кроссплатформенной средой. Если для необходимой платформы существует JDK, то и Java будет функционировать.

.NET: была полностью разработана Microsoft и может работать только на операционных системах Microsoft. На сегодняшний день единственной платформой является только Windows.

Многоязычность.

Java: Единственной языковой основой является язык программирования Java.

NET: Платформа является, если так можно выразиться, языконезависимой. Если для данного языка программирования создан механизм отображения в MSIL, то его можно смело применять в разработке.

Среда исполнения.

Java: Исходные тексты Java-программы компилируются в байт-код, который интерпретируется (выполняется) виртуальной Java-машиной каждый раз при выполнении. Для работы приложения на Java требуется поставить на клиента JRE (Java Runtime Environment).

.NET: Схема работы .NET-платформы во многом схожа. Выполнением программы заведует CLR (аналог JVM). При этом программа должна быть предварительно скомпилирована в Microsoft Intermediate Language — MSIL-код (аналог байт-кода.

Инструментальные средства по созданию и использованию web-сервисов.

На выбор средств разработки влияют их.

  • · распространенность
  • · доступность
  • · простота развертывания
  • · пристрастия программиста

MS Visual Studio.

  • · Это платный продукт.
  • · Долгая инсталляция продукта.
  • · Занимает много места на диске.
  • · Обеспечивает быстрое и легкое развертывание web-сервисов
  • · Web Services Enhancements 3.0 — это инструментарий для Microsoft Visual Studio .NET и Microsoft .NET Framework, который позволяет значительно упростить разработку безопасных web-сервисов, совместимых с последними версиями спецификаций WS-Security, WS-Trust, WS-SecureConversation и WS-Addressing.

Создание web-сервиса сводится к выполнению следующих шагов:

  • · выбор нового типа проекта — ASP.NET Web Service;
  • · написание кода функции;
  • · добавление атрибута [Webmethod] в части определения функции;
  • · выбор команды Project I Build — Visual Studio .NET компилирует код и внедряет его на web-сервер.

Атрибут [ Webmethod] указывает компилятору на необходимость сделать этот метод доступным для web-клиентов. Помимо этого автоматически создается страница с описанием web-сервиса, где находятся информация о доступных методах, а также тестовая форма для вызова web-сервиса.

Если же вызвать web-сервис с параметром? WSDL, вы получите XML-документ, содержащий подробное описание данного сервиса. Этот документ, содержащий все открытые функции сервиса, входные параметры и их типы данных, а также возвращаемые функциями типы данных, создается Visual Studio .NET автоматически. После создания web-сервиса можно использовать протокол HTTP для передачи ему входных параметров и получения результатов. Простейшее тестирование web-сервиса сводится к указанию в браузере адреса сервиса и необходимых данных. С помощью Visual Studio .NET очень просто создать клиентское приложение, потребляющее функции web-сервиса. Все, что необходимо для этого сделать, — это добавить ссылку на соответствующий сервис в проекте клиентского приложения. Команда Add Web Reference запускает диалоговую панель, с помощью которой можно искать существующие web-сервисы на локальном компьютере, в Internet или в универсальном UDDI-реестре. Поскольку WSDL-документ содержит всю необходимую информацию о web-сервисе, Visual Studio .NET может автоматически сгенерировать необходимый для использования этого сервиса код. После того как ссылка на сервис добавлена к проекту, мы можем использовать сервис как обычный объект.

Axis и Apache Tomcat.

  • · Apache Tomcat широко распространен
  • · Доступен бесплатно (http://tomcat.apache.org/)
  • · Быстро ставится.
  • · Работает на любой платформе, где есть Java
  • · Славится надежностью
  • · Поддержка современных стандартов

Для поддержки web-сервисов надо только установить пакет от Apache Software Foundation — Apache Axis (http://ws.apache.org/axis/). Всю установку Apache Axis можно тоже свести к простой разархивации дистрибутива и копированию библиотек Axis из каталога lib/ в common/lib/ и каталога webapps/axis/ в каталог webapps/ сервера Tomcat. После этого Tomcat будет работать еще и как SOAPи WSDL-сервер.

Отличительной особенностью Axis является наличие в нем утилит (WSDL2java, java2WSDL), позволяющих автоматизировать некоторые стадии создания веб-сервиса и клиента к нему, а также обширной сопроводительной документации и примеров.

Задача развертывания web-сервисов на любой платформе быстро решается с помощью Apache Axis и Java.

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

Серверы Apache и IIS.

Самым популярным программным обеспечением признано бесплатное ПО Apache, которое занимает почти 50 процента рынка — около 77 миллионов сайтов, затем идет продукция компании Microsoft.

Выбор веб-сервера.

Первый критерий выбора — аппаратное обеспечение сервера. Существует два основных решения — выделенный сервер и размещение на уже существующем сервере, настроив маршрутизацию трафика на брандмауэре. IIS может быть установлен только на ОС MS Windows. Apache может быть установлен как на ОС семейства UNIX, так и на MS Windows.

Доступность. Apache распространяется бесплатно. MS Internet Information Server распространяется по лицензии.

Сравнение трудоемкости.

Знающему и технологию Java и технологию .Net программисту потребуется примерно одинаковое количество времени для разработки web-сервиса. Но, если разработчик не знаком с какой-либо из этих технологий, то естественно лучше разрабатывать в знакомой уже технологии. Т. к знакомство с новой технологией может занять большую часть всего времени создания web-сервиса.

Если же разработчик не знаком ни с одной из этих технологий, то на мой взгляд, проще и быстрее разобраться и создать web-сервис используя MS Visual Studio.Net.

На основе написанных web-сервисов видно, что число строк кода сервиса, написанного средствами MS Visual Studio и web-сервиса, написанного при помощи Axis, выполняющих одинаковые действия, практически одинаково.

Простой сервис, возвращающий список данных из одной таблицы базы данных занимает 29 строк в MS Visual Studio.Net и 33 строки, написанный при помощи Axis.

Сравнение времени работы и устойчивости web-сервисов.

MS Visual Studio, IIS.

Axis, Apache.

Время отклика.

0.015 сек.

0.016 сек.

Время работы web-сервиса, возвращающего записи из одной таблицы БД (около 30 000 записей).

0,41 сек.

0,88 сек.

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

0,9 сек.

4,3 сек.

Время работы передачи данных от web-сервиса к клиенту.

0,004 сек.

0,01 сек.

Устойчивость web-сервиса ко множеству подключений.

287 подключений.

568 подключ.

1. Время отклика Проведено тестирование времени отклика web-сервисов. Время отклика практически одинаковое.

2. Время работы web-сервиса, возвращающего записи из одной таблицы БД (около 30 000 записей) Проведено 100 испытаний и вычислено среднее время.

MS Visual Studio, IIS — 0,41 сек.

Axis, Apache — 0,88 сек.

Axis заметно уступает по времени выполнения данного web-сервиса. На IIS практически в 2 раза быстрее.

3. Время работы web-сервиса, принимающего в качестве параметра большой массив значений.

Проведено 100 испытаний и вычислено среднее время.

MS Visual Studio, IIS — 0,9 сек.

Axis, Apache — 4,3 сек.

Разница во времени возросла. На Apache время выполнения больше в 4,7 раза, чем на IIS.

4. Время работы передачи данных от web-сервиса к клиенту.

Среднее время в результате 100 испытаний:

MS Visual Studio, IIS — 0,04 сек.

Axis, Apache — 0,01 сек.

Данный тест опять подтверждает большую скорость первой технологии.

5. Устойчивость web-сервиса ко множеству подключений Проведена попытка сделать 1000 одновременных подключений к web-сервису.

MS Visual Studio, IIS — выдержал 287 подключений.

Axis, Apache — 568 подключений.

Данный тест показывает, что Apache Axis более устойчив ко множеству подключений.

Из данных сравнений видно, что web-сервис, созданный при помощи .Net и развернутый на web-сервере IIS работает быстрее, за меньшее время возвращает данные, чем web-сервис, реализованный при помощи Apache Axis. Причем разница во времени возрастает при увеличении объема передаваемых значений от клиента к сервису. Но зато web-сервис на IIS проигрывает по устойчивости ко множеству подключений.

Показать весь текст
Заполнить форму текущей работой