UNIVERSITAS
GUNADARMA
FAKULTAS ILMU
KOMPUTER & TEKNOLOGI INFORMASI
TUGAS PENGANTAR
TELEMATIKA
Nama &
NPM :
Bayu Prasetyo (11111437)
Fajar
Ziqqy Sallasa (12111654)
Fakultas : Ilmu
Komputer dan Teknologi Informasi
Jurusan : Sistem
Informasi
Kelas : 4KA11
|
Depok
2015
ABSTRAKSI
Bayu
Prasetyo (11111437), Fajar Ziqqy
Sallasa (12111654)
Tugas Pengantar
Telematika. Jurusan Sistem Informasi, Fakultas Ilmu Komputer dan Teknologi
Informasi, Universitas Gunadarma, 2013
Kata Kunci : Middleware, Pengantar
Telematika, Platform
(iii + 11 halaman)
Dalam pemrograman client server
tingkat lanjut,adalah memungkinkan untuk membangun sebuahaplikasi dengan dasar
platform pemrograman yang berbeda-beda. Dalam pemrograman jaringan biasa /
konvesional, maka tidak akan mampu untuk mengkoneksikan dua atau lebih platform
yang berbeda.
Untuk membangun aplikasi itu maka
dibutuhkan sebuah lapisan yang bisa menghubungkan platform pemrograman yang
berbeda, lapisan yang dimaksudkan adalah diistilahkan sebagai ‘middleware’.
Middleware pada tataran implementasi merupakan sebuah paket program instan yang
dipakai pada suatu platform permograman tertentu, sedangkan pada tataran
konsep, middleware mer upakan sebuah lapisan untuk lalulintas penghubung
komunikasi antar objek dari sistem yang berbeda. Ada beberapa jenis middleware,
seperti ORB (Object Request Broker), RMI (Remote Method Invocation), dan MOM
(Message Oriented Middleware).
Dalam tulisan ini akan dibahas tentang
pemahaman dan tujuan umum dari middleware, lingkungan komputasi dari
middleware, memahami kebutuhan middleware, serta mengenal contoh-contoh
middleware.
Daftar Pustaka
(2012-2013)
DAFTAR ISI
Halaman
Halaman
Judul.............................................................................................................................i
Abstraksi....................................................................................................................................ii
Daftar
Isi...................................................................................................................................iii
Bab I
PENDAHULUAN...........................................................................................................1
1.1 Latar
Belakang Masalah...........................................................................................1
1.2 Batasan
Masalah.........................................................................................................1
1.3 Tujuan
Penulisan........................................................................................................2
1.4 Metode
Penelitian......................................................................................................2
Bab II TINJAUAN
PUSTAKA..................................................................................................3
2.1 Middleware dan
Enterprise ApplicationIntegration................................................3
2.2 Middleware
ORB dalam framework
CORBA.........................................................3
2.3 Software
CORBA-ORB...........................................................................................6
2.4 Interface
Definition Language
(IDL).......................................................................7
Bab III ANALISA DAN
PEMBAHASAN................................................................................8
3.1
Implementasi Pemrograman Jaringan Menggunakan Middleware CORBA-OR.8
3.2
Implementasi
Pemrograman......................................................................................9
Bab IV PENUTUP...................................................................................................................10
4.1 Kesimpulan..............................................................................................................10
DAFTAR
PUSTAKA..............................................................................................................11
BAB I.
PENDAHULUAN
1.1 Latar belakang
masalah
Untuk membangun sebuah aplikasi client
server multi platform programming salah satu cara adalah dengan memanfaatkan
middleware. Middleware bias dijelaskan pada 2 tataran, yaitu tataran
konsep/paradigma dan tataran aplikasi pemrograman.
Pada tataran konsep, middleware
digunakan sebagai jembatan atau penghubung dua aplikasi atau lebih yang
memiliki perbedaan, middleware kadang disebut sebagai plumbing karena
middleware digunakan untuk menghubungkan 2 bagian dari sebuah aplikasi dan
digunakan untuk melewatkan data diantara mereka. Pada tataran implementasi,
middleware adalah sebuah paket program instan yang digunakan untuk
menghubungkan dua program yang berbeda platforma atau produk/vendor. Beberapa
jenis middleware yang bisa digunakan untuk pemrograman adalah ORB, RPC, RMI,
DCE, dan MOM. Produk Middleware biasanya di pakai oleh sebuah arsitektur atau
framework pemrograman.
ORB (Object Request Broker) dimiliki
oleh arsitektur atau framework pemrograman CORBA (Common Object Request Broker
Architectur) dan JAVA, RMI (Remothe Method Invocation) dimiliki oleh teknologi
JAVA. Pada tulisan ini akan dijelaskan konsep dan implementasi pemrograman
middleware ORB pada framework CORBA, dengan kasus client server berbeda platform
pemrograman. Tulisan ini akan dibagi menjadi beberapa bagian. Bagian berikutnya
adalah bagian II akan membahas tentang middleware-middleware yang bisa
membangun aplikasi bisnis (EAI).
Pada bagian ini juga akan dibahasa
CORBA-ORB serta arsitektur frameworknya. Pembahasan tentang konsep dan
implementasi pemrograman dengan middleware ini akan dibahas pada bagian III dan
pada bagian IV akan dibahas tentang tinjauan kritis penggunaan middleware dalam
membangun aplikasi client server.
1.2 Batasan
Masalah
Berdasarkan masalah diatas maka ruang
lingkup penulisan dibatasi pada pemanfaatan middleware ORB (Object Request
Broker).
1.3 Tujuan Penulisan
Pembuatan makalah ini disusun untuk
memberikan kemudahan dan pengetahuan tentang middleware telematika. Memberikan
pengetahuan lebih tentang konsep pemrograman jaringan dengan memanfaatkan
middleware ORB (Object Request Broker).
1.4 Metode Penelitian
Beragai data yang digunakan dalam
penulisan ini diperoleh dari studi pustaka dengan mencari bahan dasar sebagai
acuan teori dan bahan dari beragai buku dan situs-situs terpercaya pada
internet serta beberapa referensi yang berhubungan dengan permasalahan yang
akan dibahas penulis
BAB II.
TINJAUAN PUSTAKA
2.1 Middleware dan
Enterprise ApplicationIntegration
Middleware adalah sebuah aplikasi yang
secara logic berada diantara lapisan aplikasi (application layer) dan lapisan
data dari sebuah arsitektur layer-layer TCP/IP . Middleware bisa juga disebut
protokol. Protokol komunikasi middleware mendukung layanan komunikasi aras
tinggi.
Biasanya program middleware
menyediakan layanan pesan (messaging services) sehingga aplikasi-aplikasi yang
berbeda-beda itu dapat berkomunikasi. Sistem middleware mengikat
aplikasi-aplikasi yang terpisah. Penggunaannya dalam aplikasi bisnis dikenal
sebagai Enterprise Application Integration (EAI).
Middleware EAI membuat penghubung
antara aplikasi-aplikasi dalam berbagai cara, namun secara umum cara ini
diistilahkan sebagai transformasi dan routing data dan mengatur aliran proses
bisnis. Ada implikasi dalam hal ini bahwa aplikasi-aplikasi itu ber ada dalam
sebuah dunia heterogenitas – perbedaan platform operasi, pemisahan model data
dan penyimpan data, heterogenitas jaringan dan protocol komunikasi.
2.2 Middleware ORB
dalam framework CORBA
CORBA (Common Object Request Broker
Architecture) adalah sebuah standar system terdistribusi yang dikembangkan oleh
OMG (Object Management Group), yaitu sebuah konsorsium yang terdiri dari lebih
dari 800 perusahaan untuk membantu dalam pemrograman objek-objek terdistribusi.
CORBA adalah sebuah cara bagi objekobjek untuk melakukan interoperasi lintas
jaringan. Sejak spesifikasi CORBA versi 1.2 diperkenalkan pada tahun 1991,
CORBA memberikan sebuah mekanisme standar bagi komunikasi antar objek lintas
jaringan, kemudian spesifikasi CORBA tersebut berkembang dengan
diperkenalkannya CORBA 2.0 di tahun 1994 dan CORBA 3.0 yang direlease tahun
2000. Hal yang penting untuk dicatat bahwa CORBA hanya sebuah spesifikasi untuk
membuat dan menggunakan objek-objek terdistribusi, CORBA bukan sebuah produk
atau bahasa pemrograman.
Vendor-vendor yang ingin membuat
produk-produk yang mengikuti spesifikasi CORBA dapat bebas untuk melakukannya.
Tetapi yang perlu ditekankan/diyakinkan adalah bahwa vendor-vendor tersebut
mengikuti spesifikasi CORBA secara persis sama. Hal ini agar semua produk yang
dihasilkan vendor-vendor tersebut memiliki keselarasan dengan CORBA (CORBA
compliant), sehingga satu sama lain dapat berinteraksi. Hal lain yang perlu
diingat bahwa CORBA independen terhadap bahasa pemrograman selama bahasa-bahasa
pemrograman tersebut memiliki pemeta (mapping) dari bahasa definisi interface
dalam CORBA.
CORBA merupakan sebuah spesifikasi middleware yang ideal untuk mendukung dan mengaplikasikan sistem komputer terdistribusi. Arsitektur CORBA berbasis pada model objek. Model ini berasal dari abstraksi inti model objek yang didefinisikan oleh OMG dalam sebuah petunjuk OMA (Object Management Architecture), yang dapat ditemukan dalam [2]. Beberapa hal penting yang perlu dicatat bahwa CORBA berbeda dengan pemrograman objek serupa adalah:
CORBA merupakan sebuah spesifikasi middleware yang ideal untuk mendukung dan mengaplikasikan sistem komputer terdistribusi. Arsitektur CORBA berbasis pada model objek. Model ini berasal dari abstraksi inti model objek yang didefinisikan oleh OMG dalam sebuah petunjuk OMA (Object Management Architecture), yang dapat ditemukan dalam [2]. Beberapa hal penting yang perlu dicatat bahwa CORBA berbeda dengan pemrograman objek serupa adalah:
- Objek-objek CORBA dapat berjalan dalam berbagai platform.
- Objek-objek CORBA ditempatkan di manapun dalam jaringan.
- Objek-objek CORBA dapat ditulis dalam beberapa bahasa pemrograman yang memiliki pemeta IDL (IDL mapping).
Bersifat open, maksudnya bahwa CORBA
bias dipakai oleh setiap orang yang ingin menggunakan standarisasi CORBA ini. Sehingga
akan muncul perbedaan-perbedaan dalam menggunakannya, seperti perbedaan
platform ataupun bahasa pemrograman. Tetapi hal ini justru menjadi kelebihan
CORBA bahwa CORBA mampu mengkomunikasikan sistem yang memiliki
perbedaan-perbedaan tersebut.
CORBA merupakan sebuah arsitektur yang
menyediakan sebuah framework crossplatform untuk membangun dan mengembangkan
sistem objek terdistribusi. Ide utama dibelakang CORBA adalah sebuah perangkat
lunak perantara (intermedier) atau disebut middleware yang mengatur dan
menyebarkan akses request ke sekumpulan data tertentu. Perangkat lunak
perantara ini adalah Middleware ORB (Object Request Broker).
ORB melakukan interaksi dan membuat
request ke berbagai macam objek. ORB ini terletak diantara layer data dan layer
aplikasi dalam susunan arsitektur jaringan 7 layer model OSI. ORB akan
melakukan negosiasi antara pesan request dari objek ke objek atau dari objek
server ke sekumpulan data (data set). Tujuan CORBA adalah untuk membuat
pemrograman lebih mudah dengan membuat aplikasi berbasis CORBA yang sangat
portable. Untuk melihat lebih detail tentang arsitektur CORBA dan ORB berada
didalamnya, maka CORBA memiliki sebuah arsitektur yang disebut OMA (Object
Management Group).OMA mengelompokkan jenis-jenis interak si antar program untuk
memudahkan penyediaan dukungan.
OMA melakukan strukturisasi dunia
aplikasi ke dalam dua kelompok besar: kategori layanan CORBA (CORBAservices)
dan kategori fasilitas CORBA (CORBAfacilities). Layanan CORBA menyediakan
fungsi-fungsi dasar yang digunakan oleh hampir setiap obyek dalam berbagai
aplikasi. Fungsi-fungsi ini biasanya bersifat generik dan tidak tergantung pada
jenis domain aplikasi. Sebagai contoh adalah layanan penamaan (naming service).
Bayangkan bila memerlukan sebuah layanan tapi tidak tahu kemana harus mencari
server yang menyediakan layanan tersebut. Layanan penamaan dapat membantu
layaknya sebuah "halaman kuning" (yellow pages) ; dia bisa menyiarkan
direktori layanan yang terdaftar padanya. Karena sifatnya yang generik, layanan
penamaan dapat digunakan oleh aplikasi dari berbaga i domain.
Fasilitas CORBA menyediakan layanan
pada level aplikasi. Ada dua jenis fasilitas: horizontal, yang diperlukan oleh
berbagai jenis domain (misalnya, user-interface), dan vertikal, yang berlaku
khusus untuk domain tertentu. Fasilitas horizontal fungsinya mirip dengan
layanan CORBA, tetapi beroperasi pada level yang lebih tinggi karena
berhubungan langsung dengan aspek fungsional dari aplikasi. OMG secara
terus-menerus melakukan standarisasi terhadap interface untuk komponen-komponen
di masing-masing kategori. Semakin banyak layanan dan fasilitas yang
distandarisasi, semakin mudah untuk mencapai komputasi terdistribusi berbasis
komponen dalam berbagai bidang secara plug-and -play, tanpa terganggu oleh
masalah heterogenitas.
2.3 Software
CORBA-ORB
Ada banyak software CORBA-ORB baik
yang free dan opensource maupun yang komersil. Yang akan digunakan disini
adalah software ORB dari Java yang disebut Java-ORB dan JAC-ORB dari Fu Berlin
/ Xtradine. Keduanya berbasis Java. Sementara software ORB yang lainnnya dapat
dilihat dalam tabel berikut.
Ketika masuk ke pemrograman secara
teknis maka yang perlu diketahui adalah sebuah bahasa interface yang digunakan
untuk menghubungkan berbagai macam aplikasi. Bahasa ini disebut Interface
Definition Language (IDL). Untuk mengenal tentang IDL maka berikut adalah
pembahasan tentang IDL.
2.4 Interface
Definition Language (IDL)
IDL merupakan inti untuk pembuatan
aplikasi CORBA. IDL memuat sekumpulan tipe variabel yang kemudian akan
dipetakan ke berbagai bahasa pemrograman. Suatu interface dalam CORBA
menyediakan sebuah deskripsi fungsi-fungsi yang disediakan untuk sebuah objek.
Atribut, method dan parameter adalah informasi-informasi yang dispesifikasi oleh
sebuah interface. IDL adalah sebuah bahasa yang menggambarkan objek-objek
interface dalam sebuah aplikasi CORBA.
IDL mendefinisikan tipe-tipe objeknya
dengan mendefinisikan interface-interfacenya. Sebuah interface terdiri dari
sekumpulan nama operasi dan parameter-parameter untuk operasi-operasi tersebut.
Catatan bahwa IDL hanya digunakan untuk menggambarkan interface, dan bukan
sebuah implementasi. IDL bukan pula bahasa pemrograman. Melalui IDL, sebuah
implementasi objek tertentu memberitahukan pada client tentang operasi-operasi
apa saja yang tersedia dan memberitahukan bagaimana cara untuk mengambilnya.
Dengan definisi IDL, objek-objek CORBA harus dipetakan ke beberapa bahasa
pemrograman yang akan digunakan untuk membangun aplikasi client dan juga server.
Beberapa bahasa pemrograman yang memiliki pemeta IDL (IDL mapping) adalah C,
C++, Java, Smalltalk, Lisp, Basic, Pascal dan Python. Setelah mendefinisikan
sebuah interface untuk objek-objek dalam IDL, programmer bebas untuk
mengimplementasikan objek-objek dengan menggunakan bahasa pemrograman yang
sesuai yang memiliki pemeta IDL. Sebagai sebuah protokol kompiler, IDL bisa
digambarkan sebagai berikut:
BAB III.
ANALISA DAN
PEMBAHASAN
3.1 Implementasi Pemrograman Jaringan
Menggunakan Middleware CORBA-ORB
Untuk membangun aplikasinya ada beberapa langkah yang perlu diperhatikan dalam hal pemrograman menggunakan middleware CORBA-ORB. Langkah-langkah itu adalah :
Untuk membangun aplikasinya ada beberapa langkah yang perlu diperhatikan dalam hal pemrograman menggunakan middleware CORBA-ORB. Langkah-langkah itu adalah :
- Membuat rancangan dan analisa kebutuhan system
- Men-download software yang akan digunakan (software yang akan digunakan adalah Java-ORB dan JAC-ORB)
- Coding atau melakukan langkah-langkah teknis pemrograman
Untuk membangun pemrograman jaringan
dengan Middleware CORBA-ORB, maka perlu dianalisa terlebih dahulu hal-hal yang
diperlukan sebelum masuk ke langkah coding/pemrograman. Sesuai dengan tujuan yang
ingin dibuat adalah aplikasi yang melakukan koneksi melalui ORB, dan bias
menunjukkan aplikasi yang terpisah dan berbeda platform, maka bisa digambarkan
sebagai berikut :
Dari gambar diatas terlihat bahwa ada 2 aplikasi yang jalan di dua
platform pemrograman yang berbeda. Platform yang akan digunakan adalah Java-ORB
dan Jac-ORB. 2 aplikasi tersebut juga akan diinstal pada platform sistem
operasi yang berbeda. Sistem operasi yang akan digunakan adalah Linux untuk
Jac-ORB dan Windows untuk Java-ORB.
Dua aplikasi itu pun berada pada mesin yang berbeda. Disisi lain client
pun akan menggunakan platform yang berbeda dengan server-nya. Jika ingin
mengakses Server Java-ORB, maka yang akan digunakan adalah ORB Name Product Bhs
Pemrogrmn Licence JAVA ORB SUN MicroSystem Java Free VisiBroker
Visigenic/Borland Java, C++, Delphi Evaluation JacORB Fu Berlin/XTRADyneJava
Free MICO Mico.org/GPL Soft. C++ Free ISP Rusian Univ C++ Free ORBacus IONA
Java, C++ Free OMNIORB OMNI Java, C++ Evaluation VBORB Visual Basic Free MTdORB
Phyton Phyton Free. Aplikasi Client yang dibuat dengan JAC-ORB. Sedangkan jika
client ingin mengakses aplikasi yang ada di platform JAC-ORB, maka akan digu
nakan aplikasi client yang dibangun dengan Java-ORB.
3.2 Implementasi Pemrograman
Beberapa langkah yang harus dilakukan untuk membangun aplikasi sesuai
dengan arsitektur diatas adalah :
- Membuat bahasa definisi IDL
- Membuat aplikasi Server
- Membuat Aplikasi Client
- Mengkompilasi semua class yang telah dibuat
Contoh kasus ini adalah program jumlah() dan kurang() untuk server
Java-ORB dan program kali() dan bagi() untuk server JAC-ORB. Dua file tersebut
kemudian dikompilasi dengan menggunakan IDL Compiler yang dimiliki oleh Java-
ORB dan JAC-ORB.
Langkah berikutnya membuat aplikasi server untuk kedua ORB yang digunakan. Dua file server diatas sebelum diinstallkan di dua komputer server yang berbeda terlebih dulu di kompilasi. Karena secara default Client tidak bsa mengakses kedua server tersebut, maka langkah berikutnya adalah membuat aplikasi Client dengan CORBA (JAVA-ORB dan JAC-ORB) sebagai Middleware. Setelah CORBAdijalankan, Client dapat mengakses kedua server tersebut.
Langkah berikutnya membuat aplikasi server untuk kedua ORB yang digunakan. Dua file server diatas sebelum diinstallkan di dua komputer server yang berbeda terlebih dulu di kompilasi. Karena secara default Client tidak bsa mengakses kedua server tersebut, maka langkah berikutnya adalah membuat aplikasi Client dengan CORBA (JAVA-ORB dan JAC-ORB) sebagai Middleware. Setelah CORBAdijalankan, Client dapat mengakses kedua server tersebut.
Hasil akhir dari percobaan ini adalah terbukti bahwa CORBA dapat
menghubungkan server sebagai middleware yang berbeda platform dengan client.
BAB IV.
PENUTUP
4.1 Kesimpulan
Kesimpulan yang diperoleh dari hasil penulisan makalah ini yaitu :
Middleware CORBA-ORB bisa membangun dua buah sistem untuk bisa saling melakukan
interoperasi. Kemudian Middleware CORBA-ORB juga sangat membantu untuk
pengembangan skala program aplikasi. Dan kesimpulan yang terakhir Middleware
CORBA-ORB dapat memudahkan untuk pengembangan tim developer.
Hal yang sangat menarik dari pemrograman dengan memanfaatkan middleware
CORBA-ORB adalah isu tentang interoperasi, atau diistilahkan interoperabilitas.
Isu ini memandang 2 sistem berbeda yang ingin melakukan komunikasi. Middleware
CORBA-ORB bisa dijadikan suatu fasilitator untuk melakukan interoperasi itu.
Middle ware CORBA-ORB juga bisa digunakan untuk penghubung dari banyak aplikasi
yang berbeda platform bahasa pemrograman.
Isu yang lain yang juga terlibat dalam pemrograman middleware CORBA-ORB
adalah masalah scalability. Isu ini dimaksudkan untuk penambahan / perluasan
skala pengembangan aplikasi. Untuk membuat aplikasi jaringan client server
tidak dibatasi dengan satu platform pemrograman saja tetapi bias lebih luas
lagi dengan berbagai platform pemrograman.
Isu yang juga menarik adalah kemudahan pengembangan. Dengan sistem
terpisah-pisah secara fisik maupun logika, maka tim developer bias
dipecah-pecah secara mudah berdasarkan pemisahan itu. Ahli pemrograman Java
bisa concern dengan aplikasi Java, ahli pemrograman C++ bisa concern dengan aplikasi
C++, begitu juga programer Delphi dan lain-lainnya.
Daftar Pustaka
- www.webopedia.com/TERM/M/middleware.html
- Mahmoud H., Qusay , Distributed Programming With Java, Manning, 2000.
- Somantri, Maman, Pemrograman Lintas Bahasa Pemrograman dalam Arsitektur CORBA, Prosiding Seminar Nasional Teknologi Informasi, STTNAS Yogyakarta, Juni 2005.
- Somantri Maman. Konsep pemograman Jaringan dengan memanfaatkan jaringan Middleware ORB
- http://patrisachi.blogspot.com/2012/01/konsep-pemrograman-jaringan-dengan.html

Tidak ada komentar:
Posting Komentar