![]() -=l
2
LANDASAN TEORl
Sistem Tenlistribusi
2.1.1
Sistem
Monolitik
Afair,fmme
lvfairy7ame
dianggap
mengawali
era sistem terdistribusi.
Jv[aif?frante
terdiri
dari
suatu
basis
data
yang
tersusur:
secara hierark.i
daJl dumb
terminal, ataa
yang
dlkena1
juga
sebagai
''green
screetJ ''".
r
::;,
i
,
l- 1
,
--,--.-
/
Gar:1bar 2.1
A.rsitektur Mamframe
!vfainframe
yang
digambarkan
pada
Gambar 2.1
dapat diadnlinistrasi
secara
rnudah
namun
mampu
melayani sejurn1ah
besar
penggnn(L
Keuntungan
1airmya
(r:an1t1n
b;sa
diE
at juga sebagai
kelemahan, tergantung
dipandarg
dari segi mana) adalah
manajemennya
yang
dila.l.::_ukan secant
terpusat Perangkat
lunak ya.r;g
dituHs
untuk
Jnainfra!Yie n:emiiiki
arsitektur
ya."lg
monolitik,
baik
itu
tarnpHan,
business logic,
5
|
![]() 6
r:1aupun
akses
datanya
terangkurn
dalam sebuah ap!ikasi
ya:tg
besar dar.
kcmplek.
Karena
setiap
du;nb
lcrm.inal
yang terkoneksf
ke main.frame
tidak
melakukan
proses
sendiri;
nelainkan semua
p
oses
di1akukan
C1l
ko;nputer
JnairtfiYime,
maka arsitektur
monclltik
teiah
cukup
memadai.
Ar:;itell:tiJ'r
Client/Server
Berbeda denga:1
mainfrante
dan
s!ste1n rncno!itiknya
dimana
setiap
proses
dilakttkan
di
komppter
mainfra!ne,
arsitektur
client/server rnemungkinkan
beberapa
;;roses di:akukar:
di
PC
pengguna
(client).
l..
rsitektur
ini
sangat
tepat
untuk
diterapkan
dt
bisnis
berska!a
kec:I
daripada
mainframe
karena
mem.ilikj efektifitas
dari
segi
biaya
karena
spesifikasi
server
tidak
usah
sebaik dibandingkan
dengan
mainframe_
Ke!lntc:ngan
yang
lain
acialah setiap bagian
terorganisasi
untuk
membangu.n
dan
mercgatur
servernya
mas;ng-masing, hasiinya
adalah
baglan-bagian
tersebut
akan
berusaha
untuk
membangun
aptikasinya
Sendhi
daripada
rr.enunggu
b.agian yang
mengo::11rol Inahiframe
(biasanya bagian
IT)
men1bangJn
apilkasi untuk
n1ereka.
Dalam
da:am
sen,er,
tan1pilan
(user
inte1jace)
ben:;da
G_i
client,
sedan.g.,'kan
businesss
logic
bisa
berada
di
sal?J1
satu
client
atau
server
atau bahkan
berada
di
kedt:.anya. Ketika terjadi
peru.baPpada
komponen
di
client
perubahan
;tu
a.kan
disebarkan
ke setiap
pen:a.l.cai.
Revolusi
pertaiP.a
dari
arsitektur
client/server
adalah
tvp-o tier client/sen,er
yang diilustrasikan
pada Gambar
2.2.
'
I
!i
'I:
;; :
|
![]() Dusim:ss
Logk
7
Sc:vcr laiR
!"
"
·
"I
:·-·-·--\
'
I
1\;
I
i'
il
1:
1:
I
I
1\
:
I
\!
I
II
1:
I'
l
..
PC
Gambar 2.2
Arsitektur
client/server
2.1.3
lvlultitier
Oient/Server
Client/w:rver
d:anggap
sebagai ;·evolusi
dalam
sistem
:erdistribusi.
Namun,
walaupun client/server dapat
menutupi
kelemahan-kelemaharr
ya..11g
terdapat
di
dalam
:nainjramec
sisten
inipun
maslh
n1en1 liki
keiemahan.
Sebagai
contoh, -karena akses
fungsi
dalam
basis
data (seperti queiJ;)
dan
business
logtc
biasaitya
terdapat
di
komponen
client,
segala
perubahan
terhadap
business logic
akses
basis
data,
atz.u
ba.'lkan basis
data
itu
sendiri
seringkaE memer!ukan
pe:ubahan
komponen client
untuk
serr:ua
pengguna
dari
ap!i..lcasi
te
sebut Biasanya
perubahan
itu akan
rnematikan
verst
la.m.a
dari
kompone.n client
itu
yaag
pada
ak.hjmya
menghasilkan suatu
aplikasi
yang
rapuh.
Masalah
dari sistem
client/server tradisional (atau
yang
sering
disebut sebagai
two tier
clientiserver)
dipecahkan
dengan
sebuah
arsitektur
yang iebih
matang,
yaitu
|
![]() 7
----11
mu!Utier clienrserver.
Secara konseptua1
8
sebuah
aplikasi
bisa
memiEki beberapa tier,
tetapi
yang paling sering digunakan adalah arsitektur
three-tier
di rnana sistem terbagi
1nenjadi
tlga
bagian
yaitu
user
inte;:face
layer, bussines
ruler
layer,
dan
database
access
layer
yang
digambarkan sebagai
berikut :
Se!Ver
Server lain
Data.bas.o
i
'
'----------!
I
I
i
I
Data "''"" 'l"
lr---1
'I
c_
-----,-
_j
I
I
I
.
_
Business Logic
_
Client
(UJ,er Interface Layer)
[iJI
I;
[I
L}:-==.J
!
=,
. --===----"
PC
Garnbar
2.3 lvfultitier client/server
lvful!itier
client/sen)er
menggantikan
arsitektur
!Vt.JO-tier cbent/server
dengan dua
cara. Pertama
dan rnungkin yang
terpenting,
arsitektur
ini
membuat
aplikasi
lebih stabil
dalarn
arti
v
'
erubahan
dari
aolikasi
ini
tidak sampai
merubait
komponen
client.
Berikutnya
adalah,
karena arsitektur n1ultitier client/':lerver
membagi
aplikasi
menjadi
komponen-komponen
lebih terstmktur
daripada two-tier
clientherver,
maka
akan
memudahkan
dalam
·
pengembanganaplikasi
secara
lebih
fleksibei.
Gambar
2.3
menggambarkan
database
access
layer
dan
business
rules
layer,
walaupun mereka
entitas
yang
berbeda
berada
di
satu mesin/server.
Juga 1ne1nungkink2n
untuk
|
|
9
rr:esra
yar;g
berbeda.
Se!ain itu
rangkaian
hustness
rules
ataupun rangkaian
kompcnen
d£ztahase
acce.'>'S
u;( uk
beragam basis data
dapat
di!Jentuk di dafam sebuah ap!ikasi
tunggal
ya."lg
didistribusikan
sebagai
suatu
aplikasi
vzng har:da!
Alulritier
clieiu/:::er·:<"er
mengurangi kerapuhan suatu
apEkasi
de:::1gan memberikrut
P
emisahaJ.1 dan o
'
embatasan antara lav
,/
er-lat_
.-
,er daia.tn
ao
"
likas. [Iser
inter "ace
lav
'
er
hru"!v
,;
a
berkorr:unikasi
dengan
bus-rness
rales hryer.,
tidak pernah
secara
iangsung
dengan
darabase
access
layer.
Business
rules
layer;
berkomur:ikasi
dengan
user
interfr.Ke
layer
d! satu sisi da;"I
database
access
layer
di
sisi yang
lain.
Karena
itu
perubahan
pada
database
access layer
tidak
akaE
berpengaruh
pada
user
interface
layer
karena
mereka
terpisah satu
san:.a
lain.
2.2 COM
2.2.1 Pengerti:m
COM
COM
adaiah
dasar
dari
"object
modef'
;:ada
ActiveX Control
dan
OLE,
COM
memungkinkan
objek
unruk
mempL:.blikasikan fi.mgsionalitas-f..:ngsionalitas
kepada
kompcner:.
dan
aplikasi latrL
CQ-fvf
:.endefir:isika:l bz.gaimana
objek
tersebut
mempublikasikan
dirinya
dan
bagaimana
dapat
bekerja
pada
proses
ya,'1g berbeda
dan
melewati
jaringan, Selain
itu,
COM
juga
rr,endefbiskan
sik:lus hid up dari
objek
|
![]() !
2.2.2
irjfastruktar COM dibuat
untuk mendukung
komunikasi
melalui
interface
cbjek
Dalam
COM,
interface
dapat
dimengerti sebagai
suatt:
intelface
komuPikasi
yang
menghub:.:..ngkan dua
objek
yang
berbeda
d&r
1:1erupakan
sekumpulan
fhngsi-fungsi
yang disediakan untuk
hubungan_ tersebLLt. Intnface
n1en.1pakan suatu kesepakatan yang
tetap antara objek-objek t.:ntuk mendefir.t1sika.."'!
behavior
dan
paratneter
yang akan
digunakan
untuk berinteraksi.
lnterfac<! CO"vl
di!n::pleme:1tasikar1 pada stuktur
memori
yang disebut Vtab!e,
dimana dapamengandung
array
dari pointer-pointer
fungsi,
Setiap
elemen dari
Vtable
n1enga:1dung
alarnat
spesifik
fu.ngsi
yang
diimplen1entasikan
oleh
objek.
Secara
sede<hana
dapat
dikatakan
banwa objek
COM
mempublikasikan
interfacenya
sehingga
f
ngsi-!imgsinya
dapat
digt.:nakan oleh
client.
Sebuah objek juga
mengandung
data
yang
teiah
dimanipdasi
oleh
method,
dan
dapat
ditentukan
data
tersebut
tersembLmyi
dari
client,
2.
IUknown !
'
Salah satcr
hal
yang
paEng
dasaya:Jg
harus
ada
daiar:1
spesitlkasi
COM
adalah
CO ,f
hams
rneudukurrg
suatu inteJface
yang
disebc.t
[[]known. Interface
ini rr.empakan
interface star:dar
yang
mereferensi
ke
interface
lain
yar1g
mungkin
dimiliki
deh sebuah
objek COM.
Objek client tidak
akan
iahu
interface
apa
saja yang
terdapat
pada
objek
server"
sebelurn
client
ters:ebut
meminta informasi dengan menggu.na._lcan
inte1jace
yang
tetah didefinisikan untuk
1nengeta:1ui
interface
yang beluzn iliketahui.
|
![]() 3.
Reference
counting
tidak
secara
otomatis
merrghapus
cbjek
yang
sudah tidak
di[Jakai
dari
tnemon.
Se!ain dengan
menghapus
sendiri
objek
yang
sudah
tidak
diperlukan,
programer dapat
merrentukan
kapan
sebL!ah objek
dapat
diha;rus
tergantung
dari
reference count.
Objek
f[_}nknown
han.:.s rnerrgin1plementasika.'i sebuah
y&"'Ig
namanya
Queryfntcrface,
dimana bertUr;gsi
1nengembalikan
m!al
ke
client
apakah
sebuah
request
d:terima.
jika
ya,
kemud1an
n1enyed:akan
kepada
objek tersebut. Bifa
sebuah
pe:nanggilan Query!nterface
berhsil
maka
akan tersedia pomter yang menur.juk
Marshaling
adalah nama yang diberikan
untuk
proses
packaging
data
inle!face
ke
forrr:at yang
untu.k
dikirimkan
antar
proses atau
jar!ngan.
Modul
yang
rr:elakul<:an
tugas
ini
disebut
nu:rrsha!er
Sed
ngk<!n
pada
client
proses
unpackage
disebut
unmarshaling.
Aggregasi
berart: bahwa objek
utarna
membuat
sebuah
objek ba1:.1 sebagai
bag:an.
dasi
objek
t:tamaserta
int:nface
dari
objek
ban1
tersebut dipublikasikan o1eh
objek
uta.ma.
Sebaa;,
objek
diatur
supa.ya
bisa
diaggregasi
atau cidak.
Jika
dapat,
rnaka cbjek
tersebut
mengikuti
a
xran.-aturan
yang
ada supaya dapat
berjalan
ae11gan
baik.
C01t, proxy
adalah sebuah kornpor err
bincuy
kecil yang diaktifkar.
da1am
proses
pada.
ciientyang
berfo1ngsi rr:enghubungkan
interface
client
ke
interface
sen)er,
|
![]() i2
-'
.._.
Stub adala1
sebuah
komponen binary
kecti
yang
aktif:l(an
dalatn
proses
pada
server,
yang
bertugas
untuk menghu.bungkan server denga.n proxy pada
clit:nt. Dengan
ini,
·
C01
pada
client dan sen>er tidak
per1u mengetahai
di
mana
iokasi se;y·er
atau client
tersebut
berada,
karena
semua
COM
telah
membuat proxy
dan
stub yang
membuat
semua
server
serupa
dala_rn
proses
yang sama,
Client
dapat
dengan
mudah
menggunakar>
pointer pada serwr,
tapi sebenarEya
client
bnya
mem;liki
pointer pad2- proxy
Se!ain itu
CO
hams
mendukung
interprocess
communication seperti
Rernote Procedure Calls
(RPC)
ur:tuk
menghL:-bungi
stubyang
ken1udi&'1 tnenghubungi server rrelalt:i
pointer.
2.2.3
DCOM
mendefinisikan
bagaima:m komponen
dan client-nya
dapat
berinteraksi.
Interaksi
dideftnisikan sehingga
tidak
diperiukan
Iagi
perantc.ra untuk melakukan
koneksi,
Pada sistem
operas£
pada
saat
ini,
proses
terjadi
secara
tertutup.
Karena
itu,
cliellt
perlu
untuk
berkomunikasi
dengaJJ kompcnen
lain
tetapi
tida.k dapat
me!akukan
pemanggilan sec:ara
langsung,
melairL&can
harus
rnenggunakan
rnetode
lain
yang
telah
disediakar:
o!eh
sistem onerasi. DCO
/f
merrvediakan
ko 11unikasi
n! dalan1
bentuk
van;;r
transparan.
Pemanggilan
darl
client
diarGbil dan ditefl.Jskan
ke
komponen
yang
ada
di
proses
lain_
Garnbar
2.4
menunjukkar.. proses
ya-cg terjadi
antara
dua
kornpoJen.
|
![]() 13
C\ie:;t
Gambar 2.4
kompor;en
DCOM
pada
proses
yang
ber'ved-:a
Tetapi
auabiia
ko:nponen
terdapat pada
rr,esin
yang
berbeda,
DCOJV1
secara
otomatis
tnengabRh
proses
kcmunikasi
yang
terjadi
df
foka! dengan
p:-otokcl
jaringan.
Hal
Iri
karena
proses
p.engembangan
.secara
cieti1
tidak
dimasukkan
dalam
source
code,
sehingga
DCQ\{
dapat bekerja
denga11 mudah
dimana
saja.
DCOM
menyembunyikan
!okasi
dari komponen,
tidak diketahui apakah kompcnen
terseb:.:t terdapat
pada
komputer
tersebut atau
terdz.pat
d1
mesin
lain
G-ar,1bar 2.5 rr.enunjukka:1
proses
ya:1g
tecjad: bila
kompcnen
DCOM
diakses
dari
mesin yang berbeda.
Gambar
2.5
komponen
DCOM
pada mesin yatlg berbeda
|
|
14
2.3
Cmmnon
Object Request Broker (CORBA)
Common Object Request Broker
Architecture
(CORBA) cdalah suatu
arsitektur
dan
spesifika.s: untuk
1nembuat,
mendistribusikan,
dan
mengolah
program
objek
terdistribusi pada suatu
jaringan (Orfali,
R.
et. al,
i
998,
pvi). CORBA memungkinkan
program pada
lokasi yang berbeda dan dikembang.lcan
o:eh ver;dor yang berbeda saEng
berkomunikasi dalam suatu jaringan mela!ui "inte1jace broker". CORBA dikembangkan
oleh
Object
Management
Group
(OMG),
yang
pada
saat
ini
beranggotakan
500
perusahaan. CORBA te!ah menjadi suatu arsitektur standar untuk objek terdistribusi.
2.3.1
Object Request Broker (ORB)
Dasar dari CORBA adalah Object Request
Broker atau ORR ORB
merupakan
sebuah bus objek.
ORB
membiarkan objek
secara
transparan
membuat
permintaan ke
atau
menerima respon dari objek
lain
baik
lokal ataupun
tidak (Orfali, R et. al,
1998,
p7).
ORB
adalah
komponen
perangkat
iunak yang
berfungsi
untuk
memungkinkan
komunikasi antar objek. ORB
menyediakan beberapa kemarnpuan,
salah satunya adalah
menempatkan remote object, memberikan referensi objek. Layanan lain yang diberikan
ORB
adalah
penyusunan parameter
dan
n.ilai
baEk
ke
dan
dari
remote
method
invocations.
Untuk
me111inta
layanan
dan
mengembalikannya antar
ORB,
program
menggunakan General
Inter-ORB
Protocol
(GIOP)
dan
untuk
Internet,
digunakan
Internet
Inter-OP.B Protocol
(IIOP).
IIOP
memetakan
permintaan
GIOP
dan
mengembalikannya pada
layer Transmision Control
Protocol
(TCP)
pada setiap
komputer. Service lain yang diberikan oieh ORB adalah pengaturan parameter dan nilai
|
![]() kembalian
ke
dan
dati
pemanggilan
sebuah
remote ohject.
Penggunaan
ORB
Juga
memberikan kemampuar:plaiform independence
untuk
obyek
CORBA.
COREA
!ebih
dati
sekedar
sebuah
ORB
,
tapi
juga
merupakan
sebuab
platfo:m
objek
te
distribusi
yang
lengkap
CORBA
:nempduas
jzngkauan aplikasi
me!alui
jarbgan, bahasa, batasan-batasan komponen dan
sistem operas!.
2.3.2
Ai·sitektur
CORBA
Waiaupun
banyak ap!ikasi
CORBA
seperti Visibroker dari
Borland,
OrbixWeb
namun arsitei<tur CORBA
yar.g dipakai
adalah
sam
a,
arsitektur
yang dite::apkan oleh OMG.
Secara logika,
arsitektur
CORBA
OR:.T3 b:sa di!lhat
pada
gzmbar
2.6
iNTERFACE
REPOSITORY
IMPLEMENTATION
REPOSITORY
CLIENT
l
A
I
Dll
I
.,.
ORI!'-SPECiii"IC
INTERFACE
STA"lD.M-<.:)
PROTOCOL
Gambar
2.6
Arsitektur
CORBA
ORB
|
![]() 16
[. Object
fnrpfementalion
interface Object
fmplementation dapat ditulis dalam berbagai macam bahasa pemrograman, te!Llasuk
C,
Java, Smalltalk,
Ada.
2.
Client
Program
yang
memar:ggi! operasi
yang terdapat pada object
implen!entation.
Mengakses
!ayanan
terdapat
pada remote object harus transparan untuk
sehamsrrya semudah memanggii
pada suatu objek.
3.
Objeci Request
Broker
(ORB)
menyediaka:r.
sebuah
mekanisme untuk
komunikasi
antara permintaan
dient
ke
object implementation secara transpanm. ORB
menyed.erhanakan pemrograman
apEkasi terdistribusi dengan
memisahkan client
dari detail
pemanggilan fur si. Hal
akar
memb'!?.J permintaa:. dientampak
seperti pemanggil<U'1 pada prosedur
lokaL
Ketika client
memanggil .suatt!
operas:
bertanggungjawab
untuk
menemuka:1
object implementation
secara
t
ansparan
dan
mengaktie!(_z.::rJya
jika
memarrg
dibutuhkar,, mengirimkan pennin:aan ke objek, dan mengembalikan
respon
ke pemanggiL
4
0RB
!nteJ:face
ORB
adalah
logik yarg
memung!dnka:-un:uk
diimplementasikan dengan
berbagai cara.
Untuk memisahkan aplikasi dari detail
im;Jlementasinya, spesifikasi
CORBA
mendefinisibm
sebuah
interface
abstrak
untuk
ORB.
Interface
ini
menyediaka<1 berbagai
fungsi
pembii<'1'.U seperti konversi referensi objek ke ka!im2.t
dan
sebaliknyamembuat
daftar
argu_men untuk
pennintaan
yang
d!buat
melalui
dynamic
invocation
interface.
|
![]() i7
5.
COREA
!DJ"stubsandskeietons
CORBA
IDL
stubs
dan
skeletons
berfungsi sebagai
'pelekaf
antara
client
dan
appflcation
server,
d<L'l ORB. Transformas: an ara definisi CORBA IDL dan bahasa
pemragra:nan tujuan diatur
oleb
kompiler COREA
IDL.
Pe:;_ggunaan clari
kompiler
akan
mer:g rar..gi
kenw.ngkinan
ketidakkonsistenan
antara
client
stubs
dan
server
skeletons
dan meningkatkan
optimaEsasi dari kompiler secara otomatis.
6.
Dynamic
Invocation
lnterface(DII)
Interface
ini
rnerr:ungkinkan
client
untuk
secara
langsung mengakses
mekar.isme
layarmn yang diseC.iaka.1
menggurrakan
DII
agar
dapat
melakukan
perrnintaan ke
objek
secara
dinamis,
tanpa
mernerlukan
interface
IDL
stubs.
Tidak
seperti
!DL
stubs
(yang
hanya
memperbolehkan
pennintaan
jenis
RPC),
DII juga memar:gkinkan
client
untuk
meiakukan pemanggilan secara
non-blocking
defen·ed synchronous
(ope asi
kirim dan te ima
yang terpisah)
and
one;my
(hanya
kirim saja).
7. Dynamic
Sk.eleton Interface
(DSI)
DSI sama ha!nya
dengarc Dli
pada sisi
client,
hanya saja berada pada sis;
server.
DSI
memLngkinkan
ORB untuk 1nengirin!<tm
pennin:aan ke
objecl
implementation
yang
tidak mengeta2ui tipe dar[ objek
yaDg
diim;Jlementasik:a11.
Client
yang
membuat
pern1inta:a.i-idak
mengetahui apakah i1nple1nentasi
menggu.nakan IDL
skeletons
denga1 tipe
SiJesifik atau
mer:ggunakan
skeletons
yang
dinamis.
8.
O
ject
Adapter
Object Adapter membantu
ORB dengan mengirirnkan permintaan
ke objek dan
mengakti:'Kan objek. Hal
yang tebih pe<;ting,
sebuah objek
adapter
me::tghubungkan
|
![]() 18
object tmplementarion
dengan
ORB.
Objek
adapter
dapat
dikhususkan
untuk
me;lyediakan dukungan untuk
object
implementation
tertentu.
2.3.3
Interface Definition Language
(IDL)
Dasar
lain
dari
arsitektur
CORBA
ada!ah
pengglili>aan
lnteJ:face
Definition
Language
(IDL).
lDL
menjelaskau
interface
antar
cbjek
CORB/!,,
dan
rr:er..1pakan alat
un:uk
m.emastikan
bahwa
CORBA
tida.l.;:
bergan ur:g
pada
bahasa
pernrcgraman
yang
dig,unakan.
Adapun IDL
di1iustrasikan
se-perti Garahar
2.
7.
IDL compiler
lDL
Parser
'
--J>-
Parse T:ree
Gambar
2.7
Kcmpiler
IDL
stu!rcode
Files
Karena
interface
yang dideskripsikan pada IDL dapat dipetakan ke dalam bahasa
pemrograman
saja, aplik.asi
dan
komponen
CORBA
tidak
bergantung
pada
bahasa
dengan C++
dapat
berkcmunikasi
dengan
senw yang
dit;liis
dengan
Java,
dan dapat
juga
berkomunikasi deagan sen:er
lain yang
ditulis dengan
COBOL,
d!L
|
![]() l9
lj
bukaniah
bahasa
yang digunakan
untuk
implementasi. Oleh
karena
itu
apEkasi tidak
dapat
d!tu!is
menggunakan
IDL.
Satu.-satunya
penggunaan
IDL
adala. ntuk me!ldefnisikan
inter:face,
sedangkan untuk
me:1gimplerr:.e:1tasikan
interface
digunaka:."l
bahasa pemrograman yang lain.
(Hyper Tex:t Transfer
Protocol)
Hyperlexz
Tran fer
Proioco!
(HTTP)
adalah
serangkaian
aturan
per:ukaran
(teks,
g:·afik gambar, suara,
video, dan file
muitiinedia yang lai:r) di dalam
Vorld
Wide Web.
Berhubungan
dengan
protokol
TCP/'iP
yang
rr:empakan
protokol utama
da!am
pertuka;·an inforrnasi di Internet,
Hr:·p
ada!ah
sebuah
protokol
aplil,:asi.
Kcmsep
dasar
yang
merupakan
bagian
dari
HTTP tennasuk
babwa
di
dalarn
file
rnemtcu
requests. Beberapa
Web server da!am memenuhi
iayanan
akan
daemon,
yaitu
didesairr untuk
mem.:n.ggu H:'TP requests
dan rnelay&.Tli reque.Yt
bilatnat'1li
eq;.rest
h
verasal
,
c
,
ar:
.
.._
H
TTP
c
,.
;
en{
sepertl
,
1-ve-
h
b
rowser.
untuk
membuat
sebuah
format
data
yang
ber!aku
secara
universal
bukm1lah
hal
yang
baru.
Usaha
awal
untuk
rnenyatukan
format
pertukara:1
data
yang
kaya ak2.n
iPlormasi
ada!ah
SGl'vlL (Standard Generalized .Markup Lcmguage).
SG::V1L
merupakan
bahasa
yang
berbasis teks
dapat
digu:rraka:.: untuk
rnark
up ciata
yang
disertai
metadata
yang merupakan cet.ra
rmon<:ie:skJripsiican
dirinya sendirt_
|
![]() 20
L
<...
SGML didesain sebagai
cara standar
untuk
marking uv
berbagai da
a,
dan
berperan sekali
da!am
sistem manajemerr
dokumen
berska1a
besar.
Aplikasi
da.-<i
SG1\1L
yang
paling kita kenai adalah
lfyper
ivfarA1rp Laliguage
(HTML).
HT:V!:L teiah
kelemahan, yaitu.
tiCa..je;as
bagian
doku.:men mana
yang
memhHG
!
'
yang
satetapi dengan pengurangan kon1pleksitas sebanyak
mungkinselain
itu
pula
Xlv!L dides<,in agar
kompa:ibe! dengan
SGML
XML
merupakan
singkatan
dari
E>::tensible ;\;farkup
Language
ada!ah dokumen
yang
·
meny rnpan
1nfo:rnasi
terstruk;ur dengan
menggt.u:akan
markup language
(Norman,
1998).
Selain
berfungsi
sebagai
suatu format pertu.karan
data antar
2
entitir
:x:I'vfL
dapat
berperan
daia1n
per:yimpanan
dokrJmen
agar
dapat
digunakan
oleh
program
tain
karena
fornatnya
standar
dan
keman1puan
mendeskripsikan
data.
lvfarkup
language
adalah
suatu
mekarisme
yang
<Eg:.makan untuk
menjelaskan struktur
dalam
sebuah
dokun:en. Beriku:
ini
ada!ah
sontoh
dari
X'vlL:
<XIID= 1¹::fit taDeta"'>
-<i'2:TADA!l0-
<Atir R>Johr ,Smith</ i!TITOR>
<GE!>.'IR. TD?->Visua.i
}Jot-ep d-- JGENEP TDF.>
<Ph0-IT£PE>Re:e ence</?A.CYETYFE>
<" 1JZTRACT>Spec::.fies a data
isl&-:td</AES1R&C7>
<!:lETADbTA'>
<!'XML>
Strukt::r
infom:asi
dapat
berupa
isi
dari
doicJ.rnen
(
ata-kata,
gambart
dan
lain-
lain)
dan
beberapa
indikasi yang
menyesun
isi
dokurner..
tersebat
X?vlL berfungsi
untuk
penggambaran
dan
strukturisasi data (seperti
HTML) dimana
tiap e!emen,
tag
dan
atributnya
dapaditentukan
sendiri
oleh pemlL"::ai.
Masing-masing
tag tidak mempunyai
azti
p
esentas:, hanya
merupakan suatu ca:ra untuk mendeskripsikan struktur
data
|
![]() -
)'
L
(Sitnpfe
Object
Access
Protocol)
so.
adaiah suatu
mekrutisme
yang
sederhana untJk
pertukaran
struktur
dan
tipe data dalarr: !ingkungan yang tersebar dar; 'erdistribusi dengan men&,ounakan
XIv!.L.
SO
l\l'
t;dak dig:.makan
untuk rr:endefinisikan suam model bahasa pemrograman tertentu,
·
n1eE1pakan
suatu
mekanisme
sederhana
untui<
rnenunjukkan
semantik
aplikasi
Gengan menyediakan
suatu tnet::;d.e
encoding
dan suatu model paket
yg
moddar :xntuk
encoding data dati sebw.l_,apEkasi.
Berikut adalah
contoh
SOLbJ'
A1essages.
<e:tv:
:'I /wwr.w3 .. crg/2CG:/ OC-/ soapenvelope''>
<env:Heade::>
ale::tcont
o
.
x.mlns:
:/I
">
_ority>1</:Jq:niority>
_
.
.
_
<n: e:xpi.-ies>2 oo-l-C6- 22T14:CD:::J0-:--05:·o 0<1
:1::
eXPi::C:S>
<f
C.:lV«t"'-t'e".?
·
<e::rv:
:I
rusg>E':.c!:: up
1ary
at
school ar:
2prr:</m;::-,sg>
</m:-a=..ert>
</env:-Body>
<I e.R.v ;.:2t;.vel_9pe>
SOAP terdiri dari empat bagian, yaitu:
l
SOAP E.nve!ope
·cnruk
rr:endefidsikan
apa
yang
terdapat
Caiar:. pesan yang
dikirimkepada
stapa
pesan tersebut akan digunakan<
2_
SOAP
Encoding rules
'Vlendefinisikan mekanisme serialisasi yang dapat
digunakan
umuk pertukaran
tipe
data yang didetnisikan dad setiap api:..t;:asi"
3.
SOAP "-i?PC
-"-i?PC
Representation
!vfenyediakrul
suatu
standar
yang
dapat
digunakan
untuk
mewakili
ren-zote
procedure
calls dan hasil kembaliannya"
|
![]() 4.
SOAP
Binding
:V1endefinislkan standar
yang dlgunakan
ur:tuk pertukaran
SOAP
envelope.'>·
antara
peers
de!:gan
mer.ggur:akan
protokol yang :Jm>Jn:
untuk
transportasL
?VebSendce
2.7 1
Berdasai'<an
pendapat
Anderson
et
aL
(200 l,
p6
1
),
web
service merupakan
komponen
logika
1:Jisuis
yang dapa: diprogrrull
yang bertindak sebagai kotak
hitam yang
berfungsi
nenyediakar:
akses
ke
suan;
fungsi
melalui Internet
meng,
unakan
protokol
standar seperti
Web service dibangun dengar" menggur2.kan
fonnat Ju'\1L
yang
dlsebut Simple Object
Access Protocol
(SOAP).
Oieh
Icarena
hubungan
antara
web
service
daE pernakai dilak:ukan dengan il'._engir!m
dan
menerima XlvfL melaiui HTTP,
ini oera--ti
web sen,ice
oada
platjoml
Windows
dapat dipakai
olen
platform
lain seperti
Unix atau Linux.
Safah
satu
kelebiha!!. web
service
adalah
se!unrh
tveb
service
yang
ada
di
duniil
yang
telah
dlpubEkasikan untuk
t:mum
dapat
dengan
mudah
ditemukan
lokasir:_ya.
Pencariac.>.nya
mudah
karena adanya UDDI atau
directory
service
yang berflmgsi
sebagai
tem;:Jat
pencarian lokasi seluruh
web
service
yang
ada di dunia.
Dari
Gambm·
2.8
dapat
kita
ketahui urutan
dad
pencarian
sampa!
pengg-1naan
web
service.
Pertfut12-tama
pemakai
dapat
mencan
sen}ice
yang
diingink:an
melalui
()DDI
atau
directory
service. Setelah
mend2patkannya
iokasi
dari
Discovery
Document
yang
berisi
lokasi
dokumen-doktunen
Xlv[I..
yang
berhubungan
de_nga.l'l
1-veb
service.
Kemudian da:-i
Discovery Document
ini dapat diketahui Iokasi
deskripsilga."'llbaran
tentang
web
service
yang bersangkutan
yang
lebih
dikenal
dengan
WSDL {Web Service
|
![]() Discnplion
/_anguage).
Di
dalam
WSDL
inilah
terdapat cara-cara
bagaimana
berin:eraksi
dengai'
web service
tersebut
yang
hams
diketahui
web service client
sebelu::n
wenggunakannyz.
DengaJl demikian
web service client
sudah
Slap
dihubungka:1
ke
web
ser1lice tersebut,
dengan
menggunakan
protokol
SOAP,.
serta
has:li
yang
diberik211 oleh
service
yang
bersangkutan dituliskar;
dalam
form.at Xl\1L.
ilirnbar
2.8 Infrastr-L<:tur
web service
X.\1L
si1atu
carz
representasi data
merupak<Ln pilihan
yang
paling
baik,
oleh
karena
itu.
sebagian
besar
spesifikasi yang
berkaitan
dengan web
service
|
|
24
menggunakan
XML
untuk
representasi
data,
juga
skema
XML
untuk
pendeskripsian
tipe
data.
SOAP
merupakan
suatu
protokol yang
digunakan
untuk
pertukaran
informasi.
Sebagian
spesifikasi
SOAP
merupakan
suatu
peraturan
bagaimana
menggunakan
XiW..
untuk
representasi
data.
Sedangkan
pada
bagian
lain, spesifikasi
SOAP
merupakan
format
pesan,
konvensi
untuk
representasi
Remote
Procedure Calls
(RPCs)
dengan
menggunakan format
pesan SOAP, dan
pengikatan
terhadap
protokol
HTTP.
LTntuk mendukur:g penggunaannya,
suatu
web
service
juga mempunyai
dokumen
yang
berisi
tentang
pesan
yang
diterima
serta
pesan
yang dihasilkan,
yang
bisa
juga
disebut
web
service contract
Mekanisme
standar
akan
mempermudah
developer
dan
developer
tools
untuk
membuat
dan
menginterpretasikan
web service
contract.
Web
Sen,ice
Description Lrtnguage
(WSDL)
merupakan
suatu
contract language
yang
berbasis XML yang
dikembangkan
oleh kerjasama
Microsoft
dan IBM.
2.
7.
3 Arsitektnr Web Service
Salah
satu
keunggulan
web service
adalah
media
pertukaran
informasinya
melalui
Internet.
I-Ial
ini
sangat
mendukung
pemakaian
vveb service
dengan
menggunakan
peralatan-peralatan
telekomunikasi
seperti
di
handphone,
yang
tentunya
harus
mempunyai
fasi!itas
WAP.
Web service juga
dapat
digunakan
oleh
aplikasi,
yang
khusus
pemanfaataiLTlya
menggabungkan
satu
atau
iebih
web
service
lain
secara
lokal
maupun
me!a!ui
Internet,
baik
secara
langsung
atau dengan
menggunakan
file
HTML
untuk
mendukung
penyampaian
informasi
Selain
yang
telah
disebutkan
di
atas,
sebuah
web service
juga
dapat
menjadi
suatu
portal
bagi
web service
lain.
Meskipun
dikatakan
ap!ikasi
client
tida..lc periu
mengetahui
se!uk
beluk
internal web service
yang
digunakan,
|
![]() banyak
pengembang
web service pedt:li akan
stmktur
mlemaf-nya.
Gam bar
2. 9
di
bawah
me:1unjukkan hubungan
web
service
dengan
pihak
luaL
;·-------.
!
Cod
Gambar
2.9
Arsitektur
aplikasi web
service
web service
dibagi
mer
adi
5
!apisan
logika
(logic layer).
Yang
terjauh
dari
client
adalah
data
layer,
disinilah
informasi
diperlukan
disin1par:
oleh
web service.
Setelah
itu
terdapat
lapisar:
datyabi
data
access
layer
Lapisan
ini
n1enyediakan
prese:0tasi
data
fisik
bagi
business layer.
Data access layer
memastikan
data.
Business
logic
-,veb
service
dii:nple:nentasikan
pada
business
!a;/er.
pada
ga.-nbar 2. lO business
layer
dibagi menjadi
dua
':lag:aryai!u:
business fizcade
dan
business logic
Business ji1cade
menyediakan
interface
sederhana
yang
secara
langsung
berhubungan
dengan
operasi
yang
dilak:ukan
web service. Business facade
menggunakan
service-service
yang
disediakan
business
|
![]() 26
n
hi
.
/og
"!
'
"
"'
/
;..
'
I
f'
"
"
Pada
web
serv1ce yang
seder!uma, semua
business logic
dapat
diterapkan
ote
,
busme.l:l'facade.
ya:r:g
secara
langsung
a.ican
berinteraksi
dengan
data
access
layer.
ApEkasi-ap!ikasi
client
berim.eraksi
dengan web
service
listener
Listener
ini
berta'1ggung
jawab
atas
penenmaan
pesan
y&'1g
data:r:g yang berisi
permintaan ak&'l
service yang
&sediaka.'1, memi
ah
pesan, dan
1nerryarnpaikan permintaan
ke
method
yang tepat
pada
business
facack.
Bila
service
memberikan
response,
listener
juga
bertanggungjawab unt:rk
menyusun response-response dan
business
facade
menjadi
sebuah
pesan
dan mengirimkannya
kembaii
ke
client.
Listener
Juga
menangam
contract docu;-nent
dan
dokumen-dokw.uerr iain ter.."!:ang
web
senJfce.
Setvire
reque:t..
\f\/eb SeP/c:e
e------,
l'
I
I
I
I
------"'
I
I
[j]
I
I
i.....
.):
Service
re:zpome
'
::n
c
l
!
8
!
:J) .j
I!::!)
._I
i
r
!h ;
"r'i!l
A1Uf .
.l-
loL
Al!AL[II
--+1 ...,,
9
oi
"'i
1
ill>'
r
<!If"
ill>' "'
-G_ci_Co_rrr_re_ct
+
LI
------l
!
li!
1.
I
,
I
w
I
l_jl,,
l
!
I
!
L
I
..
---l
.
',
Gambar
2.10
Arsitektur web service
|
|
_,7
2.8
MySQL
:v1ySQL
adalah
Structured Query
Language
database
sercer.
Bahasa
petnrograman
SQL
di
aplikasi
MySQL
me:1ggunakan
lata
bahasa
(>yntax)
SQL
stand?.r.
MySQL
digunakan
karena
merniliki
kecepatan
ya.ng ba;k,
reliabilitas dan kemudahan.
MySQL
mengimplementasikc.n
konsep
client-server
yang
terdiri
dari
daemon
mysqld
dan
beragam
jenis
ap!ikasi
client
dan library (Anonymous,
2001 e).
MySQL
adalah
sumber
perc.ngkat
luna.k
yang
terbuka
(open
source
software).
Open
source
sojt111are
dapat diartikan bahwa ada kemungkinan untck
pemc lmi
menambah
dan
memodifikasi
program tanpa ada kewajiba._'1 Un-::"'..rk
r:ten bayar
royalti,
Wa!?"t:pun semula dibuat
umuk
platform
Linu.x
I
u':NiX, MySQL
sudah
noengembangkan
versi
Windowsnya.
Untuk
dapat
d!akses
oleh
aplikasi
Wi:tdows
harus
mengg,makan MyODBC
sebagai inte1jirce.
|