Rabu, 30 November 2011

Web Service

Ada banyak cara bahwa entitas penanya mungkin terlibat dan menggunakan Web service. Secara umum, langkah-langkah yang luas berikut yang diperlukan, seperti yang diilustrasikan pada Gambar 1.  (1) pemohon dan penyedia entitas menjadi dikenal satu sama lain (atau setidaknya satu menjadi tahu untuk yang lain); (2) peminta dan penyedia entitas entah bagaimana setuju pada deskripsi layanan dan semantik yang akan mengatur interaksi antara pemohon dan agen penyedia; (3) deskripsi layanan dan semantik direalisasikan oleh pemohon dan agen penyedia, dan (4) pemohon dan agen penyedia bertukar pesan, sehingga melakukan beberapa tugas atas nama pemohon dan badan penyedia. (Ie, pertukaran pesan dengan agen penyedia merupakan wujud nyata dari berinteraksi dengan layanan Web penyedia entitas.).


Gambar 1. Proses Umum Web Service

Arsitektur Web service melibatkan teknologi berlapis banyak dan saling terkait. Ada banyak cara untuk memvisualisasikan teknologi ini, seperti halnya ada banyak cara untuk membangun dan menggunakan Web service. Gambar 2 di bawah ini memberikan sebuah ilustrasi dari beberapa keluarga teknologi.

Gambar 2. Arsitektur 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 pertukaran data, khususnya pada dua entities bisnis yang berbeda.

Beberapa karakteristik dari web service adalah:
- Message-based
- Standards-based
- Programming language independent
- Platform-neutral

Beberapa key standard didalam web service adalah: XML, SOAP, WSDL and UDDI.

SOAP (Simple Object Access Protocol) adalah sebuah XML-based mark-up language untuk pergantian pesan diantara aplikasi-aplikasi. SOAP berguna seperti sebuah amplop yang digunakan untuk pertukaran data object didalam network. SOAP mendefinisikan empat aspek didalam komunikasi: Message envelope, Encoding, RPC call convention, dan bagaimana menyatukan sebuah message didalam protokol transport.
Sebuah SOAP message terdiri dari SOAP Envelop dan bisa terdiri dari attachments atau tidak memiliki attachment. SOAP envelop tersusun dari SOAP header dan SOAP body, sedangkan SOAP attachment membolehkan non-XML data untuk dimasukkan kedalam SOAP message, di-encoded, dan diletakkan kedalam SOAP message dengan menggunakan MIME-multipart.

WSDL (Web Services Description Language) adalah sebuah XML-based language untuk mendeskripsikan XML. WSDL menyediakan service atau layanan yang mendeskripsikan service request dengan menggunakan protokol-protokol yang berbeda dan juga encoding. WSDL memfasilitasi komunikasi antar aplikasi. WSDL akan mendeskripsikan apa yang akan dilakukan oleh web service, bagaimana menemukannya dan bagaimana untuk mengoperasikannya.
Spesifikasi WSDL mendefinisikan tujuh tipe element:
  1. Types – element untuk mendefinisikan tipe data. Mereka akan mendefinisikan tipe data (seperti string atau integer) dari element didalam sebuah message.
  2. Message – abstract, pendefinisian tipe data yang akan dikomunikasikan.
  3. Operation – sebuah deskripsi abstract dari sebuah action yang didukung oleh service.
  4. Port Type – sebuah koleksi abstract dari operations yang didukung oleh lebih dari satu endpoints.
  5. Binding – mendefinisikan penyatuan dari tipe port (koleksi dari operasioperasi) menjadi sebuah protokol transport dan data format (ex. SOAP 1.1 pada HTTP). Ini adalah sebuah protokol konkret dan sebuah spesifikasi data format didalam tipe port tertentu.
  6. Port – mendefinisikan sebuah komunikasi endpoint sebagai kombinasi dari binding dan alamat network. Bagi protokol HTTP,  sebuah bentuk dari URL sedangkan bagi protokol SMTP, ini adalah sebuah form dari email address.
  7. Service – satu set port yang terkorelasi atau suatu endpoints.

WSDL mendefinisikan service sebagai sebuah koleksi dari endpoints network. Sebuah definisi abstrak dari endpoints dan messages adalah ia bersifat terpisah dari pembangunan network atau penyatuan data format. Pembagian ini menyebabkan penggunaan kembali abstract description dari data yang akan dipertukarkan (message exchange) dan abstract collection dari operasi (ports) Protokol konkret dan spesfikasi data format bagi tipe port tertentu menentukan binding yang dapat digunakan kembali(reusable). Sebuah port adalah sebuah network address yang dikombinasikan reusable binding; sebuah service adalah koleksi dari port-port.

Sedangkan UDDI (Universal Description, Discovery and Integration) adalah sebuah service registry bagi pengalokasian web service. UDDI mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah registry API bagi pendaftaran dan pengenalan service. Ia menyediakan sebuah area umum dimana sebuah organisasi dapat mengiklankan keberadaan mereka dan service yang diberikan (web service).
Semantik pada Web service adalah harapan bersama tentang perilaku layanan, khususnya dalam menanggapi pesan yang dikirim ke tujuan. Akibatnya, ini adalah “kontrak” antara entitas pemohon dan badan penyedia tentang tujuan dan konsekuensi dari interaksi. Meskipun kontrak ini merupakan keseluruhan perjanjian antara entitas penanya dan entitas penyedia tentang bagaimana dan mengapa masing-masing agen akan berinteraksi, itu belum tentu tertulis atau eksplisit dinegosiasikan. Ini mungkin eksplisit atau implisit, lisan atau tertulis, mesin processable atau manusia berorientasi, dan mungkin suatu perjanjian hukum atau kesepakatan informal (non-hukum).

Penggunaan  Web Services ?

Web Services itu digunakan saat kita akan mentransformasi sebuat bisnis logik / sebuah class dan object yang terpisah dalam 1 ruang lingkup yang menjadi satu, sehingga tingkat keamanan dan security dapat di tangani dengan baik.

Selain ituWeb Service juga lebih mudah dalam process deploymentnya, karena tidak memerlukan registrasi khusus ke dalam sistem operasi. Web Service cukup diupload ke Web Server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.

Web Service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian mengurangi resiko terblokir oleh firewall. Kendala arsitektur COM/DCOM adalah memerlukan konfigurasi khusus di sisi firewall, dan ini tidak perlu dilakukan untuk mengakses Web Service. Beberapa vendor luar negeri mulai berkolaborasi satu sama lain dengan konsep web services, diantaranya : IBM , Microsoft , SUN , ORACLE

Diantaranya contoh web services yang sudah jadi dan dipakai adalah web services keluaran Microsoft ( Microsoft Passport ) – web services untuk user name dan password yang sudah dipasang di web site Microsoft dan HOTMAIL.

Keuntungan Penggunaan Web Service
Ø  Format penggunaan terbuka untuk semua platform.
Ø  Mudah di mengerti dan mudah men-debug.
Ø   Dukungan interface yang stabil.
Ø  Menggunakan standard-standard “membuka service sekali” dan mempunyai pemakai banyak.
Ø  Mudah untuk menengahi pesan-pesan proses dan menambahkan nilai.
Ø  Routing and pengiriman.
Ø  Security.
Ø  Management and monitoring.
Ø  Schema and service design.
Ø  Akselerasi.
Ø  Mudah untuk mengembangkan dengan semantic transport tambahan.
Ø  Terbuka, standard-standard berbasis teks.
Ø  Pencapaian modular.
Ø  Tidak mahal untuk diimplementasikan (relatif).
Ø  Mengurangi biaya integrasi aplikasi enterprise.
Ø  Implementasi yang incremental.
Tahap Pengembangan Web Service
Ø  Pengembangan Aplikasi Berbasis Web Service
-          Menurut media protokolnya:
-          Dalam korporasi firewall Untuk aplikasi enterprise terintegrasi ringan
-          Antar korporasi firewall:
-          Untuk digunakan pada layanan eksternal (contoh: passport).
-          Untuk menyediakan data untuk partner-partner.
-          Melalui Web:
-           Aplikasi komposit Komponen-komponen Aliran Kerja.

Ø  Tahap-Tahap Pengembangan Web Service
-           Discover – browse registry UDDI untuk mencari Web Service yang sudah ada untuk integrasi.
-          Create or Transform – buat Web Service dari project-project yang ada.
-          Build – satukan artifak yang ada sebagai SOAP dan service HTTP dan jabarkan pada WSDL.
-           Deploy – Aplikasikane menjadi server aplikasi Wensphere atau Tomcat.
-          Test – Uji coba web service baik local (stand alone computer) atau secara remote.
-          Develop – Bangun contoh aplikasi untuk memberi masukkan dalam membuat aplikasi klien
-           Web service Publish – publikasikan / upload Web Service pada bisnis registri UDDI.

Membuat sebuah Mobile Web Service Client
Kita akan membuat secara sederhana aplikasi mobile dan kita akan menamakannya
“arithmeticClient”.





Kemudian, kita akan menggunakan stub generator (Tools->Java Platform Manager ->
Wireless Toolkit -> Tools and Extensions -> Open Utilities -> Stub Generator):



Sebelum kita dapat membuat sebuah web service client, kita harus memiliki sebuah file WSDL atau lokasi URL dimana terdapat service yang dapat kita pergunakan. Seperti yang telah disebutkan dalam bagian sebelumnya, JSR 172 tidak mendukung UDDI atau automatic discovery bagi service.

Masukkan lokasi WSDL dari sebuah web service. Path dari outputnya harus menjadi path dari direktori sumber project Anda (PROJECT_PATH/src). Sebuah stub generator tidak menerima package tanpa penamaan. Oleh karena itu, Anda harus meng-inputkan sebuah nama package.



Kemudian, kita akan membuat sebuah Midlet yang akan menggunakan stub yang telah
kita buat untuk mengakses sebuah web service:
/*
* arithemeticClient.java
*
*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import jedi.*;
public class WSClient extends MIDlet {
private ArithmeticSEI_Stub stub;
public void startApp() {
System.out.println("Creating stub...");
stub = new ArithmeticSEI_Stub();
System.out.println("Invoking operation...");
WebServiceClient client = new WebServiceClient();
Thread thread = new Thread(client);
thread.start();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
class WebServiceClient implements Runnable {
public void run() {
try {
int reply = stub.multiply(4, 5);
System.out.println("Reply: " + reply);
} catch (java.rmi.RemoteException rex) {
System.out.println("Remote Exception: " + rex.getMessage());
}
}
}
}



Sumber Referensi

-------------------------------------------------------------------

Tidak ada komentar:

 
Zone JarKom © 2011 Templates | Hacker-newbie