Click here to load reader
Upload
muhammad-syahid-pebriadi
View
650
Download
11
Embed Size (px)
Citation preview
Keuntungan dan kerugian Obyek Aplikasi Terdistribusi
1. CORBA (Common Object Request Broker Architecture)
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi
berorientasi obyek atau Object Oriented (OO) dengan paradigma client-server.
Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan
cara pengiriman pesan (message passing). CORBA adalah hasil kesepakatan
antara sejumlah vendor dan pengembang perangkat lunak terkenal seperti IBM,
Hewlett-Packard, dan DEC yang tergabung dalam sebuah konsorium yang
bernama OMG (Object Management Group).
Keuntungan
- Bahasa Kemerdekaan
CORBA pada awalnya dirancang untuk insinyur bebas dari hang-up dan
keterbatasan mempertimbangkan desain mereka didasarkan pada bahasa
perangkat lunak tertentu.Saat ini ada banyak bahasa yang didukung oleh
penyedia berbagai CORBA, yang paling populer adalah Java dan C. Ada
juga C-saja, Smalltalk, Perl, Ada, Ruby, dan implementasi Python, hanya
untuk menyebutkan beberapa.
- OS Kemerdekaan
Desain CORBA adalah dimaksudkan untuk menjadi OS-
independen. CORBA tersedia di Jawa (OS-independen), serta native untuk
Linux / Unix, Windows, Sun, Mac dan lainnya.
- Kebebasan dari Technologies
Salah satu manfaat implisit utama adalah bahwa CORBA menyediakan
lapangan bermain netral untuk insinyur untuk dapat menormalkan antarmuka
antara sistem baru dan berbagai warisan. Ketika mengintegrasikan C, C++,
Object Pascal, Java, Fortran, Python, dan bahasa lain atau OS ke dalam suatu
model desain sistem tunggal kohesif, CORBA menyediakan sarana untuk
Nama : M. SYAHID PEBRIADI
NIM : J1F108005
Mata Kuliah : Sistem Tersebar
tingkat lapangan dan biarkan tim yang berbeda untuk mengembangkan
sistem dan unit test yang nantinya dapat bisa bergabung bersama-sama ke
dalam keseluruhan sistem. Hal ini tidak mengesampingkan kebutuhan untuk
keputusan rekayasa sistem dasar, seperti threading, waktu, objek seumur
hidup, dll Masalah-masalah ini bagian dari sistem apapun tanpa
teknologi.CORBA memungkinkan elemen-elemen sistem dilakukan
normalisasi ke dalam suatu model sistem tunggal kohesif.
Sebagai contoh, desain arsitektur multitier dibuat sederhana dengan
menggunakan Java Servlets di web server dan waktu berbagai e, kode C
warisan dapat berbicara dengan C atau Fortran kode warisan dan kode Java
database, dan dapat memberikan data ke antarmuka web.
- Kekuatan Pengetikan Data
CORBA menyediakan fleksibel mengetik data, misalnya sebuah "APAPUN"
datatype.CORBA juga memberlakukan erat datatyping, mengurangi
kesalahan manusia. Dalam situasi di mana Nama-Nilai pasangan diwariskan
sekitar, itu dibayangkan bahwa server menyediakan sejumlah mana string
yang diharapkan. CORBA Interface Definition Language menyediakan
mekanisme untuk memastikan bahwa pengguna-kode sesuai dengan metode-
nama, return, parameter-jenis, dan pengecualian.
- Kemampuan Tune yang Tinggi
Ada implementasi yang tersedia (misalnya OmniORB (Open source C dan
implementasi Python)) yang memiliki banyak pilihan untuk tuning threading
dan fitur koneksi manajemen. Tidak semua implementasi menyediakan fitur
yang sama. Hal ini sampai dengan implementor tersebut.
- Kebebasan Dari Data Rincian Transfer
Ketika menangani koneksi tingkat rendah dan threading, CORBA
menyediakan tingkat tinggi detail dalam kondisi kesalahan. Ini didefinisikan
di set pengecualian CORBA-standar yang diterapkan dan set implementasi
pengecualian khusus diperpanjang.Melalui pengecualian, aplikasi dapat
menentukan apakah panggilan gagal untuk alasan seperti "masalah kecil, jadi
coba lagi", "adalah server yang mati" atau "referensi tidak masuk
akal." Aturan umum adalah: Tidak menerima pengecualian berarti bahwa
metode panggilan selesai dengan sukses. Ini adalah fitur desain yang sangat
kuat.
- Kompresi
CORBA marsekal datanya dalam bentuk biner dan mendukung
kompresi. Iona, Remedy IT dan Telefónica telah bekerja pada sebuah
ekstensi terhadap standar CORBA yang memberikan kompresi. Ekstensi ini
disebut ZIOP dan ini sekarang menjadi standar OMG formal.
Kerugian
- Implementasi tidak kompatibel
Spesifikasi awal CORBA hanya didefinisikan IDL, bukan format on-the-
kawat. Ini berarti bahwa sumber-kode kompatibilitas adalah yang terbaik
yang tersedia untuk beberapa tahun.
- Lokasi transparansi
CORBA gagasan tentang transparansi lokasi telah dikritik, yaitu, bahwa
benda yang berada di ruang alamat yang sama dan dapat diakses dengan
panggilan fungsi sederhana diperlakukan sama dengan obyek yang berada di
tempat lain (proses yang berbeda pada mesin yang sama, atau mesin yang
berbeda). Gagasan ini cacat jika salah satu mengharuskan semua akses lokal
menjadi seperti rumit sebagai remote skenario yang paling
kompleks. Namun, CORBA tidak menempatkan pembatasan pada
kompleksitas dari panggilan. Banyak implementasi menyediakan thread
rekursif / semantik koneksi. Yakni Obj Sebuah panggilan obj B, yang pada
gilirannya panggilan obj kembali A, sebelum kembali.
- Desain dan defisiensi proses
Penciptaan standar CORBA juga sering dikutip untuk proses pada desain
oleh panitia.Tidak ada proses untuk menjadi penengah antara usulan
bertentangan atau untuk memutuskan hirarki masalah untuk
mengatasi. Dengan demikian standar diciptakan dengan mengambil serikat
fitur dalam semua usulan yang tidak memperhatikan koherensi mereka ini.
Membuat spesifikasi yang sangat kompleks, mahal untuk diterapkan
sepenuhnya dan sering ambigu. Sebuah komite desain sebagian besar terdiri
dari vendor penerapan standar, menciptakan disinsentif untuk membuat
standar komprehensif. Ini karena standar dan interoperabilitas meningkatkan
kompetisi dan bergeser gerakan pelanggan 'antara implementasi
alternatif. Hal ini menyebabkan banyak pertempuran politik dalam komite,
dan melepaskan sering revisi dari standar CORBA yang tidak mungkin
untuk menggunakan tanpa ekstensi berpemilik.
- Masalah dengan implementasi
Melalui sejarahnya, CORBA telah terganggu oleh kekurangan-kekurangan
dalam implementasinya. Seringkali ada beberapa implementasi yang cocok
semua elemen penting dari spesifikasi, dan implementasi yang ada tidak
lengkap atau tidak memadai. Karena tidak ada persyaratan untuk
menyediakan implementasi referensi, anggota bebas untuk mengusulkan
fitur-fitur yang tidak pernah diuji kegunaan atau
implementability. Implementasi yang lebih lanjut terhalang oleh
kecenderungan umum dari standar yang akan verbose, dan praktek umum
kompromi dengan mengadopsi jumlah semua usulan yang diajukan, yang
sering menciptakan API yang kacau dan sulit untuk digunakan, bahkan jika
masing-masing proposal yang sangat masuk akal[rujukan?].
Kerja implementasi CORBA sudah sangat sulit untuk memperoleh di masa
lalu, tapi sekarang lebih mudah untuk menemukan. SUN Java SDK sudah
datang dengan CORBA. Beberapa implementasi buruk dirancang telah
ditemukan untuk menjadi kompleks, lambat, tidak kompatibel dan tidak
lengkap. versi Komersial bisa sangat mahal. Ini berubah secara signifikan
sebagai hobi komersial, dan pemerintah yang didanai implementasi bebas
berkualitas tinggi menjadi tersedia.
- Firewall
CORBA (lebih tepatnya, IIOP) baku menggunakan koneksi TCP / IP untuk
mengirimkan data. Namun, jika klien berada di belakang firewall yang
sangat ketat atau transparan lingkungan server proxy yang hanya
mengizinkan koneksi HTTP ke luar melalui port 80, komunikasi dapat tidak
mungkin, kecuali server proxy tersebut memungkinkan metode atau koneksi
HTTP CONNECT SOCKS juga. Pada suatu waktu, sulit bahkan untuk
memaksa implementasi untuk menggunakan port standar tunggal - mereka
cenderung memilih beberapa port acak sebagai gantinya. Pada hari ini, ORB
saat ini memiliki kekurangan-kekurangan ini. Karena keterbatasan tersebut,
beberapa pengguna telah memanfaatkan peningkatan layanan web bukannya
CORBA. Ini berkomunikasi menggunakan XML / SOAP melalui port 80,
yang biasanya dibiarkan terbuka, atau disaring melalui proxy HTTP dalam
organisasi, untuk browsing web melalui HTTP.Recent implementasi
CORBA, meskipun, dukungan SSL dan dapat dengan mudah dikonfigurasi
untuk bekerja pada port tunggal. Sebagian besar sumber populer ORB
terbuka, seperti TAO dan JacORB juga mendukung GIOP dua arah, yang
memberikan keuntungan CORBA untuk dapat menggunakan komunikasi
callback daripada pendekatan karakteristik polling dari implementasi web
service. Juga, firewall CORBA lebih ramah sekarang tersedia secara
komersial.
2. DCOM (Distributed Component Object Model)
DCOM adalah konsep Microsoft dan program interface yang telah diatur
dalam program client-object yang dapat merequest layanan dari program server-
object dalam beberapa komputer yang berada dalam satu jaringan. DCOM
pertama kali hadir tahun 1995 dengan initial release di Windows NT 4. DCOM
didasarkan oleh component object model yang menyediakan pengaturan
interface yang melibatkan client dan server untuk berkomunikasi dengan sesama
komputer.
Keuntungan
- DCOM menggunakan mekanisme RPC untuk transparansi pengiriman dan
penerimaan informasi diantara komponen COM (seperti, client dan servers)
dalam jaringan yang sama. Menggunakan TCP/IP dan Hypertext Tranfer
Protocol.
- DCOM adalah ekstensi COM terdistribusi, dibangun di atas objek dalam
mendukung prosedur RPC DCE lapisan panggilan jarak jauh untuk
mengakses objek remote.
Kerugian
- DCOM di definisikan dan dikendalikan oleh seorang vendor (Microsoft)
sehingga para pengembang sulit untuk mengembangkan DCOM menjadi
lebih baik.
3. Java RMI (Remote Method Invocation)
RMI (Remote Method Invocation) adalah cara programmer Java untuk
membuat program aplikasi Java to Java yang terdistribusi. Program-program
yang menggunakan RMI bisa menjalankan metode secara jarak jauh, sehingga
program dari server bisa menjalankan method di komputer klien, dan begitu juga
sebaliknya.
Keuntungan
- MI model distributed objek langsung tertanam ke dalam bahasa Java itu
sendiri, sehingga Java pemrogram dapat menulis aplikasi terdistribusi secara
alami, tanpa meninggalkan lingkungan Java, atau terkait dengan CORBA
IDL CORBA dan konversi jenis Java.
- Merupakan pilihan untuk aplikasi dengan skala kecil yang keseluruhannya
ditulis dengan Java.
Kerugian
- RMI tidak sesuai dengan standar CORBA, sehingga sulit untuk mencapai
interoperabilitas objek dan bahasa lainnya.
- Java RMI di desain khusus untuk bahasa Java sendiri sehingga tidak bisa
bekerja pada lingkungan yang lain.
- Dari sisi layanan, sangat memiliki keterbatasan.