SlideShare a Scribd company logo
Применение TDD при разработке веб-сервисов
Применение TDD при разработке веб-сервисов
ПланОписание Web-ServiceSOA в MagentoПроцесс создания нового модуляТестированиеВопросы
Описание Web-Service
ВведениеЗапросОтвет
Введение
Service-Oriented Architecture (SOA)
WSDL (Web Services Description Language)<definitions><types>Описание типов данных, используемых Веб-сервисом.</types><message>Описание сообщений, используемых Веб-сервисом.</message><portType>Описание операций (методов), предоставляемых Веб-сервисом</portType><binding>Описание протоколов связи, используемых Веб-сервисом</binding></definitions>
SOAP (Simple Object Access Protocol)Request<soap:Envelope><soap:Body><xmlns:m="http://www.somesite.org/translation" />  <m:GetTranslation>    <m:Word>помидор</m:Word>     <m:Language>RussianTOEnglish</m:Language></m:GetTranslation></soap:Body></soap:Envelope>
SOAP (Simple Object Access Protocol)Response<soap:Envelope><soap:Body><xmlns:m="http://www.somesite.org/translation" /> <m:GetTranslationResponse>    <m:Translation>tomato</m:Translation> </m:GetTranslationResponse></soap:Body></soap:Envelope>
Реализация Web-Service
SOA в Magento
Контроллеры
Представление серверов
Описание конфигурации
Диаграмма процессов
Процесс создания нового модулядля Web-Service API
Описание ресурса API
Описание ресурса API (ошибки)
Описание ACL для ресурса API
Соответствие ACL функциямAPI
Создание ресурсной модели API
Создание ресурсной модели API
Тестирование
Применение TDD при разработке веб-сервисов
Особенности тестирования Web-ServicesОтсутствие графического интерфейсаКроссплатформенностьНадежностьСоответствие стандартамИнтеграционное тестирование
Фазы тестированияПланированиеUnit-тестированиеИнтерграционное тестированиеСистемное тестирование
ПланированиеВыбор тестового окруженияПланирование показателей надежностиТестирование безопасности
Unit-тестированиеВыполняются разработчикамиПроведение Code ReviewОбеспечение качества
Интеграционное тестированиеИнтерфейсы и обмен данным между сервисамиПроверка транспортного уровняПроверка на соответствие стандартам данныхПроверка на соответствие уровню безопасности
Системное тестированиеПроверка сервисов в условиях смоделированной тестовой среды Тестирование безопасностиПроверка на соотвествие бизнес требованиямНагрузочное тестирование
Использование инструментов
Заключение
Вопросы?Владимир КоротовскихEmail: vladimir.korotovskih@magento.comWeb-Services Team Lead, Magento Core Team, Magento Inc

More Related Content

PDF
доходный баррель экран
ODP
Yandex Lego олег оболенский
PDF
О порядке деноминации договоров банковского вклада
PDF
NoSQL и Zend Framework (Никита Грошин)
PPTX
Преимущества использования полнотекстового поиска в интернет-магазинах
ODP
Мобильные клиенты интернет-магазинов
PPT
Управление продуктом в стиле Magento Unified Process
PPTX
Ключ успеха – процесс или продукт?
доходный баррель экран
Yandex Lego олег оболенский
О порядке деноминации договоров банковского вклада
NoSQL и Zend Framework (Никита Грошин)
Преимущества использования полнотекстового поиска в интернет-магазинах
Мобильные клиенты интернет-магазинов
Управление продуктом в стиле Magento Unified Process
Ключ успеха – процесс или продукт?

Viewers also liked (14)

PDF
NoSQL и Zend Framework (Ростислав Михайлив)
PDF
Встречайте Zend Framework 2.0
PPTX
Применение компонент-ориентированной архитектуры для написания Magento Extens...
PPTX
Все дороги ведут в Checkout
PPTX
Реализация шаблонов корпоративных приложений в Magento
PPT
Система рендеринга в Magento
PDF
Doctrine 2
PDF
Применение Scrum и Kanban для разработки web-приложений
PDF
Эволюция ZF: архитектура, шаблоны, рефакторинг
PPT
Юнит тестирование в Zend Framework 2.0
PPTX
1000 миллисекунд из жизни Magento
PDF
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
PPTX
Индексирование в Magento
PPTX
10 000 вёдер или в погоне за Ключом от всех дверей
NoSQL и Zend Framework (Ростислав Михайлив)
Встречайте Zend Framework 2.0
Применение компонент-ориентированной архитектуры для написания Magento Extens...
Все дороги ведут в Checkout
Реализация шаблонов корпоративных приложений в Magento
Система рендеринга в Magento
Doctrine 2
Применение Scrum и Kanban для разработки web-приложений
Эволюция ZF: архитектура, шаблоны, рефакторинг
Юнит тестирование в Zend Framework 2.0
1000 миллисекунд из жизни Magento
Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социал...
Индексирование в Magento
10 000 вёдер или в погоне за Ключом от всех дверей
Ad

More from Magecom Ukraine (8)

PPTX
Flexibility vs Conformity - lessons learned in Open Source
PDF
Современные платформы (фреймворки) разработки веб- приложений на PHP
PPTX
Деплоймент и распространение обновлений для веб-приложений
PPTX
Расширение функциональности модульного MVC приложения
PDF
Тестирование Magento с использованием Selenium
PPTX
Архитектура веб-приложений на примере Zend Framework и Magento
PPTX
Extension Marketplace. Площадки для распространения ПО
PPT
Стандарты и соглашения в сложных ООП-приложениях
Flexibility vs Conformity - lessons learned in Open Source
Современные платформы (фреймворки) разработки веб- приложений на PHP
Деплоймент и распространение обновлений для веб-приложений
Расширение функциональности модульного MVC приложения
Тестирование Magento с использованием Selenium
Архитектура веб-приложений на примере Zend Framework и Magento
Extension Marketplace. Площадки для распространения ПО
Стандарты и соглашения в сложных ООП-приложениях
Ad

Применение TDD при разработке веб-сервисов

Editor's Notes

  • #7: Web services are a software concept and infrastructure for program-to-program communication and application component delivery. The Web services concept treats software as a set of services accessible over ubiquitous networks using Web-based standards and protocols. A Web service is a software component that can be accessed by another application (such as a client, a server or another Web service) through the use of generally available, ubiquitous protocols and transports, such as Hypertext Transport Protocol (HTTP). This pattern illustrates the protocols and interactions that are at the core of web services.  The components of this pattern are:Transmission Control Protocol/Internet Protocol (TCP/IP) – Provides the low level communication protocol for web services. HTTP – This is the underlying transport protocol used for web services. Simple Object Access Protocol (SOAP) – Provides the request-reply semantics used to deliver web services. Extensible Markup Language (XML) – The underlying format used for all web services messages. The arguments used in SOAP messages are defined using XML formats to define elements. Universal Description, Discovery, and Integration (UDDI) – Provides the means to register and share web services facilitating reuse and configuration management. Web Service Definition Language (WSDL) – Provides interface definitions and runtime bindings for web services.
  • #8: Services behave as &quot;black boxes&quot; where their internal design is independent of the nature and purpose of the requestor. In SOA, data and business logic are encapsulated in modular business components with documented interfaces. This clarifies design and facilitates incremental development and future extensions. A SOA application can also be integrated with heterogeneous, external legacy and purchased applications more easily than a monolithic, non-SOA application can.  Applications that have separate business layers are more suitable to access a SOA environment.This pattern consists of four core elements: Service registry - describes the services available in its domain and service providers register their service in the registry. Service provider - function that performs a service in response to a request from a consumer. Service consumer - function that consumes the result of a service supplied by a provider. Service interface - defines the programmatic access &quot;contract&quot; of the service, establishes the identity of the service and the rules of the service invocation.  The relationship between a service provider and consumer is dynamic and established at runtime by a binding mechanism. This dynamic binding minimizes the dependencies between the service consumer and service provider.
  • #9: Документ WSDL является XML-документом, описывающим Веб-сервис, т.е. содержит набор выражений, определяющих Веб-сервис. Он определяет расположение сервиса и операции (или методы), предоставляемые им, а также формат их вызова. На основании WSDL-документа клиентом осуществляется выбор необходимого метода, из предоставленных сервером Веб-служб, и формируются запросы к данному Веб-сервису.
  • #10: SOAP - это основанный на XML протокол, который позволяет взаимодействовать различным приложениям на основе стандарта HTTP. объектам” (Simple Object Access Protocol) и предназначен для коммуникациями (передачи информации) между удаленными объектами. Использование HTTP является наиболее удобным способом коммуникации между приложениями, поскольку протокол HTTP поддерживается всеми Веб-браузерами и серверами. SOAP представляет собой способ коммуникации между приложениями на базе протокола HTTP и некоторых других Internet-протоколов, а использование XML в качестве основы SOAP позволяет ему работать под управлением различных операционных систем, на основе различных технологий и языков программирования. Сообщение SOAP является обычным XML-документом. Этот документ состоит из следующих XML-элементов: SOAP header (&quot;заголовок&quot;, не обязательный элемент), в нем содержится заголовочная информация; SOAP envelope (&quot;конверт&quot;), который определяет содержание послания; SOAP body (&quot;тело&quot;), в нем содержится информация вызовов и ответов на вызовы. Сообщения между сервером Веб-служб и клиентом пакуются в SOAP-конверты (SOAP envelopes). Сообщения содержат либо запрос на осуществление какого-либо действия, либо ответ - результат выполнения этого действия. Конверт и его содержимое закодировано языком XML.
  • #11: SOAP - это основанный на XML протокол, который позволяет взаимодействовать различным приложениям на основе стандарта HTTP. объектам” (Simple Object Access Protocol) и предназначен для коммуникациями (передачи информации) между удаленными объектами. Использование HTTP является наиболее удобным способом коммуникации между приложениями, поскольку протокол HTTP поддерживается всеми Веб-браузерами и серверами. SOAP представляет собой способ коммуникации между приложениями на базе протокола HTTP и некоторых других Internet-протоколов, а использование XML в качестве основы SOAP позволяет ему работать под управлением различных операционных систем, на основе различных технологий и языков программирования. Сообщение SOAP является обычным XML-документом. Этот документ состоит из следующих XML-элементов: SOAP header (&quot;заголовок&quot;, не обязательный элемент), в нем содержится заголовочная информация; SOAP envelope (&quot;конверт&quot;), который определяет содержание послания; SOAP body (&quot;тело&quot;), в нем содержится информация вызовов и ответов на вызовы. Сообщения между сервером Веб-служб и клиентом пакуются в SOAP-конверты (SOAP envelopes). Сообщения содержат либо запрос на осуществление какого-либо действия, либо ответ - результат выполнения этого действия. Конверт и его содержимое закодировано языком XML.
  • #19: Create an api.xml in the customer module /etc. folder
  • #20: Create an api.xml in the customer module /etc. folder
  • #21: Create an api.xml in the customer module /etc. folder
  • #22: Create an api.xml in the customer module /etc. folder
  • #23: Create an api.xml in the customer module /etc. folder
  • #24: Create an api.xml in the customer module /etc. folder
  • #31: Soap Clients
  • #32: Continuous Integration ServerПроверка на бизнес требования -
  • #35: Continuous Integration ServerПроверка на бизнес требования -