sitem terdistribusi corba

29
By : Sistem Terdistribusi TI 12 B Oleh : Nurul Hotimah(12312490) Ridho Ramdhani() Feni Ayu Prahartiwi() Julia()

Upload: nurul

Post on 26-Jan-2016

239 views

Category:

Documents


0 download

DESCRIPTION

tugas sitem terdistribusi

TRANSCRIPT

Page 1: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

TI 12 B

Oleh :

Nurul Hotimah(12312490)

Ridho Ramdhani()

Feni Ayu Prahartiwi()

Julia()

PERGURUAN TINGGI TEKNOKRAT JURUSAN TEKNIK

INFORMATIKA LAMPUNG

Page 2: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Pendahuluan

Sistem komputer terdistribusi adalah sebuah sistem yang memungkinkan aplikasi komputer

beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis.

Tidaklah mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan,

karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen.

Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas

(interoperability).

Bagaimana mungkin dua obyek yang dikembangkan secara terpisah, dengan perangkat dan

bahasa yang berbeda, serta dijalankan di komputer yang berbeda pula bisa saling berkomunikasi?

Apa yang bisa "mempertemukan" perbedaan-perbedaan itu? Kuncinya adalah konsep tentang

interface.

CORBA (Common Object Request Broker Architecture) adalah suatu standard untuk sistem

objek oriented terdistribusi yang dikembangkan oleh OMG. CORBA memungkinkan kita

menggunakan aplikasi tanpa adanya batasan platform, teknologi jaringan, bahasa pemrograman,

maupun letak objek pemberi service yang dituju. CORBA sebagai system yang terdistribusi,

memiliki potensi yang besar untuk ditembus dari berbagai sisi. Karena itu diperlukan suatu

sistem pengamanan yang memadai pada CORBA.

Makalah ini akan membahas mengenai Arsitekut CORBA dan system kemanan pada CORBA.

CORBA bukanlah suatu bahasa pemrograman akan tetapi merupakan spesifikasi untuk

mengembangkan obyek-obyek terdistribusi. Beberapa perangkat lunak yang

mengimplementasikan COBRA misalnya: ORBIX (yang dikembangkan oleh IONA

Technologies), Visi Broker (yang dikembangkan oleh Insprise), dan JavaIDL (yang

dikembangkan oleh JavaSoft). CORBA memiliki arsitektur yang berbasis pada model obyek.

Model ini diturunkan dari Core Obyect Model yang didefinisikan oleh OMA (Object

Management Architectur), dimana model ini adalah merupakan gambaran abstrak yang tidak

dapat diimplementasikan tanpa menggunakan teknologi tertentu. Dengan model tersebut suatu

aplikasi dibangun dengan standard yang telah ditentukan.

Keunikan dari CORBA adalah kemampuannya makalah corba dalam menangani heterogenitas

antara client dan server (dalam terminologi CORBA, obyek server dinamakan implementasi

Page 3: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

obyek (object implementation). Keduanya dapat saja diimplementasikan dalam hardware, sistem

operasi, bahasa pemrograman, dan di lokasi yang berbeda, tetapi tetap bisa saling berkomunikasi.

Kuncinya ada pada sebuah lapisan software yang disebut dengan ORB (Object Request Broker)

Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara client dan

server (dalam terminologi CORBA, obyek server dinamakan implementasi obyek (object

implementation). Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi,

bahasa pemrograman, dan di lokasi yang berbeda, tetapi tetap bisa saling berkomunikasi.

Kuncinya ada pada sebuah lapisan software yang disebut dengan ORB (Object Request Broker).

Page 4: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

KATA PENGANTAR

Segala puji dan syukur ke hadirat Allah SWT yang telah memberikan rahmat dan

kekuatanNya sehingga penulis dapat menyelesaiakan paper ini

Ucapan terimakasih yang setulus-tulusnya kami sampaikan kepada yang terhormat Bapak

Syaiful Ahdan, selaku dosen pada mata kuliah Sistem Terdistribusi yang merupakan salah satu

mata kuliah yang sedang kami tempuh pada Program Sarjana STMIK Teknik Informatika di

Perguruan tinggi Teknokrat bandarlampung.Semoga budi baik dan ketulusannya mendapat

pahala yang berlipat ganda dari Allah SWT.

Pada kesempatan ini pula kami hendak menyampaikan permohonan maaf kepada semua

pihak seandainya ada kesalahan yang penulis lakukan baik yang disengaja maupun tidak

disengaja. Penulis menyadari sepenuhnya bahwa kajian dalam makalah ini masih jauh dari

sempurna, oleh karena itu dengan besar hati penulis akan menerima segala kritik dan saran.

Semoga makalah ini dapat bermanfaat untuk pembaca dan penulis maupun anggota

kelompok kami sendiri.

Bandar Lampung, 01 November 2014

Penulis,

Kelompok 1

Page 5: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Arsitektur Corba

1.1 pembahasan

Tepatnya pada tahun 1991 suatu Konsorsium yang bernama OMG (Common Object Request

Broker Architecture) yang terdiri 800 perusahaan (Kecuali Microsoft) mengembangkan suatu

teknologi yang bertujuan untuk membuat sebuah spesifikasi standar arsitektur obyek

terdistribusi. Standard tersebut dikenal dengan nama Common Object Request Broker

Architecture (CORBA).

CORBA sebenarnya mendefinisikan suatu protokol agar obyek-obyek dapat saling

berkomunikasi. Obyek-obyek itu tidak perlu dibuat dengan bahasa pemrograman yang sama,

tidak perlu berada pada mesin yang sama, bahkan tidak perlu pada platform yang sejenis. Jadi

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 misalnya. Obyek klien tidak perlu tahu

dimana server berada dan bagaimana suatu server diimplementasikan, karena hal tersebut adalah

merupakan tugas dari ORB (Object Request Broker). ORB berkuajiban menghubungkan obyek-

obyek yang membutuhkan pelayanan kepada obyek yang menyediakan layanan. Dalam hal ini

dapat dibayangkan ORB sebagai jaringan kabel telepon antar obyek, dan dalam implementasinya

memerlukan system keamanan.

CORBA (Common Object Request Broker Architecture) adalah suatu standard sistem

obyek oriented terdistribusi yang dikembangkan oleh OMG. CORBA memungkinkan kita

menggunakan aplikasi tanpa adanya batasan platform, teknologi jaringan, bahasa pemrograman,

maupun letak obyek pemberi service yang dituju. CORBA sebagai system yang terdistribusi,

memiliki potensi yang besar untuk ditembus dari berbagai sisi. Karena itu diperlukan suatu

sistem pengamanan yang memadai pada CORBA.

CORBA berbeda dengan RMI, berikut perbedaan CORBA dengan RMI:

1. CORBA adalah dapat diimplementasikan dengan sembarang bahasa

pemrograman.

2. CORBA terdiri dari beberapa mekanisme dimana RMI dapat termasuk di

Page 6: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

dalamnya.

3. Pada RMI tidak menggunakan ORB (Object Request Broker).

Corba juga dikatakan sebagai open system karena teknologi corba

merupakan suatu standar yang terbuka bagi siapa saja yang ingin

menerapkannya. Dengan corba kita dapat membangun aplikasi

yang dapat saling berkomunikasi walau satu sama lain

menggunakan bahasa pemrograman dan platform yang berbeda.

• CORBA memiliki Interface Definition Interface yang mendukung

mapping ke suatu bahasa pemrograman tertentu.

• CORBA menyediakan API untuk berkomunikasi antar obyek secara

remote.

• Beberapa yang sudah menerapkan spesifikasi corba adalah:

– Borland (VisiBroker): C++ dan Java Mapping

– IONA (Orbix) : C++, Java, dan SmallTalk Mapping

– Sun Microsystem (JavaIDL)

Tujuan CORBA adalah untuk pengembangan pemrograman objek terdistribusi.CORBA

bukanlah bahasa pemrograman, tapi merupakan spesifikasi untuk mengembangkan objek-objek

terdistribusi. Beberapa software yang mengimplementasikan COBA misalnya ORBIX (oleh

IONA Technologies), VisiBroker (oleh Insprise), dan JavaIDL (oleh JavaSoft). CORBA

memiliki arsitektur yang berbasiskan model objek. Model ini diturunkan dari abstrak Core

Object Model yang didefiniskan OMG di dalam OMA (Object Management Architecture).

Model ini merupakan gambaran abstrak yang tidak dapat diimplementasikan tanpa menggunakan

teknologi tertentu. Dengan model tersebut, suatu aplikasi dibangun dengan standard yang telah

ditentukan. Sistem CORBA terdiri dari objek-objek yang mengisolasi suatu client dari suatu

server dengan menggunakan interface enkapsulasi yang didefinisikan secara ketat. Objek objek

CORBA dapat berjalan di atas berbagai platform, dapat terletak dimana saja dalam suatu

network, dan dapat dikodekan dengan bahasa pemrograman apapun asal memiliki IDL mapping.

Page 7: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

1.2 Model Arsitekur OMG

Arsitektur CORBA (Common Object Request Broker Architecture) yang pertama kali

dikembangkan oleh OMG (Object Management Group), bertujuan untuk pengembangan

pemrograman berorientasi pada obyek yang terdistribusi. CORBA itu sendiri bukanlah

merupakan suatu bahasa pemrograman, tetapi merupakan suatu spesifikasi standard arsitektur

untuk mengembangkan obyek-obyek terdistribusi. Beberapa software yang

mengimplementasikan CORBA misalnya ORBIX (oleh Technologies), VisiBroker (oleh

msprise), dan Java IDL (oleh JavaSoft). CORBA memiliki arsitektur yang berbasiskan model

obyek. Model ini diturunkan strak Core Object Model yang didefiniskan OMG di dalam OMA

(Object agement Architecture). Model mi merupakan gambaran abstrak yang tidak dapat

diimplementasikan tanpa menggunakan teknologi tertentu. Dengan model tersebut, suatu aplikasi

dapat dibangun dengan standard yang telah ditentukan.

Gambar 1.

Model Arsitektur OMG

Sistem CORBA terdiri dari obyek-obyek yang mengisolasi suatu client dari suatu server

dengan menggunakan interface enkapsulasi yang didefinisikan secara ketat. Obyek CORBA

dapat berjalan di atas berbagai platform, dapat terletak dimana saja dalam suatu network, dan

dapat dikodekan dengan bahasa pemrograman apapun asal memiliki mapping.

Page 8: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Aplikasi enterprise tradisional kebanyakan adalah monolitik artinya data store, business

logic, dan user interface. Perubahan yang sedikit saja mengakibatkan seluruh system perlu

dikompilasi ulang. Dengan demikian reusability dari modul-modul adalah rendah sedang

aplikasi terdistribusi yang dikembangkan dengan CORBA, komponen-komponennya dapat

dipisahkan. Contoh dalam suatu aplikasi modular 3-tier, setiap komponen menjadi bagian yang

terpisah. Semua komponen yang berupa obyek dapat dipakai oleh obyek-obyek lain dimana

obyek-obyek itu tidak perlu ditulis dalam bahasa yang sama, tidak perlu berada pada platform

yang sama atau pada mesin yang sama. Sekali obyek dibuat maka obyek itu dapat digunakan dari

klien mana saja. User interface tier yang menampilkan informasi kepada pemakai akan menjadi

tipis. Hal ini disebabkan karena obyek telah dipindahkan ke service tier yang bertindak sebagai

middle war. Pada lapisan obyek logic ini terdapat CORBA object. Obyek-obyek inilah yang

kemudian akan mengakses database yang berada pada data store tier.

Dengan CORBA beban dari suatu layanan bisa disebar ke beberapa server lain. CORBA

dapat juga membuat bahasa pemrograman, misalnya Java, dan dapat berkomunikasi dengan

obyek yang dibuat dengan bahasa yang lain dimanapun. Berkat kemampuan dinamic invocatioan

interface dan dynamic skeleton interface CORBA, sebuah obyek (obyek Java) misalnya yang

menjadi pelayan dapat memberi informasi mengenai jati dirinya kepada obyek lain agar obyek

lain tersebut dapat meminta suatu layanan yang tersedia. Sebagai balasannya,

ketidaktergantungan platform dari Java (write once – run anywhere) tentu memudahkan

administrator dalam memutuskan di mesin mana obyek CORBA yang dibuat akan diletakkan

asalkan ada Java Virtual Machine pasti akan jalan.

1.3 Object Management Architecture (OMA)

Object Management Architecture (OMA) mendefinisikan berbagai fasilitas high-level

yang diperlukan untuk komputasi berorientasi obyek. Bagian utama dari OMA adalah Object

Request Broker (ORB). ORB merupakan suatu mekanisme yang memberikan transparansi lokasi,

komunikasi, dan aktivasi. Suatu obyek. ORB adalah semacam software bus untuk obyek-obyek

dalam CORBA. Berdasarkan OMA, spesifikasi CORRBA harus dipatuhi oleh ORB.

Page 9: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

CORBA disusun oleh komponen-komponen utama :

1. ORB (Object Request Broker)

2. IDL (Interface Definition Language)

3. DII (Dynamic Invocation Interface)

4. IR (Interface Repositories)

5. OA (Object Adapter)

Client Object Implementations

Dynamic

Invocation

Interface

Static IDL

Stubs

ORB

Interface

Static IDL

Skeletons

Dynamic

Skeleton

Interface

Object

Adapter

Object Request Broker

Interface Repository Implementation Repository

Gambar 2. Struktur CORBA ORB

[Sumber Distributed Programming With JAVA, Qusay H.Maumoud,P.152-154]

Komponen CORBA pada sisi Client:

1. Client Application,

2. Client IDL Stubs,

3. Dynamic Invocation Interface,

4. Interface Repository,

Page 10: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

5. Client Side ORB Interface,

6. ORB Core .

Komponen CORBA yang terletak di sisi Server:

1. Server Side ORB Interface,

2. Static IDL Skeleton,

3. Dynamic Skeleton Interface,

4. Object Adapter,

5. Server Side Implementation.

1.3.1 Komponen Object Request Broker (ORB)

Inti dari CORBA adalah ORB, dimana ORB bertanggungjawab untuk menjalankan semua

mekanisme yang dibutuhkan, antara lain yaitu:

1. menemukan implementasi obyek untuk memenuhi suatu request,

2. menyiapkan implementasi obyek untuk menerima suatu request,

3. melakukan komunkasi data untuk memenuhi suatu request.

Sebuah permintaan (request) yang dikirimkan suatu client ke suatu object implementation

akan melewati ORB. Dengan ORB, yang terdiri dari interface, suatu entitas dapat berkomunikasi

dengan object implementation tanpa adanya batasan platform, topologi jaringan, bahasa

pemrograman, dan letak obyek.

Dengan menggunakan ORB, obyek client dapat meminta sebuah method pada sebuah

object server yang bisa saja terdapat dalam satu mesin maupun jaringan yang berbeda. ORB

menerima panggilan dan menemukan obyek yang bisa mengimplementasikan permintaan,

mengirim parameter, invoke method, dan mengembalikan hasil yang diperoleh.

Page 11: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Berikut adalah gambar yang menunjukkan komponen utama dari arsitektur CORBA ORB

(Object Request Broker). Didalamnya terdapat komponen-komponen CORBA disisi klien dan

komponen-komponen CORBA disisi server.

1.3.1.1 Client

Secara umum, client adalah suatu program/proses yang melakukan request pada suatu objek.

Terdapat pula client relative, yaitu suatu objek yang menjadi client dari objek lainnya.

Client suatu objek harus mengakses OR (Object Reference) suatau objek tertentu untuk

melakukan operasi pada suatu objek. Client hanya mengetahui struktur logika suatu objek

melalui interface yang dimiliki objek tersebut dan behaviour yang dimiliki objek tersebut saat

dipanggil.

Page 12: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Secara umum, client mengakses objek dan ORB melalui language mapping.

Client dapat bersifat portable dan seharusnya dapat berjalan tanpa harus mengubah kode pada

ORB yang mendukung language mapping berbeda dengan objek instance yang

mengimplementasikan interface berbeda. Untuk membuat suatu request, client dapat

menggunakan :

DII (Dynamic Invocation Interface) yaitu suatu interface yang tidak tergantung pada

inteface objek yang dituju

IDL Stub, yang tergantung pada interface objek yang dituju.

(ctt. Untuk fungsi-fungsi tertentu, client dapat berinteraksi secara langsung dengan ORB)

1.3.1.2 Object Implementation(OI)

Suatu Object Implementation (OI) menyediakan semantik dari objek, yang umumnya dilakukan

dengan mendefiniskan data untuk object instance dan kode untuk method-method objek tersebut.

Seringkali kita menggunakan objek lain atau menggunakan software tambahan untuk

mengimplementasikan sifat suatu objek. Berbagai Object Implementation (OI) dapat didukung

oleh server yang terpisah, librarys, sebuah program setiap method, aplikasi terenkapuslasi,

object-oriented database, dan lain-lain. Dengan menggunakan object adapters (OA) tambahan,

dimungkinkan untuk mendukung suatu Object Implementation (OI) secara virtual. Secara umum,

Object Implementation (OI) tidak tergantung pada ORB atau bagaimana suatau client memanggil

suatu objek.Object Implementation (OI) dapat memilih interface-nya ke ORB-dependent service

yang dipilih dengan memilih Object Adapter (OA).

Object Implementation (OI) menerima suatu request melalui :

IDL Skeleton

Dynamic Skeleton Interface(DSI)

Page 13: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Object Implementation (OI) dapat memanggil Object Adapter (OA) dan ORB pada saat

memproses sebuah request.

1.3.1.3 ORB Interface

ORB Interface Merupakan interface yang berhubungan langsung dengan ORB yang sama untuk

semua ORB dan tidak tergantung pada interface suatu obyek atau Obyek Adapter (OA). Karena

banyak fungsionalitas ORB yang disediakan melalui OA, stub, skeleton , maupun dynamic

invocation; maka ada sedikit operasi yang umum bagi semua obyek.

Inteface suatu objek dapat didefinisikan dengan cara statis, yaitu menggunakan IDL (Interace

Definition Languange). IDL mendefiniskan tipe suatu objek berdasarkan operasi-operasi (yang

mungkin dijalankan pada objek tersebut) dan parameter operasi tersebut.

Interface dapat pula ditambahkan ke dalam suatu IRS (Interface Repository Service) yang

menggambarkan komponen-komponen dari interface suatu objek. Client dapat mengakses

komponen-komponen ini saat runtime. Client meminta suatu request dengan melakukan akses ke

OR (Object Reference) suatu objek yang dituju dan mengetahui tipe dari objek dan operasi-

operasi yang dapat dilakukan pada objek tersebut. Client menginisialisasi request dengan

memanggil rutinrutin suatu stub yang sesuai dengan objek atau membangun request secara

dinamik. Interface dinamik dan interface stub harus memeiliki semantic request yang bisa dalam

pemanggilan suatu request. ORB mencari implementation code yang dituju, mengirimkan

parameterparameter dan mentransfer kontrol pada Object Implementation melalui IDL Sekeleton

atau Dynamic Skeleton. Secara spesifik, skeleton berupa interface dan OA (ObjectAdapter).

Dalam mengolah suatu request, Object Implementation memberikan service pada ORB melalui

OA (Object Adapter). Saat suatu request selesai dijalankan, control dan nilai keluaran

dikembalikan ke client. OI dapat memilih OA yang akan digunakan. Keputusan pemilihan OA

ditentukan oleh jenis service yang dibutuhkan oleh OI tersebut. Infomasi tentang OI diberikan

pada saat instalasi dan disimpan dalam IR (Implementation Repository) yang digunakan selama

pengiriman hasil request.Dalam arsitekturnya, ORB tidak perlu dimplementasikan dalam sebuah

komponen tunggal; namun, ORB didefinisikan menggunakan interface-interface yang

dimilikinya. Interface-interface tersebut dikelompokan menjadi :

Page 14: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Operasi yang sama untuk semua implementasi ORB

Operasi khusus untuk tipe objek tertentu

Operasi khusus untuk style OI tertentu

Pada sisi client, ORB memiliki fungsi:

– Menghubungkan 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).

Pada sisi server, ORB berfungsi:

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

1.3.1.4 Object Reference (OR)

Object Reference (OR) merupakan informasi yang dibutuhkan untuk menentukan sebuah objek

dalam ORB. Client dan Object Implementation (OI) memiliki bagian yang tertutup dari OR

dengan language mapping, yang kemudian disekat dari representasi aktualnya. Dua implementasi

ORB dapat memiliki representasi OR yang berbeda. Representasi OR pada sisi client hanya valid

selama masa hidup client tersebut. Semua ORB harus menyediakan language mapping yang

sama untuk sebuah OR (umumnya disebut objek) untuk sebuah bahasa pemrograman tertentu.

Hal ini memungkinkan sebuah program ditulis dalam bahasa apapun untuk mengakses OR secara

independen terhadap ORB tertentu.

Page 15: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

1.3.2 Interface Definition Language (IDL)

Objek-objek CORBA dispesifikasikan menggunakan interface, yang merupakan penghubung

anatara client dan server. Interface Definition Language (IDL) digunakan untuk mendefinisikan

interface tersebut. IDL menentukan tipe-tipe suatu objek dengan mendefinisikan interface-

interface objek tersebut. Sebuah interface terdiri dari kumpulan operasi dan parameter operasi

tersebut. IDL hanya mendeskripsikan interface, tidak mengimplementasikannya. Meskipun

sintaks yang dimiliki oleh IDL menyerupai sintaks bahasa pemrograman C++ dan Java., perlu

diingat, IDL bukan bahasa pemrograman. Melalui IDL, Object Implementation (OI) akan

memberitahu client --yang akan mengaksesnya—operasi apa saja dan method apa saja yang

harus dipanggil client tersebut.

Dari definisi IDL, objek-objek CORBA dipetakan ke bahasa pemrograman C, C++, Java, dan

lain-lain—yang memiliki IDL mapping. Bahasa Pemrograman yang berbeda dapat mengakses

objek-objek CORBA dalam bebagai cara yang berbeda. Pemetaan dari IDL ke bahasa

pemrograman tertentu harus sama untuk semua implementasi ORB. Language Mapping ini

menyertakan definisi tipe data untuk bahasa pemrograman tertentu dan procedure interface untuk

mengakses objek melalui ORB. Ini meliputi:

Struktur dari client stub interface (tidak dibutuhkan untuk bahasa OOP)

Dynamic Invocation Interface

Implementation Skeleton

Object Adapters

Direct ORB Interface

Language Mapping juga mendefinisikan interaksi antara pemanggilan objek dan langkah kontrol

pada client dan implementasi. Pemetaan yang paling umum menyediakan syncrhonous call,

dimana rutin mengembalikan nilai pada saat operasi suatu objek selesai dilakukan. Pemetaan

tambahan memungkinkan sebuah call diisisiasi dan control dikembalikan kepada program

1.3.2.1 Dynamic Invocation/Skeleton Interface(DI)

IDL interface yang digunakan oleh sebuah client ditentukan pada saat client dikompilasi. Hal

tesebut mengakibatkan seorang programmer hanya dapat menggunakan server-server yang

terdiri dari objek-objek yang mengimplementasikan interfaceinterface tersebut.

Page 16: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Bila suatu aplikasi membutuhkan interface-interface yang tak didefiniskan saat kompilasi, maka

diperlukan DII (Dynamic Invocation Interface) atau pun DSI (Dynamic Skeleton Interface). DII

memungkinkan suatu aplikasi/client memanggil operasi-operasi dari sembarang interface. DSI

menyediakan suatu cara untuk mengirim request dari sebuah ORB ke sebuah Object

Implementation (OI) tanpa harus mengetahui tipe dari objek pada saat kompilasi.

1.3.3 Dynamic Invocation Interface (DII)

CORBA mendukung DII dan SII. Operasi invocation dapat dilakukan menggunakan static

interface ataupun dynamic interface. Static Invocation Interface (SII) ditentukan pad saat

kompilasi dan dihubungkan dengan client mengunakan stub. Sedangkan Dynamic Invocation

Interface (DII) memungkinkan aplikasi di sisi client untuk menggunakan server object tanpa

perlu mengetahui tipe obek-objek tersebut saat kompilasi. DII memungkinkan client untuk

mendapatkan sebuah instance dari objek CORBA dan membuat invocation pada objek tersebut

dengan menciptakan request yang sifatnya dinamis. DII menggunakan Interface Repository (IR)

untuk memvalidasi dan mengambil identifier operasi pada suatu request yang dibuat.

1.3.4 Komponen Interface Repository (IR)

Client menggunakan Interface Repository (IR) untuk mempelajari tentang interface-objek yang

tidak diketahui dan client menggunakan DII untuk memanggil methods suatu objek.

Empat tahap yang diperlukan saat penggunaan Dynamic Invocation Interface (DII):

Mengidentifikasikan target objek yang akan dipanggil

Mendapatkan target interface dari objek tersebut

Membangun invocation

Mengirim request da mendapatkan respon

Aplikasi-aplikasi client yang menggunakan Dynamic Invocation Interface (DII) tidak

lebih efisien dari yang menggunakan SII, tapai ada dua keuntungan menggunakan DII, yaitu:

Aplikasi client dapat melakukan permintaan kepada setiap operasi meskipun tersebut

tidak diketahui pada saat aplikasi dikompilasi

Aplikasi client tidak harus dikompilasi ulang untuk mengakses OI yang diaktivasi ulang

Page 17: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Interface Repository (IR) merupakan online database yang berisi tentang meta informasi tentang

tipe dari obyek ORB. Meta informasi yang disimpan meliputi informasi tentang modul, interface,

operasi, atribut, dan eksepsi dari obyek.

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.

ORB biasa menggunakan IR untuk:

1. menyediakan interoperability antar implementasi ORB yang berbeda,

2. menyediakan type checking dari signature sebuah request yang melalui SII dan DII.

3. mengecek kebenaran grafik inheritance,

4. mengelola instalasi dan distribusi interface definition dalam sebuah jaringan,

5. mengeizinkan designer apliaksi untuk memodifikasi interface definition, dan

mengizinkan language compiler untuk mengkompile stub dan skeleton dari IR bahkan langsung

dari file IDL.

-Implementation Repository

Implementation Repository terdiri dari informasi yang memperbolehkan ORB untuk mencari dan

mengaktivasi implementasi suatu objek. Meskipun untuk suatu ORB atau lingkungan operasi,

Implementation Repository merupakan tempat yang konvensional untuk menyimpan suatu

informasi.

1.3.4.1 Dynamic Skeleton Interface (DSI)

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. Fungsi utama Dynamic

Skeleton Interface (DSI) adalah mendukung implementasi gateway antara ORB yang memiliki

protocol komunikasi berbeda.

Page 18: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

1.3.5 Object Adapter (OA)

Object Adapter (OA) merupakan cara utama bagi sebuah Object Implemetation (OI) untuk

lmengakses service yang disediakan oleh ORB. Tugas utamanya adalah melakukan masking

(menutupi) perbedaan dalam implementasi objek untuk memperoleh portability yang lebih tinggi

1.3.6 -Internet Inter-ORB Protocol (IIOP)

CORBA mendefinisikan IIOP (Internet Inter-ORB Protocol) untuk mengatur bagaimana objek

berkomunikasi melalui jaringan. IIOP merupakan open protocol yang berjalan diatas TCP/IP.

Pada sisi server, CORBA membagi-bagikan obyek dan dalam hal menerima permintaan tidak

benar-benar secara langsung diterima. Sebagai gantinya, suatu proxy, disebut skeleton. Skeleton

adalah suatu obyek lokal yang dipergunakan dalam bahasa pemrograman pada obyek server,

dan akan diproses dalam server. Skeleton menerima permintaan yang disampaikan dari stub dan

meminta suatu metoda yang sesuai/cocok pada server. Dengan cara ini obyek server mengetahui

bahwa klien adalah lokal. Kemudian hasilnya dikembalikan dengan cara yang sama. Karenanya

maka kemudian mengirimkan permintaan antara klien dan server melalui jaringan IIOP

protocol yang digunakan.

Keseluruhan proses pengiriman permintaan antara clent dan server dapat ditunjukkan

melaui gambar diagram berikut ini.

Page 19: sitem terdistribusi Corba

By : Nurul,Ridho,Feni,JuliaSistem Terdistribusi

Gambar 4.

Proses Pengiriman Permintaan Antara Clent dan Server

Ketika IDL didefinisikan interface dipetakan kedalam bahasa pemrograman. Bahasa

berbeda dapat digunakan baik pada klien maupun server; stub dan skeleton dihasilkan melaui

pemetaan IDL ke bahasa server dan client. Yang harus dilakukan oleh semua pengembang

adalah meliputi kode yang dihasilkan dengan aplication yang dikembangkan.

Arsitektur CORBA adalah merupakan object oriented, oleh karena itu sama dengan

bahasa pemrograman obyek oriented. Dimana kita dapat membagi-bagikan obyek secara natural.

Tetapi bagaimana untuk bahasa yang bukan obyek oriented? Dalam hal ini, komunikasi

dilakuakan pada suatu tingkat yang lebih rendah dan mungkin harus mengatasi stub dan skeleton

secara langsung.