Corba
Corba
Sistem Terdistribusi
Middleware
Middleware adalah istilah umum untuk sembarang pemrograman yang berfungsi sebagai Penghubung antara dua program yang terpisah. Sebuah aplikasi middleware biasanya memungkinkan sebuah program ditulis untuk mengakses suatu database tertentu (seperti Oracle) dan juga dapat mengakses database lain tanpa pengubahan kode program yang cukup besar. Middleware secara umum akan merutekan data dan informasi secara transparan antara back-end sumber data yang berbeda dengan aplikasi end-user.
Sistem Terdistribusi
CORBA
Language (OMG IDL) Portability: Standardized language mappings Interoperability: GIOP / IIOP Middleware: ORB, POA, etc. minimum, realtime, and faulttolerance profiles
Sistem Terdistribusi
CORBA VS RMI
Sistem Terdistribusi
Arsitektur CORBA
Sistem Terdistribusi
Sistem Terdistribusi
Sistem Terdistribusi 8
Client Stub
Melakukan marshaling dan unmarshaling Dihasilkan ketika melakukan kompilasi IDL
Sistem Terdistribusi
Diperlukan jika pada client tidak memiliki suatu stub terhadap remote object yang akan diakses
Sistem Terdistribusi
10
Object Adapter
berfungsi sebagai dispatcherModul yang memberikan kontrol membuat suatu remote objek referensi terhadap setiap objek servant CORBA yang terdaftar padanya dapat mengaktifkan dan menonaktifkan suatu objek servant melakukan pemanggilan terhadap sebuah object servant, yaitu dengan cara statik, yaitu melalui skeleton, atau secara dinamis dengan menggunakan Dynamic Skeleton Interface (DSI). Nama object Adapter untuk CORBA 2.2 ke atas disebut dengan Portable Object Adapter (POA), dan untuk spesifikasi CORBA 2.1 ke bawah disebut dengan Basic Object Adapter (BOA).
Sistem Terdistribusi
11
Implementasi skelaton
Sistem Terdistribusi
12
mekanisme pengiriman permintaan dari ORB ke sebuah objek implementasi dari sebuah antarmuka (interface), tanpa harus mengetahui tipe objek (kelas) yang diimplementasikan
Sistem Terdistribusi
13
Sistem Terdistribusi
14
ORB Interface
digunakan oleh client maupun objek server untuk melakukan inisialisasi permintaan dan layanan Sebagai contoh ketika sebuah objek server melakukan bind (pendaftaran remote reference object) ke naming service, maka akan digunakan interface ORB ini untuk melakukan inisialisasinya.
Sistem Terdistribusi
15
Sistem Terdistribusi
16
IDL
Sistem Terdistribusi
17
Contoh idl
interface Katalog { struct Buku { string Judul; string Pengarang; long Tahun; }; void SimpanBuku(in Buku bkbaru); };
Sistem Terdistribusi 18
Hasil IDLJAVA
final public class Buku { public java.lang.String Judul; public java.lang.String Pengarang; public int Tahun; }
Sistem Terdistribusi
19
enum Status { DIPINJAM, HILANG, RUSAK, ADA }; Idl to Java final public class Status { final public static int _DIPINJAM=0; final public static int _HILANG=1; final public static int _RUSAK=2; final public static int _ADA=3; }
Sistem Terdistribusi
20
Langkah 1membuat modul idl yang nantinya digunakan untuk mappingsimpan dengan nama hello.idl
Sistem Terdistribusi
21
Perintah tersebut akan menghasilkan beberapa file baru yang terletak di sub folder HellApp
Sistem Terdistribusi 22
HelloHelper.javafile ini berfungsi untuk membaca dan menulis tipe data ke stream CORBA dan menterjemahkan dari tipe Any. HelloHolder.javaclass ini menyimpan public instance dari tipe Hello. Ketika tipe parameter out atau inout, kelas ini digunakan. Hello.javadigunakan untuk deklarasi method dan ketika digunakan pada interface lain.
Sistem Terdistribusi
23
HelloOperations.javainterface ini digunakan untuk pemetaan sisi server dan dishare untuk stub dan skeleton. HelloPOA.javaclass yang memerankan server skeleton. Class server harus menerapkan dari kelas ini. _HelloStub.javamerupakan class client stub, yang menyediakan fungsi CORBA pada sisi client.
Sistem Terdistribusi 24
Langkah ke-3 Buatlah sebuah class yang diturunkan dari class HelloPOA
Sistem Terdistribusi
25
Sistem Terdistribusi
26
Sistem Terdistribusi
27
Sistem Terdistribusi
28
Sistem Terdistribusi
29
Langkah ke-6 Lakukan kompilasi Langkah ke-7 Jalankan Namming Service, dengan cara :
Langkah ke-8 jalankan aplikasi server Langkah ke-9 Jalankan aplikasi client
Sistem Terdistribusi 30
SELAMAT MENCOBA
Sistem Terdistribusi
31