Учебники

16) Интервью по веб-сервисам, вопросы и ответы

1) Определить веб-сервис?

Веб-сервис — это вид программного обеспечения, доступного в Интернете. Он использует систему обмена сообщениями XML и предлагает простой для понимания интерфейс для конечных пользователей.

2) Что нового в этой области за последние несколько лет?

Инициирование XML в этой области — это усовершенствование, обеспечивающее веб-сервису единый язык для связи между RPC, веб-сервисами и их каталогами.

3) Приведите пример реального веб-сервиса?

Одним из примеров веб-сервисов является браузер IBM Web Services. Вы можете получить его с сайта IBM Alphaworks. Этот браузер показывает различные демонстрации, связанные с веб-сервисами. В основном, веб-сервисы можно использовать с помощью SOAP, WSDL и UDDI. Все это обеспечивает интерфейс plug-and-play для использования веб-сервисов, таких как сервис биржевых котировок, сервис отчетов о трафике, сервис погоды и т. Д.

4) Как вы определяете стек протоколов веб-сервиса?

Это в основном набор различных протоколов, которые можно использовать для изучения и выполнения веб-сервисов. Весь стек имеет четыре уровня: транспорт службы, обмен сообщениями XML, описание службы и обнаружение службы.

5) Можете ли вы определить каждый из этих уровней стека протоколов?

Сервисный транспортный уровень передает сообщения между различными приложениями, такими как HTTP, SMTP, FTP и Blocks Extensible Exchange Protocol (BEEP). Уровень обмена сообщениями XML кодирует сообщения в формате XML, чтобы сообщения могли быть поняты на каждом конце, например XML-RPC и SOAP. Уровень Описание службы описывает пользовательский интерфейс веб-службы, такой как WSDL. Уровень обнаружения сервисов централизует сервисы в общем реестре и предлагает простые функции публикации, такие как UDDI.

6) Определить XML — RPC?

Это протокол, который использует сообщения XML для удаленных вызовов процедур.

7) Определить SOAP?

SOAP — это протокол на основе XML для передачи между компьютерами.

8) Определить WSDL?

Это означает язык описания веб-сервисов. Это в основном слой описания сервиса в базе протоколов веб-сервиса. Уровень Описание службы описывает пользовательский интерфейс веб-службы.

9) Какой тип безопасности необходим для веб-сервисов?

Уровень безопасности для веб-служб должен быть больше, чем тот, который мы называем Secure Socket Layer (SSL). Этот уровень безопасности может быть достигнут только с помощью платформы Entrust Secure Transaction Platform. Веб-сервисам необходим этот уровень безопасности для обеспечения надежных транзакций и защиты конфиденциальной информации.

10) Есть ли у вас какие-либо идеи о службах безопасности фонда?

Как следует из названия, эти сервисы являются основой или основами интеграции, аутентификации, авторизации, цифровых подписей и процессов шифрования.

11) Определить службу идентификации доверенных лиц?

Служба идентификации доверия поступает из Платформы транзакций безопасности доверия. Эта платформа позволяет компаниям управлять удостоверениями, которым доверяют, для выполнения транзакций для транзакций веб-служб.

12) Что означает UDDI?

UDDI расшифровывается как Universal, Description, Discovery и Integration. Это уровень обнаружения в стеке протоколов веб-служб.

13) Определить доверительные права обслуживания?

Эта служба проверяет объекты, которые пытаются получить доступ к веб-службе. Например, служба аутентификации Служба прав обеспечивает безопасность бизнес-операций.

14) Определить Entrust Privacy Service?

Как следует из названия, он имеет дело с безопасностью и конфиденциальностью. Этот сервис шифрует данные, чтобы обеспечить доступ к ним только заинтересованным сторонам.

15) Что вы подразумеваете под PKI?

Это означает инфраструктуру открытых ключей.

16) Какие инструменты используются для тестирования веб-службы?

Я использовал SoapUI для SOAP WS и плагин для Firefox для RESTFul Services.

17) Различить SOA и веб-сервис?

SOA — это дизайн и архитектура для реализации других сервисов. SOA может быть легко реализован с использованием различных протоколов, таких как HTTP, HTTPS, JMS, SMTP, RMI, IIOP, RPC и т. Д. Хотя веб-сервис сам по себе является реализованной технологией. Фактически можно реализовать SOA, используя веб-сервис.

18) Обсудить различные подходы к разработке веб-сервиса на основе SOAP?

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

19) Если вам нужно выбрать один подход, то каким будет ваш выбор?

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

20) Требуется ли какое-либо специальное приложение для доступа к веб-сервису?

Нет, вам не нужно устанавливать какое-либо специальное приложение для доступа к веб-сервису. Вы можете получить доступ к веб-службе из любого приложения, которое поддерживает запрос и ответ объекта на основе XML.

21) Можете ли вы назвать несколько бесплатных и коммерческих реализаций для веб-сервисов?

Известные мне реализации: Apache SOAP, эталонная реализация JAX-WS, эталонная реализация JAX-RS, Metro, Apache CXF, MS.NET и Java 6.

22) Название браузера, который разрешает доступ к веб-сервису?

JavaScript XmlHttpRequest объект необходим для доступа к веб-сервису через браузеры. Браузерами, поддерживающими этот объект, являются браузеры Internet Explorer, Safari и Mozilla, такие как FireFox.

23) Что такое ОТДЫХ?

REST расшифровывается как представительский государственный трансферт. Сам REST не является стандартом, хотя он использует различные стандарты, такие как HTTP, URL, XML / HTML / GIF / JPEG (представления ресурсов) и text / xml, text / html, image / gif, image / jpeg и т. Д. (MIME-типы ).

24) Как можно предоставить API пользователям?

Чтобы предоставить пользователям API, это можно легко сделать с помощью «открытой таблицы». Все, что вам нужно сделать, это написать открытую таблицу, которая в основном представляет собой XML-схему, указывающую на веб-сервис.

25) Назовите различные каналы связи в веб-сервисе?

Веб-сервис интегрирован с тремя протоколами, такими как HTTP / POST, HTTP / GET и SOAP. Он предоставляет клиентам три различных канала связи. Клиент может выбрать любой способ связи согласно требованиям.

26) Как вы можете документировать веб-сервис?

Веб-службы рассматриваются как самодокументируемые, поскольку они предоставляют полную информацию о доступных методах и параметрах, используемых для стандарта на основе XML, известного как WSDL. Можно также предоставить больше информации для объяснения веб-сервисов через их собственные атрибуты WebService и WebMethod.

27) В каких ситуациях нам нужны веб-сервисы ASP.NET?

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

28) Что такое распределенные технологии?

Увеличение доли распределенных приложений повысило спрос на распределенные технологии. Это позволяет сегментировать блоки приложений и переносить их на разные компьютеры в разных сетях.

29) Различать веб-сервисы, CORBA и DCOM?

Веб-службы передают / получают сообщения в / из приложения соответственно по протоколу HTTP. Он использует XML для кодирования данных.

CORBA и DCOM передают / получают сообщения в / из приложения соответственно через нестандартные протоколы, такие как IIOP и RPC.

30) Можете ли вы рассказать о нескольких преимуществах веб-сервисов?

Самым большим преимуществом веб-сервиса является то, что он поддерживается множеством платформ. Более того, в ближайшем будущем веб-сервисы могут расширить свои границы и расширить новые методы, которые облегчат работу клиентов. Улучшение не повлияет на клиентов, даже если они предлагают старые методы и параметры.

31) Можете ли вы назвать некоторые стандарты, используемые в веб-сервисах?

Стандарты, используемые в веб-сервисах: WSDL (используется для создания определения интерфейса), SOAP (используется для структурирования данных), HTTP (каналы связи), DISCO (используется для создания документов обнаружения) и UDDI (используется для создания бизнес-реестров).

32) Объясни вкратце, что такое DISCO?

ДИСКО означает открытие. Он группирует список взаимосвязанных веб-сервисов. Организация, предоставляющая веб-службы, выдает файл DISCO на своем сервере, и этот файл содержит ссылки на все предоставляемые веб-службы. Этот стандарт хорош, когда клиент уже знает компанию. Также он может быть использован в локальной сети.

33) Объясни вкратце, что такое UDDI?

UDDI (универсальное описание, обнаружение и интеграция) предоставляет сводный каталог для веб-служб в Интернете. Клиенты используют UDDI для поиска веб-сервисов в соответствии с потребностями своего бизнеса. Он в основном размещает веб-сервисы разных компаний. Чтобы поделиться веб-сервисами, вам нужно опубликовать его в UDDI.

34) Объясните .NET веб-сервисам поддерживаемые типы данных?

Веб-службы .Net используют стандарты на основе XML для передачи / получения информации. Таким образом, веб-службы .NET могут работать только с типами данных, известными по стандарту XML-схемы. Как и FileSteam, Eventlog и т. Д. Не распознаются стандартами схемы XML и, следовательно, не поддерживаются в веб-службах.

35) Как тестируется веб-сервис .NET?

ASP.NET регулярно использует тестовую страницу, когда в любом браузере запрашивается URL-адрес файла .asmx. Эта страница показывает полную информацию о веб-сервисах.

36) Как используется веб-сервис .NET?

Поскольку мы знаем, что веб-сервисы построены на стандартах XML. Поэтому клиенты должны иметь полное понимание сообщений на основе XML для обмена сообщениями. Клиенты могут общаться с веб-сервисами через .NET Framework, который предлагает прокси-механизмы. Эти прокси-механизмы имеют подробную информацию об обмене данными внутри веб-сервисов, которая может быть легко использована клиентами.

37) Можете ли вы назвать два решения Microsoft для распределенных приложений?

Двумя решениями Microsoft для распределенных приложений являются .NET Web Services и .NET Remoting.

38) Различают ли веб-службы .NET и удаленное взаимодействие .NET?

Что касается протокола, .NET Web Service использует HTTP, в то время как .NET Remoting использует любой протокол, например TCP / HTTP / SMTP. Что касается производительности, то .NET Remoting сравнительно быстрее, чем .NET Web Service. Кроме того, поскольку веб-службы .NET размещаются через IIS, они намного надежнее, чем .NET Remoting.

39) Назовите компоненты, которые будут опубликованы при развертывании веб-службы?

Компоненты, которые необходимо опубликовать во время развертывания веб-службы, — это каталог веб-приложений, файл Webservice.asmx, файл Webservice.Disco, файл Web.Config и каталог Bin.

40) Какие шаги выполняет клиент для доступа к веб-сервису?

Прежде всего, веб-ссылка на веб-сервис создается клиентом в его приложении. Затем создается прокси-класс. После этого создается объект прокси-класса и, наконец, доступ к веб-службе осуществляется через этот прокси-объект.

41) Как веб-сервисы реализованы в .NET?

Для реализации веб-сервисов в .NET используются обработчики HTTP, которые прерывают запросы к файлам .asmx.

42) Объясните несколько недостатков кэширования ответов?

Кэширование ответов бесполезно или некомпетентно, когда метод принимает большое количество значений, потому что кэширование означает хранение большого количества информации. Также, если метод зависит от внешнего источника информации и не указан в параметрах, такие методы игнорируются.

43) Каково альтернативное решение для кэширования ответов?

Можно использовать Data Caching (System.Web.Caching.Cach) вместо Response Caching.

44) Коротко о недостатках использования методов GET и POST для связи с веб-сервисом?

Эти методы менее безопасны и запрещают пользователям передавать структуры и объекты в качестве аргументов. Кроме того, он не позволяет пользователям передавать аргументы ByRef.

45) Как можно получить доступ к классу в качестве веб-службы?

Чтобы получить доступ к классу как к веб-службе, необходимо унаследовать этот класс от класса System.Web.Services.WebService и квалифицировать класс атрибутом WebService.

46) Как можно получить доступ к методу класса веб-службы через Интернет?

Чтобы получить доступ к методу класса веб-сервиса через Интернет, необходимо квалифицировать метод с атрибутом WebMethod.

47) Как структурировано SOAP-сообщение?

Сообщение SOAP состоит из конверта SOAP, заголовков SOAP и тела SOAP.

48) Можете ли вы назвать различные виды веб-сервисов?

Всего существует два типа веб-сервисов: веб-сервис на основе SOAP и веб-сервис RESTful.

Этот вопрос уже упоминался ранее.

49) Чем отличаются веб-сервисы RESTful?

Веб-службы RESTful не содержат контракта или файла WSDL.

50) Дайте мне несколько причин использовать веб-сервис RESTful?

Веб-сервисы RESTFul просты в реализации и тестировании. Он поддерживает различные форматы данных, такие как XML, JSON и т. Д.

51) Объясните, что такое веб-сервисы JAVA? Каковы методы создания веб-сервисов?

Веб-сервисы Java разработаны для создания и развертывания базовых веб-сервисов на платформе JAVA.

Для создания веб-сервисов существует два подхода

  • Нисходящий подход
  • Пополнить подход

52) Объясните, что такое JAXP?

JAXP — это API-интерфейс JAVA для обработки XML, который позволяет приложению записывать, читать, манипулировать и преобразовывать данные XML. Аналогично, для выполнения других различных функций существуют и другие API Java, такие как JAX-RPC, JAXM, JAXR, JAXB и т. Д.

53) Упомянуть рамки связывания JAXB?

Платформа привязки JAXB доступна в трех пакетах Java

  • xml.bind: этот пакет определяет абстрактные классы и интерфейсы, которые используются непосредственно с классами контента
  • xml.bind.util: этот пакет содержит служебные классы, которые могут использоваться клиентскими приложениями для управления событиями маршалинга, демаршаллинга и проверки
  • xml.bind.helper: этот вспомогательный пакет дает частичные реализации для некоторых интерфейсов javax.xml.bind. Эти API не должны напрямую использоваться приложениями, использующими архитектуру JAXB

54) Приведите простой пример того, как XML-документ может быть Marshal и Unmarshal в среде JAVA?

Маршаллинг — это процесс преобразования XML-документа в читаемую форму Java, тогда как UnMarshalling — обратный процесс маршаллинга. Давайте посмотрим, как Java отменяет маршализацию XML-документа, а затем выполняет его маршализацию

JAXBContext jc = JAXBContext.newInstance («com.acme.foo»);

// unmarshal из foo.xml

Unmarshaller u = jc.createUnmarshaller ();

FooObject fooObj =

(FooObject) u.unmarshal (новый файл («foo.xml»));

// маршал к sytem.out

Marshaller m = jc.createMarshaller ();

m.marshal (fooObj, System.out);

55) Объясните, что делает Marshaller, если свойство jaxb.encoding не объявлено?

По умолчанию Marshaller будет использовать «UTF-8», если свойство jaxb.encoding не объявлено.

56) Укажите, какие виды проверки может выполнять клиент JAXB?

Существует два типа проверки клиента JAXB, которые может выполнять JAXB

  • Unmarshal Time Validation
  • Проверка по требованию

57) Укажите, каковы три способа обработки события, произошедшего во время операций маршала, демаршала и проверки?

  • Использование обработчика событий по умолчанию
  • Зарегистрируйте и внедрите собственный обработчик событий
  • Используйте утилиту ValidationEventCollector

58) Объясните, где находится компилятор JAXB?

Компилятор привязки схемы JAXB находится в каталоге <JWSDP_Home> / jaxb / bin. В этом каталоге есть два сценария: xjc.sh (Solaris / Linux) и xjc.bat (Windows).

59) В каких случаях вам нужно настроить привязку по умолчанию?

В некоторых случаях вам необходимо настроить привязку по умолчанию, например:

  • Создание документации по API для пакетов, классов, методов и констант, полученных из схемы JAXB
  • Предоставление семантически значимых настраиваемых имен для случаев, которые по умолчанию сопоставление имени XML-имени с Java не может обрабатывать автоматически
  • Переопределение привязки по умолчанию, например, указание, что группа моделей должна быть присоединена к классу, а не к списку.

60) Объясните, что такое встроенная настройка?

Адаптация к привязкам JAXB осуществляется с помощью встроенных объявлений привязки в файле схемы XML, которые принимают форму элементов <xsd: appinfo>, встроенных в элементы схемы <xsd: annotation>.

61) Объясните, что такое подпись XML?

XML может использоваться для подписи любых произвольных данных, будь то двоичные или XML. Данные распознаются через URI в одном или нескольких ссылочных элементах. Он описан в одной или нескольких формах, таких как отделенный, обволакивающий или обернутый.

62) Объясните, что такое Stax?

Stax расшифровывается как Streaming API for XML; это API для чтения и записи XML-документов, происходящих из языка программирования JAVA.

63) Укажите, каковы обычные API-интерфейсы XML?

Обычные XML API включают

  • API на основе DOM или Tree: весь документ считывается в память в виде древовидной структуры для произвольной доступности путем вызова приложения
  • API на основе событий: приложение регистрируется для получения событий при обнаружении сущностей в исходном документе

64) Объясните, что такое разбор Push и разбор Pull?

  • Разбор по запросу: Потоковый анализ по запросу относится к модели программирования, в которой клиентское приложение вызывает методы в библиотеке синтаксического анализа XML, когда ему необходимо связаться с информационным набором XML — это означает, что клиент будет получать данные XML только тогда, когда его запрашивают.
  • Синтаксический анализ. В режиме «Синтаксический анализ» анализатор отправляет события анализа или данные XML в приложение. В модели push анализатор получил контроль над процессом синтаксического анализа, и анализатор вызывает реализованные методы обработчика.

65) Объясните, на какой технологии основана безопасность XWS? Перечислите опции, которые безопасность XWS предоставляет для защиты приложений JAX-RPC?

Безопасность XWS основана на защите веб-сервисов, построенных на JAX-RPC, и на автономном приложении на основе SAAJ. Для обеспечения безопасности приложения JAX-RPC параметры безопасности XWS

  • Цифровая подпись XML
  • XML-шифрование
  • Проверка токена имени пользователя
  • API структуры безопасности XWS

66) Перечислите шесть пакетов, доступных в API цифровой подписи XML?

API цифровой подписи

  • xml.crypto
  • xml.crypto.dsig
  • xml.crypto.dsig.keyinfo
  • xml.crypto.dsig.spec
  • xml.crypto.dom
  • xml.crypto.dsig.dom

67) Объясните, что такое JAXR?

JAXR — это API-интерфейсы программирования JAVA для приложения на платформе Java для доступа и программного взаимодействия с различными видами реестров метаданных.

68) Объясните, из чего состоит архитектура JAXR?

Архитектура JAXR состоит из клиента JAXR и провайдера JAXR.

  • Клиент JAXR: это клиентская программа, которая использует API JAXR для использования реестра через провайдера JAXR
  • Поставщик JAXR. Это реализация API JAXR, обеспечивающая доступ к конкретному поставщику реестра или к классу поставщиков реестра, которые основаны на общих спецификациях.

69) Объясните, что такое модели обмена сообщениями JAXM?

Существует два типа моделей обмена сообщениями для JAXM: синхронный и асинхронный.

  • Модель синхронного обмена сообщениями. В такой модели клиент напрямую связывается с источником. При этом клиент отправит запрос и ждет.
  • Модель асинхронного обмена сообщениями. В этой модели клиент направляет сообщение поставщику сообщений и возвращает его обратно. Затем поставщик сообщений выполняет маршрутизацию сообщения к конечному источнику.

70) Объясните, что такое UDDI, DISCO и WSDL?

  • UDDI: это означает универсальное описание, обнаружение и я. Это каталог, который используется для публикации и обнаружения общедоступных веб-сервисов.
  • ДИСКО: Это обычно называют открытием. Он объединяет общие сервисы и выставляет документ схемы веб-сервисов.
  • WSDL: это язык описания веб-сервисов (WSDL). Он используется для описания веб-сервисов. Описание включает URL-адрес веб-служб, свойства и методы, поддерживаемые веб-службами, тип данных, который он поддерживает, и подробности протокола, которые он поддерживает.