Tutorial REST Web Service pada Java Menggunakan Framework (JAX-RS) Jersey
|
|
|
- Deddy Yuwono
- 8 tahun lalu
- Tontonan:
Transkripsi
1 Tutorial REST Web Service pada Java Menggunakan Framework (JAX-RS) Jersey Daftar Isi 1. REST: Representational State Transfer Apa itu REST? Metode-metode HTTP RESTFul Web Service JAX-RS dengan Jersey JAX-RS Jersey Anotasi JAX-RS Instalasi Jersey Setup Jersey Secara Manual di Proyek Eclipse Web Container Prasyarat Membuat RESTful Web Service Pertama Membuat Proyek Web Baru Mengkonfigurasi Pemanfaatan Jersey Kelas Java REST API Mendefinisikan Servlet Dispatcher dari Jersey Menjalankan Layanan REST Membuat Client dari REST API Menggunakan Pustaka Jersey Menggunakan Kelas URL RESTful Web Service dan JAXB Membuat Proyek REST API JAXB Mengkonfigurasi Pemanfaatan Jersey Membuat File-file Web Service Membuat Client CRUD RESTful Web Service Memulai Proyek
2 9.2. Membuat Form HTML Sederhana Rest API Provider Menjalankan REST API Membuat Client Mengakses Layanan REST via Halaman HTML Referensi
3 RESTful web services dengan Java (Jersey / JAX-RS). Tutorial ini akan menjelaskan bagaimana mengembangkan suatu RESTful web services dalam Java menggunakan Jersey, suatu implementasi referensi JAX-RS. Tutorial ini menggunakan beberapa software, yaitu Eclipse 4.5 (Mars) atau Neon 3, JDK 1.8 atau dikenal sebagai Java 8, Tomcat 8.0 atau 8.5 dan JAX-RS 2.0 (dengan Jersey 2.11). 1. REST: Representational State Transfer 1.1. Apa itu REST? REST merupakan suatu style arsitektural yang didasarkan pada standar web dan protokol HTTP. REST pertama kali dijelaskan oleh Roy Fielding pada tahun Dalam suatu arsitektur berbasis REST segalanya adalah resource (sumber daya). Suatu resource diakses melalui antarmuka (interface) umum berbasis pada metode-metode standar HTTP. Dalam suatu arsitektur berbasis REST kita mempunyai suatu server REST (API Provider) yang mempunyai akses ke sumber daya dan menyediakan beberapa akses terbatas ke sumber daya untuk penggunanya, dan client REST (API Customer, pengguna dari server REST ) yang meminta akses dan perubahan terhadap sumber daya REST. Setiap sumber daya harus mendukung operasi umum dari HTTP. Sumber daya ini diidentifikasi oleh global ID (yang biasanya berupa URI). REST memungkinkan bahwa sumber daya mempunyai representasi berbeda seperti text, XML, JSON, dll. Client dari REST dapat meminta representasi spesifik melalui protokol HTTP (negosiasi konten) Metode-metode HTTP Metode PUT, GET, POST dan DELETE biasa digunakan dalam arsitektur berbasis REST. Rincian berikut memberikan penjelasan mengenai operasi-operasi ini: GET mendefinisikan suatu akses pembacaan sumber daya tanpa efek samping. Sumber daya tidak pernah diubah melalui request GET, misalnya request hanya meminta detail mengenai sumber daya nomor tertentu, tidak meminta perubahan satu baris record pun di provider. Operasi bersifat idempotent. PUT membuat suatu sumber daya baru. Operasi juga harus bersifat idempotent. DELETE menghapus sumber daya tertentu. Operasinya bersifat idempotent. Operasi ini dapat diulang tanpa mengakibatkan hasil yang berbeda. POST mengupdate sumber daya yang telah ada atau membuat suatu sumber daya baru RESTful Web Service Suatu RESTFul web services didasarkan pada metode-metode HTTP dan konsep dari REST. RESTful web service khasnya mendefinisikan URI basis bagi layanan, tipe MIME yang didukung (XML, text, JSON, user-defined, ) dan himpunan operasi (POST, GET, PUT, DELETE) yang didukung. 3
4 2. JAX-RS dengan Jersey 2.1. JAX-RS Java mendefinisikan dukungan REST melalui Java Specification Request (JSR) 311. Spesifikasi ini dinamakan juga JAX-RS (Java API for RESTful Web Services). JAX-RS menggunakan anotasi untuk mendefinisikan relevansi REST dari kelas-kelas Java Jersey Jersey merupakan suatu implementasi referensi untuk spesifikasi JSR 311. Implementasi Jersey menyediakan suatu pustaka untuk mewujudkan RESTful webservices dalam suatu container servlet Java. Pada sisi server Jersey menyediakan implementasi servlet yang mengamati kelas-kelas predefined untuk mengidentifikasi sumber daya RESTful. Di dalam file konfigurasi web.xml kita mendaftarkan (register) servlet ini untuk aplikasi web kita. Implementasi Jersey juga menyediakan suatu pustaka client unutk berkomunikasi dengan RESTful web service (komunikasi customer dengan provider REST API). URL basis dari servlet ini adalah Servlet ini menganalisa request HTTP yang masuk dan memilih kelas dan metode yang tepat untuk merespon request ini. Pemilihan ini didasarkan pada anotasi dalam kelas dan metode tersebut. Suatu aplikasi web REST terdiri dari (karena itu) kelas-kelas data (sumber daya) dan layanan-layanan. Dua jenis ini khasnya dikelola dalam paket-paketberbeda sebagai servlet Jersey akan diinstruksikan melalui web.xml untuk memeriksa paket tertentu bagi kelas-kelas data. JAX-RS mendukung pembuatan XML dan JSON melalui Java Architecture for XML Binding (JAXB) Anotasi JAX-RS Anotasi paling penting dalam JAX-RS dijelaskan di dalam Tabel @GET Tabel 1. Anotasi dalam JAX-RS Penjelasan Atur path ke URL basis + /path_kita. URL basis didasarkan pada nama aplikasi, servlet dan pola URL (URL pattern) di dalam file konfigurasi web.xml. Menunjukkan bahwa metode mengikutinya akan menjawab suatu request POST HTTP. Menunjukkan bahwa metode yang mengikutinya akan menjawab suatu request GET HTTP. 4
5 Tabel 1. Anotasi dalam JAX-RS Penjelasan Menunjukkan bahwa metode yang mengikutinya akan menjawab suatu request PUT HTTP. Menunjukkan bahwa metode yang mengikutinya akan menjawab suatu request DELETE mendefinisikan tipe MIME apa yang dihantarkan oleh suatu metode yang dianotasi Dalam contoh dihasilkan teks ("text/plain"). Contoh lain dapat berupa "application/xml" atau mendefinisikan tipe MIME apa yang dikonsumsi oleh metode ini. Digunakan untuk memasukkan nilai-nilai dari URL ke dalam suatu parameter metode. Dengan cara ini kita memasukkan, misalnya, ID dari suatu sumber daya ke dalam metode untuk mendapatkan obyek yang tepat. Path lengkap untuk suatu sumber daya didasarkan pada URL basis dan di dalam kelas program REST API yang dibuat Instalasi Jersey 3.1. Setup Jersey Secara Manual di Proyek Eclipse Download distribusi Jersey sebagai file.zip dari situs Jersey ( File.zip tersebut mengandung JAR implementasi JAR dan ketergantungan intinya. Jersey ini tidak menyediakan ketergantungan (dependensi) terhadap JAR pihak ketiga selain dukungan untuk JSON dan JavaDoc. Ekstrak file.zip dari Jersey yang telah didownload dan salin semua file JAR yang diperoleh ke dalam folder WEB-INF/lib dari proyek yang memerlukan Jersey. Lebih jelasnya dapat dilihat [ada bagian 6 dari tutorial ini. 4. Web Container Untuk tutorial ini kita dapat menggunakan web container apapun, misalnya Tomcat (paling banyak digunakan) atau Google App Engine. Jika ingin menggunakan Tomcat sebagai container servlet sebaiknya anda mempelajari bagaimana membangun aplikasi web di Eclipse di: 5
6 dan bagaimana instalasi dan pemanfaatan Tomcat sebagai container servlet di: Sebagai alternatif, kita dapat juga menggunakan Google App Engine untuk menjalankan bagian server dari contoh-contoh REST API yang akan kita buat. Jika anda memilih menggunakan Google App Engine, maka Tomcat tidak harus diinstal dan dikonfigurasi. Jika anda menggunakan GAE/J, maka anda harus membuat proyek App Engine di Eclipse, bukan memilih Dynamic Web Project. Penjelasan di dalam bagian 6 dan seterusnya didasarkan pada container Apache Tomcat. 5. Prasyarat Penjelasan praktik mulai bagian 6 dari tutorial ini menganggap bahwa kita sudah akrab dengan pembuatan aplikasi web menggunakan Java dan Eclipse. Pengantar bagaimana membuat aplikasi web dengan Eclipse dapat diperoleh pada alamat: 6. Membuat RESTful Web Service Pertama 6.1. Membuat Proyek Web Baru Mari kita mulai pembuatan REST Web Service dengan Java dan Jersey. Buatlah suatu Dynamic Web Project baru dan namai sebagai (misalnya) id.web.husni.pertama. 6
7 Pastikan bahwa kita membuat web.xml deployment descriptor Mengkonfigurasi Pemanfaatan Jersey Sesuai dengan panduan setup Jersey sebelumnya, kita harus menyalin semua file.jar dari framework Jersey ke dalam direktori WebContent > Web-INF > Lib. Caranya cukup mudah, yaitu dengan blok semua file.jar dari Jersey, drag dan drop ke dalam folder Lib dari proyek yang sedang dikerjakan (di dalam Eclipse). Berikut ini adalah tampilan dari Project Explorer di Eclipse untuk proyek id.web.husni.pertama setelah semua file.jar dari Jersey di salin ke dalam folder Lib. 7
8 6.3. Kelas Java REST API Buat kelas Hello yang akan berfungsi sebagai penyedia REST API atau Web Service. Klik kanan nama proyek > New > Class. Berikan nama Hello. 8
9 Berikut adalah kode program dari file Hello.java: package id.web.husni.pertama; import javax.ws.rs.get; import javax.ws.rs.path; import javax.ws.rs.produces; import javax.ws.rs.core.mediatype; // Obyek Java sederhana. Tidak meng-extend kelas atau meng-implement suatu interface // Kelas mendaftarkan metode-metodenya untuk request HTTP GET menggunakan // Menggunakan untuk mendefinisikan bahwa tipe MIME yang digunakan // mencakup: text, XML dan HTML. // Request dari web browser secara default adalah tipe MIME HTML. // Set path ke URL basis + public class Hello { // Metode ini dipanggil jika request bertipe public String sayplaintexthello() { return "Hello Jersey"; 9
10 // Metode ini dipanggil jika request bertipe public String sayxmlhello() { return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>"; // Metode ini dipanggil jika request bertipe public String sayhtmlhello() { return "<html> " + "<title>" + "Hello Jersey" + "</title>" + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> "; //akhir kelas Hello Kelas ini mendaftarkan dirinya sendiri sebagai suatu sumber daya get melalui Kemudian memanfaatkan kelas Hello ini mendefinisikan bahwa ia menyampaikan tipe MIME text dan HTML. Ia juga mendefinisikan melalui bahwa layanannya tersedua di bawah URL hello. Web browser akan selalu me-request dengan tipe MIME HTML. Versi teks dapat dilihat menggunakan tool seperti curl, aplikasi client REST API berbasis Console atau langsung dari dalam Eclipse Neon Mendefinisikan Servlet Dispatcher dari Jersey Kita perlu mendaftarkan Jersey sebagai servlet dispatcher bagi request REST. Buka file web.xml dan lakukan perubahan seperti di bawah ini: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi=" xmlns=" xsi:schemalocation=" id="webapp_id" version="3.0"> <display-name>id.web.husni.pertama</display-name> <servlet> <servlet-name>jersey REST Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.servletcontainer</servlet-class> <! Register-kan sumber daya dan provider di bawah paket id.web.husni.pertama. --> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>id.web.husni.pertama</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> Parameter jersey.config.server.provider.packages mendefinisikan di dalam paket mana Jersey akan mencari kelas-kelas web service. Properti ini harus menunjuk ke kelas sumber daya kita. URL -Pattern mendefinisikan bagian dari URL basis yang akan ditempati aplikasi yang dibuat. 10
11 6.5. Menjalankan Layanan REST Jalankan aplikasi web tersebut di dalam Eclipse. Caranya cukup mudah: 1. Klik kanan nama proyek (id.web.husni.pertama), pilih Run As > 1. Run On Server 2. Pada jendela Ron On Server, pilih server tau Container yang akan digunakan. Dalam hal ini, kita pilih misalnya Tomcat v8.5 Server at Localhost. Klik Next. 3. Pilih atau masukkan proyek ke dalam kotak Configured:. Klik Finish. 11
12 Kita dapat mengakses sumber daya yang telah didefinisikan mengikuti URL berikut: Nama ini diturunkan dari "display-name" yang didefinisikan dalam file web.xml, ditambahkan dengan servlet-mapping URL-pattern dan hello dari file kelas Hello. Kita akan memperoleh pesan "Hello Jersey". Web browser me-requests representasi HTML dari sumber daya. Di bawah ini adalah hasil yang diperoleh saat sumber daya REST diakses melalui fasilitas browser built-in Eclipse dan Web browser Google Chrome. 12
13 7. Membuat Client dari REST API 7.1 Menggunakan Pustaka Jersey Framework Jersey mempunyai suatu pustaka client REST yang dapat digunakan untuk menguji atau membangun client REST API sungguhan dalam Java. Penggunaan pustaka tersebut dituntun oleh tutorial di bawah ini. Buat suatu proyek Java baru dan berikan nama misalnya id.web.husni.pertama.client. 13
14 14
15 Tambahkan semua file.jar dari Jersey ke dalam proyek ini. Klik kanan nama proyek > Build Path > Add Libraries... 15
16 Umumnya proyek REST API Provider dan Customer dibangun pada mesin yang berbeda, sehingga cara di atas tidak dapat dilakukan. Cara yang banyak dilakukan adalah menyalin semua file JAR (misalnya awalnya ada di C:\jaxrs-ri) ke dalam proyek Java dengan langkah-langkah berikut: Klik kanan nama proyek > Build Path > Configure Build Path... Klik Add External JARs. Pada jendela Browse, pilih semua file JAR yang akan dimasukkan ke dalam proyek. Klik Apply atau OK. Buat kelas Test (Test.java) seperti di bawah ini (Klik kanan nama proyek > New > Class) 16
17 Sekarang struktur direktori dari aplikasi client kita menjadi seperti pada Gambar di bawah ini. 17
18 Kode lengkap dari file Test.java adalah sebagai berikut: package id.web.husni.pertama.client; import java.net.uri; import javax.ws.rs.client.client; import javax.ws.rs.client.clientbuilder; import javax.ws.rs.client.webtarget; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.response; import javax.ws.rs.core.uribuilder; import org.glassfish.jersey.client.clientconfig; public class Test { public static void main(string[] args) { ClientConfig config = new ClientConfig(); Client client = ClientBuilder.newClient(config); WebTarget target = client.target(getbaseuri()); String response = target.path("rest").path("hello").request().accept(mediatype.text_plain).get(response.class).tostring(); 18
19 String plainanswer = target.path("rest").path("hello").request().accept(mediatype.text_plain).get(string.class); String xmlanswer = target.path("rest").path("hello").request().accept(mediatype.text_xml).get(string.class); String htmlanswer= target.path("rest").path("hello").request().accept(mediatype.text_html).get(string.class); System.out.println(response); System.out.println(plainAnswer); System.out.println(xmlAnswer); System.out.println(htmlAnswer); private static URI getbaseuri() { return UriBuilder.fromUri(" Bagaimana mengujinya? 1. Pastikan REST API server dari proyek id.web.husni.pertama telah berjalan. Ikuti langkahlangkah sebelumnya. 2. Eksekusi file Test.java. Cara paling mudah adalah klik kanan file Test.Java dan pilih Run As > Java Application. 19
20 7.2 Menggunakan Kelas URL Apakah client REST API harus dibuat dengan Jersey? TIDAK. Kita dapat menggunakan pustaka lain atau bahkan tanpa pustaka tambahan sama sekali. Kita dapat menggunakan kelas jaringan built-in Java 8 yang bernama URL. Bagaimana cara membuat client REST API dengan pendekatan ini? Berikut adalah kode program dari file TestURL.java yang berfungsi sebagai client dari REST API: package id.web.husni.pertama.client; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; public class TestURL { public static void main(string[] args) { try { URL url = new URL(" HttpURLConnection conn = (HttpURLConnection) url.openconnection(); conn.setrequestmethod("get"); if (conn.getresponsecode()!= 200) { throw new RuntimeException("Failed : HTTP error code : " + conn.getresponsecode()); BufferedReader br = new BufferedReader(new InputStreamReader( (conn.getinputstream()))); String output; System.out.println("Output from Server... \n"); while ((output = br.readline())!= null) { System.out.println(output); conn.disconnect(); catch (MalformedURLException e) { e.printstacktrace(); catch (IOException e) { e.printstacktrace(); Saat file TestURL dieksekusi, diperoleh tampilan berikut di Console: Output from Server... <html> <title>hello Jersey</title><body><h1>Hello Jersey</body></h1></html> Sekarang, kita punya 2 pilihan untuk mengakses Provider REST API, yaitu menggunakan pustaka Jersey atau kelas URL bawaan Java. 20
21 8. RESTful Web Service dan JAXB JAX-RS mendukung pembuatan otomatis dari data XML dan JSON melalui JAXB. Sebagai pengantar mengenai XML dan penanganannya di Java silakan membaca tutorial singkatnya di Sedangkan pengantar mengenai JAXB silakan melihatnya di Kita dapat melanjutkan tutorial ini tanpa harus membaca kedua tutorial tersebut (XML dan JAXB), tetapi pemahaman yanglebih baik terhadap keduanya akan lebih memudahan memahami apa yang di bahas di sini Membuat Proyek REST API JAXB Buatlah suatu Dynamic Web Project baru dan beri nama id.web.husni.jersey.jaxb. Pastikan pilihan web.xml deployment descriptor dicentang Mengkonfigurasi Pemanfaatan Jersey Silakan membaca kembali bagaimana setup manual dari Jersey ke dalam proyek Web Dinamis di Eclipse (cukup drag dan drop) Membuat File-file Web Service Buat kelas dari domain yang ditangani (Todo.java), ini sering dinamakan sebagai model. package id.web.husni.jersey.jaxb; import // JAX-RS mendukung pemetaan otomatis dari kelas teranotasi JAXB ke XML dan JSON // Keren bukan? public class Todo { private String summary; private String description; public String getsummary() { return summary; public void setsummary(string summary) { this.summary = summary; public String getdescription() { return description; public void setdescription(string description) { this.description = description; Buat kelas sumber daya berikut (TodoResource.java). Kelas ini seherhananya mengembalikan suatu instance dari kelas Todo. package id.web.husni.jersey.jaxb; import javax.ws.rs.get; import javax.ws.rs.path; import javax.ws.rs.produces; import public class TodoResource { // Metode ini dipanggil jika requestnya XML 21
22 { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON ) public Todo getxml() { Todo todo = new Todo(); todo.setsummary("this is my first todo"); todo.setdescription("this is my first todo"); return todo; // Ini dapat digunakan untuk menguji integrasi { MediaType.TEXT_XML ) public Todo gethtml() { Todo todo = new Todo(); todo.setsummary("this is my first todo"); todo.setdescription("this is my first todo"); return todo; Lakukan perubahan terhadap web.xml sehingga menjadi: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi=" xmlns=" xsi:schemalocation=" id="webapp_id" version="3.0"> <display-name>id.web.husni.jersey.jaxb</display-name> <servlet> <servlet-name>jersey JAXB REST Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.servletcontainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>id.web.husni.jersey.jaxb</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey JAXB REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> Jalankan aplikasi web ini di dalam Eclipse dan validasikan bahwa kita dapat mengakses layanan ini. Aplikasi kita harusnya tersedia di bawah URL berikut: 22
23 8.4. Membuat Client Buat suatu proyek Java baru bernama id.web.husni.jersey.jaxb.client dan tambahkan file-file.jar dari Jersey ke dalam proyek melalui jendela Build Path (seperti dijelaskan pada bagian 7 tutorial ini). Buat kelas TodoTest (TodoTest.java) yang berfungsi sebagai client bagi REST API yang baru saja dibuat. package id.web.husni.jersey.jaxb.client; import java.net.uri; import javax.ws.rs.client.client; import javax.ws.rs.client.clientbuilder; import javax.ws.rs.client.webtarget; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.uribuilder; import org.glassfish.jersey.client.clientconfig; public class TodoTest { public static void main(string[] args) { ClientConfig config = new ClientConfig(); Client client = ClientBuilder.newClient(config); WebTarget target = client.target(getbaseuri()); // Mendapatkan XML 23
24 String xmlresponse = target.path("rest").path("todo").request().accept(mediatype.text_xml).get(string.class); // Mendapatkan XML bagi aplikasi String xmlappresponse =target.path("rest").path("todo").request().accept(mediatype.application_xml).get(string.class); // Untuk respon JSON juga tambahkan pustaka Jackson ke aplikasi web kita // Dalam hal ini kita juga mengubah registrasi client menjadi // ClientConfig config = new ClientConfig().register(JacksonFeature.class); // Dapatkan JSON bagi Aplikasi // System.out.println(target.path("rest").path("todo").request() //.accept(mediatype.application_json).get(string.class)); System.out.println(xmlResponse); System.out.println(xmlAppResponse); private static URI getbaseuri() { return UriBuilder.fromUri( " Hasil yang diperoleh saat mengeksekusi kelas TodoTest di atas adalah <?xml version="1.0" encoding="utf-8" standalone="yes"?><todo><description>this is my first todo</description><summary>this is my first todo</summary></todo> <?xml version="1.0" encoding="utf-8" standalone="yes"?><todo><description>this is my first todo</description><summary>this is my first todo</summary></todo> 9. CRUD RESTful Web Service Bagian ini memperlihatkan cara pembuatan suatu RESTful Web Service yang mempunyai fitur CRUD (Create, Read, Update, Delete) secara lengkap. Itu memungkinkan kita untuk memelihara daftar TODO di dalam aplikasi web kita via pemanggila HTTP. Kekurangan dari contoh ini adalah tidak adanya koneksi dari REST API ke database tertentu. Silakan anda menambahkan fitur koneksi via JDBC misalnya ke database MySQL atau SQLite Memulai Proyek Pertama, mari kita buat suatu proyek web dinamis baru dan berikan nama id.web.husni.jersey.todo. Tambahkan pustaka Jersey ke dalam proyek tersebut. Lakukan perubahan terhadap file web.xml sehingga menjadi sebagai berikut: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi=" xmlns=" xsi:schemalocation=" id="webapp_id" version="3.0"> <display-name>id.web.husni.jersey.todo</display-name> <servlet> <servlet-name>jersey CRUD REST Service</servlet-name> <servlet-class>org.glassfish.jersey.servlet.servletcontainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>id.web.husni.jersey.todo</param-value> </init-param> 24
25 <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey CRUD REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> Sekarang buatlah model data (kelas Todo, file Todo.java) dan Singleton (kelas TodoDao, file TodoDao.java) berikut yang akan berfungsi sebagai data provider bagi model. Kita menggunakan implementasi berbasis pada enumerasi. Kelas Todo dianotasi dengan suatu anotasi JAXB. Kode program dari Todo.java adalah package id.web.husni.jersey.todo; import public class Todo { private String id; private String summary; private String description; public Todo(){ public Todo (String id, String summary){ this.id = id; this.summary = summary; public String getid() { return id; public void setid(string id) { this.id = id; public String getsummary() { return summary; public void setsummary(string summary) { this.summary = summary; public String getdescription() { return description; public void setdescription(string description) { this.description = description; Sedangkan kode dari file TodoDao.java adalah package id.web.husni.jersey.todo; import java.util.hashmap; import java.util.map; import id.web.husni.jersey.todo.todo; public enum TodoDao { instance; private Map<String, Todo> contentprovider = new HashMap<>(); private TodoDao() { Todo todo = new Todo("1", "Learn REST"); todo.setdescription("read contentprovider.put("1", todo); todo = new Todo("2", "Do something"); 25
26 todo.setdescription("read complete contentprovider.put("2", todo); public Map<String, Todo> getmodel(){ return contentprovider; 9.2. Membuat Form HTML Sederhana Layana REST dapat diakses melalui form HTML. Form HTML berikut akan membolehkan kita mem-post data baru ke web service. Silakan buat halaman web bernama create_todo.html berikut di dalam folder WebContent dari proyek yang dibuat. <!DOCTYPE html> <html> <head> <title>form to create a new resource</title> </head> <body> <form action="../id.web.husni.jersey.todo/rest/todos" method="post"> <label for="id">id</label> <input name="id" /> <br/> <label for="summary">summary</label> <input name="summary" /> <br/> Description: <TEXTAREA NAME="description" COLS=40 ROWS=6></TEXTAREA> <br/> <input type="submit" value="submit" /> </form> </body> </html> 9.3. Rest API Provider Sekarang adalah membuat kode yang bertugas melayani request dari customer REST API. Kelas TodoResource dan TodosResource ini berperan sebagai pengelola sumber daya REST (API Provider). Berikut ini adalah kode lengkap dari file TodoResource.java: package id.web.husni.jersey.todo; import javax.ws.rs.consumes; import javax.ws.rs.delete; import javax.ws.rs.get; import javax.ws.rs.put; import javax.ws.rs.produces; import javax.ws.rs.core.context; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.request; import javax.ws.rs.core.response; import javax.ws.rs.core.uriinfo; import javax.xml.bind.jaxbelement; import id.web.husni.jersey.todo.tododao; 26
27 import id.web.husni.jersey.todo.todo; public class TodoResource UriInfo Request request; String id; public TodoResource(UriInfo uriinfo, Request request, String id) { this.uriinfo = uriinfo; this.request = request; this.id = id; MediaType.APPLICATION_JSON) public Todo gettodo() { Todo todo = TodoDao.instance.getModel().get(id); if(todo==null) throw new RuntimeException("Get: Todo with " + id + " not found"); return todo; // public Todo gettodohtml() { Todo todo = TodoDao.instance.getModel().get(id); if(todo==null) throw new RuntimeException("Get: Todo with " + id + " not found"); public Response puttodo(jaxbelement<todo> todo) { Todo c = todo.getvalue(); return public void deletetodo() { Todo c = TodoDao.instance.getModel().remove(id); if(c==null) throw new RuntimeException("Delete: Todo with " + id + " not found"); private Response putandgetresponse(todo todo) { Response res; if(tododao.instance.getmodel().containskey(todo.getid())) { res = Response.noContent().build(); else { res = Response.created(uriInfo.getAbsolutePath()).build(); TodoDao.instance.getModel().put(todo.getId(), todo); return res; Sedangkan kode lengkap dari file TodosResource.java adalah seperti ini: package id.web.husni.jersey.todo; import java.io.ioexception; 27
28 import java.util.arraylist; import java.util.list; import javax.servlet.http.httpservletresponse; import javax.ws.rs.consumes; import javax.ws.rs.formparam; import javax.ws.rs.get; import javax.ws.rs.post; import javax.ws.rs.path; import javax.ws.rs.pathparam; import javax.ws.rs.produces; import javax.ws.rs.core.context; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.request; import javax.ws.rs.core.uriinfo; import id.web.husni.jersey.todo.tododao; import id.web.husni.jersey.todo.todo; // Akan memetakan sumber daya ke todos public class TodosResource { // Membolehkan meng-insert obyek kontekstual ke dalam kelas, // misal ServletContext, Request, Response, UriInfo Request request; // Mengembalikan daftar todo untuk pengguna public List<Todo> gettodosbrowser() { List<Todo> todos = new ArrayList<Todo>(); todos.addall(tododao.instance.getmodel().values()); return todos; // Mengembalikan daftar todo MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON ) public List<Todo> gettodos() { List<Todo> todos = new ArrayList<Todo>(); todos.addall(tododao.instance.getmodel().values()); return todos; // Mengembalikan jumlah todo // Gunakan // untuk mendapatkan jumlah total @Produces(MediaType.TEXT_PLAIN) public String getcount() { int count = TodoDao.instance.getModel().size(); @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public void newtodo(@formparam("id") String String String HttpServletResponse servletresponse) throws IOException { 28
29 Todo todo = new Todo(id, summary); if (description!= null) { todo.setdescription(description); TodoDao.instance.getModel().put(id, todo); servletresponse.sendredirect("../create_todo.html"); // Mendefinisikan bahwa parameter path berikutnya setelah todos // diperlakukan sebagai parameter dan dilewatkan ke TodoResources // Memungkinkan untuk memasukkan // // 1 akan diprlakukan sebagai parameter todo dan dilewatkan ke public TodoResource gettodo(@pathparam("todo") String id) { return new TodoResource(uriInfo, request, id); Kelas TodosResource ini menggunakan untuk mendefinisikan bahwa id disisipkan sebagai parameter Menjalankan REST API Run your web application in Eclipse and test the availability of your REST service under: You should see the XML representation of your TODO items. 29
30 Untuk melihat jumlah item TODO gunakan: Sedangkan untuk melihat suatu TODO yang eksis gunakan: misalnya: id.web.husni.jersey.todo/rest/todos/1 untuk melihat TODO dengan ID 1. Sata ini kita hanya mempunyai TODOs dengan ID 1 dan 2. Semua request ke ID lain akan menghasilkan kode error HTTP seperti di bawah ini: 30
31 Sekarang kita lihat bagaimana metode POST digunakan untuk sumber daya (data) baru ke dalam sistem. Dan pemanggilan URL telah memberikan hasil seperti gambar di bawah ini: 31
32 Perlu diingat bahwa dengan web browser kita hanya dapat mengirimkan request GET dan POST HTTP. Bagian berikutnya akan memaparkan bagaimana menggunakan pustaka client Jersey untuk mengirimkan request get, post dan delete Membuat Client Untuk menguji web service yang dibuat kita dapat membuat suatu kelas baru di dalam proyek server kita (hanya untuk testing). Proyek ini sudah siap dengan semua pustaka yang disyaratkan sehingga pembuatan proyek baru nantinya akan lebih mudah dan tertata. Buat kelas Tester berikut: package id.web.husni.jersey.todo; import java.net.uri; import javax.ws.rs.client.client; import javax.ws.rs.client.clientbuilder; import javax.ws.rs.client.entity; import javax.ws.rs.client.webtarget; import javax.ws.rs.core.form; import javax.ws.rs.core.mediatype; import javax.ws.rs.core.response; import javax.ws.rs.core.uribuilder; import org.glassfish.jersey.client.clientconfig; import id.web.husni.jersey.todo.todo; public class Tester { public static void main(string[] args) { ClientConfig config = new ClientConfig(); Client client = ClientBuilder.newClient(config); WebTarget service = client.target(getbaseuri()); // Membuat satu todo Todo todo = new Todo("3", "Blabla"); Response response = service.path("rest").path("todos").path(todo.getid()).request(mediatype.application_xml).pu t(entity.entity(todo,mediatype.application_xml),response.class); // Mengembalikan kode 201 == created resource 32
33 System.out.println(response.getStatus()); // Mendapatkan Todos System.out.println(service.path("rest").path("todos").request().accept(MediaType.TEXT_XML). get(string.class)); // // Mendapatkan JSON bagi aplikasi // System.out.println(service.path("rest").path("todos").request().accept(MediaType.APPLICATIO N_JSON).get(String.class)); // Mendapatkan XML bagi aplikasi System.out.println(service.path("rest").path("todos").request().accept(MediaType.APPLICATIO N_XML).get(String.class)); //Mendapatkan Todo dengan id 1 Response checkdelete = service.path("rest").path("todos/1").request().accept(mediatype.application_xml).get(); //Menghapus Todo dengan id 1 service.path("rest").path("todos/1").request().delete(); //Mendapatkan semua Todos id 1 yang akan dihapus System.out.println(service.path("rest").path("todos").request().accept(MediaType.APPLICATIO N_XML).get(String.class)); //Membuat suatu Todo Form form =new Form(); form.param("id", "4"); form.param("summary","demonstration of the client lib for forms"); response = service.path("rest").path("todos").request().post(entity.entity(form,mediatype.application_ FORM_URLENCODED),Response.class); System.out.println("Form response " + response.getstatus()); //Ambil semua todo, id 4 baru saja dibuatkan System.out.println(service.path("rest").path("todos").request().accept(MediaType.APPLICATIO N_XML).get(String.class)); private static URI getbaseuri() { return UriBuilder.fromUri(" Hasil yang diperoleh saat eksekusi client ini adalah 201 <?xml version="1.0" encoding="utf-8" standalone="yes"?><todoes><todo><description>read y>learn REST</summary></todo><todo><description>Read complete something</summary></todo><todo><id>3</id><summary>blabla</summary></todo><todo><d escription>read focus at n Useful</summary></todo></todoes> <?xml version="1.0" encoding="utf-8" standalone="yes"?><todoes><todo><description>read 33
34 y>learn REST</summary></todo><todo><description>Read complete something</summary></todo><todo><id>3</id><summary>blabla</summary></todo><todo><d escription>read focus at n Useful</summary></todo></todoes> <?xml version="1.0" encoding="utf-8" standalone="yes"?><todoes><todo><description>read complete something</summary></todo><todo><id>3</id><summary>blabla</summary></todo><todo><d escription>read focus at n Useful</summary></todo></todoes> Form response 200 <?xml version="1.0" encoding="utf-8" standalone="yes"?><todoes><todo><description>read complete something</summary></todo><todo><id>3</id><summary>blabla</summary></todo><todo><i d>4</id><summary>demonstration of the client lib for forms</summary></todo><todo><description>read focus at n Useful</summary></todo></todoes> 9.6. Mengakses Layanan REST via Halaman HTML Contoh di atas memperlihatkan bagaimana suatu form HTML mengirimkan request bermetode POST kepada layanan REST yang dibuat. Berikut ini adalah tampilan dari Form tersebut. 10. Referensi Jersey Homepage: JSR 311: JAXB Tutorial: 34
Pembuatan RESTful Web Service Hello World dengan PHP & Java. Husni
Pembuatan RESTful Web Service Hello World dengan PHP & Java Husni [email protected] Membangun REST API dengan PHP Sekedar Menyapa Membuat Direktori: C:\XAMPP\htdocs\API Nanti, semua file diletakkan
Pemanggilan RESTful Web Service Java dari Client PHP
Pemanggilan RESTful Web Service Java dari Client PHP [email protected] Pendahuluan RESTful web services termasuk aplikasi kelas ringan dan cepat aksesnya. Inilah alasan bagus mengapa REST API ini banyak
Pemanggilan RESTful Web Service PHP dari Client Java
Pemanggilan RESTful Web Service PHP dari Client Java [email protected] Bagaimana memanggil atau memgakses RESTful web service PHP dari client yang ditulis dengan Java? Cukup mudah. Tutotial ini akan
Membuat JSP dan Servlet Sederhana
Membuat JSP dan Servlet Sederhana Juli 2009 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Untuk memulai latihan ini, pastikan pada komputer Anda terinstall Eclipse dan Apache Tomcat. Program Tomcat
PRAKTIKUM. Rekayasa Web. Modul 6: Restful API Server & Client Codeigniter. Laboratorium Teknik Informatika Universitas Pasundan
PRAKTIKUM Rekayasa Web Modul 6: Restful API Server & Client Codeigniter Laboratorium Teknik Informatika Universitas Pasundan Konten modul: 1. Membaca Data Menggunakan Rest API Server & Client 2. Menambah
SERVLET. 5.1 Membuat Program Servlet
SERVLET Servlet merupakan dasar dari teknologi Java Web, yaitu sebuah class Java yang mempunyai kemampuan sebagai server. Servlet bekerja berdasarkan model request-respone, dan dasar dari teknologi bersama
M.Octaviano Pratama
Pemrograman Mobile Android dan MySQL M.Octaviano Pratama [email protected] http://tavgreen.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE 1. Buka XAMPP control panel, start MySQL dan Apache server. 2. Import file electicalgoods.sql
Hal yang harus diperhatikan dalam penggunaan AJAX adalah: XHTML dan CSS digunakan untuk menandai dan mempercantik tampilan informasi.
MODUL 6 Implementasi Web dengan Database TUJUAN PRAKTIKUM : 1. Praktikan memahami prinsip penggunaan ajax. 2. Praktikan mampu mengkoneksikan ajax dengan database. PERLENGKAPAN PRAKTIKUM 1. Modul Praktikum
Pengenalan Framework Jakarta Struts
Pengenalan Framework Jakarta Struts Struts merupakan aplikasi framework open source yang di design untuk membantu para developer dalam membangun arsitektur aplikasi berbasis pada Model-View-Controller
5.2 Keuntungan dan Kelemahan Cookie
Cookie Aplikasi web adalah aplikasi yang stateless, di mana server tidak akan mengingat request client. Akibatnya, setiap request yang masuk selalu dianggap oleh server berasal dari client-client yang
1. Tujuan Mempersiapkan aplikasi JSF menggunakan Netbeans Membuat aplikasi Guest Book sederhana. 2. Latar Belakang JSF LifeCycle
1. Tujuan Mempersiapkan aplikasi JSF menggunakan Netbeans Membuat aplikasi Guest Book sederhana 2. Latar Belakang JSF LifeCycle 1 P age 3. Percobaan Percobaan 1 : Menyiapkan aplikasi project JSF Info Tujuan
Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.
1 Teknologi Game Materi 2 Menampilkan peta di Game Tools yang dibutuhkan 1. JDK 6ux 2. Notepad++/Netbeans 6.x/JDeveloper/Eclipse Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D
Membuat Aplikasi Berbasis Web Di Device Android Mobile
Membuat Aplikasi Berbasis Web Di Device Android Mobile Oleh : M.octaviano Pratama Seperti yang telah kita ketahui bahwa media yang paling sering dikunjungi yaitu media online seperti website. Dengan menggunakan
BAB 5 Mendapatkan Input dari Keyboard
BAB 5 Mendapatkan Input dari Keyboard 5.1 Tujuan Kita sudah mempelajari konsep mendasar pada Java dan menulis beberapa program sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktif
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1 Tinjauan Pustaka Sistem dan pencarian dokumen dengan memanfaatkan web service pada sistem yang berbeda sebagai sumber data dan index yang telah dibuat dapat
Web Service: Memulai Proyek
www..com [email protected] Web Service: Memulai Proyek Syarat: Anda telah melakukan instalasi Apache Tomcat, JSE, dan telah melakukan path terhadap CATALINA_HOME Kita mulai sebuah proyek baru dengan mengikuti
Pengenalan JavaScript
Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu
PEMROGRAMAN I. By : Sri Rezeki Candra Nursari
PEMROGRAMAN I By : Sri Rezeki Candra Nursari Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io AWT Event Windows Graphics Text Control Layout Manager Menu GUI Handling Image New
Tutorial Web Service JAX-WS Konverter Suhu dengan NetBeans
Tutorial Web Service JAX-WS Konverter Suhu dengan NetBeans Nama Penulis [email protected] Lisensi Dokumen: Copyright 2003-2006 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi
Generated by Foxit PDF Creator Foxit Software For evaluation only. 16/09/ :50
Waktu Sisa : 0:33:40 1. Mana diantara pilihan berikut ini yang tidak benar? doget() digunakan untuk menangani request HTTP GET dopost() digunakan untuk menangani request HTTP POST doput() digunakan untuk
PENDAHULUAN TENTANG NETBEANS
PENDAHULUAN TENTANG NETBEANS Yuliana Setiowati Politeknik Elektronika Negeri Surabaya 1 TOPIK Pendahuluan IDE Netbeans Membuat Project Baru. 2 Konsep Netbeans Netbeans sebagai IDE ditujukan untuk memudahkan
visit : www.marisharingilmu.wordpress.com
Lisensi Pocket Book Pocket Book ini dapat anda copy dan distribusikan dengan gratis untuk kegiatan pembelajaran. Selamat datang di Pocket Book edisi selanjutnya yaitu Pocket Book : Membuat Aplikasi Java
FRAMEWORK CODEIGNITER
FRAMEWORK CODEIGNITER COURSE TEKNIK INFORMATIKA SEMESTER GENAP 2014 DISUSUN OLEH: MOH. ALI FIKRI POLITEKNIK INDRAMAYU (POLINDRA) 2014 A. Pendahuluan CodeIgniter CodeIgniter adalah aplikasi open source
Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)
Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5) Mohammad Rizal Ghani [email protected] :: http://infotemenn.blogspot.com Abstrak ASP.NET adalah bahasa pemrograman yang bertujuan untuk
KONEKSI NETBEANS DENGAN DATABASE SQLITE
KONEKSI NETBEANS DENGAN DATABASE SQLITE Open SQLite Manager yang ada pada add on Firefox. Create new database baru dengan cara Database, lalu pilih New Database. 1 Ganti nama dengan Database1. Pilih direktori
TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi
TPI4202 e-tp.ub.ac.id Lecture 4 Mas ud Effendi Menampilkan informasi kepada user lewat display Dengan perintah print dan println print: menampilkan output (kursor tetap di baris yang sama) println: menampilkan
BAB 5 Mendapatkan Input dari Keyboard
5.1 Tujuan BAB 5 Mendapatkan Input dari Keyboard Kita telah mempelajari konsep dasar pada Java dan menulis beberapa program sederhana. Sekarang kita akan mencoba membuat program kita lebih interaktif dengan
TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)
TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT) 1. Installah terlebih dahulu Database MYSQL. Untuk latihan, dapat menginstal aplikasi XAMPP yang didalamnya tersedia banyak modul, salah satunya
Location Based Services
Location Based Services Location Based Service (LBS) atau layanan berbasis lokasi adalah sebuah layanan informasi yang dapat diakses dengan perangkat bergerak melalui jaringan dan mampu menampilkan posisi
Generated by Foxit PDF Creator Foxit Software For evaluation only. 17/09/ :33
Waktu Sisa : 0:46:41 1. Berikut ini yang bukan jenis-jenis scope dalam pengaksesan object dalam aplikasi web Java: page request session application cookies 2. Format archive yang tidak dipakai dalam aplikasi
Pemrograman Database Java
Pemrograman Database Java Java Database Connectivity ODBC Native Driver Endy Muhardin Materi Koneksi dengan ODBC Koneksi dengan Native Driver Koneksi dengan Hibernate Koneksi Database
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI 2.1. Tinjauan Pustaka Tinjauan pustaka yang dipergunakan dalam penelitian disajikan melalui tabel berbandingan pada tabel 2.1. Tabel 2.1. Tabel Pembanding Penelitian
Persiapan. 2.1 Hardware
Persiapan Selanjutnya, pertama kali Anda perlu mempersiapkan segala sesuatu yang diperlukan untuk pemrograman Android, baik dari segi hardware dan software. Persiapan ini gunanya menyediakan IDE dan platform
Pengenalan APLIKASI DATABASE
Page 1 of 23 APLIKASI DATABASE Pengenalan Aplikasi database merupakan aplikasi yang menggunakan database berbasis komputerisasi dan tampilan form sebagai media penghubung antara user dan database, dimana
HTTP Protocol Ketika sebuah alamat web (atau URL) yang diketik ke dalam web browser, web browser melakukan koneksi ke web service yang berjalan pada
Application Layer Application layer adalah lapisan yang menyediakan interface antara aplikasi yang digunakan untuk berkomunikasi dan jaringan yang mendasarinya di mana pesan akan dikirim. Layer ini berhubungan
INSTRUKSI PENCABANGAN
INSTRUKSI PENCABANGAN Sebagai pengembang (programmer) sudah pasti mengetahui jenis operasi instruksi. Salah satu yang perlu dipelajari atau dimengerti adalah operasi instruksi pencabangan. 3.1 Pencabangan
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA
PERTEMUAN 1 PENGENALAN LINGKUNGAN PEMROGRAMAN JAVA A. Instalasi paket Java Development Kit (JDK) 1. Download paket JDK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) Pertama masuk ke situs http://java.sun.com/javase/downloads/index.jsp,
Pemrograman Jaringan 5.
Pemrograman Jaringan 5 [email protected] HTTP Hypertext Transport Protocol (RFC 1945) Language of the Web Protocol yang digunakan untuk komunikasi antara web browsers dan web servers Since 1990 TCP port
Membuat Java Servlet WEB.XML. Java Servlet, Apakah Itu? Oleh: Galih Satriaji (http://blog.galihsatria.com)
Membuat Java Servlet Oleh: Galih Satriaji (http://blog.galihsatria.com) Dalam sesi tutorial kali ini, kita akan membuat servlet sederhana dalam langkah demi langkah dengan tujuan memahami bagaimana gaya
IMPLEMENTASI DAN PEMBAHASAN SISTEM
BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM 4.1. Implementasi Sistem Implementasi sistem merupakan tahap dimana rancangan yang telah dibuat dapat diterapkan. Tujuannya untuk melakukan uji coba pada aplikasi
Implementasi Restful pada Java
APLYSIT CORP. Gedung Pusat Teknologi Lt. 3, RICE PT. INTI Jl. Moch. Toha 77, Bandung, 40253 Phone : 022-61530230 www.aplysit.com Implementasi Restful pada Java REST adalah singkatan dari (REpresentational
PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)
TK Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711-353414 PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web
KEBUTUHAN WEB SERVICE UNTUK SINKRONISASI DATA ANTAR SISTEM INFORMASI DALAM E-GOV DI PEMKAB BANTUL YOGYAKARTA
KEBUTUHAN WEB SERVICE UNTUK SINKRONISASI DATA ANTAR SISTEM INFORMASI DALAM E-GOV DI PEMKAB BANTUL YOGYAKARTA Tugas Elearning Web Service Disusun Oleh : Sigit Bayu Kusuma 13111004 22 Malam LATAR BELAKANG
Hal yang paling utama dalam proses pembuatan web server adalah memilih software mana yang akan digunakan sebagai web server yang akan digunan.
Web Server???? Web Server (Server web) adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya
Pemrograman Internet dengan AJAX (Asynchronous JavaScript And XML)
Pemrograman Internet dengan AJAX (Asynchronous JavaScript And XML) Suprayogi Abstract : AJAX uses asynchronous data transfer (HTTP requests) between the browser and the web server, allowing web pages to
BAB II TINJAUAN PUSTAKA. Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini.
BAB II TINJAUAN PUSTAKA Bab ini membahas teori-teori yang dijadikan acuan tugas akhir ini. 2.1 Web Service Web Service adalah sekumpulan application logic beserta objek-objek dan method-method yang dimilikinya
Untuk mengimplementasikan sistem ini, diperlukan spesifikasi perangkat keras,
Untuk mengimplementasikan sistem ini, diperlukan spesifikasi perangkat keras, spesifikasi perangkat lunak, spesifikasi kebutuhan sistem, jadwal implementasi, dan petunjuk penggunaan sistem untuk memberikan
Gambar 5 Kerangka penelitian
BAB III METODE PENELITIAN 3.1 Lokasi Penelitian Penelitian dilakukan di PT. Sasaran Ehsan Mekarsari (PT. SEM) yang beralamat di Jalan Raya Cileungsi, Jonggol Km. 3, Cileungsi Bogor. Penelitian dilakukan
Persiapan. Jalankan server apache dari XAMPP control panel Ekstrak file yang telah dibagikan, Salin folder week_8 ke htdocs
Ajax Persiapan Download: https://drive.google.com/file/d/0bxksp6axeejqa3loddvnd2fcx3c/vi ew?usp=sharing Latihan-latihan ini memerlukan koneksi aktif internet Cek kembali koneksi internet anda Jalankan
Cara Membaca File Text di JAVA
Cara Membaca File Text di JAVA Memanipulasi file teks adalah keterampilan yang akan melayani Anda dengan baik dalam karir pemrograman Anda. Pada bagian ini, Anda akan belajar bagaimana untuk membuka dan
Framework CodeIgniter Part 1
1 Framework CodeIgniter Part 1 Fajar Y. Zebua [email protected] http://www.bangjar.blogspot.com Lisensi Dokumen : Copyright 2012 Fajar Y. Zebua Seluruh tulisan yang dibuat oleh Fajar Y. Zebua dapat
MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID
MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID A. Tujuan : 1. Memahami interkoneksi client-server dengan php di android 2. Memahami interkoneksi client-server dengan php-mysql 3. Memahami passing parameter
TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java
TUJUAN Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java 2 TODAY S MENU Pengenalan library JDBC Diagram pengaksesan database melalui JDBC Step-by-step
MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)
MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY) TUJUAN PRAKTIKUM 1. Praktikan mengetahui definisi JDBC dan langkah-langkah standar koneksi database dengan JDBC 2. Praktikan mampu menganalisis suatu kasus dan
E-trik Ajax. Database MySQL. Dedi Alnas
E-trik Ajax Database MySQL Dedi Alnas Pengenalan MySQL Tutorial kali ini akan membahas cara pembuatan aplikasi web yang dapat dihubungkan dengan MySQL. Pada paket instalasi Xampp terdapat MySQL dan phpmyadmin.
UNIVERSITAS KOMPUTER INDONESIA
UNIVERSITAS KOMPUTER INDONESIA BAB II. MEMULAI PROYEK ANDROID PERTAMA Dosen Pembina : Bella Hardiyana, S. Kom, M. Kom JDK Download JDK terbaru dari link dibawah ini http://www.oracle.com/technetwork/java/javase/downloads/index.
Network Programming 2010 Jaringan & Aplikasinya. Husni Husni.trunojoyo.ac.id
Network Programming 2010 Jaringan & Aplikasinya Husni [email protected] Husni.trunojoyo.ac.id Outline Sistem Tersebar Sistem Operasi Protokol Jaringan Pemrograman Java Sistem Tersebar Himpunan komputer-komputer
PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans
PEMROGRAMAN LANJUTAN JAVA Dasar-Dasar Netbeans OLEH ONDRA EKA PUTRA, S.KOM FAKULTAS ILMU KOMPUTER UNIVERSITAS PUTRA INDONESI YPTK PADANG DASAR-DASAR NETBEANS Dalam pembahasan ini akan belajar dasar-dasar
I. Pengenalan Play Framework
I. Pengenalan Play Framework Play framework merupakan framework pemrograman web yang memudahkan dan mempercepat proses development aplikasi menggunakan Java. Framework ini diciptakan untuk mengatasi tantangan
MODUL 3 Servlet dan JavaBean
MODUL 3 Servlet dan JavaBean TUJUAN PRAKTIKUM : 1. Praktikum mampu membuat konfigurasi Servlet. 2. Praktikum mampu memahami dan membuat halaman JSP. 3. Praktikan mampu memahami dan membuat kelas Javabean
- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta
MODUL 1 IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN Design Pattern dapat didefinisikan : - Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta menjelaskan cara utama
LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript
LAPORAN RESMI PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript Dosen Pembimbing : Dwi Susanto Oleh : Noer Rhiannah A (4103131052) 3 D3 MMB B PROGRAM STUDI TEKNOLOGI MULTIMEDIA BROADCASTING DEPARTEMEN MULTIMEDIA
INSTALLATION GUIDE INSTALLATION GUIDE. PT.Technomatic Cipta Mandiri. IT division: Jl. Cikutra Baru Raya No.2 Bandung-40124
INSTALLATION GUIDE PT.Technomatic Cipta Mandiri IT division: Jl. Cikutra Baru Raya No.2 Bandung-40124 Telp./Fax.: 022 70051771; 7219761 INSTALLATION GUIDE INSTALLATION GUIDE MailTracking merupakan sebuah
PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)
PEMROGRAMAN JAVA Yoannita, S.Kom Input Kondisi (IF-ELSE, SWITCH) 1 import java.io.* Operasi input/output dimaksudkan untuk berinteraksi dengan user, User mengetikkan sesuatu input, program java akan menerima
BAB 2 INPUT DARI KEYBOARD
BAB 2 INPUT DARI KEYBOARD 2.1 Tujuan Membuat program java yang interaktif yang bisa membaca input dari keyboard Menggunakan class BufferedReader untuk mendapatkan input dari keyboard melalui layar console
Firma Firmansyah Adi B. Resume Web Service
Resume Web Service Web service adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk
CRUD Hibernate Java. Oleh: Yudi Setiawan
CRUD Hibernate Java Oleh: Yudi Setiawan Pada tutorial ini, saya akan menjelaskan contoh CRUD(Create, Read, Update dan Delete) di Hibernate Java. Sebenarnya apa itu Hibernate? Kalau menurut saya Hibernate
Muhammad Zen Samsono Hadi, ST. Msc.
APPLICATION LAYER 1 Muhammad Zen Samsono Hadi, ST. Msc. Pendahuluan Layer ini berurusan dengan program komputer yang digunakan oleh user. Program komputer yang berhubungan hanya program yang melakukan
3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR
BAB III ANALISIS Bab ini berisi analisis mengenai aplikasi web target code generator, analisis penggunaan framework CodeIgniter dan analisis perangkat lunak code generator. 3.1 APLIKASI YANG DITANGANI
Input Nilai tanpa Case String di Java
Input Nilai tanpa Case String di Java Oleh: Yudi Setiawan Input di Java umumnya ada Case String didalamnya namun, saya pernah dapat soal dimana sample input nya tidak terdapat Case String didalamnya. Lalu
Membangun Antarmuka Pemrograman Aplikasi (API) REST dengan PHP
Membangun Antarmuka Pemrograman Aplikasi (API) REST dengan PHP [email protected] Daftar Isi Pendahuluan... 2 Apa itu REST API?... 3 Pustaka Client HTTP: curl... 4 Membuat REST API Menggunakan PHP...
A-PDF OFFICE TO PDF DEMO: Purchase from to remove the watermark. Ade Sarah H
A-PDF OFFICE TO PDF DEMO: Purchase from www.a-pdf.com to remove the watermark Pengenalan Java Ade Sarah H Apa itu Java? Java merupakan bahasa pemrograman yang serbaguna yang bisa dijalankan diberbagai
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah
TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah www.ilmuwebsite.com Bagian 4. CRUD (Create, Read, Update, Delete)
APPLICATION LAYER. Oleh : Reza Chandra
APPLICATION LAYER Oleh : Reza Chandra Sebagian besar dari kita berpengalaman menggunakan Internet melalui World Wide Web, layanan e-mail, dan file-sharing. Aplikasi ini, dan banyak lainnya, menyediakan
Modul 3 Flow Control dan Input
Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan
TUGAS SISTEM INFORMASI BERBASIS WEB. PHP Web Service. Nama : Ilham NIM : Kelas : 6B. Daftar isi
TUGAS SISTEM INFORMASI BERBASIS WEB PHP Web Service Nama : Ilham NIM : 09071003024 Kelas : 6B Daftar isi FAKULTAS ILMU KOMPUTER JURUSAN SISTEM INFORMASI 2009/2010 1 1. Pengenalan web service 3 2. Apa itu
MODUL X DATABASE VB. Modul Praktikum Bahasa Pemrograman Visual (BPV)
MODUL X DATABASE VB A. Tujuan 1. Memahami dan menerapkan operasi-operasi database. 2. Memahami langkah pembuatan aplikasi database. 3. Memahami konfigurasi data source. 4. Memahami pembuatan Table Adapter.
MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR
MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 8 HTTP CONNECTION Tujuan: Mahasiswa memahami dan mampu menerapkan penggunaan http connection dalam pembuatan suatu aplikasi Android. Pustaka: Abdul Kadir,
PANDUAN PENGGUNAAN. Joomla! Versi 1.5. Oleh: Anon Kuncoro Widigdo
PANDUAN PENGGUNAAN Joomla! Versi 1.5 Oleh: Anon Kuncoro Widigdo [email protected] Kendari 2009-2010 MODUL I Pendahuluan Joomla adalah sebuah aplikasi sistim manajemen konten atau Content Management
BAB 3 Mengenali Lingkup Pemrograman Anda
BAB 3 Mengenali Lingkup Pemrograman Anda 3.1 Tujuan Dalam bagian ini, kita akan membahas tentang bagaimana menulis, mengkompilasi dan menjalankan program Java. Terdapat dua cara dalam melakukannya, yang
Menggunakan Database di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.
Menggunakan Database di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse, SQLite Dengan semakin beragamnya pengembangan berbagai aplikasi di platform
soal tes + ujian asil + ujian BUKU PANDUAN SISTEM MANAJEMEN KONTEN PADA PLATFORM MOODLE Buku Panduan CMS pada Platform Moodle 1
soal tes + ujian asil + ujian BUKU PANDUAN SISTEM MANAJEMEN KONTEN PADA PLATFORM MOODLE Buku Panduan CMS pada Platform Moodle 1 Daftar Isi Daftar Isi...2 BAB I. PENDAHULUAN...3 1.1. Sekilas Tentang Moodle...3
Pembuatan Report menggunakan JasperReports dan ireport
Pembuatan Report menggunakan JasperReports dan ireport Oleh : Tutorial ini adalah lanjutan dari tutorial sebelumnya yang berjudul Pemrograman Database Java- MySQL bisa dibaca di http://www.scribd.com/doc/72455088/pemrograman-database-java-mysql.
63 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Sistem Sistem ini dirancang menggunakan bahasa pemrograman PHP yang berjalan diatas protocol HTTP. Proses implementasi ini menggunakan tools pendukung
BAB 4 IMPLEMENTASI DAN EVALUASI. a. Spesifikasi piranti keras pada local server: Processor : Intel Pentium IV 1.8 Ghz
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi yang Diperlukan 4.1.1 Spesifikasi Piranti Keras Berikut merupakan spesifikasi piranti keras yang digunakan pada saat melakukan pengujian e-book reader berbasis
APIs for everyone. Consumes APIs to create Apps faster, reliable. Create APIs to foster ideas and expands your apps.
APIs for everyone Consumes APIs to create Apps faster, reliable. Create APIs to foster ideas and expands your apps. Ahmad Rosadi Djarkasih Unit API & Playcourt Platform (APP) Divisi Digital Service (DDS)
Bab 1. Pengenalan JSP POKOK BAHASAN: TUJUAN BELAJAR: 1.1 Dasar JSP
Bab 1 Pengenalan JSP 1 Bab 1 Pengenalan JSP POKOK BAHASAN: Dasar JSP Daur hidup JSP] Web Container Jakarta Tomcat Contex Java Virtual Machine Yang diperlukan untuk menjalankan JSP Membuat dan mendeploy
Cara Install Java SE Development Kit (JDK) di Windows
Cara Install Java SE Development Kit (JDK) di Windows 1. Download Java JDK Versi Terbaru 2. Klik dua kali pada file instalasi yang sudah didownload dan akan membuka dialog installer java. 3. Klik next,
Koneksi Client-Server. Ahmad Zainudin
Koneksi Client-Server Ahmad Zainudin http://lecturer.eepis-its.edu/~zai [email protected] Arsitektur Jaringan dengan Android Jaringan operator Air interface Server Base station Internet Client Digunakan
BAB IV IMPLEMENTASI DAN PENGUJIAN 1.1 Implementasi Aplikasi dan Konfigurasi Tahap implementasi dan pengujian dilakukan setelah tahap analisis dan perancangan selesai dilakukan. Pada sub bab ini akan dijelaskan
KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64
10 BAB X PENGAKSESAN DATABASE 101 IDENTITAS Kajian Relasi Antar Kelas 2, Exception Handling, Akses Database Topik Pengaksesan Basis Data MySQL Kompetensi Utama 1 Mahasiswa memahami konsep pengaksesan basis
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.
Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs. Komunikasi aplikasi dengan database Aplikasi dan sistem database tidak menggunakan bahasa dan mekanisme yang sama. Sehingga program
Pertemuan 4 Array pada Java
Pertemuan 4 Array pada Java Objektif : 1. Mahasiswa dapat memahami pengertian Array pada Java 2. Mahasiswa dapat mengetahui bentuk umum dari Array 3. Mahasiswa dapat mengetahui jenis-jenis Array pada Java
2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.
Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method
MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA
MODUL 1 INSTALASI PAKET JAVA DAN PROGRAM SEDERHANA A. Target Pembelajaran 1. Siswa mampu menginstal JDK 2. Siswa mampu menjalankan eclipse 3. Siswa mampu membuat program sederhana B. Materi 1. Pengenalan
Tutorial Instal XAMPP
Tutorial Instal XAMPP WordPress butuh XAMPP agar jalan di PC Oleh: J. Atim FreeTutorial.Web.id Penting! Anda TIDAK memiliki hak untuk menyunting, menjual, menyalin atau menyatakan kepemilikan atas artikel
BAB III PERANCANGAN APLIKASI
BAB III PERACAGA APLIKASI 3.1 DESKRIPSI APLIKASI Pada bagian ini, dipaparkan kebutuhan sistem minimum agar sistem dapat berjalan dengan baik. ama aplikasi : Web Collab Fungsi aplikasi : Menunjang terjadinya
