خدمات الويب (web services) و كيف تنشئها

39
ب ي و ل ا دمات خ( Web Services ) ها ئ ش ن ت ف ي ك و د ي ز ل حا ل صا ات$ ي ج م ر ب دس ن ه م

Upload: fausta

Post on 22-Mar-2016

149 views

Category:

Documents


7 download

DESCRIPTION

خدمات الويب (Web Services) و كيف تنشئها . صالح الزيد مهندس برمجيات. نقاط المحاضرة. ما هي خدمات الويب و لماذا؟ أنواعها و تقنياتها كيف ننشئ خدمة ويب الحماية في الاتصال بخدمات الويب استعراض لخدمات ويب فيسبوك وتويتر. مقدمة عن خدمات الويب. ما هي خدمات الويب؟. - PowerPoint PPT Presentation

TRANSCRIPT

(Web Services)

(Web Services)

() JSON XML (HTTP)

API

HTTPJSON, XML 1 : 2 : 6 SOAP (Simple Object Access Protocol)WSDL (Web Services Description Language)UDDI (Universal Description, Discovery and Integration)REST (Representative State Transfer)

REST HTTP :GET, POST, PUT, DELETE JSON XMLRESTGET http://site.com/api/1.0/students/list?uni=ksu

GET /api/1.0/students/list?uni=ksu HTTP/1.1 Host: www.site.com User-Agent: Mozilla/4.0

POSThttp://site.com/api/1.0/students/list

POST /api/1.0/students/list HTTP/1.1 Host: www.site.com User-Agent: Mozilla/4.0 uni=ksu JSONJSON (JavaScript Object Notation) Objects Unicode: \u0627\u0644\u0631\u064a\u0627\u0636

{ "name": "Ahmed Abdullah", "age": 21, "uni": "King Saud University", "courses": [ { "name": "Mathematical Equations","code": "MATH101","insturctor": "Yasir Saud" }, { "name": "Islamic Principles","code": "SLM101","insturctor": "Mohammad Khaled" } ]}

http://site.com/api/1.0/students/student_info?id=31219209 JSON Object eval

var obj = eval('(' + result + ')');alert(obj.name);alert(obj.age);alert(obj.courses[0].name); JSON PHP Object json_decode

XMLXML (Extensible Markup Language)

Ahmed Abdullah21King Saud UniversityMathematical EquationsMATH101Yasir SaudIslamic PrinciplesSLM101Mohammad Khaled

http://site.com/api/1.0/students/student_info?id=31219209 http://site.com/api/1.0/ PHP . ( )list_student_info.php

http://site.com/api/1.0/list_student_info.php?id=31219209{ "name": "Ahmed Abdullah", "age": 21, "uni": "King Saud University", "courses": [ { "name": "Mathematical Equations","code": "MATH101","insturctor": "Yasir Saud" }, { "name": "Islamic Principles","code": "SLM101","insturctor": "Mohammad Khaled" } ]}

http://site.com/api/1.0/list_student_info.php?id=31219209 API http://site.com/api/1.0/list_student_info.php?id=31219209http://site.com/api/1.0/students/student_info?id=31219209 Apache Mod-Rewrite (htaccess redirect)

RewriteRule ^api/1.0/students/student_info$ /api/1.0/list_student_info.php [L] . (, , ) add_new_student.phpupdate_student_info.phpdelete_student_info.php JSON

: add_new_student.php

http://site.com/api/1.0/students/add_new_student?data={" name" : "Yazeed Saleh", "age: 25, . }{"result":"success"}{"result":"fail", "reason":"You dont have enough privileges"} (access token) , .

http://site.com/api/1.0/students/student_info?id=31219209&access_token=b2Aqj1G91k2smMr6KAmB91a (user access token)

OAuth Open Authenticationhttp://site.com/api/1.0/students/delete_student?id=31219209&access_token=b2Aqj1G91k2smMr6KAmB91a&user_access_token=u3ErJk8a93Mna1Lq4E HTTPS

https://graph.facebook.com access token : https://graph.facebook.com/saleh.alzaid

{ "id": "635286979", "name": "Saleh Al-Zaid", "first_name": "Saleh", "last_name": "Al-Zaid", "username": "saleh.alzaid", "gender": "male", "locale": "en_US" } Access Tokenhttps://graph.facebook.com/saleh.alzaid/friends?access_token=2227470867|2.AQCFXJ32tkL5nfOr.3600.1310313600.0-635286979|pYLUc8sTmom0GsNu4tPs6MYj7IU

{ "data": [ { "name": "Bander Alnogaithan", "id": "28969" }, { "name": "Abdulrahman Tarbzouni", "id": "701168" }, { "name": "Yamen S. Al-Hajjar", "id": "902805" }, { "name": "Dale D. Murphy", "id": "1408770" }, { "name": "Rashaad Balbale", "id": "1907343" }, { "name": "Fahad Albutairi", "id": "7918116" }, ]}

Access Token access token offilne access