10

Click here to load reader

Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

Embed Size (px)

Citation preview

Page 1: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

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

Page 2: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

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

Page 3: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

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.

Page 4: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

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

Page 5: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

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.

Page 6: Tugas 3 SISTER (M. Syahid Pebriadi J1F108005) Materi CORBA, DCOM, Java RMI

- 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.