Вступ


Скачати 91.05 Kb.
Назва Вступ
Дата 13.08.2013
Розмір 91.05 Kb.
Тип Документи
bibl.com.ua > Інформатика > Документи
Введення у технологію 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) або WAR (Web ARchive), подібно до того, як програми на Java можна компілювати у JAR-модулі. Кожний веб-модуль після розвертання стає доступним через протокол HTTP і створює окрему директорію на сервері, чиє ім’я співпадає з назвою модуля. У випадку локального сервера із стандартними налаштуваннями шлях до кореневої директорії модуля буде виглядати як http://localhost:8080/[назва модуля]/. В Eclipse компіляція в EAR/WAR та розгортка на сервері здійснюються автоматично.
  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, SampleMathProxy (в порядку їх опису вище). Звернення до операції 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, "Помилка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}
  1. Інструкція по використанню графічного інтерфейсу прикладу


Робота з веб-сервісами розглядається на прикладі вищеописаного сервісу SampleMath.

  1. Для запуску головної форми прикладу достатньо вибрати у меню сайту «Проект розробки» пункт «Технології→Веб-сервіси», натиснути кнопку «Приклад» і відкрити запропонований файл. Після цього має з’явитися головне вікно графічного інтерфейсу, вигляд якого зображений на рис. 4. Для запуску серверної частини програми треба натиснути кнопку «Запустити» у верхній частині вікна; після цього звіт щодо запуску буде відображатися у вікні. Сервер можна у будь-який момент зупинити, натиснувши відповідну кнопку.



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

Для того щоб перевірити, чи був розгорнутий модуль на сервері програм, можна відкрити у будь-якому браузері адресу http://localhost:8080/webservice/ – там має відображатися сторінка, як на рис. 5.


Рис. 5. Вигляд головної сторінки веб-модуля

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



Рис. 6. Вигляд клієнтської частини програми

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



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

Схожі:

КУРСОВА РОБОТА Транспортні договори, їх система та правове регулювання ЗМІСТ Вступ
Вступ с. 3-5
РОБОЧА НАВЧАЛЬНА ПРОГРАМА З дисципліни: Принципи і методи аналізу художнього твору Спеціальність
Враховується знання студентів, набуті при вивченні курсів "Вступ до літературознавства", "Вступ до мовознавства" та ін. Безсумнівний...
Модуль Олени Горошко і Джулі Снайдер-Юлі Вступ до ґендерних аспектів...
Вступ: Мета цього модуля – ознайомити студентів із тим, як ґендерні відмінності конструюються за допомогою дискурсу електронної комунікації...
Взаємодія школи та родини – один з вирішальних факторів успішного виховання дітей
Школа. Як багато чекань, надій, хвилювань пов'язують діти, батьки, учителі з цим словом. Вступ до школи – це початок нового етапу...
ЗМІСТ Вступ 3 Змістовна програма вступних випробувань 3 Критерії оцінювання 7 Література 9 Вступ
Методичні матеріали до вступних випробувань з Історії України на навчання до Дніпропетровського університету імені Альфреда Нобеля...
ЗМІСТ Вступ 3 Змістовна програма вступних випробувань 3 Критерії оцінювання 7 Література 9 Вступ
Методичні матеріали до вступних випробувань з Історії України на навчання до Дніпропетровського університету імені Альфреда Нобеля...
ЗМІСТ Вступ 3 Змістовна програма вступних випробувань 3 Критерії оцінювання 7 Література 9 Вступ
Методичні матеріали до вступних випробувань з Історії України на навчання до Дніпропетровського університету імені Альфреда Нобеля...
План Вступ Міжнародно-правова відповідальність за екологічні правопорушення...
У найбільш загальному значенні під міжнародно-правовою відповідальністю у даній галузі розуміють настання негативних наслідків для...
З УЧНЯМИ
ВСТУП
1 Вступ ( 1 година)

Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка