58
LOGO ng dng phân tán – Xây dng UD Web Web API GV: Nguyễn Trường Sơn

10 UDPT - Web API

Embed Size (px)

DESCRIPTION

Web API PHP

Citation preview

  • LOGO

    ng dng phn tn Xy dng UD Web

    Web API

    GV: Nguyn Trng Sn

  • Ni dung

    Gii thiu Cc loi Web API:

    RESTful API SOAP API

    Lp trnh Web API: RESTful API SOAP API

    JSON, JSON & PHP, JSON & Javascript, 2

  • Gii thiu

    Web API l g ? Cc chc nng/phng thc c thc hin qua internet WEB API = WEB SERVICE

    c im: S dng giao thc HTTP S dng mt s ngn ng nh du m t ni dung d liu trao

    i cng nh cc thng ip truyn i: JSON, XML. c nh danh thng qua URL (Uniform Resource Locason) c lp nn tng, ngn ng lp trnh

    ng dng: L mt k thut xy dng ng dng phn tn: cc ng dng trn

    mng internet c th trao i thng sn (tng tc) vi nhau. Hoc mt ng dng c tng hp t cc Web API: mashup

  • C ch hot ng ca Web API

    HTTP Request Message

    HTTP Response Message

    Client Server HTTP GET message

    HTTP POST message

  • HTTP POST & HTTP GET

    GET /path/script.php?a=1&b=2 HTTP/1.0

    POST /path/sum.php HTTP/1.0 From: [email protected] User-Agent: HTTPTool/1.0 Content-Type: applicason/x-www-form-urlencoded Content-Length: 7 a=1&b=2

  • 2 loi Web API: RESTful Web Service

    RESTful Web Service: S dng cc ngn ng nh du (JSON, XML) m t kiu d liu,

    cc i tng truyn nhn. Tuy nhin Khng c giao thc chun. Khng c ti liu m t web Web API.

    S phn phi v s dng cc Resul web service ph thuc vo cc ti liu hng dn ca t chc (nh cung cp web service).

    S dng n gin: Khng cn th vin, cng c. Ch s dng giao thc truyn d liu bnh thng ging nh 1 trang web (HTTP).

  • 2 loi Web API: SOAP-base Web Service

    SOAP-base Web Service: S dng HTTP truyn v nhn cc thng ip S dng giao thc SOAP m t thng ip, kiu d liu truyn

    nhn: SOAP request, SOAP response C ti liu m t cc Web Serivce (Cc phng thc, kiu d liu,

    tham s, ..) S dng cng c/ th vin gi thc hin. Hoc gi thc hin theo kiu ca RESTful Service nhng phc tp.

  • RESTful v SOAP-base Web Service

    The main advantages of REST web services are: Kch thc nh (c th s dng JSON thay v XML) Human Readable Results D to, d s dng, khng cn cng c i km

    SOAP also has some advantages: D s dng c t cht ch: Kiu d liu, M t web service

  • SOAP-base Web Service: SOAP

    What is SOAP? SOAP stands for Simple Object Access Protocol SOAP is a communica_on protocol SOAP is for communica_on between applica_ons SOAP is a format for sending messages SOAP communicates via Internet SOAP is plaaorm independent SOAP is language independent SOAP is based on XML SOAP is simple and extensible SOAP allows you to get around rewalls SOAP is a W3C recommendason

  • SOAP: SOAP Request

    SOAP Request & SOAP Response l nhng thng ip da vo HTTP POST

  • SOAP: SOAP Response

  • SOAP-base Web Service: WSDL

    WSDL: WSDL: Web Service Descripson Language M t thng sn v webservice:

    a ch Cc kiu d liu Cc phng thc: tn, danh sch tham s

    c vit bng ngn ng XML

  • LOGO

    Lp trnh SOAP-base Web Service vi

    - php_soap - nuSOAP

  • Lp trnh WS vi php_soap extension

    S dng php_soap extension To web service

    Lp SoapServer addFuncson Handle

    S dng web service Lp SoapClient

    __call __soapCall SoapParam

    c im: Khng c WSDL

    client

    server

  • Lp trnh WS vi php_soap extension

    V D 1: XY DNG 2 HM WEBSERVICE echoo v add

    client

    server

  • Lp trnh WS vi php_soap extension

    V D 1: XY DNG CLIENT S DNG 2 HM WEBSERVICE echoo v add

  • Lp trnh WS vi nuSOAP

    S dng th vin nuSOAP To Web service:

    Lp soap_server congureWSDL register service

    S dng web service Lp nusoap_client

    nusoap_client call

    C to ra ti liu WSDL

    new confureWSDL register service

    new call

    client

    server

  • Xy dng Web service vi NuSOAP

    V D 2: XY DNG HM WEBSERVICE Hello v Sum S DNG nuSOAP

  • Lp trnh WS vi nuSOAP To WS

    Kt qu thc thi chng trnh: V D 2: XY DNG WEBSERVICE Hello v Sum S DNG nuSOAP

  • WSDL V D 2: XY DNG WEBSERVICE Hello v Sum S DNG nuSOAP

  • Xy dng Web service vi NuSOAP Webservice Client - call SUM service S th nht: S th hai:
  • Xy dng Web service vi NuSOAP Name :
  • Client

    callHello.php

    callSum.php

    V D 2: XY DNG CLIENT S DNG HM WEBSERVICE Hello v Sum

  • V D 3: XY DNG HM WEBSERVICE Search DNG nuSOAP thc hin m kim trn CSDL

  • WSDL V D 3: XY DNG HM WEBSERVICE Search DNG nuSOAP thc hin m kim trn CSDL

  • Name :
  • V D 3 V D 3: XY DNG CLIENT (callSearch.php)S DNG HM WEBSERVICE Search

  • LOGO

    Lp trnh RESTful Web Service vi

    - php_curl - json

  • php_curl

    CURL: Th vin cho php to v gi thc hin nhng HTTP Request: Ly ni

    dung trang web, gi thc hin nhng Web API Enable PHP Extension: php_curl

    HTTP Request Message

    HTTP Response Message

    Client Server

  • V d: Ly ni dung trang web bng CURL

  • JSON

    JSON = JavaScript Object Notason Mt s c im:

    Ngn ng trao i thng sn: JSON l mt ngn ng nh du s dng truyn nhn cc i tng trn mi trng internet.

    nh dng vn bn c lp ngn ng T m t

    So snh JSON v XML u l ngn ng trao i thng sn vn bn. Tp sn JSON c kch thc nh hn XML, Parser nhanh hn v d hn JSON c ch hp sn trong ngn ng Javascript, c th khai bo cc

    i tng Javascript s dng JSON.

  • JSON & XML

    Much Like XML JSON is plain text JSON is "self-describing" (human readable) JSON is hierarchical (values within values) JSON can be parsed by JavaScript JSON data can be transported using AJAX

    Much Unlike XML No end tag Shorter Quicker to read and write Can be parsed using built-in JavaScript eval() Uses arrays No reserved words

  • Why JSON ?

    For AJAX applicasons, JSON is faster and easier than XML: Using XML

    Fetch an XML document Use the XML DOM to loop through the document Extract values and store in variables

    Using JSON Fetch a JSON string eval() the JSON string

  • C php JSON

    C php ngha name=value M t d liu

    v name: t trong cp du " " v value:

    S Chui (t trong cp du " ") Nh phn (true /false) Mng (t trong cp du [ ]) i tng (t trong cp du { }) Null

    , Phn tch d liu v cc thnh phn ca mng {} nh ngha mt i tng JSON [] nh ngha mng cc gi tr hoc i tng JSON

  • C php JSON

    V d 1: JSON object { "rstName":"John" , "lastName":"Doe" }

    V d 2: JSON array { "employees": [

    { "rstName":"John" , "lastName":"Doe" } , { "rstName":"Anna" , "lastName":"Smith" } , { "rstName":"Peter" , "lastName":"Jones" } ]

    }

    V d 3: {

    "name": { "rst":"John", "last":"Adams"} , "age":"40"

    }

  • C php JSON

    V d 4: {"person":[

    {"name":{"rst":"John","last":"Adams"}, "age":"40"

    }, {"name":{"rst":"Thomas","last":"Jeerson"}, "age":"35" } ]

    }

  • JSON Parser - PHP

    S dng json_decode chuyn mt chui JSON sang i tng JSON

  • JSON Parser - PHP

  • JSON Parser - PHP

  • JSON Parser - PHP
  • JSON Parser - PHP

    S dng json_encode() chuyn mt i tng sang mt chui JSON

    M ngun:

    Kt qu: {"a":1,"b":2,"c":3,"d":4,"e":5}

  • VD Xy dng REST API vi PHP & JSON

    M ngun: JSON_ListOfNhanVien.php

    Web API Server

  • VD Xy dng REST API vi PHP & JSON

    hp://localhost/DemoWebAPI/JSON_Database/00JSONAPI/JSON_ListOfNhanVien.php

  • VD S dng REST API vi PHP & JSON

    M ngun: JSON_ViewListOfNhanVien.php

  • VD S dng Twier Search REST API

    Tm kim vi t kha hello, ly 100 kt qu u sn Twier API: hp://search.twier.com/search.json?q=hello&rpp=100 Kt qu:

  • V d S dng Twier Search REST API

  • JSON Parser - JavaScript

    V d 1: Khai bo JSON array v truy xut

  • JSON Parser - JavaScript

    V d 2: To JSON object t JSON string Hm eval: Chuyn 1 JSON String JSON object

  • JSON Parser - JavaScript

    V d 3: Truy xut cc thnh phn ca Json Object

  • JSON Parser - JavaScript

    V d 4: Truy xut cc thnh phn ca Json Object

  • JSON Parser - JavaScript

    V d 5: Convert JSON object to String

  • S dng AJAX & JSON

    funcson showResult() { if(xmlHp.readyState == 4 && xmlHp.status == 200) { var kq = xmlHp.responseText; var jSONObject = eval("(" + kq + ")"); document.getElementById("MaNV").innerHTML = jSONObject.MaNV; document.getElementById("HoTen").innerHTML = jSONObject.HoTen; document.getElementById("NgaySinh").innerHTML = jSONObject.NgaySinh; document.getElementById("DiaChi").innerHTML = jSONObject.DiaChi; document.getElementById("Phai").innerHTML = jSONObject.Phai; document.getElementById("Luong").innerHTML = jSONObject.Luong; document.getElementById("Phong").innerHTML = jSONObject.Phong;

    } }

  • Tm tt

    2 loi Web API SOAP-base Web service RESTfull Web service

    2 cch s dng: Ti WEB Server

    Ti Client (Trnh duyt): AJAX

  • Ti liu tham kho

    Pro PHP XML and Web Services

    RESTful Web Services

    www.google.com

  • LOGO

    Bi tp

  • Bi tp: SearchPortal

    WSCompanyA

    Webservice: Search (string keyword)

    WSCompanyB Webservice: DataSet Search (string keyword)

    WSCompanyDBA

    WSCompanyDBB

    SearchPortal

    Index.php

    .

    .

    . WSCompanyN

    Webservice: DataSet Search (string keyword)

    WSCompanyDBN

    Default: Tm kim nhn vin trn cc h thng con WSCompanyX v hin th kt qu m kim tng hp Danh sch cc WS h thng con c lu trong CSDL

    SearchPortalDB

    ID WSURL COMPANY

    A

    B

    MANV HoTen

  • Bi tp: SearchPortal

    SearchPortal

    T kha:

    Kt qu:

    MANV H TN COMPANY

    A

    B