Welcome to my blog, hope you enjoy reading
RSS

Senin, 21 Maret 2011

Tugas web Service











Aplikasi terdistribusi


Aplikasi terdistribusi adalah aplikasi yang memproses permintaan dengan beberapa komputer dan data disimpan dalam beberapa lokasi secara fisik , tetapi fungsinya secara logic tidak ditentukan dengan toplology yang digunakan untuk implementasi aplikasi

Driving forces untuk desentralisasi proses dan penyimpanan data :

1. Biaya Mainframe

Salah satu yang utama yaitu cost of mainframes. Tidak hanya biaya awal investasi dari banyak perusahaan, tetapi juga single point of failure. Setiap computer tidak diharuskan untuk memiliki mainframe yang sama. Sehingga biaya mainframe dapat ditekan.

2. Data kepemilikan

Faktor yang penting disamping desentralisasi data kepemilikan. Departemen, divisi, lokasi geografi, atau situs yang memiliki data tidak bertanggungjawab dalam mengurus data untuk beberapa lokasi pusat.

3. Security

Beberapa faktor penting adalah keamanan. Untuk beberapa organisasi, akses data harus dapat dilakukan dengan mudah.Tapi bagaimanapun data yang sensitive harus tetap aman.Sehinggaaplikasiterdistribusiitu men-segmantasi (membagi) data secarafisik (antara data yang secure dan data yang easily accesible).

Aplikasi terdistribusi sebagai penyedia layanan

Aplikasi terdistribusi menyediakan layanan yang fungsional bagi aplikasi yang membutuhkannya.

Aplikasi terdistribusi dan Web

Perkembangan aplikasi terdistribusi menyediakan desain teknik dan model baru juga dihasilkan dalam beberapa problem baru.

Dua macam arsitektur yang berkembang untuk dapat megembangkan aplikasi terdistribusi:

1. RPC-based arsitektur

2. Message—based arsitektur

Desain aplikasi terdistribusi

1. Tipe data yang tidak compatible dengan sistem yang berbeda

Perbedaan sistem operasi mendukung perbedaan tipe data. Kadang-kadang tipe data tidak 100% compatible dengan perbedaan sistem operasi.Oleh karena itu kita harus dapat menghandelnya.

2. Server failures atau kehilangan respon server

Karena komponen aplikasi terdistribusi kebanyakan adalah remote, kesalahan

3. Client failures

Tidak semua data disimpan di sisi server.Kita harus mempertimbangkan bagaimana server mengetahui bahwa terjadi masalah pada client yang menyimpan data.

4. Retrying a call

Jika client sudah memanggil suatu method dan server tidak memberikan respon, maka tidak akan diterima ketika memanggil ulang method tersebut.

5. Keamanan

Pada aplikasiterdistribusi, banyak ancaman keamanan.Disini kita tidak hanya memperhatikan autentikasi dana uthorisasi, tetapi juga harus memperhatikan keamanan komunikasi antara client dan server.

6. Sinkronisasi clock antara beberapa computer

Kita harus memastikan sinkronisasi waktu di berbagai computer yang berkomunikasi di dalam aplikasi terdistribusi.

RPC-based arsitektur

RPC adalah prosedur atau fungsi yang digunakan untuk remote sistem. satu teknik komunikasi interproses yang memungkinkan perangkat lunak client dan server untuk berkomunikasi. RPC disebut juga suatu protocol yang menyediakan suatu mekanisme komunikasi antar proses. Yang mengijinkan suatu program untuk berjalan pada suatu computer tanpa terasa adanya, Eksekusi kode pada sistem yang jauh (remotesystem)

RPC menyediakan

- Lokasi yang transparan ( karena programmer tidak perlu tahu lokasi secara fisik untuk penyedia layanan )

- Programming model yang familiar (kebanyakan programmer memakai beberapa procedure call)

Message-Based Arsitektur

Messaging adalah suatu metode komunikasi diantara komponen-komponen software atau aplikasi-aplikasi. Sebuah messaging system merupakan fasilitas peer-to-peer; sebuah messaging client dapat mengirim message ke client lain dan dapat juga menerima message dari client yang lain. Masing-masing client dikoneksikan ke sebuah messaging agent yang memberikan fasilitas untuk membuat, mengirimkan, menerima dan membaca message.
Message-oriented Middleware (MoM) adalah merupakan kunci teknologi dari infrastruktur sistem komputasi terdistribusi. Enterprise messaging system memberikan pelayanan yang luwes dan andal untuk mengirim data memberitahukan setiap kejadian (event) yang terjadi diantara komponen-komponen sistem.


Perkembangan Internet ikut mempengaruhi evolusi perkembangan sistem
terdistribusi (distributed system), dari sistem yang berdasarkan pada platform
proprietary (DCOM, CORBA, RMI) menuju plat form yang lebih terbuka (Web).

Momentum perkembangan ini diawali dengan kehadiran XML (eXtensible Markup
Language) untuk mendukung pertukaran data berbasis Web secara lebih fleksibel.
Keberadaan standard XML kemudian ikut mendorong penetapan standard protokol
komunikasi untuk mendukung mekanisme transfer data pada sistem terdistribusi
melalui jaringan Internet yang dikenal sebagai Simple Object Access Protokol
(SOAP) pada tahun 1998. Pada akhirnya kedua teknologi ini (XML dan SOAP)
kemudian mendasari perkembangan arsitektur teknologi yang memungkinkan untuk
menerapkan konsep sistem terdistribusi pada jaringan Internet berbasis Web, yang
kemudian dikenal sebagai Web Service.

Standard XML dan SOAP dikembangkan oleh World Wide Web Consortium
(W3C). Selanjutnya, W3C juga terlibat dalam pengembangan standard protokol dan
arsitektur untuk Web Service, seperti WSDL (Web Service Description Language),
termasuk standard teknologi kemanan untuk Web Service seperti XML Encryption,
XML Signature, dls. Disamping W3C, beberapa organisasi lain saat ini juga terlibat
dalam pengembangan standard untuk Web Service, seperti Organization for
Advancement of Structured Information Standard (OASIS),

Web Service
Interoperability Organization (WS-I), dan Liberty Alliance Technology Group yang
disponsori oleh Sun Microsystem.
Web Service memiliki keunggulan dibanding teknologi dengan sistem
terdistribusi yang sudah ada seperti CORBA, DCOM dan RMI karena karakteristik
Web Service yang bersifat terbuka, non-propriertary, loosely coupled, dan modular.
Web Service dapat diimplementasikan baik untuk lingkungan internal (Intranet)
maupun untuk lingkungan publik (Internet). Dalam lingkungan internal, Web Service
memberikan kemudahan dan solusi baru untuk mengintegrasikan berbagai platform
aplikasi yang ada dalam organisasi/perusahaan (Enterprises Application
Integration/EAI ). Dalam lingkungan publik, Web Service akan memperbaruhui
konsep transaksi berbas is Internet seperti e-business dengan cara mengintegrasikan
proses bisnis dengan partner bisnis secara lebih mudah, sederhana dan murah. Dan
secara umum, Web Service akan mengubah paradigma para pengguna maupun
pengembang perangkat lunak , dari API (application program interface)-based
menjadi message-based.


STANDARD TEKNOLOGI WEB SERVICE
Seperti yang ditunjukkan pada Gambar 1.3 tersebut diatas, Web service
tersusun dari beberapa komponen standard berbasis XML, yaitu : SOAP, WSDL, dan
UDDI.


Simple Object Access Protocol (SOAP)
SOAP merupakan suatu protokol berbasis XML yang digunakan untuk kebutuhan
pertukaran informasi dalam suatu sistem terdistribusi dan terdesentralisasi, seperti
halnya IIOP (pada CORBA), ORCP (pada DCOM) dan JRMP (pada RMI). Berbeda
dengan RMI, CORBA dan DCOM, SOAP merupakan protokol yang bersifat
independent terhadap platform, model pemrograman, dan transport protocol yang
digunakan dalam proses pertukaran pesan SOAP. Pesan SOAP dapat dikirimkan
melalui HTTP, SMTP maupun FTP.
Pesan SOAP berbentuk sekumpulan XML Schema yang mendefinisikan format
untuk mentransmisikan pesan XML melalui jaringan, termasuk tipe data dan cara
menstrukturkan pesan secara tepat sehingga dapat mudah dipahami oleh server atau
end-point lainnya.

Tinjauan Aspek Keamanan Sistem Web Service

Pesan SOAP terdiri dari 3 bagian, yaitu :
ƒ Envelope , suatu kerangka yang mendefinisikan apa yang ada dalam pesan
dan bagaimana pesan harus diproses serta menunjukkan resipien dari
message tersebut.
ƒ Header , berisi informasi yang berhubungan dengan keamanan dan routing.
Keberadaan Header dalam SOAP bersifat optional.
ƒ Body , berisi data yang berhubungan dengan aplikasi tertentu yang sedang
dipertukarkan. Data di-‘mark-up’ sebagai XML dan dimasukkan dalam
format yang spesifik yang didefinisikan dalam XML Schema.


Web Service Description Language (WSDL)
WSDL merupakan bahasa standard yang menyediakan mekanisme untuk
mendeskripsikan Service yang disediakan oleh sistem (Web service), lokasi
keberadaan service tersebut dan bagaimana cara memperolehnya, secara terstruktur
dalam format XML. WSDL dapat dianalogikan sebagai IDL ( interface definition
language) dalam CORBA dan COM. Service dedeskripsi kan sebagai koleksi dari
entry-point atau port komunikasi. WSDL mendeskripsikan service dengan
menggunakan elemen sebagai berikut :
• Type – tipe data yang digunakan sebagai argumen dan return type
• Message – merepresentasikan definisi data yang ditransmisikan
• Port type – sekumpulan operasi yang didukung oleh satu atu lebih endpoint
• Binding – mendefinisikan protokol dan format pertakaran data untuk operasi
yang didefinisikan oleh Port type
• Port – menspesifikasikan end-point yang digunakan untuk binding
• Service – koleksi endpoint yang berkai tan yang disediakan oleh Web service
• Operation – mendefinisikan kemampuan yang didukung oleh servis tertentu


Universal Description, Discovery & Integration (UDDI)
UDDI merupakan sekumpulan spesifikasi yang menunjukkan registry informasi
mengenai Webservice. UDDI menyediakan mekanisme untuk mempublikasikan
informasi mengenai bisnis dan service pada satu lokasi ( repository) yang dikelola
secara terpusat dan melakukan query mengenai informasi tersebut secara dinamis dan
programatis. Direktory pada UDDI bertindak seperti ‘Yellow Pages’ dimana service
dikategorikan sesuai tujuan utamanya. Direktory UDDI terdiri dari 3 bagian, yaitu :
• White pages – menyediakan informasi rinci mengenai organisasi yang
menawarkan service
• Yellow pages – mencakup pengakatagorian jenis industri berdasarkan standard
taxonomi industri
• Green pages – mendeskripsikan interface dan kebutuhan untuk memperoleh
service , seperti return type.

UDDI merupakan file XML Schema yang mendefinisikan struktur data
mengenai karakteristik bisnis dan service. Deskrisi service didefinisikan
menggunakan dokumen Type Model ( tModel ). Secara umum UDDI berisi informasi
mengenai siapa yang menyediakan service (businessEntity), Service apa yang
disediakan (businessService), dimana lokasi service tersedia (bindingTemplate),
referensi mengenai informasi bagaimana service tersebut diperoleh (tModel).


0 komentar:

Posting Komentar