Как работает веб-сервис

Я новичок в веб-сервисах, и я хочу реализовать веб-сервисы, используя java в моем проекте eclipse.

Кто-нибудь может рассказать мне, как реализовать и создать проект, пожалуйста

Спасибо


person user314344    schedule 28.12.2010    source источник
comment
Ознакомьтесь с softwaresummit.com/2005/speakers/RymanDevWSwithEclipse.pdf   -  person Jagmag    schedule 28.12.2010
comment
Посетите раздел веб-сервисов здесь   -  person lalit    schedule 28.12.2010


Ответы (3)


Согласно определению W3C, веб-сервис - это программная система для поддержки межмашинного взаимодействия по сети. Более подробно система потребляет услуги из другой программной системы.

У веб-сервисов есть два основных класса:

  • REST совместимый
  • произвольная веб-служба

Для реализации веб-сервиса нужно выбрать одну категорию, исходя из его требований. У Java есть связка APIS для реализации веб-сервисов в обеих категориях.

Требования перед внедрением веб-службы:

  • XML
  • WSDL (язык описания веб-сервисов)
  • Протокол SOAP и т. Д.

На основе REST немного проще реализовать по сравнению с другой категорией. Так что лучше начать с веб-сервисов жалоб REST.

Как работает веб-служба:

WS работает как парадигма запроса-ответа, есть объект, который будет запрашивать некоторую услугу у своего конкретного контрагента, а именно объекта поставщика услуг. По запросу поставщик услуг ответит ответным сообщением. Таким образом, участвуют два сообщения: одно сообщение запроса (XML) и одно сообщение ответа (XML). Есть несколько способов добиться этого. Подробности можно найти в архитектуре веб-сервисов

Новичок может начать со стандартной эталонной реализации JERSEY jsr311 для создания веб-служб RESTful.

Пример (только для джерси):

Шаг первый: создание корневых ресурсов

// The Java class will be hosted at the URI path "/helloworld"
   @Path("/helloworld")
   public class HelloWorldResource {

       @GET 
       @Produces("text/plain")
      public String getClichedMessage() {
          return "Hello World";
      }
  }

Шаг второй: развертывание

public class Main {

  private static URI getBaseURI() {
      return UriBuilder.fromUri("http://localhost/").port(8080).build();
  }

  public static final URI BASE_URI = getBaseURI();

  protected static HttpServer startServer() throws IOException {
      System.out.println("Starting ...");
      ResourceConfig resourceConfig = new PackagesResourceConfig("com.sun.jersey.samples.helloworld.resources");
      return GrizzlyServerFactory.createHttpServer(BASE_URI, resourceConfig);
  }

  public static void main(String[] args) throws IOException {
      HttpServer httpServer = startServer();
      System.out.println(String.format("Jersey app started with WADL available at "
              + "%sapplication.wadl\nTry out %shelloworld\nHit enter to stop it...",
              BASE_URI, BASE_URI));
      System.in.read();
      httpServer.stop();
  }    

}

СПРАВОЧНИК ПО ОТДЫХУ - Рой Т. Филдинг

person Forhad    schedule 19.05.2012

Веб-сервис - это некоторый программный интерфейс, использующий для связи протокол SOAP. Используя мыло, вы можете общаться с любой программой, независимо от того, на каком языке она написана.

SOAP - это протокол связи на основе XML и формат кодирования для взаимодействия между приложениями. Первоначально задуманный Microsoft и программным обеспечением Userland, он эволюционировал в течение нескольких поколений; текущая спецификация - это версия SOAP 1.2, хотя версия 1.1 более распространена. За спецификацию отвечает рабочая группа W3C по протоколу XML. SOAP широко рассматривается как основа нового поколения кроссплатформенных кросс-языковых распределенных вычислительных приложений, называемых веб-службами.

Вот несколько примеров:

Руководство по веб-службам Java

Axis - одна из реализаций ASF

CXF (ранее известный как "XFire")

person Vadeg    schedule 28.12.2010
comment
Спасибо за ответ, vadeg, Можете ли вы дать мне образец проекта веб-сервиса, чтобы я мог еще более четко его понять ... пожалуйста - person user314344; 28.12.2010
comment
Веб-службы НЕ ДОЛЖНЫ использовать протокол SOAP. SOAP - это просто один из методов. - person Codemwnci; 28.12.2010
comment
Как сказал @Vadeq, на данный момент существует две основных платформы для веб-сервисов на Java - Apache Axis и Apache CXF. У обоих есть свои поклонники, однако я предпочитаю использовать CXF (вы можете найти их сравнение, например, в этом вопросе). Если вы решите использовать CXF, здесь вы можете найти некоторую информацию (с примерами кода) по публикации веб-сервисов и созданию клиентов веб-сервисов. Есть также много других руководств, по которым будет легко гуглить. - person Piotr; 28.12.2010

Один из самых простых и лучших способов - разработать веб-сервис с помощью Apache Axis. Инструментарий Eclipse SOA поддерживает Axis.

Более подробную информацию об образце проекта можно найти здесь!

http://onjava.com/pub/a/onjava/2002/06/05/axis.html

person Ratna Dinakar    schedule 28.12.2010
comment
Это очень старая статья (2002 г.), и она уже не актуальна. Концепции веб-сервисов не сильно изменились, но сильно изменились технологии реализации. - person lalit; 28.12.2010
comment
Я дал эту ссылку, имея в виду, что это могло бы дать краткое представление. - person Ratna Dinakar; 28.12.2010