Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Mobile Computing 7 Middleware
2
Outline Part I: Remote Procedure Call (RPC)
Part II: Object-Oriented Middleware (OOM) – Java RMI – CORBA Part III: Message-Oriented Middleware (MOM)
3
Pengertian Middleware1
Dewasa ini Kemajuan teknologi sangat pesat, hal ini dapat kita rasakan dengan munculnya hardware-hardware baru dari perusahaan teknologi yang ada di dunia ini. Kebutuhan middleware yaitu sebagai software penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan juga sebagai integrator. Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi dengan lainnya walaupun berjalan pada platform yang berbeda.
4
Pengertian Middleware2
Middleware merupakan software yang menghubungkan bagian-bagian berbeda pada sebuah aplikasi atau rangkaian aplikasi. Middleware dapat diumpamakan menjadi beberapa bentuk : Middleware sebagai semacam lem yang menyatukan sebuah jaringan dan komputer-komputer yang terhubung di dalamnya dapat berupa sebuah aplikasi tunggal, atau dapat berupa keseluruhan server. Middleware sebagai sebuah perangkat adapter (adapter device) yang dapat dijalankan dari sebuah printer baru ke sebuah komputer lama alias jadul. Adapter, atau middleware, menghubungkan dua perangkat, memungkinkan komunikasi di antaranya dan juga fungsionalitasnya.
5
Pengertian Middleware3
Jadi middleware adalah sebuah aplikasi yang secara logika berada diantara lapisan aplikasi dan lapisan data dari sebuah arsitektur layer-layer TCP/IP . Middleware bisa juga disebut protokol mendukung layanan komunikasi. Biasanya program middleware menyediakan layanan pesan (messaging services ) sehingga aplikasi-aplikasi yang berbeda-beda itu dapat berkomunikasi.
6
Part 1 Remote Procedure Call (RPC)1
Metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Cara Kerja : Server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa me- request kepada sebuah matchmaker (pencocok port) pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.
7
Part 1 Remote Procedure Call (RPC)2
Prinsip Dasar RPC
8
Part 1 Remote Procedure Call (RPC)3
Sebelum mekanisme RPC digunakan, data harus di-packaging ke dalam format transimisi disebut marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instance dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)
9
Part 1 Remote Procedure Call (RPC)4
Kelebihan RPC Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling. Robust (Sempurna): Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability. Kekurangan RPC Tidak fleksibel terhadap perubahan: hubungan anatara client dan server bersifat static Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
10
Part II Object Oriented Middleware 1
11
Part II Object Oriented Middleware2 1. Remote Method Invocation (RMI)
RMI adalah sebuah teknik pemanggilan remote method yang secara umum lebih baik dari RPC. RMI menggunakan paradigma pemrograman berorientasi obyek --> memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. RMI memungkinkan obyek yang berjalan disuatu mesin untuk memanggil suatu metode dari satu obyek yang berjalan di mesin yang lain.
12
Part II Object Oriented Middleware3 1. Remote Method Invocation (RMI)
Tujuan Menyediakan fasilitas bagi programmer untuk dapat mendistribusikan objek yang digunakan pada beberapa proses yang berbeda. Dapat berjalan dalam satu mesin ataupun di beberapa mesin yang terhubung dengan jaringan.
13
Part II Object Oriented Middleware4 1. Remote Method Invocation (RMI)
Aplikasi RMI sering kali terdiri dari dua program terpisah yaitu server dan client. RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik, aplikasi ini disebut distributed object application Aplikasi Server Membuat beberapa remote objek Menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses Menunggu RMI client merequest server Aplikasi Client Mendapatkan referensi remote ke satu atau lebih objek remote di server Menjalankan method dari objek tersebut Meminta pemanggilan ke beberapa remote objek berbasarkan referensi yang diterimanya.
14
Part II Object Oriented Middleware5 2
Part II Object Oriented Middleware5 2. CORBA (Common Object Request Broker Architecture) Adalah teknologi yang digunakan untuk heterogeneous computing (sistem komputer dengan berbagai macam lingkungan) atau terdistribusi yang menggunakan arsitektur client-server dimana keduanya berupa objek. Mendukung apa yang disebut interoperabilitas, yaitu kemampuan saling bekerjasama antar sistem komputer. Sebagai suatu sistem yang terbuka, artinya bahwa teknologi CORBA merupakan sebuah standarisasi yang terbuka bagi siapa saja yang ingin menerapkan. Dengan adanya hal tersebut, pengembang dapat membangun sebuah aplikasi yang dapat berkomunikasi walaupun satu dengan yang lainnya menggunakan bahasa pemrograman yang berbeda.
15
Part II Object Oriented Middleware5 2
Part II Object Oriented Middleware5 2. CORBA (Common Object Request Broker Architecture) Kelebihan CORBA: Programer dapat dengan mudah menulis aplikasi yang mampu bekerja secara independent antar platform dan jaringan Memberikan kemampuan untuk mengintegrasi software aplikasi yang berbeda,tanpa harus tergantung pada fasilitas komunikasi tingkat bawah
16
Part III Message Oriented Middleware (MOM)
Komunikasi menggunakan messages (pesan) Disimpan di message queues Message servers memisahkan client dan server.
17
Part III Message Oriented Middleware2
Messaging yang dimaksud di sini sederhananya adalah cara bagaimana satu aplikasi berkomunikasi dengan aplikasi yang lainnya dimana antar keduanya terpisah ( Sistem terdistribusi ). Contoh : aplikasi di toko cabang ( toko cabang surabaya ) ingin berkomunikasi dengan aplikasi di toko pusat ( toko cabang jakarta ) untuk untuk meminta daftar stok barang atau mengirim order dari cabang ke aplikasi pusat.
18
Part III Message Oriented Middleware3
Message Oriented Middleware itu software yang menjadi jembatan antar aplikasi untuk berkirim pesan untuk berkomunikasi. Deskripsi mudahnya : Aplikasi di toko cabang surabaya ingin mengirim data pesanan dari pelanggan di toko pusat Jakarta. Aplikasi di toko cabang surabaya itu akan mengirim pesan ke software MOM, kemudian MOM akan memberitau aplikasi toko pusat di Jakarta.
19
Part III Message Oriented Middleware4
Kenapa harus menggunakan MOM ? Kenapa tidak langsung dari aplikasi ke aplikasi ? 1. Pesan dijamin sampai Pesan yang dikirim dari aplikasi cabang dijamin akan diterima oleh aplikasi tujuan meski pada waktu yang bersamaan aplikasi di pusat sedang off alias tidak jalan. MOM akan segera mengirimkan pesannya ke pusat ketika aplikasi pusat dijalankan. 2. Asynchronous Ini maksudnya adalah aplikasi di toko cabang surabaya tidak perlu sama-sama jalan dalam waktu yang sama dengan aplikasi di toko pusat Jakarta.
20
Part III Message Oriented Middleware5
3. Mendukung Transaksi MOM juga menyediakan mode transaksi dimana masing-masing aplikasi yang menerima pesan dari MOM bisa menentukan apakah aplikasi ini valid. Jika valid tinggal di commit dan pesan akan dihapus dari MOM dan jika tidak valid maka pesan akan dikirimkan ulang. Ini sangat berguna ketika operasi pemrosesan di aplikasi client tiba-tiba gagal sehingga kita butuh pemrosesan ulang dan pesan dari MOM juga dikirim ulang. 4. One time, in-order delivery MOM memastikan bahwa tidak ada duplikasi pesan yang artinya pesan yang sama tidak akan dikirim dua kali ke client.
21
Part III Message Oriented Middleware6
Sesuai urutan ? Apa pesan di MOM ada banyak ? Tentu! pesan tidak bisa jadi tidak hanya satu tapi banyak sekali pesan yang masuk dalam 1 detik karena mungkin aplikasi toko cabang yang ingin berkomunikasi dengan pusat tidak hanya satu. Loosely coupled Satu aplikasi tidak perlu tau detail implementasi dari aplikasi lain yang menerima pesan. Ini berbeda dengan metode RPC seperti CORBRA dan RMI dimana antar aplikasi yang ingin berkomunikasi harus mengetahui di aplikasi lain misal aplikasi toko pusat Jakarta untuk mengakses daftar stok barang metode apa yang harus di akses, ketika sudah tau metodenya/fungsinya maka aplikasi di toko cabang surabaya harus membuat metode yang mirip baik dari segi jumlah parameter dan nilai kembalian dalam aplikasi cabang. Jadi antar aplikasi sangat terikat sekali. Berbeda dengan Message oriented dimana aplikasi cukup mengirim pesan ke MOM tidak perduli aplikasi yang menerima bentuk dan rupanya seperti apa.
22
Part III Message Oriented Middleware7
Kalau begitu kenapa tidak pakai ? itu ditujukan untuk komunikasi antar manusia atau antar mesin ( Aplikasi ) dengan manusia. Tidak akan mudah bagi mesin ( aplikasi ) untuk membaca maksud pesan yang sebenarnya ditujukan manusia. Sedang Message Oriented itu ditujukan untuk komunikasi antar aplikasi dengan format pesan yang masing masing aplikasi mengerti format pesannya. Itu inti utamanya sebenarnya meski banyak lagi alasannya.
23
Part III Message Oriented Middleware8
Java Message Service (JMS) Salah satu teknologi yang menggunakan konsep messaging JMS muncul karena metode sebelumnya RMI/CORBRA dan sejenisnya terlalu tightly-coupled dan synchronous. Lalu datanglah era Middleware ( MOM ), tapi karena produk middleware tidak hanya satu sehingga tidak ada standarisasi yang umum . Jadi kalau kita memakai satu layanan MOM maka code kita akan sangat terikat dengan code native yang spesifik dengan MOM tersebut sehingga akan gagal berantakan kalau MOM kita ganti dengan produk lain, untuk itu lahirlah JMS. Ingat! JMS itu hanya spesifikasi bukan implementasi. Jadi JMS mendefinisikan cara nya gimana untuk melakukan komunikasi. Jadi dibutuhkan semacam implementor dan inilah yang diistilahkan dengan JMS Provider/Provide/Broker/MOM.
24
Part III Message Oriented Middleware9
JMS Client ( aplikasi di cabang di berbagai daerah ) berkomunikasi dengan MOM ( JMS Provider/Messaging Server ) melalui JMS API tidak peduli provider nya dari produk mana apa itu dari ActiveMQ, Fiorano MQ atau IBM MQSeries. Application Program Interface
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.