SlideShare a Scribd company logo
‫صالح الزٌد‬
‫مهندس برمجٌات‬
‫نقاط المحاضرة‬
         ‫ما هً خدمات الوٌب و لماذا؟‬       ‫‪‬‬
                     ‫أنواعها و تقنٌاتها‬   ‫‪‬‬
                 ‫كٌف ننشئ خدمة وٌب‬        ‫‪‬‬
    ‫الحماٌة فً االتصال بخدمات الوٌب‬       ‫‪‬‬
‫استعراض لخدمات وٌب فٌسبوك وتوٌتر‬          ‫‪‬‬
‫مقدمة عن خدمات الوٌب‬
‫ما هً خدمات الوٌب؟‬
              ‫خدمة أو مجموعة من الخدمات ٌقدمها موقع وٌب‬      ‫‪‬‬
  ‫ٌستطٌع أي موقع أو تطبٌق أخر االتصال بها و االستفادة منها‬   ‫‪‬‬
        ‫تعطً نتائج (ملفات) بصٌغ معٌنة مثل ‪ JSON‬و ‪XML‬‬         ‫‪‬‬
‫باالتصال عن طرٌق البروتوكوالت معروفة ومتداولة (‪)HTTP‬‬         ‫‪‬‬
                              ‫خطوة لتحوٌل موقع لتطبٌق وٌب‬    ‫‪‬‬
‫موقع ٌعرض جامعات ومعلومات الطالب فٌها‬

                                            ‫‪HTTP‬‬

                                                                ‫موقع أو تطبٌق‬
                           ‫أسماء الجامعات‬
                                               ‫‪JSON, XML‬‬




        ‫معلومات طالب‬                               ‫عدد الطالب فً جامعة‬




                            ‫صفحات الموقع‬
‫مواد الطالب فً فصل دراسً‬                     ‫أسماء الطالب فً جامعة‬


                              ‫‪API‬‬
‫لماذا خدمات الوٌب؟‬
               ‫‪ ‬تسهٌل الوصول للبٌانات‬
‫‪ ‬توفٌر جهد معالجة األوامر ووقت برمجتها‬
‫تقنٌات خدمات الوٌب‬
‫تقنٌات خدمات الوٌب‬
                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‬أو ‪XML‬‬
REST
 GET
  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

 POST
 http://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
‫‪JSON‬‬
       ‫)‪JSON (JavaScript Object Notation‬‬                  ‫‪‬‬
‫صٌغة خاصة بالجافا سكربت لتمثٌل البٌانات و الـ ‪Objects‬‬     ‫‪‬‬
     ‫لها صٌغة خاصة فً تحوٌل نصوص الـ ‪Unicode‬‬              ‫‪‬‬
                                                  ‫مثال:‬   ‫‪‬‬
                          ‫كلمة ”الرٌاض“ بالعربٌة ستصبح‬
 ‫6360‪u0627u0644u0631u064au0627u‬‬
http://site.com/api/1.0/students/student_info?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"
                    }
                 ]
}
JSON
  Object ‫ تستطٌع الجافاسكربت قراءة هذه البٌانات مباشرة و تحوٌلها إلى‬
                                                    eval ‫عبر الدالة‬
var obj = eval('(' + result + ')');
alert(obj.name);
alert(obj.age);
alert(obj.courses[0].name);
JSON
        json_decode ‫ عبر الدالة‬Object ‫ و تحوٌلها إلى‬PHP ‫ أو فً الـ‬
<?php
       $result = file_get_contents(
“http://site.com/api/1.0/students/student_info?id=31219209”);

          $obj = json_decode($result);
          echo $obj->name; //should print Ahmed Abdullah

?>
‫‪XML‬‬
            ‫‪XML (Extensible Markup Language) ‬‬
‫‪ ‬صٌغة عامة لتبادل البٌانات مدعومة فً لغات وبٌئات برمجٌة عدة‬
http://site.com/api/1.0/students/student_info?id=31219209

<?xml version="1.0"?>
<student_info>
    <name>Ahmed Abdullah</name>
    <age>21</age>
    <uni>King Saud University</uni>
    <courses>
       <course>
               <name>Mathematical Equations</name>
               <code>MATH101</code>
               <instructor>Yasir Saud</instructor>
       </course>
       <course>
               <name>Islamic Principles</name>
               <code>SLM101</code>
               <instructor>Mohammad Khaled</instructor>
       </course>
    </courses>
</student_info>
‫كٌف ننشئ خدمة وٌب؟‬
‫كٌف تنشئها؟‬
                             ‫‪ ‬قم بعمل مجلد خاص تحت عنوان موقعك‬
                                       ‫/0.1/‪http://site.com/api‬‬
‫‪ ‬قم بعمل ملف ‪ PHP‬لكل خدمة. نبدأ بواحدة (مثال سرد معلومات الطالب)‬
                                        ‫‪list_student_info.php‬‬
http://site.com/api/1.0/list_student_info.php?id=31219209

<?php
        $student_id = $_GET[“id”];
        …
        …
        //get required student info from DB
        //store it in an object or array $student_info
        $student_info->name = “Ahmed Abdullah”;
        $student_info->age = 21;
        …

        //or as array
        $student_info[“name”] = “Ahmed Abdullah”;
        $student_info[“age”] = 25;
        …

        //convert $student_info data to json

        $result = json_encode($student_info);
        echo $result;
?>
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"
                    }
                 ]
}
‫ مرتب؟‬API ‫كٌف تجعل عنوان الـ‬
                                                           ‫ أي بدال من‬
          http://site.com/api/1.0/list_student_info.php?id=31219209
                                                                 ‫إلى‬
         http://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.php‬‬
                                 ‫‪update_student_info.php‬‬
                                  ‫‪delete_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 don’t have enough privileges"}
‫حماٌة المعلومات المتداولة بٌن‬
    ‫خدمة الوٌب والمتصل‬
‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬
                       ‫‪ ‬ماذا لو تطبيقك يتطلب اسم مستخدم وكلمة مرور؟‬
       ‫‪ ‬تزوٌد المتصل برقم سري لالتصال لكل متصل (‪)access token‬‬
‫ٌستخدمه بدال عن استخدام اسم المستخدم و كلمة المرور, وٌستطٌع تغٌٌره أي‬
                                                                 ‫وقت.‬


‫90291213=‪http://site.com/api/1.0/students/student_info?id‬‬
‫‪&access_token=b2Aqj1G91k2smMr6KAmB91a‬‬
‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬
‫‪ ‬ماذا لو تطبيقك يسمح أن يقوم مستخدم بالدخول على معلومات مستخدمين آخرين؟‬
    ‫‪ ‬تزوٌد المتصل برقم سري لكل مستخدم سمح للمتصل بالدخول لمعلوماته‬
                                         ‫(‪)user access token‬‬


‫291213=‪http://site.com/api/1.0/students/delete_student?id‬‬
‫‪09&access_token=b2Aqj1G91k2smMr6KAmB91a&user_a‬‬
‫‪ccess_token=u3ErJk8a93Mna1Lq4E‬‬

                              ‫‪ ‬هذه األسالٌب تعرف بما ٌسمى الـ ‪OAuth‬‬
                                   ‫أو الـ ‪Open Authentication‬‬
‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬
‫‪ ‬تظل المعلومات غٌر محمٌة بشكل كافً عبر االنترنت لذا ٌتم استخدام اتصال‬
           ‫مشفر ‪ 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 Token ‫معلومات األصدقاء؟ تتطلب‬
 https://graph.facebook.com/saleh.alzaid/friends?access_
    token=2227470867|2.AQCFXJ32tkL5nfOr.3600.131031
    3600.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" },
           ……
        ]
}
 خدمات الويب (Web Services) و كيف تنشئها
‫‪ Access Token‬غٌر منتهً؟‬
‫‪ ‬للحصول على ‪ access token‬غٌر منتهً غٌر محدد بفترة زمنٌة ٌجب أن‬
  ‫تقوم بإنشاء تطبٌق على الفٌسبوك ثم طلب ما ٌسمى بالـ ‪offilne access‬‬
 خدمات الويب (Web Services) و كيف تنشئها
<?php
        require("../src/facebook.php"); //facebook PHP API
        global $facebook;
        $facebook = new Facebook(
              array( 'appId' => 'your_app_id',
                     'secret' => 'your_app_secret_code‘
                   )
              );

        $par['req_perms'] = "offline_access";
        $loginUrl = $facebook->getLoginUrl($par);
        echo "loginUrl: $loginUrln";

        $session = $facebook->getSession();
        print_r($session);
?>
‫خدمات وٌب توٌتر‬
       ‫‪ ‬متوفرة على العنوان /‪http://api.twitter.com‬‬
           ‫‪ٌ ‬تطلب تسجٌل تطبٌق ومعلوماته قبل استخدامها‬
‫‪ ‬للحصول على ‪ٌ Access Token‬تم االتصال على الخدمة‬
 ‫‪http://api.twitter.com/oauth/request_token‬‬
          ‫و إعطاءها رقم تطبٌقك السري كمتغٌر ‪POST‬‬
 خدمات الويب (Web Services) و كيف تنشئها
‫مكتبات برمجٌة‬
‫‪ ‬فً الحقٌقة ال حاجة لمعرفة كافة خدمات الوٌب فً موقع معٌن إذا ما قام‬
     ‫بتقدٌم مكتبات برمجٌة تسهل عملٌة طلب الخدمة وإرسال واسترجاع‬
                                                       ‫المعلومات.‬
           ‫‪ ‬مكتبات برمجٌة لخدمات وٌب توٌتر لمعظم اللغات على الرابط‬
                      ‫‪http://dev.twitter.com/pages/libraries‬‬
 خدمات الويب (Web Services) و كيف تنشئها
‫شكرا لكم‬
   ‫‪‬‬
‫‪Q&A‬‬

More Related Content

What's hot

Symfony Best Practices
Symfony Best PracticesSymfony Best Practices
Symfony Best Practices
Baptiste Donaux
 
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slidesSpring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Hitesh-Java
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
ENSET, Université Hassan II Casablanca
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
ENSET, Université Hassan II Casablanca
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
ENSET, Université Hassan II Casablanca
 
Testing in airflow
Testing in airflowTesting in airflow
Testing in airflow
Chandulal Kavar
 
Json Web Token - JWT
Json Web Token - JWTJson Web Token - JWT
Json Web Token - JWT
Prashant Walke
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
seydou4devops
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
Nathaniel Richand
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
Lhouceine OUHAMZA
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
ENSET, Université Hassan II Casablanca
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
Antoine Rey
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
Joshua Long
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Ippon
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
Abdoulaye Dieng
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
ENSET, Université Hassan II Casablanca
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
ENSET, Université Hassan II Casablanca
 
Node Architecture and Getting Started with Express
Node Architecture and Getting Started with ExpressNode Architecture and Getting Started with Express
Node Architecture and Getting Started with Express
jguerrero999
 
Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutes
VMware Tanzu
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
Heithem Abbes
 

What's hot (20)

Symfony Best Practices
Symfony Best PracticesSymfony Best Practices
Symfony Best Practices
 
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slidesSpring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce  Basé sur Spring IOC MVC Security JPA HibernateSite JEE de ECommerce  Basé sur Spring IOC MVC Security JPA Hibernate
Site JEE de ECommerce Basé sur Spring IOC MVC Security JPA Hibernate
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Testing in airflow
Testing in airflowTesting in airflow
Testing in airflow
 
Json Web Token - JWT
Json Web Token - JWTJson Web Token - JWT
Json Web Token - JWT
 
spring-boot-fr.pdf
spring-boot-fr.pdfspring-boot-fr.pdf
spring-boot-fr.pdf
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Node Architecture and Getting Started with Express
Node Architecture and Getting Started with ExpressNode Architecture and Getting Started with Express
Node Architecture and Getting Started with Express
 
Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutes
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 

Viewers also liked

بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة  بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
lunarhalo
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقو
lunarhalo
 
رحلة في السيليكون فالي
رحلة في السيليكون فاليرحلة في السيليكون فالي
رحلة في السيليكون فالي
lunarhalo
 
Webservice for android ppt
Webservice for android pptWebservice for android ppt
Webservice for android ppt
santosh lamba
 
45 ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
45  ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات 45  ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
45 ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
رياض خليفة
 
Web Services PHP Tutorial
Web Services PHP TutorialWeb Services PHP Tutorial
Web Services PHP Tutorial
Lorna Mitchell
 
[Android] Web services
[Android] Web services[Android] Web services
[Android] Web services
Nikmesoft Ltd
 
Introduction to web services
Introduction to web servicesIntroduction to web services
Introduction to web services
Mohammad Tahsin Alshalabi
 
PHP Web service - وب سرویس
PHP Web service - وب سرویسPHP Web service - وب سرویس
PHP Web service - وب سرویس
Parsa Kafi
 
Connecting to Web Services on Android
Connecting to Web Services on AndroidConnecting to Web Services on Android
Connecting to Web Services on Android
sullis
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
guest0df6b0
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
DataNext Solutions
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
Droidcon Eastern Europe
 
بناء خدمات ومشاريع الويب
بناء خدمات ومشاريع الويببناء خدمات ومشاريع الويب
بناء خدمات ومشاريع الويب
lunarhalo
 
Grid computing , Utility computing الحوسبة الشبكية و الخدمية
Grid computing , Utility computing  الحوسبة الشبكية و الخدميةGrid computing , Utility computing  الحوسبة الشبكية و الخدمية
Grid computing , Utility computing الحوسبة الشبكية و الخدمية
Sally Jarkas
 
الويب ديزاين
الويب ديزاينالويب ديزاين
الويب ديزاين
yasmeen_maysara
 
32- التعامل مع الأحداث - فون جاب
32- التعامل مع الأحداث - فون جاب32- التعامل مع الأحداث - فون جاب
32- التعامل مع الأحداث - فون جاب
رياض خليفة
 
PHP Advance 101 دورة
PHP Advance 101 دورة PHP Advance 101 دورة
PHP Advance 101 دورة
anees abu-hmaid
 
Openerp 8
Openerp 8Openerp 8
Openerp 8
smiste
 
باللغة العربية JSON دورة
  باللغة العربية JSON دورة   باللغة العربية JSON دورة
باللغة العربية JSON دورة
anees abu-hmaid
 

Viewers also liked (20)

بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة  بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
بناء تطبيقات ويب 2.0. دروس مستفادة و نصائح موجهة
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقو
 
رحلة في السيليكون فالي
رحلة في السيليكون فاليرحلة في السيليكون فالي
رحلة في السيليكون فالي
 
Webservice for android ppt
Webservice for android pptWebservice for android ppt
Webservice for android ppt
 
45 ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
45  ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات 45  ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
45 ما هي الويب سيرفس وكيفية تبادل البيانات بين الموبايل وقاعدة البيانات
 
Web Services PHP Tutorial
Web Services PHP TutorialWeb Services PHP Tutorial
Web Services PHP Tutorial
 
[Android] Web services
[Android] Web services[Android] Web services
[Android] Web services
 
Introduction to web services
Introduction to web servicesIntroduction to web services
Introduction to web services
 
PHP Web service - وب سرویس
PHP Web service - وب سرویسPHP Web service - وب سرویس
PHP Web service - وب سرویس
 
Connecting to Web Services on Android
Connecting to Web Services on AndroidConnecting to Web Services on Android
Connecting to Web Services on Android
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
Getting Started with Web Services
Getting Started with Web ServicesGetting Started with Web Services
Getting Started with Web Services
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
 
بناء خدمات ومشاريع الويب
بناء خدمات ومشاريع الويببناء خدمات ومشاريع الويب
بناء خدمات ومشاريع الويب
 
Grid computing , Utility computing الحوسبة الشبكية و الخدمية
Grid computing , Utility computing  الحوسبة الشبكية و الخدميةGrid computing , Utility computing  الحوسبة الشبكية و الخدمية
Grid computing , Utility computing الحوسبة الشبكية و الخدمية
 
الويب ديزاين
الويب ديزاينالويب ديزاين
الويب ديزاين
 
32- التعامل مع الأحداث - فون جاب
32- التعامل مع الأحداث - فون جاب32- التعامل مع الأحداث - فون جاب
32- التعامل مع الأحداث - فون جاب
 
PHP Advance 101 دورة
PHP Advance 101 دورة PHP Advance 101 دورة
PHP Advance 101 دورة
 
Openerp 8
Openerp 8Openerp 8
Openerp 8
 
باللغة العربية JSON دورة
  باللغة العربية JSON دورة   باللغة العربية JSON دورة
باللغة العربية JSON دورة
 

Similar to خدمات الويب (Web Services) و كيف تنشئها

أول كتاب لتطوير المنتديات
أول كتاب لتطوير المنتدياتأول كتاب لتطوير المنتديات
أول كتاب لتطوير المنتديات
guestf91808
 
Cloud Computing workshop
Cloud Computing workshopCloud Computing workshop
Cloud Computing workshop
Abbas Badran
 
Métadonnées pédagogiques
Métadonnées pédagogiquesMétadonnées pédagogiques
Métadonnées pédagogiques
zghibi
 
Crossref LIVE Arabic
Crossref LIVE Arabic Crossref LIVE Arabic
Crossref LIVE Arabic
Crossref
 
Navigation
NavigationNavigation
Navigation
Zainab Khallouf
 
Getting Started with Content Registration - Arabic Webinar
Getting Started with Content Registration - Arabic Webinar Getting Started with Content Registration - Arabic Webinar
Getting Started with Content Registration - Arabic Webinar
Crossref
 
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
جامعة القدس المفتوحة
 
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
Eyad Almasri
 
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
Crossref
 
Social Network Website 'Midterm Project'
Social Network Website 'Midterm Project'Social Network Website 'Midterm Project'
Social Network Website 'Midterm Project'
Basel Issmail
 
الدرس الثالث عشر
الدرس الثالث عشرالدرس الثالث عشر
الدرس الثالث عشر
Anas Aloklah
 
الدرس الخامس عشر
الدرس الخامس عشرالدرس الخامس عشر
الدرس الخامس عشر
Anas Aloklah
 
تقرير رسمي لجامعة طنطا
تقرير رسمي لجامعة طنطاتقرير رسمي لجامعة طنطا
تقرير رسمي لجامعة طنطا
digital4itagency
 
منهاج بناء و تصميم مواقع الانترنيت
منهاج بناء و تصميم مواقع الانترنيتمنهاج بناء و تصميم مواقع الانترنيت
منهاج بناء و تصميم مواقع الانترنيت
DrMohammed Qassim
 
Aws cloud services_malshreef_v1.0
Aws cloud services_malshreef_v1.0Aws cloud services_malshreef_v1.0
Aws cloud services_malshreef_v1.0
Mohammed Alshareef
 
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
hossamzee
 

Similar to خدمات الويب (Web Services) و كيف تنشئها (16)

أول كتاب لتطوير المنتديات
أول كتاب لتطوير المنتدياتأول كتاب لتطوير المنتديات
أول كتاب لتطوير المنتديات
 
Cloud Computing workshop
Cloud Computing workshopCloud Computing workshop
Cloud Computing workshop
 
Métadonnées pédagogiques
Métadonnées pédagogiquesMétadonnées pédagogiques
Métadonnées pédagogiques
 
Crossref LIVE Arabic
Crossref LIVE Arabic Crossref LIVE Arabic
Crossref LIVE Arabic
 
Navigation
NavigationNavigation
Navigation
 
Getting Started with Content Registration - Arabic Webinar
Getting Started with Content Registration - Arabic Webinar Getting Started with Content Registration - Arabic Webinar
Getting Started with Content Registration - Arabic Webinar
 
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
 
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
الوحدة الثالثة - البحث عن المعلومات في الانترنت والمصادر الالكترونية -مهارات ...
 
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
تسجيل المحتوي مع كروس رف – ندوة عبر الانترنت باللغة العربية | Content Registr...
 
Social Network Website 'Midterm Project'
Social Network Website 'Midterm Project'Social Network Website 'Midterm Project'
Social Network Website 'Midterm Project'
 
الدرس الثالث عشر
الدرس الثالث عشرالدرس الثالث عشر
الدرس الثالث عشر
 
الدرس الخامس عشر
الدرس الخامس عشرالدرس الخامس عشر
الدرس الخامس عشر
 
تقرير رسمي لجامعة طنطا
تقرير رسمي لجامعة طنطاتقرير رسمي لجامعة طنطا
تقرير رسمي لجامعة طنطا
 
منهاج بناء و تصميم مواقع الانترنيت
منهاج بناء و تصميم مواقع الانترنيتمنهاج بناء و تصميم مواقع الانترنيت
منهاج بناء و تصميم مواقع الانترنيت
 
Aws cloud services_malshreef_v1.0
Aws cloud services_malshreef_v1.0Aws cloud services_malshreef_v1.0
Aws cloud services_malshreef_v1.0
 
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
يوم البرمجيات الحرّة 2014 - البرمجيّات الحرّة و بناء واجهات التطبيق البرمجيّة...
 

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

  • 2. ‫نقاط المحاضرة‬ ‫ما هً خدمات الوٌب و لماذا؟‬ ‫‪‬‬ ‫أنواعها و تقنٌاتها‬ ‫‪‬‬ ‫كٌف ننشئ خدمة وٌب‬ ‫‪‬‬ ‫الحماٌة فً االتصال بخدمات الوٌب‬ ‫‪‬‬ ‫استعراض لخدمات وٌب فٌسبوك وتوٌتر‬ ‫‪‬‬
  • 4. ‫ما هً خدمات الوٌب؟‬ ‫خدمة أو مجموعة من الخدمات ٌقدمها موقع وٌب‬ ‫‪‬‬ ‫ٌستطٌع أي موقع أو تطبٌق أخر االتصال بها و االستفادة منها‬ ‫‪‬‬ ‫تعطً نتائج (ملفات) بصٌغ معٌنة مثل ‪ JSON‬و ‪XML‬‬ ‫‪‬‬ ‫باالتصال عن طرٌق البروتوكوالت معروفة ومتداولة (‪)HTTP‬‬ ‫‪‬‬ ‫خطوة لتحوٌل موقع لتطبٌق وٌب‬ ‫‪‬‬
  • 5. ‫موقع ٌعرض جامعات ومعلومات الطالب فٌها‬ ‫‪HTTP‬‬ ‫موقع أو تطبٌق‬ ‫أسماء الجامعات‬ ‫‪JSON, XML‬‬ ‫معلومات طالب‬ ‫عدد الطالب فً جامعة‬ ‫صفحات الموقع‬ ‫مواد الطالب فً فصل دراسً‬ ‫أسماء الطالب فً جامعة‬ ‫‪API‬‬
  • 6. ‫لماذا خدمات الوٌب؟‬ ‫‪ ‬تسهٌل الوصول للبٌانات‬ ‫‪ ‬توفٌر جهد معالجة األوامر ووقت برمجتها‬
  • 8. ‫تقنٌات خدمات الوٌب‬ SOAP (Simple Object Access Protocol)  WSDL (Web Services Description Language)  UDDI (Universal Description, Discovery and Integration)  REST (Representative State Transfer) 
  • 9. ‫‪REST‬‬ ‫‪ ‬تعتمد على أوامر بروتوكول الـ ‪ HTTP‬االعتٌادٌة وهً:‬ ‫‪GET, POST, PUT, DELETE‬‬ ‫‪ ‬تقوم باسترجاع صفحة بصٌغة ‪ JSON‬أو ‪XML‬‬
  • 10. REST  GET 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  POST http://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
  • 11. ‫‪JSON‬‬ ‫)‪JSON (JavaScript Object Notation‬‬ ‫‪‬‬ ‫صٌغة خاصة بالجافا سكربت لتمثٌل البٌانات و الـ ‪Objects‬‬ ‫‪‬‬ ‫لها صٌغة خاصة فً تحوٌل نصوص الـ ‪Unicode‬‬ ‫‪‬‬ ‫مثال:‬ ‫‪‬‬ ‫كلمة ”الرٌاض“ بالعربٌة ستصبح‬ ‫6360‪u0627u0644u0631u064au0627u‬‬
  • 12. http://site.com/api/1.0/students/student_info?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" } ] }
  • 13. JSON Object ‫ تستطٌع الجافاسكربت قراءة هذه البٌانات مباشرة و تحوٌلها إلى‬ eval ‫عبر الدالة‬ var obj = eval('(' + result + ')'); alert(obj.name); alert(obj.age); alert(obj.courses[0].name);
  • 14. JSON json_decode ‫ عبر الدالة‬Object ‫ و تحوٌلها إلى‬PHP ‫ أو فً الـ‬ <?php $result = file_get_contents( “http://site.com/api/1.0/students/student_info?id=31219209”); $obj = json_decode($result); echo $obj->name; //should print Ahmed Abdullah ?>
  • 15. ‫‪XML‬‬ ‫‪XML (Extensible Markup Language) ‬‬ ‫‪ ‬صٌغة عامة لتبادل البٌانات مدعومة فً لغات وبٌئات برمجٌة عدة‬
  • 16. http://site.com/api/1.0/students/student_info?id=31219209 <?xml version="1.0"?> <student_info> <name>Ahmed Abdullah</name> <age>21</age> <uni>King Saud University</uni> <courses> <course> <name>Mathematical Equations</name> <code>MATH101</code> <instructor>Yasir Saud</instructor> </course> <course> <name>Islamic Principles</name> <code>SLM101</code> <instructor>Mohammad Khaled</instructor> </course> </courses> </student_info>
  • 18. ‫كٌف تنشئها؟‬ ‫‪ ‬قم بعمل مجلد خاص تحت عنوان موقعك‬ ‫/0.1/‪http://site.com/api‬‬ ‫‪ ‬قم بعمل ملف ‪ PHP‬لكل خدمة. نبدأ بواحدة (مثال سرد معلومات الطالب)‬ ‫‪list_student_info.php‬‬
  • 19. http://site.com/api/1.0/list_student_info.php?id=31219209 <?php $student_id = $_GET[“id”]; … … //get required student info from DB //store it in an object or array $student_info $student_info->name = “Ahmed Abdullah”; $student_info->age = 21; … //or as array $student_info[“name”] = “Ahmed Abdullah”; $student_info[“age”] = 25; … //convert $student_info data to json $result = json_encode($student_info); echo $result; ?>
  • 20. 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" } ] }
  • 21. ‫ مرتب؟‬API ‫كٌف تجعل عنوان الـ‬ ‫ أي بدال من‬ http://site.com/api/1.0/list_student_info.php?id=31219209 ‫إلى‬ http://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]
  • 22. ‫ماذا عن تعدٌل بٌانات عن طرٌق خدمة الوٌب؟‬ ‫‪ ‬ما قمنا باستعراضه هو جلب بٌانات فقط. ماذا عن تعدٌل بٌانات؟ (حذف,‬ ‫إضافة, تعدٌل)؟‬ ‫‪ ‬نفس الفكرة نقوم بعمل صفحات باسم مثال‬ ‫‪add_new_student.php‬‬ ‫‪update_student_info.php‬‬ ‫‪delete_student_info.php‬‬ ‫‪ ‬نقوم بإعطاء المعلومات الجدٌدة كنص ‪ JSON‬أو قٌم مباشرة إذا كانت‬ ‫المعلومات قلٌلة‬
  • 23. ‫إضافة معلومات جدٌدة‬ 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 don’t have enough privileges"}
  • 24. ‫حماٌة المعلومات المتداولة بٌن‬ ‫خدمة الوٌب والمتصل‬
  • 25. ‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬ ‫‪ ‬ماذا لو تطبيقك يتطلب اسم مستخدم وكلمة مرور؟‬ ‫‪ ‬تزوٌد المتصل برقم سري لالتصال لكل متصل (‪)access token‬‬ ‫ٌستخدمه بدال عن استخدام اسم المستخدم و كلمة المرور, وٌستطٌع تغٌٌره أي‬ ‫وقت.‬ ‫90291213=‪http://site.com/api/1.0/students/student_info?id‬‬ ‫‪&access_token=b2Aqj1G91k2smMr6KAmB91a‬‬
  • 26. ‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬ ‫‪ ‬ماذا لو تطبيقك يسمح أن يقوم مستخدم بالدخول على معلومات مستخدمين آخرين؟‬ ‫‪ ‬تزوٌد المتصل برقم سري لكل مستخدم سمح للمتصل بالدخول لمعلوماته‬ ‫(‪)user access token‬‬ ‫291213=‪http://site.com/api/1.0/students/delete_student?id‬‬ ‫‪09&access_token=b2Aqj1G91k2smMr6KAmB91a&user_a‬‬ ‫‪ccess_token=u3ErJk8a93Mna1Lq4E‬‬ ‫‪ ‬هذه األسالٌب تعرف بما ٌسمى الـ ‪OAuth‬‬ ‫أو الـ ‪Open Authentication‬‬
  • 27. ‫حماٌة المعلومات المتداولة بٌن الخدمة والمتصل‬ ‫‪ ‬تظل المعلومات غٌر محمٌة بشكل كافً عبر االنترنت لذا ٌتم استخدام اتصال‬ ‫مشفر ‪ HTTPS‬عادة فً خدمات الوٌب ذات البٌانات الحساسة‬
  • 28. ‫استعراض خدمات وٌب‬ ‫فٌسبوك وتوٌتر‬
  • 29. ‫خدمات وٌب فٌسبوك‬ 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" }
  • 30. Access Token ‫معلومات األصدقاء؟ تتطلب‬  https://graph.facebook.com/saleh.alzaid/friends?access_ token=2227470867|2.AQCFXJ32tkL5nfOr.3600.131031 3600.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" }, …… ] }
  • 32. ‫‪ Access Token‬غٌر منتهً؟‬ ‫‪ ‬للحصول على ‪ access token‬غٌر منتهً غٌر محدد بفترة زمنٌة ٌجب أن‬ ‫تقوم بإنشاء تطبٌق على الفٌسبوك ثم طلب ما ٌسمى بالـ ‪offilne access‬‬
  • 34. <?php require("../src/facebook.php"); //facebook PHP API global $facebook; $facebook = new Facebook( array( 'appId' => 'your_app_id', 'secret' => 'your_app_secret_code‘ ) ); $par['req_perms'] = "offline_access"; $loginUrl = $facebook->getLoginUrl($par); echo "loginUrl: $loginUrln"; $session = $facebook->getSession(); print_r($session); ?>
  • 35. ‫خدمات وٌب توٌتر‬ ‫‪ ‬متوفرة على العنوان /‪http://api.twitter.com‬‬ ‫‪ٌ ‬تطلب تسجٌل تطبٌق ومعلوماته قبل استخدامها‬ ‫‪ ‬للحصول على ‪ٌ Access Token‬تم االتصال على الخدمة‬ ‫‪http://api.twitter.com/oauth/request_token‬‬ ‫و إعطاءها رقم تطبٌقك السري كمتغٌر ‪POST‬‬
  • 37. ‫مكتبات برمجٌة‬ ‫‪ ‬فً الحقٌقة ال حاجة لمعرفة كافة خدمات الوٌب فً موقع معٌن إذا ما قام‬ ‫بتقدٌم مكتبات برمجٌة تسهل عملٌة طلب الخدمة وإرسال واسترجاع‬ ‫المعلومات.‬ ‫‪ ‬مكتبات برمجٌة لخدمات وٌب توٌتر لمعظم اللغات على الرابط‬ ‫‪http://dev.twitter.com/pages/libraries‬‬
  • 39. ‫شكرا لكم‬ ‫‪‬‬ ‫‪Q&A‬‬