bab 1 client server (finished)

Click here to load reader

Post on 14-Aug-2015

78 views

Category:

Documents

6 download

Embed Size (px)

TRANSCRIPT

Bab 1

Client ServerPOKOK BAHASAN: Pengenalan Android Service Client Server

TUJUAN PEMBELAJARAN:Setelah mempelajari materi dalam bab ini mahasiswa diharapkan mampu: Mengenali service Client Server pada android Dapat mengimplementasikan Client Server pada Client Side Dapat mengimplementasikan Client Server pada Server Side

DASAR TEORI1. Client-Server Client-Server merupakan sebuah paradigma dalam teknologi informasi yang merujuk kepada cara untuk mendistribusikan aplikasi ke dalam dua pihak: pihak klien dan pihak server. Dalam model Client-Server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end. Komponen klien dari aplikasi tersebut dijalankan dalam sebuah workstation dan menerima masukan data dari pengguna. Komponen klien tersebut akan menyiapkan data yang dimasukkan oleh pengguna dengan menggunakan teknologi pemrosesan tertentu dan mengirimkannya kepada komponen server yang dijalankan di atas mesin server, umumnya dalam bentuk request terhadap beberapa layanan yang dimiliki oleh server. Komponen server akan menerima request dari klien, dan langsung memprosesnya dan mengembalikan hasil pemrosesan tersebut kepada klien. Klien pun menerima informasi hasil pemrosesan data yang dilakukan server dan menampilkannya kepada pengguna, dengan menggunakan aplikasi yang berinteraksi dengan pengguna. 2. SOAP Web Service SOAP adalah spesifikasi protokol untuk bertukar informasi terstruktur dalam pelaksanaan Web Services dalam jaringan komputer. SOAP bergantung pada Extensible Markup Language (XML) untuk format pesannya, dan biasanya bergantung pada protokol Application Layer lainnya, terutama Hypertext Transfer Protocol (HTTP) dan Simple Mail Transfer Protocol (SMTP), untuk negosiasi pesan dan transmisi.

SOAP terdiri dari tiga bagian: SOAP envelope construct mendefinisikan suatu framework menyeluruh untuk mengungkapkan apa isi yang ada dalam pesan, siapa yang harus menerimanya, dan apakah pesan itu opsional atau wajib. SOAP encoding rules mendefinisikan mekanisme serialisasi yang dapat digunakan untuk bertukar contoh aplikasi - didefinisikan tipe data. SOAP RPC representation mendefinisikan sebuah konversi yang dapat digunakan untuk mewakili prosedur panggilan jarak jauh dan tanggapan. Struktur SOAP Message Berikut ini adalah struktur SOAP Message: Envelope adalah element paling atas dari dokumen XML yang mewakili pesan. Header adalah element yang mendefinisikan beberapa atribut yang dapat digunakan untuk menunjukkan siapa yang harus berurusan dengan fitur dan apakah opsional atau wajib Body merupakan wadah untuk informasi wajib ditujukan untuk penerima akhir pesan. Bagian Body SOAP mendefinisikan satu elemen, Fault digunakan untuk pelaporan kesalahan.

Contoh SOAP Message SOAP Message dalam HTTP Request DIS SOAP Message dalam HTTP Response

34.5 Spesifikasi Spesifikasi SOAP mendefinisikan kerangka pesan yang terdiri dari: SOAP Processing Model mendefinisikan aturan untuk memproses pesan SOAP. SOAP Extensibility Model mendefinisikan konsep fitur SOAP dan modul SOAP. SOAP Underlying Protocol Binding Framework mendefinisikan sebuah peraturan untuk menggambarkan sebuah ikatan pada sebuah protocol utama yang dapat digunakan untuk bertukar SOAP Message dengan SOAP Node. SOAP Message Construct mendefinisikan struktur dari SOAP Message. Model Proses Model pengolahan SOAP menggambarkan model pemrosesan terdistribusi node SOAP dan bagaimana penerima SOAP memproses pesan SOAP. Node SOAP berikut didefinisikan: SOAP Sender Node SOAP yang mentransmisikan pesan SOAP. SOAP Receiver Node SOAP yang menerima pesan SOAP. SOAP Message Path Gabungan Node SOAP melalui mana pesan SOAP tunggal lewat. Initial SOAP sender (Originator) Pengirim SOAP yang berasal pesan SOAP pada titik awal jalur pesan SOAP. SOAP intermediary Sebuah perantara SOAP adalah penerima dan pengirim SOAP, dan ditargetkan dari dalam pesan SOAP. Ini memproses blok header SOAP ditargetkan dan bertindak untuk meneruskan pesan SOAP terhadap penerima SOAP utama. Ultimate SOAP receiver Penerima SOAP yang merupakan tujuan akhir dari pesan SOAP. Hal ini bertanggung jawab untuk memproses isi dari tubuh SOAP dan setiap blok header SOAP ditargetkan pada hal itu. Dalam beberapa situasi, sebuah pesan SOAP mungkin tidak mencapai penerima SOAP utama, misalnya karena masalah pada perantara SOAP. Penerima SOAP utama tidak bisa juga menjadi perantara SOAP untuk pesan SOAP yang sama.

Diagram Arsitektur Web Service WSDL - SOAP

3.

Server Side (NuSOAP) Intro NuSOAP adalah sekelompok kelas PHP yang memungkinkan pengembangan untuk membuat dan menerima layanan web SOAP. NuSOAP tidak memerlukan ekstensi PHP khusus. Versi rilis saat ini (0.6.7) dari NuSOAP mendukung banyak spesifikasi SOAP 1.1. Telah dapat menghasilkan WSDL 1.1 dan juga menerima untuk digunakan dalam serialisasi. Kedua layanan rpc/encoded dan document/literal telah support dalam NuSOAP. Namun, harus dicatat bahwa NuSOAP tidak menyediakan cakupan dari SOAP 1.1 dan WSDL 1.1 yang lengkap beberapa implementasi lain, seperti .NET dan Axis Apache. Instalasi Untuk dapat melakukan percobaan pada Server Side NuSOAP ada beberapa aplikasi yang harus disiapkan, antara lain; Web developer Application = Adobe Dreamweaver Web Service Application = Xampp Untuk mendownload library NuSOAP: http://sourceforge.net/projects/nusoap/ Cara mengimport library NuSOAP pada project Dreamweaver: 1. Download library pada link diatas. 2. Setelah selesai mendownload, ekstrak file. 3. Masukkan dalam folder direktori yang sama dengan project server side.

Untuk dapat mencoba hasil Server Side dari program yang telah kita buat, gunakan SOA Client Add-On pada Web Browser Mozila Firefox. Membuat Server Side Untuk dapat membuat program Server Side, kita diharuskan untuk memahami inti dari program tersebut, antara lain: Library NuSOAPrequire_once('lib/nusoap.php');

untuk memasukkan (include) library NuSOAP pada project. Server SOAP$server = new soap_server;

untuk membuat server SOAP yang baru untuk tiap project.

Setting WSDL@server->configureWSDL(nama_method);

untuk setting WSDL yang akan dijadikan sebagai Server. Register ke server SOAP$server->register( );

Untuk registrasi isi dari server SOAP, yaitu antara lain : - nama method - parameter input - parameter output - namespace - SOAP Action - style - use Fungsi SOAPfunction nama($parameter) {return nilai_return;}

Untuk mendefinisikan method sebagai fungsi php yang akan menghasilkan return value pada Client Side. Script tambahan

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA : ''; $server->service($HTTP_RAW_POST_DATA);

Berguna sebagai permintaan untuk memanggil layanan Client Server. (Harus ada dalam coding)

4.

Client Side (KSOAP) Intro KSOAP adalah API dari SOAP yang cocok untuk J2ME, berbasis kXML. Kita dapat menggunakan kSOAP pada Android untuk mengakses layanan SOAP berbasis web dengan mudah. KSOAP mendukung fitur SOAP paling sering digunakan dan cukup untuk Web Services kebanyakan yang saat ini tersedia. Saat ini, hampir semua aplikasi kSOAP utama dan alat didasarkan pada kSOAP yang mendukung subset inti SOAP. Instalasi Untuk mendownload library kSOAP: http://kSOAP2-android.googlecode.com/svn/m2repo/com/google/code/kSOAP2-android/kSOAP2-androidassembly/2.6.5/kSOAP2-android-assembly-2.6.5-jar-with-dependencies.jar Cara mengimport library KSOAP2 pada project Android: 1. Pertama-tama, download terlebih dahulu library KSOAP2 pada link diatas. 2. Pindahkan kSOAP2.jar hasil download dalam sebuah folder yang dapat diakses. 3. Klik kanan pada Android Project yang ingin diimport library KSOAP2. 4. Pilih Properties. 5. Dalam Properties window, pilih Java Build Path > Libraries > Add External JARs. 6. Cari dan pilih file kSOAP2.jar yang telah didownload tadi. Kemudian klik Open dan terakhir klik OK. Membuat Client Side Untuk dapat membuat program Client Side, kita diharuskan untuk memahami inti dari program tersebut, antara lain: Parameter Message SOAP SOAP_ACTION = alamat URL yang merupakan gabungan dari lokasi file PHP Server dan Method_Name. METHOD_NAME = nama operasi pada WSDL Server. NAMESPACE = namespace dari Web Service. URL = alamat URL dari WSDL Server yang terakhirnya ditambah ?wsdl.String NAMESPACE = ""; String METHOD_NAME = "";

String SOAP_ACTION = ""; String URL = "http://10.0.2.2/ " ; atau String URL = "http://www. " ;

10.0.2.2 merupakan alamat localhost dari Web Service Komputer yang akan diakses emulator Android karena emulator Android tidak dapat mengakses domain localhost. Proses Pengiriman Nilai Parameter ke Web ServerPropertyInfo pi = new PropertyInfo(); pi.setName("name"); pi.setValue(input); pi.setType(String.class); Request.addProperty(pi);

PropertyInfo adalah variable untuk memasukkan nilai parameter yang mau dikirim ke web service. Kemudian yang akan digabung kedalam variable Request. SoapSerializationEnvelope Class Bagian Envelope pada SOAP dibuat dengan menggunakan class SoapSerializationEnvelope dan Request ditambahkan pada Body dalam Envelope.SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request);

Karena Web Service yang digunakan adalah berbasis .NET, diperlukan setting .dotNet property disetting TRUE pada Envelope.envelope.dotNet = true;

HttpTransportSE Class HttpTransportSE digunakan untuk membuat panggilan sebenarnya dari metode layanan Web, amplop yang lulus sebagai parameter. Hasilnya adalah diambil dari bagian respon dari amplop.HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.call(SOAP_ACTION, envelope);

TUGAS P