ПредишенСледващото

В платформата на Java 2 Enterprise Edition (J2EE) версия 1.4 е имало възможност за интеграция с уеб-услуги. Web-услуги сега са един от начините на службите за J2EE платформата. J2EE съществуващи компоненти могат лесно да бъдат представени под формата на уеб-услуги. Web-услуги вече са на разположение, за да се възползвате от предимствата на платформата J2EE, включително преносимост, скалируемост, надеждност и липса на свързване с един доставчик. Например, J2EE контейнери осигуряват подкрепа сделка, свързване на база данни, управление на жизнения цикъл, както и други услуги - мащабируеми и не изискват кодиране.

Платформата на J2EE осигурява поддръжка за уеб услуги чрез JAX-RPC 1.1 API, които могат да бъдат използвани за създаване на крайни точки (крайни точки) Web-услуги, базирани на сапун. JAX-RPC 1.1 поддържа взаимодействие с уеб-услуги, базирани на WSDL и SOAP. Платформата на J2EE също поддържа JSR 109, добавката JAX-RPC, който е програмен модел за прилагане на Web-услуги и внедряването на уеб услуги на 1.4 платформата J2EE. Наред с другите неща, J2EE 1.4 поддържа WS-I Основен профил. Това означава, че разработен върху платформата на J2EE, уеб услуги, които не са преносими само между J2EE приложения, но също така могат да си взаимодействат с всички уеб услуги, подходящи стандарти за WS-I.

За развитието на Web-услуги разработчиците обикновено трябва да има обширни познания за XML-стандарти и протоколи (като WSDL и SOAP), както и значителен опит в програмирането. На платформата на J2EE 1.4, обаче, за развитието на уеб услуги не се изисква познаване на WSDL и SOAP. Преобразуване между Java и XML-тези стандарти е направила по време на работа, уеб-услуги, като по този начин освобождава програмиста от данните за ниско ниво.

  • Кратък преглед на Web-услуги;
  • Преглед JSR 109;
  • Примери за уеб-услуги и клиенти;
  • Особености на развитието на уеб услуги, използващи платформата J2EE 1.4.
  • Примери за код, който можете да използвате в собствените си приложения.

Преглед на уеб услуги

Разработване на уеб-услуги на Java 2 Enterprise Edition платформа (J2EE)

Фигура 1. Модел на публикуване-Открийте-позове на J2EE 1.4.

От гледна точка на софтуерен архитект, уеб-услугата може да се разглежда като ориентирана към услуги архитектура, която се състои от услуги, които комуникират един с друг (и клиента) чрез добре дефинирани интерфейси. Едно от предимствата на ориентирана към услуги архитектура е, че позволява развитието на слабо свързани приложения, които могат да бъдат разпределени по мрежа и които могат да бъдат достъпни от всеки клиент.

В J2EE 1.4 SDK включва инструменти за бързо създаване, изпитване и внедряването на уеб-услуги и клиенти, да взаимодейства с други уеб-услуги и клиенти, опериращи едновременно върху платформата Java и на други платформи. В допълнение, те ви позволяват да се въведе уеб-услуги съществуващите J2EE-приложения. Servlets и EJB-компоненти могат да бъдат предоставени под формата на уеб услуги, които след това могат да бъдат достъпни като Java-, а не на Java клиенти. J2EE приложения, сами може да бъде клиент на уеб-услуги, както и достъп до други услуги в мрежата, независимо от това как те се прилагат.

J2EE 1.4 SDK

Най-добрият начин да разберете какво е новото на J2EE платформата - изтеглите J2EE 1.4 SDK, и да разберат това сами. В J2EE 1.4 SDK включва следното:

  • J2EE 1.4 Application Server
  • Java 2 Platform, Standard Edition (J2SE) 1.4.2_01
  • Примери за използване на J2EE (Java Магазин за домашни любимци, Java Adventure Builder, Smart билети и т.н.)
  • Sun ONE Message Queue
  • PointBase Database Server

По подразбиране J2EE 1.4 SDK на платформата Windows е инсталирана в C: \ слънце \ AppServer и JDK 1.4.2_01 в C: \ слънце \ AppServer \ JDK.

След инсталацията, трябва да включите в променлива пътя на Path среда до директорията C: \ слънце \ AppServer бин и в \: слънце \ \ AppServer \ JDK \ боклук. Тези директории съдържат няколко инструмента (включително wscompile), генериране на клиентски и сървърни мъничета скелети или WSDL-описание на основата на интерфейса определение услуга.

Процесът на разработване и внедряване на уеб-услуга, тясно свързана с изпълнение-система. Така например, внедряване на уеб-услуга на Apache Axis е различен от разгръщането на една и съща уеб-услугата на Apache SOAP или всяка друга платформа. Процес Спецификация Java Общността (JCP) JSR 109 (прилагане Enterprise Web Services) определя създаването на преносими уеб-услуги в J2EE 1.4 среда. Тази спецификация включва:

  • Развитие: стандартизира програмния модел на уеб услуги и описания за разполагане.
  • Внедряване: описва стъпките за разполагане на очакваното J2EE-контейнер.
  • Публикуване услуги: определя как WSDL е на разположение на клиентите.
  • Използването на услуги: стандартизира разгръщане дръжки клиент и JNDI справка модел.

J2EE Web-услуги

JAX-RPC - е Java API за XML RPC. Тя може да се използва за създаване на клиенти, така и на уеб-базирани услуги, които използват XML и RPC. RPC работи чрез XML-такива протоколи като SOAP, които определят структурата на обвивката, правилата за кодиране и споразуменията за представителство-RPC разговори и отговори предавани под формата на сапун-съобщения над HTTP. Предимството на JAX-RPC е, че сапун съобщенията сложността е скрит от строителя. Ето как става това:

Разработчикът определя отдалечени процедури (Web-услуги), които могат да бъдат причинени от клиенти чрез Java-интерфейса, и прилага този интерфейс. За клиента, уеб-услугата изглежда като набор от методи, които прилагат бизнес логиката от името на клиента. Клиентът има достъп до уеб-услуга, използвайки Endpoint интерфейса на услуги, както е определено в JAX-RPC. на разработчиците да създават клиент автоматично генерира прокси (местен обект, който представлява най-отдалечената услуга), а след това просто наричат ​​методи за прокси сървър. Предприемачът не е нужно да се притеснявате за генериране и анализирането на сапун съобщения, всичко изпълнява по време на работа JAX-RPC. Имайте предвид, че J2EE Web-услуги могат да бъдат причинени от уеб-клиент, и че всеки J2EE-клиент може да отиде и да е уеб-услуга.

Разработване на уеб-услуги на Java 2 Enterprise Edition платформа (J2EE)

Фигура 2. Java клиент, наричайки J2EE Web-услуги.

Имайте предвид, че клиентът на уеб-услуга, никога не се отнася до услугата директно, но винаги - през съда. Това е добре, защото това ви позволява да използвате функционалността на уеб-услуга, предоставена от съда - т.е. за сигурност, за регистриране и гаранционни QoS.

Работа с JAX-RPC

Когато се работи с JAX-RPC, трябва да се помни, че той показва видовете Java за определяне на XML / WSDL. Разбира се, добре, че не е необходимо да се знае подробности за тези карти, но е ясно, че JAX-RPC, не всички класове J2EE може да се използва като параметрите на метода, или се връщат стойности. JAX-RPC поддържа следните примитивни типове данни. Булева, байт, двойни, поплавък, вътр, дълга, къса, и масиви. В допълнение, следните класове се поддържат на обвивки и комунални класове:

JAX-RPC поддържа също нещо, наречено стойностен тип. което означава, че един клас може да се прехвърля между клиента и услугата като параметър или връщане стойност. Стойност трябва да отговаря на следните правила:

  • То трябва да има един отворен (обществени) конструктор по подразбиране.
  • Той не трябва да осъзнаят, java.rmi.Remote.
  • полета му, трябва да бъдат подкрепени от типа JAX-RPC. Освен това, общественото поле не може да бъде окончателно или временно, а не-публичен поле трябва да има подходящи getter- и подстрекател методи.

Създаване на уеб услуги

Създаване на уеб услуги в XML-RPC стил с J2EE 1.4 платформа може да се раздели на пет етапа:

  1. Дизайн и кодиране на крайна точка интерфейс Web-услуги.
  2. Изпълнението на интерфейса.
  3. Създаване на конфигурационен файл.
  4. Генериране на необходимите файлове.
  5. Използването deploytool за опаковане на услуги по време на война-файл и неговото разпределение.

1. Проектиране и кодиране крайна точка интерфейс Web услуги

Първата стъпка в създаването на уеб-услуга е развитието и кодиране на крайна точка интерфейс Web-услуга, къде е метод, който може да доведе до отдалечения клиент. уверете се, че развитието на този интерфейс:

За да започнете, създава директория по ваш избор. За следващия пример, аз създаде каталог на приложения в C: \ слънце \ AppServer и подпапка го изгради. Apps директория съдържа .java файлове, изграждането включва .class, както и останалата част от файловете, които ще се генерират автоматично.

Web-базирана услуга, която аз ще се създаде ще обобщи двата номера. Нищо особено, но достатъчно, за да покаже как да създадете, се прилагат, както и използването на уеб-услуги. Обява 1 показва крайна точка интерфейс услугата, обичайната Java-интерфейс, който се простира на интерфейса java.rmi.Remote. В този интерфейс, MathFace, заявява един метод, да добавяте, получавайки два целочислени стойности и връща целочислена стойност, представляваща сбор от две целочислени параметри.

Обявата 1: MathFace.java

2. Динамичен Proxy.

В този случай, клиентът призовава отдалечена процедура в динамична прокси клас или създадени по време на изпълнението. Имайте предвид, че в случай на статичен мъниче код разчита на един клас, в зависимост от изпълнението. В този случай (динамично прокси) това ограничение. Първата стъпка е да се създаде конфигурационен файл. Може да се използва както е показано на Обява 6, промяна PACKAGENAME на dynamicproxy или нещо подобно. Създайте подпапка в приложенията динамични-прокси, а в него - поддиректория натрупване.

Сега генерират необходимите интерфейси, използвайки wscompile.

След всичко това, можете да създадете клиент. Обява 8 показва пример за изпълнение. Той създава инстанция на обслужване фабрика. обслужване завод се използва за създаване на обект услуга, която действа като прокси фабрика. Както можете да видите, метод CreateService отнема два параметъра: URL WSDL-файлове и QName обект кортеж представляващи квалифицирано име на услугата. След това можете да създадете прокси обект, и най-накрая се обади метод за добавяне на обекта.

Обявата 8: MathClient.java

Console клиент - J2EE-приложение

За разлика от самостоятелен клиент, J2EE приложение клиент може да получи интерфейса на услугата, като се използват JNDI справка. В този случай, клиентът определя на разработчика за уеб-услуга логично JNDI-име (позоваване на услугата). Контейнерът се свързва изпълнението на услугата на интерфейса в контекст клиент обкръжение на: комп / ENV, използвайки логичното име на препратката на услугата:

Браузърът на клиента на базата на

И накрая, помислете как да се създаде уеб-клиент, уеб-услуга разговори от формата в браузъра (тя използва статичен коляно). Вие първо трябва конфигурационен файл, подобен на този, показан на Обява 6. Заменете я PACKAGENAME, например, в webclient. След това генерира клиент мъниче със следната команда:

Следващата стъпка - създаването на уеб-клиент под формата на сървлет или JSP страница. Обяви 9 и 10 показва JSP-изпълнението на уеб-клиент. Обява 9 - е кодът, който показва формата на потребителя и получаващи опции. Кодът в Обява 10 (статичен коляно) е подобен на клиента в Обявата 7.

Обява 9: math.jsp

Обява 10: add.jsp

Разработване на уеб-услуги на Java 2 Enterprise Edition платформа (J2EE)

Фигура 4. JSP-клиент, уеб-услуга разговори.

заключение

Web-servisy- е следващата стъпка в еволюцията на мрежата. Те предлагат на инфраструктурата и инструменти за автоматизиране на B2B отношения през интернет. Интегриране на уеб услуги в J2EE 1.4 платформа опростява задачата по създаване и използване на уеб услуги, освобождавайки Java-разработчик на детайли от ниско ниво.

Подкрепете проекта - споделете линка, благодаря!