Kamis, 10 Oktober 2019

PENGENALAN WEB SERVICE DAN TUTORIAL MEMBUAT SIMPLE PHP SERVICE


Pada kesempatan kali ini kita akan membahas tentang Web Service dan Tutorial membuat Simple PHP Service. Hayu Meluncurrr!!!





Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya. Manfaat Web Service, diantaranya: Web service dapat digunakan sebagai salah satu alternatif dalam pengembangan aplikasi N-tier, dimana dipisahkan antara server database, aplikasi dan client.

Keuntungan yang didapat dari penerapan web service yaitu:
1. Dengan format XML yang telah menjadi salah satu standar pertukaran data, penggunaan web service akan banyak memudahkan untuk pertukaran data dalam berbagai sistem dengan berbeda platform. Apabila kita membuat web service dengan teknologi Java, maka fungsi-fungsi yang ada dalam web service tersebut dapat kita baca dengan menggunakan sistem lain yang berbeda sama sekali dari Java, misalkan menggunakan .Net ataupun PHP.
2. Web service di support oleh pemain utama dalam dunia TI seperti Microsoft (NET), SUN (Open Net Environment – ONE), IBM (Web Service Conceptual Architecture – WSCA), W3C (Web Service Workshop), Oracle (Web Service Broker), Hewlett-Packard (Web Service Platform).
3. Dalam penerapan N-tier, untuk layer bisnis atau apllication logic dapat diterapkan dengan web service, sehingga di sisi client kita tidak direpotkan dengan instalasi layer bisnis seperti halnya dll, corba, atau jenis yang lain. Dengan web service, method atau function yang telah kita buat dapat dipergunakan berulang kali bahkan untuk keperluan aplikasi yang berbeda (reusable function). Penerapan lebih jauh dari web service adalah Service Oriented Architecture (SOA) dengan web service sebagai dasarnya.
4. Web service dibangun berdasarkan text base document dengan format XML, sehingga untuk komunikasi data relatif lebih ringan dibandingkan dengan aplikasi yang mengakses langsung database melalui suatu jaringan. Apabila kita menerapkan web service untuk aplikasi yang menggunakan desktop application based, kita tidak perlu melakukan instalasi konektor database seperti misalnya menggunakan ODBC, OLEDB, ataupun jenis data provider lain. Dengan jumlah client yang cukup banyak, tentunya akan sangat merepotkan apabila kita harus melakukan instalasi satu persatu untuk konektor database. Dengan menggunakan web service kita cukup menambahkan web service reference di client, sedangkan untuk koneksi databasenya hanya perlu dilakukan di server web servicenya.
5. Komunikasi data melalui web service dilakukan melalui http atau Internet protocol terbuka lainnya. Hal ini sangat memudahkan karena protocol tersebut adalah protocol yang umum dipakai.
Arsitektur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu:
1. Service Requester (peminta layanan)
2. Service Provider (penyedia layanan)
4. Service Registry (daftar layanan)
>> Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
>> Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.
>> Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.
Operasi-Operasi Web Service
Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:
1. Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.
2. Find: Service requestor mencari dan menemukan layanan yang dibutuhkan.
3. Bind: Service requestor setelah menemukan layanan yang dicarinya, kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider.

Tutorial membuat php service:
1. Buat file di C:\xampp\htdocs\  dan berikan nama untuk file tersebut
2. Lalu buat file index.php dengan mengetikan code berikut :

<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
require __DIR__."/core/Bootstrap.php";
?>

3. Buat folder baru dengan nama config dan buat file bernama  routes.php dan ketikan code sebagai berikut :

<?php
$routes = [
'/users' => 'Users.php',
'/' => 'Home.php',
];
?>

4.  buat folder baru dengan nama controller dan buat file bernama  Home.php dan ketikan code sebagai berikut : 

<?php
$url =$_SERVER['REQUEST_URI'];
//if use folder path
$urlArr = explode("index.php", $url);
if (count ($urlArr)>= 2) {
$url =$urlArr[1];
}
//if use php - s localhost :8000
if (strpos($url,"/")!== 0) {
$url = "/$url";
}
// untuk mengahandele url /
if ($url == '/' && $_SERVER['REQUEST_METHOD'] == 'GET') {
echo json_encode(array('service_name' => 'PHP Service App ', 'status' => 'Running' ));
}
?>

 5.  buat folder baru dengan nama controller dan buat file bernama Users.php dan ketikan code sebagai berikut dengan catatan field data user di sini bebas untuk anda ganti dengan data yang anda inginkan: 

<?php
$url =$_SERVER['REQUEST_URI'];
//if use folder path
$urlArr = explode("index.php", $url);
if (count ($urlArr)>= 2) {
$url =$urlArr[1];
}
//if use php - s localhost :8000
if (strpos($url,"/")!== 0) {
$url = "/$url";
}
// untuk mengahandele url /
if ($url == '/users' && $_SERVER['REQUEST_METHOD'] == 'GET') {
$users = array (
 array('id' =>1 ,'name' =>'Sumatrana' ,'email' =>'sumaratna@gmail.com' , 'adress' => 'Padang' , 'gender' =>'laki-laki' ),
  array('id' =>2 ,'name' =>'Jawarianto' ,'email' =>'jawarianto@gmail.com' , 'adress' => 'Cimahi' , 'gender' =>'laki-laki' ),
   array('id' =>3 ,'name' =>'Kalimantanio' ,'email' =>'kalimantanio@gmail.com' , 'adress' => 'Samarinda' , 'gender' =>'laki-laki' ),
    array('id' =>4 ,'name' =>'Sulawesiani' ,'email' =>'sulawesiani@gmail.com' , 'adress' => 'Makasar' , 'gender' =>'Perempuan' ),
     array('id' =>5 ,'name' =>'Papuani' ,'email' =>'papuani@gmail.com' , 'adress' => 'Jayapura' , 'gender' =>'Perempuan' ),
);
echo json_encode($users);
}

6. buat folder baru dengan nama core dan buat file bernama Bootstrap.php dan ketikan code sebagai berikut: 

<?php
require __DIR__.'/Router.php';
require __DIR__.'/../config/Routes.php';

$router = new Router;
$router->setRoutes($routes);

$url = $_SERVER['REQUEST_URI'];
require __DIR__."/../controller/".$router->getFilename($url);

?>

 7. buat folder baru dengan nama core dan buat file bernama Router.php dan ketikan code sebagai berikut: 

?php
class Router{
private $routes = [];
function setRoutes(Array $routes){
$this->routes = $routes;
}
function getFilename(string $url){
foreach ($this->routes as $route => $file) {
if (strpos($url, $route) !== false) {
return $file;
}
}
}
}
?>

 8. kemudian xampp atau wamp dan aktifkan appache untuk kemudian kita coba simple php service nya


9.kemudian kalian buka browser dan ketikan  localhost/php-service-app/index.php maka tampil seperti berikut :


Dan selesai :)

Tidak ada komentar:

Posting Komentar