Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Webszolgáltatások PHP-ben

Hasonló előadás


Az előadások a következő témára: "Webszolgáltatások PHP-ben"— Előadás másolata:

1 Webszolgáltatások PHP-ben
Dr. Alvarez Gil Rafael főiskolai docens Kecskeméti Főiskola, GAMF Kar, Informatika Tanszék

2 Webszolgáltatások 1999: a Hewlett-Packard bevezette a köztudatba a webszolgáltatások elvét (e- Speak) 2000: a Microsoft bevezeti a webszolgáltatás (web service) kifejezést a kezdeti .NET és internetes szoftverfejlesztés kulcselemeként Ma: szinte minden vezető szoftvergyártó árulja a webszolgáltatásokhoz kapcsolódó szoftvereszközöket és alkalmazásokat

3 Webszolgáltatások Alapkoncepciója az RPC (Remote Procedure Call) Új elem a platformfüggetlen szabványok használata, XML-re épülő technológia Megvalósítási elemek elrejtése a kliens alkalmazás elől Működésük az internetre jellemző heterogén környezetben is garantált

4 Emberközpontú Web HTTP válasz HTML oldallal HTTP GET Webszerver
Webböngésző

5 Alkalmazásközpontú Web
Webszolgáltatások alkalmazásával XML válasz Alkalmazás XML kérés Webszerver Más alkalmazások

6 Üzleti alkalmazások Webszolgáltatások Webalkalmazások (üzleti logika)
Más (pl. Windows) alkalmazás Adatbázisok

7 Webszolgáltatások protokolljai
Szolgáltatás-átvitel: HTTP XML alapú üzenetkezelés: SOAP (Simple Object Acces Protocoll) Szolgáltatás XML alapú leírása: WSDL (Web Services Description Language) Szolgáltatás felkutatása: UDDI (Universal Description, Discovery and Integration)

8 Webszolgáltatások PHP-ben
A legelterjedtebb könyvtár PHP-re: NuSOAP PHP osztályokat tartalmaz SOAP szolgáltatások létrehozásához és alkalmazásához. PHP 5-ben megjelent egy kiterjesztés SOAP szerverek és kliensek létrehozására KÍSÉRLETI JELLEGGEL. Ez azt jelenti, hogy minden dokumentált működés, beleértve a függvények nevét, működését vagy bármi más, amit a kiterjesztés kapcsán szerepel megváltozhat egy későbbi PHP kiadásban minden figyelmeztetés nélkül.

9 Webszolgáltatások PHP-ben NuSOAP SOAP szerver
//Szolgáltatás, amely adatbázisból ad vissza egy árat function lookup($ISBN){ if ($connect = mysql_connect("localhost", "root", "mysql")); else { return -2; } mysql_query('SET CHARACTER SET latin2',$connect); if (mysql_select_db("books")); else { return -3; } $query = "select price from books where isbn = '".$ISBN."'"; if ($result = mysql_query($query, $connect)); else { return -4; } if(! $row = mysql_fetch_array($result)) return -1; $price = $row['price']; if($price == 0) { return -5; } return $price; }

10 Webszolgáltatások PHP-ben NuSOAP SOAP szerver
//SOAP osztályok beillesztése require_once("nusoap.php"); //szerver objektum létrehozása $server = new soap_server(); //A szolgáltatás regisztrálása $server -> register("lookup"); //A válasz, mint SOPAP válasz küldése a HTTP-n $server->service($HTTP_RAW_POST_DATA); ?>

11 Webszolgáltatások PHP-ben NuSOAP SOAP kliens
// A SOAP osztályok beillesztése require_once('nusoap.php'); $certificaterequired = false; // Kliens objektum definiálása $client = new soapclient('http://localhost/pelda/book.wsdl', true); // Paramétertömb definiálása az ISBN-számhoz $param = array('isbn'=>' '); // Hívás $price = $client->call('lookup',$param); if ($price < -1) { print "Hiba: ". $price;} else if ($price == -1) {print "A könyv nem található az adatbázisban.";} else {print "A ". $param['isbn'] ." számú könyv ára: ". $price ."Ft";} unset($client); ?>

12 Webszolgáltatások PHP-ben Szolgáltatás leírása (WSDL)
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://localhost/pelda/" targetNamespace="http://localhost/pelda/"> <types> <xsd:schema targetNamespace="http://localhost/pelda/" xmlns:ns1="http://localhost/pelda/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <xsd:complexType name="tesztParams"> <xsd:all> <xsd:element name="string" type="xsd:string"/> </xsd:all> </xsd:complexType> <xsd:element name="tesztParams" type="ns1:tesztParams"/> </xsd:schema> </types>

13 Webszolgáltatások PHP-ben Szolgáltatás leírása (WSDL)
<message name="tesztRequest"> <part name="isbn" type="xs:string"/> </message> <message name="tesztResponse"> <part name="return" type="xs:integer"/> <portType name="tesztPort"> <operation name="lookup"> <input name="tesztRequest" message="tns:tesztRequest"/> <output name="tesztResponse" message="tns:tesztResponse"/> </operation> </portType>

14 Webszolgáltatások PHP-ben Szolgáltatás leírása (WSDL)
<binding name="tesztBinding" type="tns:tesztPort"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="lookup"> <input> <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/pelda/"/> </input> <output> </output> </operation> </binding> <service name="tesztService"> <port name="tesztPort" binding="tns:tesztBinding"> <soap:address location="http://localhost/pelda/book.php"/> </port> </service> </definitions>


Letölteni ppt "Webszolgáltatások PHP-ben"

Hasonló előadás


Google Hirdetések