Belajar mengenai WWW, Web Service, Rest API

1. Pengertian World Wide Web (WWW)

World Wide Web (WWW) adalah suatu ruang informasi yang dipakai oleh pengenal global untuk mengidentifikasi sumber-sumber daya yang berguna.World Wide Web bermula di European Laboratory for Particle Physics (lebih dikenal dengan nama CERN), di kota Geneva dekat perbatasan Perancis dan Swiss. CERN merupakan suatu organisasi yang didirikan oleh 18 negara di Eropa
Fungsi WWW adalah menyediakan data dan informasi untuk dapat digunakan bersama.
Maka dari sinilah di temuka
1.URL(Unifrom Resource Identifier)
2. HTTP (Hyper Text Transfer Protocol)
3. HTML(Hyper Text Mark up Language
4. Web Service
5. Nerus

2. Web Service

Web service merupakan sebuah metode pertukaran data, tanpa memperhatikan dimana sebuahdatabase ditanamkan, dibuat dalam bahasa apa sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang ada.
Menurut W3C Web services Architecture Working Group pengertian Web service adalah sebuah sistem softwareyang di desain untuk mendukung interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan.
Web pada umumnya digunakan untuk melakukan respon dan request yang dilakukan antara client dan server. Sebagai contoh, seorang pengguna layanan web tertentu mengetikan alamat url web untuk membentuk sebuahrequest. Request akan sampai pada server, diolah dan kemudian disajikan dalam bentuk sebuah respon. Dengan singkat kata terjadilah hubungan client-server secara sederhana.

Manfaat Penggunaan Web Service
1.       Memperlihatkan fungsi yang ada pada jaringan
Web Services adalah unit dikelola kode yang dapat secara remote dipanggil menggunakan HTTP, ini dapat diaktifkan menggunakan permintaan HTTP. Web Services memungkinkan Anda untuk mengekspos fungsi kode yang ada melalui jaringan. Setelah terkena pada jaringan, aplikasi dapat menggunakan fungsionalitas programAnda.
2.       Protokol standar
Web Services menggunakan standar industri dan protokol standar untuk komunikasi. Semua empat lapis (layanan transportasi, pesan XML, Deskripsi Layanan dan Service Discovery layer) menggunakan protokol yang didefinisikan dengan baik dalam stack protokol layanan web. Ini Standardisasi stack protokol memberikan banyak keuntungan seperti berbagai macam pilihan, pengurangan biaya karena kompetisi, dan peningkatan kualitas bisnis.
3.       Biaya rendah komunikasi
Manfaat Dan Karekteristik Penggunaan Web Service - Bagian 2 Web Services menggunakan SOAP terhadap protokol HTTP, sehingga Anda dapat menggunakan internet murah Anda yang ada untuk menerapkan Web Services. Solusi ini jauh lebih murah dibandingkan dengan solusi yang berpemilik seperti EDI B2B. Selain SOAP terhadap HTTP, Web Services juga dapat diterapkan pada mekanisme transport yang handal lainnya seperti FTP.

Karkater Web Service
Web Services memiliki karakteristik perilaku khusus sebagai berikut:
1.       Berbasis XML
Web Services menggunakan XML data representasi dan lapisan transportasi data. Menggunakan XML menghilangkan jaringan, sistem operasi, atau mengikat platform.Aplikasi layanan berbasis web adalah aplikasi yang sangat dioperasikan di tingkat inti mereka.
2.       Loosely Coupled
Sebagai konsumen Web Services tidak terikat pada layanan web tersebut secara langsung. Antarmuka web layanan dapat berubah sewaktu-waktu tanpa mengorbankanklien kemampuan untuk berinteraksi dengan layanan. Sistem erat menyiratkan bahwa logika client dan server yang erat dengan satu sama lain, menyiratkan bahwa jika perubahan satu antarmuka, yang lain harus diperbaharui. Mengadopsi arsitektur digabungkan secara longgar yang cenderung untuk membuat sistem perangkat lunak lebih mudah dikelola dan memungkinkan sederhana integrasi antara sistem yangberbeda.
3.       Coarse-Grained
Teknologi berorientasi objek seperti Java mengekspos layanan mereka melalui metode individu. Metode individu adalah terlalu halus operasi untuk menyediakan apapun kemampuan yang berguna pada tingkat perusahaan. Membangun program Javadari awal memerlukan penciptaan beberapa metode halus yang kemudian terdiri kelayanan coarse-grained yang dikonsumsi oleh baik klien atau layanan lain. Bisnis dan antarmuka yang mengekspos mereka harus coarse-grained. Teknologi layanan web menyediakan cara alami untuk mendefinisikan coarse-grained layanan yang mengakses jumlah yang tepat dari logika bisnis.
4.       Kemampuan untuk menjadi sinkron atau Asynchronous
Sinkronisitas menunjuk kepada pengikatan klien untuk pelaksanaan layanan. Di sinkron invokasi, klien blok dan menunggu untuk layanan untuk menyelesaikan operasi sebelum melanjutkan. Operasi asynchronous memungkinkan klien untuk memohon layanan dan kemudian jalankan fungsi lainnya. Asinkron klien mengambil mereka hasil pada titik kemudian dalam waktu, sementara sinkron klien menerima hasil mereka ketika layanan telah menyelesaikan. Kemampuan asinkron adalah faktor kunci dalam memungkinkan longgar ditambah sistem.

5.       Mendukung prosedur panggilan jauh / Supports Remote Procedure Calls (RPCs)
Web Services memungkinkan klien untuk memanggil metode pada objek terpencil yang menggunakan protokol berbasis XML, fungsi dan prosedur. Prosedur terpencil mengekspos parameter input dan output yang layanan web harus mendukung. Pengembangan komponen melalui perusahaan JavaBeans (EJBs) dan komponen .NET telah semakin menjadi bagian dari arsitektur dan penyebaran perusahaan selama beberapa tahun. Teknologi kedua didistribusikan dan diakses melalui berbagai mekanisme RPC. Web Services mendukung RPC menyediakan layanan sendiri, setara dengan komponen tradisional, atau menerjemahkan invokasi yang masuk ke dalam doa EJB atau komponen .NET.
6.       Mendukung dokumen Asing
Salah satu keunggulan utama dari XML adalah cara generik yang mewakili tidak hanya data, tetapi juga dokumen-dokumen kompleks. Dokumen-dokumen ini dapat sebagai sederhana sebagai mewakili alamat saat ini, atau mereka dapat sebagai kompleks yang mewakili seluruh buku atau permintaan penawaran (PPw). Web Services mendukung pertukaran transparan dokumen untuk memfasilitasi integrasi bisnis.

 3.  Mengenal Rest
REST (Representational State Transfer) yang merupakan standar arsitektur berbasis web yang menggunakan protokol HTTP untuk berkomunikasi data. REST ini diperkenalkan oleh Roy Fielding pada tahun 2000. Lalu API itu artinya Application Protocol Interface dimana adalah kumpulan dari subroutine definitions, protocol dan juga tools untuk berkomunikasi data antar aplikasi software. Jadi bisa dibilang, REST itu adalah salah satu dari desain arsitektur di dalam API.
Cara Kerja REST
Cara kerja RESTful API adalah REST client akan mengakses data/resource ke REST server dimana masing-masing resource atau data tersebut dibedakan oleh sebuah global ID atau URIs (Universal Resource Identifiers). Nah data yang diberikan oleh REST server itu bisa berupa format text, JSON atau XML. Yang paling populer dipakai saat ini adalah format JSON.
Adapun metode HTTP yang secara umum dipakai dalam REST api adalah:
          1.       GET, biasanya digunakan untuk membaca resource dari  REST server
          2.       POST, biasanya digunakan untuk membuat resource baru di REST server
          3.       PUT, biasanya digunakan untuk memperbaharui resource di REST server
          4.       DELETE, biasanya digunakan untuk menghapus resource dari REST server
        5.       OPTIONS, digunakan untuk mendapatkan operasi yang disupport pada resource dari REST server
Cara kerja REST API
Pertama harus ada sebuah REST server yang akan menyediakan resource/data. Sebuah REST client akan membuat HTTP request ke server melalui sebuah global ID atau URIs dan server akan merespon dengan mengirimkan balik sebuah HTTP response sesuai yang diminta client.
Komponen dari HTTP request:
          1.       HTTP method seperti GET, POST, PUT, DELETE dll sesuai dengan tugasnya masing-masing
          2.       URI untuk mengetahui lokasi data di server
          3.       HTTP Version,  seperti HTTP v1.1
          4.       Request Header, berisi metadata seperti Authorization, tipe client dan lain
          5.       Request Body, data yang diberikan client ke server seperi URI params
Komponen dari HTTP response:
          1.       Response Code, status server terhadap request yang diminta seperti 200, 401, 404 dan lainnya.
          2.       HTTP Version
          3.       Response Header yang berisi meta data seperti contect type, cache tag dan yang lainnya.
          4.       Repsonse Body, data/resource yang diberikan oleh server baik itu berupa text, json ataupun xml
Kelebihan dan Kekurangan REST                
A. Kelebihan:
           1.       Bisa digunakan oleh banyak bahasa pemroggraman dan banyak platform
           2.       Lebih simple dibandingkan dengan SOAP
           3.       Mudah dipelajari
           4.       Ini seperti web, menggunakan protokol HTTP, dan HTTP ada dimana-mana
           5.       Ringkas, tidak membutuhkan layer pertukaran pesan (messaging) tambahan
           6.       Secara desain dan filosofi lebih dekat dengan web
B. Kekurangan:
1. Waktu akses yang biasanya lebih lama dibandingkan dengan native library
2. Kurangnya dukungan standar untuk keamanan, kebijakan, keandalan pesan, dll, sehingga layanan yang mempunyai persyaratan lebih canggih lebih sulit untuk dikembangkan ("dipecahkan sendiri")
3. Berkaitan dengan model transport HTTP

Good referensi:
http://saptafina13.blogspot.com/2013/04/pengertian-web-service.html
https://www.codepolitan.com/mengenal-restful-web-services
https://ngide.net/posts/2017/07/25/apa-itu-rest-api
https://www.quora.com/What-are-the-advantages-disa...
http://www.tutorialspoint.com/restful/restful_intr...
https://bbvaopen4u.com/en/actualidad/rest-api-what...


Komentar