Вступление




Скачать 92.37 Kb.
НазваниеВступление
Дата публикации01.03.2013
Размер92.37 Kb.
ТипДокументы
shkolnie.ru > География > Документы
Введение в технологию Java EE

Вступление


Java Enterprise Edition (или, сокращенно, Java EE) – набор спецификаций и документации ЯП Java для работы с сетевыми приложениями и технологиями, применяемый при решении задач для средних и крупных предприятий. Основная цель спецификаций – обеспечение мультиплатформенности и масштабируемости приложений. Технологии Java EE поддерживаются многими средами разработки, такими как Eclipse и NetBeans. Основные технологии, поставляемые Java EE:

  • сервлеты (servlets);

  • динамически генерируемые веб-страницы (Java Server Pages);

  • веб-сервисы;

  • компоненты повторного использования – Enterpirse Java Beans;

  • сервис обмена сообщениями (Java Message Queue);

  • прочие серверные технологии.

Для обеспечения работы модулей, работающих согласно технологиям, перечисленным выше, используются серверы приложений. На данный момент одним из самых распространенных является сервер приложений GlassFish, входящий в пакет разработчика Java EE SDK. Создаваемые программистами модули необходимо развернуть (deploy) на сервере приложений, для чего они компилируются в особый формат EAR (Enterprise ARchive), подобно тому, как приложения на Java можно компилировать в JAR-модули. Каждый веб-модуль после развертки становится доступным через протокол HTTP и образует отдельную директорию на сервере, имя которой совпадает с именем модуля. В случае локального сервера с настройками по умолчанию путь к корневой папке модуля будет выглядеть как http://localhost:8080/[имя модуля]/. В Eclipse компиляция в EAR и развертывание на сервере осуществляются автоматически.
  1. Веб-сервисы


Веб-сервис (также веб-служба) – программная система, идентифицируемая строкой URI (Unified Resource Identifier, универсальный идентификатор ресурсов), ресурсы которой (свойства и методы) описаны с помощью специального языка. Доступ к ресурсам такой системы осуществляется с помощью протокола SOAP (Simple Object Access Protocol, простой протокол доступа к объектам), который представляет собой особым образом сформулированные XML-запросы, передаваемые с помощью интернет-протокола высокого уровня (чаще всего HTTP). По своей архитектуре веб-сервисы напоминают классы объектно-ориентированных ЯП (и в рамках Java EE генерируются на основе классов), однако есть и некоторые различия. Ключевым понятием для веб-сервиса является сообщение (message), состоящее из одной или нескольких переменных. Вместо методов классов в веб-сервисах используются операции (operation), которые характеризуются входным и выходным сообщениями. После вызова операции переменные, входящие во входное сообщение, полученное по протоколу SOAP, интерпретируются как параметры соответствующего метода класса, лежащего в основе сервиса. После завершения работы метода формируется выходное сообщение, содержащее возвращаемое методом значение, которое затем с помощью SOAP отправляется клиенту. Такая архитектура сервиса позволяет вызывать его методы асинхронно.
    1. ^

      Язык WSDL


Для описания общедоступных ресурсов веб-сервиса используется язык WSDL (Web Service Definition Language) на основе XML; среда программирования Eclipse позволяет автоматически создавать такие описания на основе классов Java. В языке определены следующие основные типы данных: строки (xsd:string), целые числа (xsd:int, xsd:long, xsd:short, xsd:integer, xsd:decimal), числа с плавающей запятой (xsd:float, xsd:double), логический тип (xsd:boolean), последовательности байт (xsd:base64Binary, xsd:hexBinary), дата и время (xsd:time, xsd:date, xsd:g), объекты (xsd:anySimpleType). В качестве переменных сообщений также можно использовать последовательности, образованные из фиксированного числа переменных простых типов (это соответствует методам с несколькими входными параметрами). Типичный WSDL-файл имеет структуру, как на рис. 1. Вначале объявляются типы, которые будут использоваться в сервисе. WSDL-описание, приведенное ниже, принадлежит веб-сервису SampleMath с методами

public int add(int x, int y),

public int subtract(int x, int y),

на основании чего было сгенерировано четыре типа данных, соответствующих входным и выходным аргументам метода. Эти типы применяются в описании addRequest и addResponse – входного и выходного сообщений для операции add, а также в соответствующих сообщениях для операции subtract. Операции объявляются в описании интерфейса сервиса (декларация wsdl:portType) и далее в описании привязки сервиса к SOAP (декларация wsdl:binding), причем во втором случае также оговаривается способ вызова ("literal"/>). Это позволяет при вызове операции использовать те же имена параметров, что и в исходном методе. В конце WSDL-файла находится собственно декларация веб-сервиса (), в которой содержится информация о его местоположении (параметр location). Среда Eclipse поддерживает удобное графическое представление WSDL-файлов; файл, соответствующий веб-сервису SampleMath, показан на рис. 2.

    1. ^

      Протокол SOAP


Как упоминалось ранее, общение с веб-сервисом осуществляется с помощью протокола SOAP. Для вызова операций веб-сервиса, определенной в его WSDL-описании, используется XML-запрос, называемый SOAP-envelope, состоящий в общем случае из заголовка (SOAP-header; может быть пустым) и тела запроса (SOAP-body). Заголовок может содержать дополнительную информацию по запросу, такую как его приоритетность, срок обработки и т.п. В теле содержатся одна или несколько операций веб-сервиса с соответствующими им параметрами. Пример запроса, вызывающего операцию сервиса SampleMath.add(1, 2), приведен на рис. 3. Там же приведено SOAP-сообщение, возвращенное сервисом.




targetNamespace="http://webservice.isofts.kiev.ua">















































































































Рисунок 1. WSDL-описание простого веб-сервиса



Рисунок 2. Схема сервиса, полученная с помощью Eclipse


http://schemas.xmlsoap.org/soap/envelope/

xmlns:q0=http://webservice.isofts.kiev.ua

xmlns:xsd=http://www.w3.org/2001/XMLSchema

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">





1

2






http://schemas.xmlsoap.org/soap/envelope/

xmlns:xsd=http://www.w3.org/2001/XMLSchema

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">





3






Рисунок 3. SOAP-запрос к сервису и возвращенное им XML-сообщение
  1. Сервлеты


Для доступа к веб-сервисам используются сервлеты – Java-программы, выполняемые на стороне сервера и расширяющие его функциональность. Сервлеты широко применяются в технологии Java EE, в частности, в них преобразуются страницы на языке JSP. Базовая функциональность сервлетов заложена в возможности обработки ими HTTP-запросов GET и/или POST. Согласно спецификации веб-приложений, возможно задавать (с помощью конфигурационных XML-файлов) области действия определенных сервлетов (servlet mapping). Решение, какой из доступных сервлетов будет задействован, принимается на основании анализа URL-адреса запроса. Например, веб-сервисы, которые по умолчанию располагаются в папке /services проекта, обрабатываются стандартным сервлетом Apache Axis. С помощью него, в частности, можно получить WSDL-описание сервиса, расположенное по адресу /services/[название сервиса]?wsdl. Этот же сервлет осуществляет парсинг посылаемых на сервер SOAP-сообщений, их передачу соответствующему Java-классу и составление SOAP-сообщений с результатами работы. Таким образом Axis обеспечивает полную функциональность веб-сервиса.
  1. ^

    Взаимодействие с веб-сервисами


Среда программирования, предназначенные для работы с сетевыми приложениями, такие как Java и MS.NET, предоставляют возможность создания клиентов для веб-сервисов на основе их WSDL-описания. При этом скрывается большая часть черновой работы по обеспечению работы клиента, например, составление корректных SOAP-запросов и парсинг возвращаемых сервисом SOAP-сообщений – эти действия осуществляются клиентской частью технологии Apache Axis.
    1. ^

      Взаимодействие с веб-сервисами в ЯП Java


В среде Eclipse есть удобный инструмент для создания клиентских программ, использующих веб-сервисы. После задания адреса сервиса на основании его WSDL-описания для обеспечения работы клиента создаются 5 Java-файлов:

  1. локатор сервиса (service locator), осуществляющий нахождение веб-сервиса;

  2. интерфейс локатора;

  3. стаб для SOAP-привязки (SOAP binding stub) – клиентский стаб, предназначенный для составления и парсинга SOAP-сообщений;

  4. интерфейс сервиса;

  5. прокси-класс, реализующий этот интерфейс; использует клиентский стаб и локатор для доступа к операциям веб-сервиса.

Например, для вышеописанного сервиса SampleMath автоматически созданные классы и интерфейсы будут называться SampleMathServiceLocator, SampleMathService, SampleMathSoapBindingStub, SampleMath, SampleMath-Proxy (в порядке их описания выше). Обращение к операции SampleMath.add будет выглядеть подобным образом:

SampleMath svc = new SampleMathProxy();

try {

System.out.println(svc.add(2, 3));

} catch (RemoteException e) {

System.err.println("Error occurred while accessing the web service");

e.printStackTrace();

}
    1. ^

      Взаимодействие с веб-сервисами в среде MS.NET


В .NET также существует утилита для создания клиентских программ, работающих с веб-сервисами, называющаяся wsdl.exe. Она создает файлы на любом из доступных языков .NET, которые можно подключить к проекту и использовать веб-сервис, как локальный класс:

SampleMathService _service = new SampleMathService();

try

{

int result = 0;

switch (idx)

{

case 0: result = _service.add(arg0, arg1);

break;

case 1: result = _service.subtract(arg0, arg1);

break;

}

}

catch (Exception exc)

{

MessageBox.Show(exc.Message, "Error",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}
Инструкция по использованию графического интерфейса примера

Работа с веб-сервисами рассматривается на примере вышеописанного сервиса SampleMath.



Рисунок 4. Вид главного окна интерфейса

  1. Для запуска главной формы примера достаточно выбрать в меню сайта пункт «Технологии → Веб-сервисы → Пример» и действовать в соответствии с приведенной там инструкцией. Должно появиться главное окно графического интерфейса, вид которого изображен на рис. 4. Для запуска серверной части программы нужно нажать кнопку «Запустить» в верхней части окна; после этого отчет о запуске будет отображаться в окне. Сервер можно в любой момент остановить, нажав на соответствующую кнопку. Для того чтобы проверить, был ли развернут модуль на сервере программ, можно открыть в браузере адрес http://localhost:8080/webservice/ – там должна отображаться страница, как на рис. 5.



Рисунок 5. Вид главной страницы веб-модуля

  1. Для запуска клиентской части (см. рис. 6) следует нажать кнопку «Запустить» в нижней части окна. Количество клиентских программ не ограничено.



Рисунок 6. Вид клиентской части программы

  1. Для проверки работы веб-сервиса следует в клиентской части программы ввести аргументы для функции сложения или отрицания, поставляемые сервисом, и нажать на кнопку «Вызвать». Результаты должны отобразиться как у клиентской части программы, так и в логе доступа к сервису на главной странице веб-модуля. Методы веб-сервиса можно также тестировать непосредственно из веб-модуля (см. рис. 7) – для этого достаточно перейти по соответствующей ссылке на главной странице.



Рисунок 7. Тестирование сервиса из веб-страницы

Похожие:

Вступление iconЗадача и видеофрагмент. Угол зрения. Школьная дорога. Статистические...
Вступление. Ребята! Тема нашего занятия «Путешествие в страну». Как вы думаете, о чем мы будем говорить сегодня? Это нужно знать...
Вступление icon1. Вступление. Новости

Вступление iconЗаявлений на вступление в Общественную организацию

Вступление iconAdsl широкий канал в будущее   Вступление

Вступление iconЭта странная шаровая молния
Кто ты, огненная гостья ! (Вступление)
Вступление iconВступление
Из книги Джона Дж. Мэрфи “Технический анализ фьючерсных рынков: теория и практика”
Вступление iconВступление
Организационно-деятельностная игра как новая форма организации и метод развития коллективной мыследеятельности
Вступление iconМестной администрации муниципального образования
По предоставлению муниципальной услуги по выдаче разрешения на вступление в брак лицам
Вступление iconЗа уроки воспитанья
Звучит мелодия песни «Маленькая страна» и дети выполняют торжественное вступление – композицию
Вступление iconЧто такое риск?
Вопросно-ответное единство. Диалог позволяет сделать вступление более энергичным
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
shkolnie.ru
Главная страница