Monday, 12 January 2015
CORBA
1.CORBA
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau Object Oriented (OO) dengan paradigma client-server.
sebuah obyek berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing).
CORBA memungkinkan kita menggunakan aplikasi tanpa adanya batasan
platform, teknologi jaringan, bahasa pemrograman, maupun letak obyek pemberi
service yang dituju.
Contoh: misalkan sebuah obyek yang bertindak sebagai server sumber informasi
yang ditulis dengan C++ serta dijalankan di Sun Solaris dapat saja diakses oleh
sebuah obyek klien berupa applet java yang berjalan pada sebuah Java Virtual
Machine di Windows
2.Model arsitektur OMG
Arsitektur CORBA (Common Object Request Broker Architecture) yang pertama kali dikembangkan oleh OMG (Object Management Group), bertujuan untuk pengembangan pemrograman berorientasi obyek yang terdistribusi
Beberapa software yang mengimplementasikan CORBA misalnya ORBIX (oleh Technologies), VisiBroker (oleh msprise), dan Java IDL (oleh JavaSoft).
Model arsitektur OMG
3.Client
client adalah suatu program/proses yang melakukan request pada suatu obyek.
Client hanya mengetahui struktur logika suatu obyek melalui interface yang dimiliki obyek tersebut
dan behaviour yang dimiliki obyek tersebut saat dipanggil.
Untuk membuat suatu request, client dapat menggunakan:
DII (Dynamic Invocation Interface) yaitu suatu interface yang tidak tergantung pada inteface obyek yang dituju,
IDL Stub, yang tergantung pada interface object yang dituju.
4.Komponen utama corba
ORB (Object Request Broker)
IDL (Interface Definition Language)
DII (Dynamic Invocation Interface)
IR (Interface Repositories)
OA (Object Adapter)
Komponen CORBA yang terletak di sisi Server:
Server Side ORB Interface,
Static IDL Skeleton,
Dynamic Skeleton Interface,
Object Adapter,
Server Side Implementation.
Komponen CORBA pada sisi Client:
Client Application,
Client IDL Stubs,
Dynamic Invocation Interface,
Interface Repository,
Client Side ORB Interface,
ORB Core
a.ORB (Object Request Broker)
- Bertindak sebagai perantara antara client dan server
- ORB berada pada sisi client dan server
- Menangani secara menyeluruh terhadap suatu permintaan (request) dari client ke object atau sebaliknya (response) dari obyek ke client
Fungsi ORB dari sisi client
-Menghubungkan ke interface
-Membantu client dalam menyusun permintaan ke objek server secara dinamais
Fungsi ORB dari sisi server
- Bertanggung jawab memberikan response dari server ke client yang dituju
b.IDL (Interface defenition Language
IDL interface berisi method yang akan diakses oleh client
Ekstensi dari IDL adalah .idl
Contoh IDL:
IDL konstanta:
Interface Konstanta {
cons long MyLong = 12345;
cons string nama = “anton”;
cons boolean ada = TRUE;
}
Oleh java akan diterjemahkan menjadi:
Public interface Konstanta{
Public static final int MyLong = (int)(i12345);
Public static final String nama = “anton”;
Public static final boolean ada = (boolean)(true);}
c.DII (Dynamic Invocation Interface)
IDL interface yang digunakan oleh sebuah client ditentukan pada saat client dikompilasi
Bila suatu aplikasi membutuhkan interface-interface yang tak didefiniskan saat kompilasi, maka diperlukan DII (Dynamic Invocation Interface)
Dynamic Invocation Interface (DII) memungkinkan apliaksi di sisi client untuk menggunakan server object tanpa perlu mengetahui tipe obek-obyek tersebut saat kompilasi
d.IR (Interface Respiratory)
Database pada sisi server yang berisi semua metadata interface IDL yang telah diregistrasikan ke server, termasuk tipe data, nama method, dan parameternya.
Interface Repository (IR) menyediakan cara lain untuk menentukan interface ke suatu obyek. Interface ini dapat ditambahkan kelayanan IR. Dengan menggunakan IR, sebuah client akan mencari obyek yang tidak diketahui pada saat kompilasi, menemukan informasi tentang interface obyek tersebut dan implementasi suatu aktivasi dan deaktivasi.
Menerima permintaan dari client
Berfungsi sebagai dispatcher (menentukan objek servant mana yang dituju)
Setiap objek CORBA diberikan nama unik yang mengacu pada suatu obyek servant
Mengaktifkan dan menonaktifkan objek servant
Melakukan pemmanggilan terhadap sebuah objek servant
Dynamic Skeleton Interface
(DSI) menyerupai
DII, namun
tereletak
di sisi
server.
DSI mungkinkan
server ditulis
tanpa
harus
mempunyai
skeleton-skeleton atau
informasi
tentang
waktu
kompilasi,
dan
untuk
obyek
mana
server ini
diimlementasikan
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment