Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Лекция 3 — «Программный интерфейс приложений»

Лекция 3 — «Программный интерфейс приложений»

Курс лекций «Тестирование сложных интеллектуальных систем и беспилотных автомобилей» знакомит вас с теоретическими основами тестирования автономных ИИ-систем.

Видео лекция доступна по ссылке: https://youtu.be/niphcNZZBlk

---
Подписывайтесь на Exactpro в социальных сетях:

LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Подписывайтесь на YouTube канал Exactpro http://www.youtube.com/c/ExactproVlog

5206c19df417b8876825b5561344c1a0?s=128

Exactpro
PRO

March 03, 2021
Tweet

Transcript

  1. 1 Build Software to Test Software exactpro.com Лекция 3 Программный

    интерфейс приложений Тестирование сложных интеллектуальных систем и беспилотных автомобилей Онлайн-курс
  2. 2 Build Software to Test Software exactpro.com Структура лекции Что

    такое API: определение, API vs протокол, типы API, место в мире Примеры API в сложных финансовых системах Примеры API, которые будут использоваться на практических занятиях
  3. 3 Build Software to Test Software exactpro.com 3 типа систем

  4. 4 Build Software to Test Software exactpro.com Полезные ссылки https://en.wikipedia.org/wiki/API

  5. 5 Build Software to Test Software exactpro.com Полезные ссылки https://youtu.be/GZvSYJDk-us

  6. 6 Build Software to Test Software exactpro.com Полезные ссылки https://www.youtube.com/playlist?list=PLcgRuP1JhcBP8Kh0MC53GH_pxqfOhTVLa

  7. 7 Build Software to Test Software exactpro.com Полезные ссылки https://www.altexsoft.com/blog/engineering/what-is-api-definition-types-specifications-documentation/

  8. 8 Build Software to Test Software exactpro.com Полезные ссылки https://rapidapi.com/blog/types-of-apis/

  9. 9 Build Software to Test Software exactpro.com Что такое интерфейс

  10. 10 Build Software to Test Software exactpro.com Что такое API

    API — это интерфейс, позволяющий двум независимым компонентам программного обеспечения обмениваться информацией API играет роль посредника между внутренними и внешними программными функциями
  11. 11 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 2 Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Internet Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. CSS HTML Javascript
  12. 12 Build Software to Test Software exactpro.com Схема веб-приложения Application

    Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Internet Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. Browser send requests to the server, receive responses and visualize them as a page The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 2 CSS HTML Javascript
  13. 13 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 2 Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Internet CSS HTML Javascript
  14. 14 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 AJAX allows to create asynchronous web interactions without interfering with the display and behaviour of the existing page 4 2 Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Internet CSS HTML Javascript
  15. 15 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page WebSocket enables interaction between a web browser and a web server with lower overhead than half-duplex alternatives such as HTTP polling Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 AJAX allows to create asynchronous web interactions without interfering with the display and behaviour of the existing page 4 2 5 Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Websocket Internet CSS HTML Javascript
  16. 16 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page WebSocket enables interaction between a web browser and a web server with lower overhead than half-duplex alternatives such as HTTP polling Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 AJAX allows to create asynchronous web interactions without interfering with the display and behaviour of the existing page 4 2 5 Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Websocket Internet CSS HTML Javascript
  17. 17 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page WebSocket enables interaction between a web browser and a web server with lower overhead than half-duplex alternatives such as HTTP polling Responsive front-end design allows a site to adapt to user’s device. Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 AJAX allows to create asynchronous web interactions without interfering with the display and behaviour of the existing page 4 2 5 CSS HTML Javasc ript Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Websocket Internet
  18. 18 Build Software to Test Software exactpro.com Схема веб-приложения Browser

    send requests to the server, receive responses and visualize them as a page WebSocket enables interaction between a web browser and a web server with lower overhead than half-duplex alternatives such as HTTP polling Responsive front-end design allows a site to adapt to user’s device. Everything a user sees in the browser is a mix of HTML, CSS, and JavaScript. The back-end server-side scripts process the request, pull what they need from the database and application servers and then send it back. 1 Client-side scripts Run in the browser and process information without sending requests to the server 3 AJAX allows to create asynchronous web interactions without interfering with the display and behaviour of the existing page 4 2 5 CSS HTML Javascript Application Servers Data Web Servers Static Content Browser DOM model HTTP(S) Request HTTP(S) Response Websocket Internet Web applications are always multi-user applications and many of them work under heavy load and are subject to concurrency access 6
  19. 19 Build Software to Test Software exactpro.com Человек с точки

    зрения программы
  20. 20 Build Software to Test Software exactpro.com Человек с точки

    зрения программы
  21. 21 Build Software to Test Software exactpro.com Человек → беспилотный

    автомобиль
  22. 22 Build Software to Test Software exactpro.com Человек с точки

    зрения программы
  23. 23 Build Software to Test Software exactpro.com Человек → беспилотный

    автомобиль
  24. 24 Build Software to Test Software exactpro.com API вокруг нас:

    взгляд в будущее https://www.capgemini.com/research/world-quality-report-wqr-20-21/
  25. 25 Build Software to Test Software exactpro.com Интерфейс взаимодействия человека

    с машиной
  26. 26 Build Software to Test Software exactpro.com Интерфейс взаимодействия человека

    с машиной
  27. 27 Build Software to Test Software exactpro.com API vs. Протокол

    Протокол: API: Правила взаимодействия, язык Способ передачи сообщения
  28. 28 Build Software to Test Software exactpro.com Протокол - API

    - протокол Протокол Протокол API TCP/IP FIX Messages FIX Protocol
  29. 29 Build Software to Test Software exactpro.com PPP: Processes, Platforms,

    People
  30. 30 Build Software to Test Software exactpro.com PPP: Processes, Platforms,

    People https://zero-outage.com/
  31. 31 Build Software to Test Software exactpro.com Типы API: Private,

    Partner, Public https://www.altexsoft.com/blog/engineering/what-is-api-definition-types-specifications-documentation/
  32. 32 Build Software to Test Software exactpro.com Типы API: Library,

    Code, Data </>
  33. 33 Build Software to Test Software exactpro.com Пример: Московская Биржа

    - Шлюз Plaza II (Library) Шлюз Plaza II https://www.moex.com/s442
  34. 34 Build Software to Test Software exactpro.com Пример: Московская Биржа

    - FIX Protocol (Data) https://www.moex.com/s442 https://www.fixtrading.org/
  35. 35 Build Software to Test Software exactpro.com Пример: Bitcoin (Code)

    </>
  36. 36 Build Software to Test Software exactpro.com Задание Python-based API

    симулятора LGSVL - тип? </>
  37. 37 Build Software to Test Software exactpro.com Примеры API https://rapidapi.com/blog/types-of-apis/

  38. 38 Build Software to Test Software exactpro.com FIX Trading Community

    - Monitoring, Onboarding and Software Testing Group https://www.fixtrading.org/groups/mostwg/
  39. 39 Build Software to Test Software exactpro.com Примеры API https://docs.corda.net/docs/corda-os/4.7/api-flows.html

    https://rapidapi.com/blog/top-anime-manga-apis/ https://rapidapi.com/blog/best-beer-wine-alcohol-api/ 7 APIs Everyone in the Anime/Manga Industry Should Be Using Top 8+ Beer, Wine, & Alcohol APIs for Developers [2021] API: Flows|Corda
  40. 40 Build Software to Test Software exactpro.com Документирование API “APIs

    should be self-documenting: It should rarely require documentation to read code written to a good API. In fact, it should rarely require documentation to write it.” https://www.infoq.com/articles/API-Design-Joshua-Bloch/ https://www.youtube.com/watch?v=aAb7hSCtvGw “APIs should be easy to use and hard to misuse. It should be easy to do simple things; possible to do complex things; and impossible, or at least difficult, to do wrong things.”
  41. 41 Build Software to Test Software exactpro.com Спецификация API •

    https://en.wikipedia.org/wiki/API#Documentation • Пример спецификации, рассчитанной на человека: https://connect2.euronext.com/sites/default/files/it-documentation/ Euronext%20Markets%20-%20Optiq%20OEG%20Client%20Specifica tions%20-%20FIX%205.0%20Interface%20-%20v2.0.0.pdf • Цикл встреч по проблемам спецификаций, рассчитанных на человека: https://www.youtube.com/playlist?list=PLlBzzzm8XPJETyp318x9Ycs5 KiAcoS3Mz • Пример машиночитаемых спецификаций: https://www.fixtrading.org/standards/fix-orchestra/, https://youtu.be/eOIA_7bRQyI
  42. 42 Build Software to Test Software exactpro.com Устойчивость интерфейса (Interface

    Stability) https://developer.gnome.org/programming-guidelines/stable/api-stability.html.en
  43. 43 Build Software to Test Software exactpro.com Плагины

  44. 44 Build Software to Test Software exactpro.com LGSVL Simulator: A

    High Fidelity Simulator for Autonomous Driving https://arxiv.org/pdf/2005.03778.pdf
  45. 45 Build Software to Test Software exactpro.com Конференции 2021 IEEE

    AI Testing Conference. Подача статей - до 30 апреля http://ieeeaitests.com/ TMPA - International Conference on Software Testing, Machine Learning and Complex Process Analysis https://tmpaconf.org/ Конференция SYRCoSE. Подача статей - до 1 апреля http://syrcose.ispras.ru/2021/SYRCoSE2021-CfP.pdf
  46. 46 Build Software to Test Software exactpro.com LGSVL Simulator: A

    High Fidelity Simulator for Autonomous Driving https://arxiv.org/pdf/2005.03778.pdf
  47. 47 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API Real Road Testing Simulation Python API Analytics&Visualization Logs Logs AD Stack Simulator Plugins Digital Twin Map (or Procedurally Generated Map) (Ground Truth Data) (Sensor & Tracking Data) Vehicle & Sensors Vehicle & Sensor Model Environment Creation Bridge Real-World User modules Third Party Collaboration LGSVL Simulator Test Scenario Scenario Player 3rd party Test Scenario 3rd party ScenarioPlayer HD Map
  48. 48 Build Software to Test Software exactpro.com Мосты для подключения

    к беспилотным автомобилям
  49. 49 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API Real Road Testing Simulation Python API Analytics & Visualization Logs Logs AD Stack Simulator Plugins Digital Twin Map (or Procedurally Generated Map) (Ground Truth Data) (Sensor & Tracking Data) Vehicle & Sensors Vehicle & Sensor Model Environment Creation Bridge Real-World User modules Third Party Collaboration LGSVL Simulator Test Scenario Scenario Player 3rd party Test Scenario 3rd party Scenario Player HD Map
  50. 50 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API https://www.lgsvlsimulator.com/docs/python-api/
  51. 51 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API https://www.lgsvlsimulator.com/docs/python-api/
  52. 52 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API https://github.com/lgsvl/PythonAPI
  53. 53 Build Software to Test Software exactpro.com Симулятор LGSVL и

    его API https://github.com/lgsvl/PythonAPI/blob/master/quickstart/01-connecting-to-simulator.py
  54. 54 Build Software to Test Software exactpro.com Соединение через порт

    8181
  55. 55 Build Software to Test Software exactpro.com Ответ симулятора

  56. 56 Build Software to Test Software exactpro.com Запрос

  57. 57 Build Software to Test Software exactpro.com Ответ

  58. 58 Build Software to Test Software exactpro.com Callbacks Python API

    Simulator Simulation In running Python code waits for response Other actions Connect websocket Create vehicle Create pedestrian sim.run() Time limit or callback (ex collision) Create “Simulator”
  59. 59 Build Software to Test Software exactpro.com Спасибо! Exactpro Systems

    Exactpro Vlog
  60. 60 Build Software to Test Software exactpro.com Спасибо! Exactpro Systems

    Exactpro Vlog
  61. 61 Build Software to Test Software exactpro.com