PERANGKAT LUNAK APLIKASI WEB KELOMPOK

PERANGKAT LUNAK APLIKASI
WEB

KELOMPOK :

FREDDY SEPTIAN
HARYONO
INTAN FITRAH ISMAILIYAH
RIMA DEWANI
SANDRINE J.B
SITI NURLAYLA KAUTSAR

43 PLSI

PROGRAM PASCA SARJANA

UNIVERSITAS GUNADARMA

WEB SERVICE
Sejak kemunculannya, teknologi Web telah diperkirakan akan menjadi teknologi yang
lebih dari sekedar untuk mengirimkan web pages (Dokumen HTML) antara HTTP client dan

server, terlebih dengan semakin luasnya penggunaan teknologi ini untuk saling mengirim
informasi dan service (Service disini diartikan sebagai fungsi software yang mengandung
bussiness task, menyediakan akses ke file-file teks, dokumen, gambar, video, audio dll, atau
melakukan fungsi common seperti authentication dan logging). Istilah Web Serv ices
akhirnya muncul.
Secara terminologi web service memiliki berbagai definisi, web service adalah
interface yang dapat diakses melalui jaringan untuk memanggil fungsi aplikasi yang
dibangun menggunakan standard teknologi internet [Tidwell, Snell, Kulchenko: 2001]. Web
service adalah sebuah e-service yang diidentifikasi dengan URI yang ditampilkan ke
khalayak umum[Weindhart:2011]. Sedangkan menurut World Wide WebConsortium (http://
www.w3.org) web service adalah sistem komputer yang saling bertukar XML message
dengan sistem lain yang menggunakan HTTP sebagai protokol komunikasinya. Dengan kata
lain jika sebuah aplikasi dapat diakses melalui jaringan menggunakan kombinasi dari
berbagai protokol seperti HTTP,XML,SMTP atau Jabber maka itu dapat dikatakan sebagai
web service.

Gambar 1. Web Service menyediakan akses pada aplikasi melalui jaringan
Ide untuk memanfaatkan teknologi Web hal tersebut mulai terealisasi secara nyata
ketika pada tahun 1990-an akhir dan salah satu pendekatan implementasi web service yang
paling banyak digunakan disebut dengan Simple Access Object Protocol (SOAP) yang

memanfaatkan Extensible Markup Language (XML) yang belum lama muncul saat itu
sebagai paket format untuk mekanisme Remote Procedure Call (RPC). Konsep SOAP yang
merupakan web implementasi dari konsep RPC menjadi daya tarik bagi banyak orang untuk
mengimplementasikannya dan setuju bahwa SOAP adalah web service sesungguhnya.

SOAP (Simple Object Access Protocol)
Simple Object Access Protocol atau SOAP merupakan suatu protokol pemaketan
pesan (message) antar aplikasi yang telah distandardisasi. Spesifikasi format pesan tersebut
didefinisikan menjadi semacam suatu amplop berbasis XML yang dikirim beserta aturanaturan atau cara untuk menerjemahkan representasi data dari XML. Suatu pesan XML
tersebut dapat merepresentasikan data apapun, misalnya:
- Purchase Order,
- Request terhadap harga suatu produk,
- Query dari suatu mesin pencari,
- Dan informasi lainnya yang relevan terhadap suatu aplikasi
XML Messaging
XML Messaging adalah pertukaran data antar aplikasi menggunakan file -file XML.
XML dapat digunakan di semua jenis environment, tidak terikat pada satu aplikasi, sistem
operasi, ataupun bahasa pemrograman tertentu. Suatu program Windows yang dibuat dari Per
l dapat membuat sebuah file XML yang merepresentasikan suatu data, kemudian dikirim ke
suatu program Java berbasis Linux yang kemudian mempengaruhi perilaku program java

tersebut. XML Messaging ini yang kemudian membentuk basisnya SOAP.

Gambar 2. Ilustrasi XML Messaging
SOAP RPC dan SOAP EDI
Penerapan dari SOAP digolongkan menjadi dua jenis, yaitu RPC (Remote Procedure
Call) dan EDI (Electronic Document Interchange).
-

RPC
RPC merupakan cara agar suatu program membuat suatu prosedur (fungsi atau
metode) untuk memangil prosedur lain, mengirimkan parameter, atau menerima nilai
kembalian. SOAP yang diim plementasikan sebaga i RPC (dikenal sebagai “RPC style” SOAP) maka XML-nya akan berupa representasi dari parameter atau nilai
kembalian.

-

EDI
EDI merupakan dasarnya transaksi bisnis otomatis, mendefinisikan format standard
dan pemahaman terhadap dokumen finansial dan komersial. SOAP yang digunakan
untuk EDI, maka XML-nya akan merepresentasikan purchase order, retur pajak, dan

dokumen sejenisnya.

SOAP Messages
Spesifikasi XML yang telah di standardisasi di SOAP disebut juga sebagai SOAP
Message, terdiri dari bagian header dan body. Sebuah SOAP Message boleh tidak memiliki
header tetapi harus selalu memiliki body.

Gambar 3. Ilustrasi SOAP Message
Bagian header menyimpan informasi yang berhubungan dengan cara memproses
message ini. Di dalamnya termasuk informasi mengenai pengaturan pengiriman, autentikasi
dan autorisasi, dan konteks transaksinya. Sedangkan bagian body menyimpan message yang
akan di prosesnya. Sintaks XML apapun dapat dimasukan ke dalam bagian body ini.
SOAP Namespace
Namespace adalah istilah yang digunakan terhadap suatu container abstrak atau
lingkungan tertentu yang dibangun oleh simbol-simbol dan identifier unik. SOAP pun
memiliki namespace yang dijadikan acuan dan dijadikan standard ketika merancang SOAP
Message. Aturan sintaks XML untuk SOAP Message ini dideskripsikan dalam
[http://www.w3.org/2001/06/soap-envelope]
Di bawah ini adalah contoh sebuah SOAP Message untuk data purchase order.




1234






Christopher Robin
Accounting


Pooh Bear
Honey

1
Pooh Stick




Contoh di atas mengilustrasikan komponen-komponen utama dari spesifikasi SOAP
Message. Komponen-komponen tersebut adalah:
- :komponen paling luar, penanda bahwa XML ini merupakan SOAP Message
- : opsional, berisi informasi cara memproses isi body.
- : mandatori, berisi message yang akan di proses.
Model Pertukaran SOAP Message
SOAP mendefinisikan framework umum tentang cara memproses informasi yang di
bawa oleh SOAP Message. Akan tetapi, detail tentang cara pemrosesan informasi tersebut
bergantung pada cara implementasi pada aplikasi itu sendiri. SOAP lebih banyak
mendefinisikan bagaimana aplikasi dapat bertukar SOAP Message satu sama lain.
Message Path dan Actor
Pada dasarnya, model pertukaran SOAP Message ini hanya transmisi satu arah antara
pengirim dengan penerima message, namun message tersebut dimungkinkan untuk melewati
berbagai penengah yang menambahkan atau mengurangi message yang di kirim. Penengah
atau perantara tersebut disebut SOAP Intermediary dan jalur dari pesan yang dikirim antara
pengirim dengan penerima melalui berbagai SOAP Intermediary disebut Message Path.
Sedangkan setiap SOAP Intermediary di dalam message path disebut sebagai Actor.
SOAP tidak mendefinisikan message path yang harus di lalui oleh suatu pesan, akan tetapi
mendefinisikan mekanisme “targeting” yaitu mengklasifikasikan suatu bagian dari message

itu akan di proses oleh Actor yang mana di dalam suatu message path. Mekanisme ini
diimplementasikan pada bagian header dari SOAP Message.
Mekanisme ini dapat membantu dalam mengamankan suatu SOAP Message.
Misalnya, sebelum suatu SOAP Message sampai di server untuk di proses, message tersebut
dapat di kirim ke web service lainnya yang dipercaya untuk di cek signature didalam header
SOAP Message tersebut. Apabila message tersebut valid maka pesan tersebut diteruskan ke
server.

Gambar 4. Ilustrasi SOAP Intermediary sebagai Keamanan
Salah satu cara implementasinya sendiri dapat di lihat di contoh XML di bawah ini:

Atribut ‘actor’ dalam tag ‘signature’ pada blok header merupakan signature dari
SOAP Message ini. Tentu saja, signature tersebut harus hanya bisa dikenali oleh SOAP
Intermediary yang bertindak mengecek keabsahan message ini.
The SOAP Routing Protocol
SOAP tidak mendefinisikan rute yang akan dilalui oleh SOAP Message. Pemilihan
rute ini hanya dapat dilakukan saat pesan di proses. Hal ini menjadi persoalan yang sulit
dikarenakan tidak adanya satu standard untuk merepresentasikan rute tersebut. Microsoft
memperkenalkan WS-Routing sebagai solusi terhadap masalah ini.
WS-Routing mendefinisikan sebuah standard blok header SOAP yang mengekspresikan

informasi rute. Perannya adalah untuk mendefinisikan urutan-urutan SOAP Intermediary
yang harus dilalui message.

Pada contoh di atas, SOAP Message ini ditujukan ke [http://D.com/some/endpoint]
akan tetapi harus melalui perantara [http://B.com] dan [http://C.com]. Untuk meyakinkan
bahwa message path ini ditaati, dan dikarenakan WS-Routing merupakan suatu tambahan
dari pihak ketiga (third-party extension) yang mungkin tidak semua SOAP dapat
memprosesnya, maka nilai untuk atribut mustUnderstand harus “true”. Pembahasan
mengenai WS-Routing ini merupakan pembukaan.
SOAP Transport
SOAP merupakan protokol pemaketan data yang berada di atas layer network dan
transport. Sebagai suatu protokol pemaketan data, SOAP menjadi fleksibel dalam cara dan
tempat ia digunakan. Contohnya, sebuah web service SOAP berbasis Perl yaitu SOAP::Lite,
mendukung pertukaran SOAP Message di beberapa protokol diantaranya HTTP, FTP, raw
TCP, SMTP, POP3, MQSeries, dan Jabber.
SOAP melalui HTTP
Protokol HTTP merupakan protokol yang paling digunakan dalam mengirimkan
SOAP Message. Sampai-sampai SOAP mendeskripsikan model pertukaran message khusus
untuk di HTTP. Metoda ini cocok dengan model SOAP RPC (Request-Response)
dikarenakan HTTP memang merupakan protokol bertipe request-response.

Pesan SOAP Request di post ke server dengan HTTP Request, kemudian server memjawab
dengan HTTP Response yang berisi pesan SOAP Response.

Gambar 5. Ilustrasi SOAP-over-HTTP Request – Response
Berikut adalah contoh HTTP Request yang mengandung SOAP message:

Header HTTP SOAPAction didefinisikan oleh SOAP dan mengindikasikan tujuan
dari SOAP HTTP Request. Nilainya sendiri dapat diisi sesuai kebutuhan dan ditujukan untuk
memberitahukan HTTP Server yang harus dilakukan sebelum HTTP server tersebut
mendecode SOAP Message. SOAPAction inipun dapat digunakan HTTP Server untuk
memfilter request yang tidak dapat diterima.
Berikut adalah contoh HTTP Response yang mengandung SOAP Message:

SOAP Security
Web service merupakan semua hal yang berhubungan dengan perpindahan atau
pengiriman informasi. Web service yang aman adalah web service yang dapat menjamin
bahwa informasi yang dikirim merupakan benar dikirim oleh pengirim dan sebaliknya,
kemudian informasi yang dikirim pun integritasnya dapat dipertanggungjawabkan. Selain itu,
web service yang aman adalah yang dapat membatasi pengguna-pengguna tertentu saja yang
dapat mengakses informasi.

Hal-hal ini mengisyaratkan beberapa hal dibawah ini:
1. Web service harus memiliki pengecekan otentikasi pengguna
2. Web service harus memiliki perlindungan privasi dan integritas seperti enkripsi dan
otorisasi.

Otentikasi
Otentikasi berhubungan dengan pertanyaan-pertanyaan berikut:
- Siapa saya?
- Bagaimana saya membuktikan siapa saya?
- Kenapa anda harus mempercayai saya ketika saya memberitahu siapa saya?
- Siapa anda?
- Bagaimana saya bisa membuktikan bahwa anda adalah anda sesuai dengan yang anda
bilang?
Privasi dan Integritas Pesan
Untuk membantu dalam meningkatkan privasi dan integritas dari pesan yang
dikirimkan, WS-Security merupakan teknologi untuk hal ini.
-

WS-Security
WS-Security merupakan fitur tambahan (extention) untuk SOAP yang menyedikan

berbagai mekanisme keamanan terhadap SOAP Message. Mekanisme-mekanisme
tersebut adalah:
 Menandai sebagian atau semua SOAP Message dengan digital signature.
 Mengenkripsi sebagian atau semua SOAP Message.
 Menyediakan cara untuk meneruskan informasi tentang kunci enkripsi di SOAP
header.
 Memungkinkan mengirimkan trust assertion (seperti di SAML) juga di SOAP
header.

-

Elemen-elemen Utama WS-Security
WS-Security mendefinisikan standard keamanan untuk SOAP Message, yaitu dengan
melatakannya di SOAP Header. Tujuannya adalah untuk membangung format umum
keamanan SOAP Message. Tiga elemen penting yang membangun keamanan header
SOAP Message adalah:
 Security Tokens : informasi yang digunakan dalam otentikasi dan otorisasi,
misalnya username dan password dan sertifikat X.509.
 XML Encryption : header message menyimpan EncriptedKey berisi suatu
ReferenceList yang menunjuk ke bagian tertentu SOAP Message yang di enkripsi.
 XML Signature : jika terdapat XML signature pada header, maka elemen
References akan menunju ke bagian SOAP message yang telah di tandai secara
digital (digitally signed).

Berikut adalah struktur awal WS-Security SOAP Header:

Keuntungan dari SOAP







Format yang sederhana dan dapat dikembangkan
Bisa dijalankan dimana saja tidak terbatas pada platform tertentu
Bisa menggunakan bahasa pemrograman apa saja
Multi-protocol seperti HTTP, JMS, RPC, SMTP, dll.
Dapat melewati firewalls sehingga mendukung model HTTP get / reponse
Tipe yang kuat dan melekat pada sebuah kontrak

Kekurangan dari SOAP




Walaupun sederhana, pesannya dapat panjang karena kebutuhannya untuk mengemasnya
dalam bentuk SOAP envelope
Karena SOAP berbasis XML, dibutuhkan waktu untuk parsing XML tersebut karena
harus di kedua pihak melakukannya (pengirim dan penerima pesan)
Walaupun SOAP standart yang terbuka, tidak semua bahasa mendukung dengan baik.
Yang terbaik untuk mendukung SOAP adalah JAVA, .Net, dan Flex

Daftar Pustaka
Reyman, Isman : “Security di Web Service SOAP dan RESTful” Universitas Kristen
Maranatha, 2012
Snell, James : “Programming Web Service with SOAP”, First Edition, O’Reilly, 2001.
Wikipedia
Foundation,
Inc
.:
“Namespace
(Computer
Science)”,
Web:
“http://en.wikipedia.org/wiki/Namespace_%28computer_science%29”, diakses pada tanggal
25 Oktober 2012
Rosenberg, Jonathan : “Securing Web Service with WS-Security”, First Edition, Sams
Publising, 2004.
Cerami, Ethan : “Web Service Essentials”, First Edition, O’Reilly, 2002.
Sandoval, Jose : “RESTful Java Web Service”, First Edition, Packt Publishing, 2009.
Pautasso, Cesare & Wilde,Erik : “REST: From Research to Practice : Introduction”, Springer,
2011