SlideShare a Scribd company logo
1 of 10
Сервісно орієнтоване
програмування
Веб сервіси, що це?
Реалізація чітких інтерфейсів обміну даними
між різноманітними аплікаціями, що можуть
бути написані на різних мовах програмування
та знаходяться на різних мережевих вузлах.
Веб сервіси
• Веб сервіси – це класи з набором
методів, які є видимі, та можуть
викликатися через HTTP протокол
• Веб методи – це методи у веб сервісах.
Протоколи
• SOAP (Simple Object Access Protocol)
• REST (Representational State Transfer)
• XML-RPC (XML Remote Procedure Call)

http://en.wikipedia.org/wiki/List_of_web_service_protocols
SOAP
SOAP
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<!- ->
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="http://www.example.org/stock">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
http://en.wikipedia.org/wiki/SOAP
REST
Підхід до архітектури мережевих
протоколів, які забезпечують доступ до
інформаційних ресурсів.
• Дані повинні передаватися у вигляді невеликої
кількості стандартних форматів
• Мережевий протокол не повинен зберігати
інформацію про стан між парами «запитвідповідь»
REST
CRUD
Method

Url

Description

GET

/book/

Отримати список всіх книг

GET

/book/3

Отримати книгу номер 3

POST

/book/

Додати нову книгу (дані в тілі запиту)

PUT

/book/3

Змінити книгу номер 3 (дані в тілі запиту)

DELETE

/book/3

Видалити книгу номер 3
Веб сервіс повинен
• Не порушувати інкапсуляцію сервера
• Використовувати для комунікації власні
комунікаційні об’єкти
• Не зберігати стан між запитами

More Related Content

What's hot

Version control
Version controlVersion control
Version controleleksdev
 
Aspnet core
Aspnet coreAspnet core
Aspnet coreeleksdev
 
Advanced c sharp part 3
Advanced c sharp part 3Advanced c sharp part 3
Advanced c sharp part 3eleksdev
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styleseleksdev
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basicseleksdev
 
System programing module 2
System programing module 2System programing module 2
System programing module 2Andrii Hladkyi
 
System programing module 1
System programing module 1System programing module 1
System programing module 1Andrii Hladkyi
 
System programing module 3
System programing module 3System programing module 3
System programing module 3Andrii Hladkyi
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy KharytonskiyFwdays
 
Data Structures
Data StructuresData Structures
Data Structureseleksdev
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняcit-cit
 
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...Fwdays
 
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...KyivBSD 2009 - Creating a corporate instant messaging and information exchang...
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...Oleksandr Drach
 

What's hot (20)

Version control
Version controlVersion control
Version control
 
Wcf module 3.1
Wcf module 3.1Wcf module 3.1
Wcf module 3.1
 
Wcf module 2
Wcf module 2Wcf module 2
Wcf module 2
 
Wcf module 3.3
Wcf module 3.3Wcf module 3.3
Wcf module 3.3
 
Aspnet core
Aspnet coreAspnet core
Aspnet core
 
Wcf module 3.2
Wcf module 3.2Wcf module 3.2
Wcf module 3.2
 
Wcf module 1
Wcf module 1Wcf module 1
Wcf module 1
 
ASP.Net basics
ASP.Net basics ASP.Net basics
ASP.Net basics
 
Advanced c sharp part 3
Advanced c sharp part 3Advanced c sharp part 3
Advanced c sharp part 3
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styles
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basics
 
System programing module 2
System programing module 2System programing module 2
System programing module 2
 
System programing module 1
System programing module 1System programing module 1
System programing module 1
 
System programing module 3
System programing module 3System programing module 3
System programing module 3
 
Wcf module 3.5
Wcf module 3.5Wcf module 3.5
Wcf module 3.5
 
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
"Request Lifecycle at Prom.ua", Vitaliy Kharytonskiy
 
Data Structures
Data StructuresData Structures
Data Structures
 
Lec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпеченняLec16 промiжне програмне забезпечення
Lec16 промiжне програмне забезпечення
 
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...
Oleksandr Brychuk "UniSender architecture. Growth from 100kk to 1.5kkk letter...
 
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...KyivBSD 2009 - Creating a corporate instant messaging and information exchang...
KyivBSD 2009 - Creating a corporate instant messaging and information exchang...
 

Viewers also liked

08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOPeleksdev
 
12 Architecture
12 Architecture12 Architecture
12 Architectureeleksdev
 
If unit2 summary
If unit2 summaryIf unit2 summary
If unit2 summaryeleksdev
 
#2 integration + ui tests
#2 integration + ui tests#2 integration + ui tests
#2 integration + ui testseleksdev
 
Code Practices
Code PracticesCode Practices
Code Practiceseleksdev
 
Unit1 summary
Unit1 summaryUnit1 summary
Unit1 summaryeleksdev
 
sql introduction
sql introductionsql introduction
sql introductioneleksdev
 
09 advanced c#
09 advanced c#09 advanced c#
09 advanced c#eleksdev
 
#4 code quality
#4 code quality#4 code quality
#4 code qualityeleksdev
 
C++ Basics
C++ BasicsC++ Basics
C++ Basicseleksdev
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patternseleksdev
 
Sql 04n edited
Sql 04n editedSql 04n edited
Sql 04n editedeleksdev
 
Advanced C++ concepts
Advanced C++ conceptsAdvanced C++ concepts
Advanced C++ conceptseleksdev
 
SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joinseleksdev
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operatoreleksdev
 
Design patterns
Design patternsDesign patterns
Design patternseleksdev
 
14 Patterns pt2
14 Patterns pt214 Patterns pt2
14 Patterns pt2eleksdev
 
13 testing
13 testing13 testing
13 testingeleksdev
 

Viewers also liked (20)

08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOP
 
12 Architecture
12 Architecture12 Architecture
12 Architecture
 
If unit2 summary
If unit2 summaryIf unit2 summary
If unit2 summary
 
#2 integration + ui tests
#2 integration + ui tests#2 integration + ui tests
#2 integration + ui tests
 
Code Practices
Code PracticesCode Practices
Code Practices
 
Unit1 summary
Unit1 summaryUnit1 summary
Unit1 summary
 
sql introduction
sql introductionsql introduction
sql introduction
 
09 advanced c#
09 advanced c#09 advanced c#
09 advanced c#
 
#4 code quality
#4 code quality#4 code quality
#4 code quality
 
C++ Basics
C++ BasicsC++ Basics
C++ Basics
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
 
Sql 04n edited
Sql 04n editedSql 04n edited
Sql 04n edited
 
Advanced C++ concepts
Advanced C++ conceptsAdvanced C++ concepts
Advanced C++ concepts
 
tsql
tsqltsql
tsql
 
SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joins
 
Uml
UmlUml
Uml
 
SQL: Indexes, Select operator
SQL: Indexes, Select operatorSQL: Indexes, Select operator
SQL: Indexes, Select operator
 
Design patterns
Design patternsDesign patterns
Design patterns
 
14 Patterns pt2
14 Patterns pt214 Patterns pt2
14 Patterns pt2
 
13 testing
13 testing13 testing
13 testing
 

Similar to 11 web services

автоматизоване створення й публікація веб ресурсів
автоматизоване створення й публікація веб ресурсівавтоматизоване створення й публікація веб ресурсів
автоматизоване створення й публікація веб ресурсівkissoli
 
Alexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonAlexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonPyCon Odessa
 
ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core ServicesVictor Haydin
 
Pashkov v
Pashkov vPashkov v
Pashkov vgarasym
 
Тема 4. Веб-технології
Тема 4. Веб-технологіїТема 4. Веб-технології
Тема 4. Веб-технологіїgalanet82
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...lisovvolod
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаHelen Pata
 
10 клас.Урок 25. Служби миттєвого обміну повідомленнями
10 клас.Урок 25. Служби миттєвого обміну повідомленнями10 клас.Урок 25. Служби миттєвого обміну повідомленнями
10 клас.Урок 25. Служби миттєвого обміну повідомленнямиStAlKeRoV
 
глобальна мережа Internet
глобальна мережа Internetглобальна мережа Internet
глобальна мережа InternetNatasha Rupsha
 
презентация1
презентация1презентация1
презентация1zhudkova21pgf
 

Similar to 11 web services (20)

вашенюк
вашенюквашенюк
вашенюк
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
Web 2 0
Web 2 0Web 2 0
Web 2 0
 
автоматизоване створення й публікація веб ресурсів
автоматизоване створення й публікація веб ресурсівавтоматизоване створення й публікація веб ресурсів
автоматизоване створення й публікація веб ресурсів
 
Alexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using PythonAlexey Borisenko - Network Programmability using Python
Alexey Borisenko - Network Programmability using Python
 
Технологія Web 2.0
Технологія Web 2.0Технологія Web 2.0
Технологія Web 2.0
 
ASP.Net Core Services
ASP.Net Core ServicesASP.Net Core Services
ASP.Net Core Services
 
Pashkov v
Pashkov vPashkov v
Pashkov v
 
Тема 4. Веб-технології
Тема 4. Веб-технологіїТема 4. Веб-технології
Тема 4. Веб-технології
 
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML.  Форматуванн...
Module_01.pdf (Модуль 1. Вступ до вебтехнологій. Структура HTML. Форматуванн...
 
Web 2
Web 2Web 2
Web 2
 
урок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережаурок 17 9 клас Локальна комп'ютерна мережа
урок 17 9 клас Локальна комп'ютерна мережа
 
10 клас.Урок 25. Служби миттєвого обміну повідомленнями
10 клас.Урок 25. Служби миттєвого обміну повідомленнями10 клас.Урок 25. Служби миттєвого обміну повідомленнями
10 клас.Урок 25. Служби миттєвого обміну повідомленнями
 
Dbase
DbaseDbase
Dbase
 
Internet на урок!
Internet на урок!Internet на урок!
Internet на урок!
 
інтернет 15
інтернет 15інтернет 15
інтернет 15
 
20 internet
20 internet20 internet
20 internet
 
глобальна мережа Internet
глобальна мережа Internetглобальна мережа Internet
глобальна мережа Internet
 
презентация1
презентация1презентация1
презентация1
 

More from eleksdev

Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practiceseleksdev
 
Communication in android
Communication in androidCommunication in android
Communication in androideleksdev
 
Hello android world
Hello android worldHello android world
Hello android worldeleksdev
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentationeleksdev
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors APIeleksdev
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basicseleksdev
 
Frontend basics
Frontend basicsFrontend basics
Frontend basicseleksdev
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 apieleksdev
 
Improving rpc bkp
Improving rpc bkpImproving rpc bkp
Improving rpc bkpeleksdev
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1eleksdev
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...eleksdev
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Roleeleksdev
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Roleeleksdev
 
SDLC. PM Role
SDLC. PM RoleSDLC. PM Role
SDLC. PM Roleeleksdev
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Roleeleksdev
 

More from eleksdev (15)

Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practices
 
Communication in android
Communication in androidCommunication in android
Communication in android
 
Hello android world
Hello android worldHello android world
Hello android world
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
 
Frontend basics
Frontend basicsFrontend basics
Frontend basics
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 api
 
Improving rpc bkp
Improving rpc bkpImproving rpc bkp
Improving rpc bkp
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Role
 
SDLC. PM Role
SDLC. PM RoleSDLC. PM Role
SDLC. PM Role
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 

11 web services

  • 2. Веб сервіси, що це? Реалізація чітких інтерфейсів обміну даними між різноманітними аплікаціями, що можуть бути написані на різних мовах програмування та знаходяться на різних мережевих вузлах.
  • 3. Веб сервіси • Веб сервіси – це класи з набором методів, які є видимі, та можуть викликатися через HTTP протокол • Веб методи – це методи у веб сервісах.
  • 4. Протоколи • SOAP (Simple Object Access Protocol) • REST (Representational State Transfer) • XML-RPC (XML Remote Procedure Call) http://en.wikipedia.org/wiki/List_of_web_service_protocols
  • 6. SOAP POST /InStock HTTP/1.1 Host: www.example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 299 SOAPAction: "http://www.w3.org/2003/05/soap-envelope" <!- -> <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPrice xmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> http://en.wikipedia.org/wiki/SOAP
  • 7. REST Підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів. • Дані повинні передаватися у вигляді невеликої кількості стандартних форматів • Мережевий протокол не повинен зберігати інформацію про стан між парами «запитвідповідь»
  • 9. CRUD Method Url Description GET /book/ Отримати список всіх книг GET /book/3 Отримати книгу номер 3 POST /book/ Додати нову книгу (дані в тілі запиту) PUT /book/3 Змінити книгу номер 3 (дані в тілі запиту) DELETE /book/3 Видалити книгу номер 3
  • 10. Веб сервіс повинен • Не порушувати інкапсуляцію сервера • Використовувати для комунікації власні комунікаційні об’єкти • Не зберігати стан між запитами