Anda di halaman 1dari 31

Riset Group : Network & Distributed System

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

sebuah model objek terdistribusi


Heterogeneity: OMG Interface Definition

Language (OMG IDL) Portability: Standardized language mappings Interoperability: GIOP / IIOP Middleware: ORB, POA, etc. minimum, realtime, and faulttolerance profiles

Tidak ada standard pemaketan dan deployment


Sistem Terdistribusi 3

CORBA dan JAVA


JDK1.1 RMI (w/JRMP) JDK1.2 idltojava (using cpp) JDK1.1.6/1.2 RMI over IIOP J2SE v1.3 idlj (now pure java) J2SE v1.4 orbd (POA, INS, GIOP)

Sistem Terdistribusi

CORBA VS RMI

Sistem Terdistribusi

Arsitektur CORBA

Sistem Terdistribusi

ORB Pada sisi Client


menyediakan antarmuka (interface) ke interface repository (IR) (penyedia definisi interface). membantu client dalam menyusun suatu permintaan (invocation) ke object (server) secara dinamis dengan menggunakan DII (Dynamic Invocation Interface) mengkonversi suatu URL corbaloc dan URL corbaname ke suatu referensi ke objek server sesungguhnya.

Sistem Terdistribusi

ORB pada sisi Server


selain bertanggung jawab untuk mengirimkan response dari server ke client yang dituju, ORB juga membantu untuk memulai dan menghentikan operasi terhadap object server yang diminta. Membantu mempersiapkan implementasi objek untuk menerima suatu permintaan layanan ke suatu objek server.

Sistem Terdistribusi 8

Client Stub
Melakukan marshaling dan unmarshaling Dihasilkan ketika melakukan kompilasi IDL

Sistem Terdistribusi

Dynamic Invocation Interface (DII)

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

Menyerupai client STUB

Sistem Terdistribusi

12

Dynamic Skelaton Interfcae (DSI)

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

Langkah-langkah membangun aplikasi CORBA

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

Contoh aplikasi CORBA

Langkah 1membuat modul idl yang nantinya digunakan untuk mappingsimpan dengan nama hello.idl

Sistem Terdistribusi

21

Langkah ke-2lakukan kompilasi dengan perintah :

idlj fall hello.idl


(lakukan di commond promt)

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

Langkah ke-4 Aplikasi Server

Sistem Terdistribusi

26

Package yang diperlukan :

Sistem Terdistribusi

27

Langkah ke-5 Aplikasi client

Sistem Terdistribusi

28

Package yang diperlukan

Sistem Terdistribusi

29

Langkah ke-6 Lakukan kompilasi Langkah ke-7 Jalankan Namming Service, dengan cara :

tnameserv ORBInitialPort 900

Langkah ke-8 jalankan aplikasi server Langkah ke-9 Jalankan aplikasi client

Sistem Terdistribusi 30

SELAMAT MENCOBA

Sistem Terdistribusi

31

Anda mungkin juga menyukai