Apakah middleware itu ?? bila diterjemahkan ke dalam Bahasa Indonesia, middleware memiliki arti “perangkat tengah”, tetapi dari hasil browsingan yang telah saya lakukan. Middleware adalah relatif baru komputasi Selain lansekap. Itu populer pada tahun 1980-an sebagai solusi untuk masalah bagaimana menghubungkan aplikasi baru dengan sistem warisan yang lebih tua, meskipun system tersebut telah digunakan sejak 1968. Hal ini juga memfasilitasi pengolahan terdistribusi, hubungan antara beberapa aplikasi untuk membuat aplikasi yang lebih besar, biasanya melalui jaringan
Selain itu middleware mengizinkan sesuatu aplikasi yang dijalankan pada platform yang berlainan berhubung di antara satu sama lain. Middlware mengizinkan membangun hubungan untuk tidak bergantung kepada suatu jenis rangkaian protokol, sistem pengoperasian dan peralatan.
Jenis-jenis Middleware :
1. HM (Homegrown Middleware)
2. RPC (Remote Procedure Calls)
3. ORB (Object Request Brokers)
4. MOM (Message Oriented Middleware)
5. TPM (Transaction Processing Monitors)
Cara-Cara Memilih Middleware
Apabila hendak memilih sesuatu middleware, seseorang itu haruslah berpedoman kepada faktor-faktor berikut:
1. Kegunaan
2. Pengaturan skalaan
3. Keselamatan
4. Keserasian
5. Pengaturan set
Layanan-layanan Context-Aware dan Event-base
Pada telematika sebenarnya terdapat beberapa layanan-layanan penunjang yang tersedia, seperti contohya : Layanan informasi, keamanan, dan salah satunya adalah layanan context-aware dan event-base. Apa itu layanan context-aware dan event-base?? Yuukk kita bahas!! Di dalam ilmu komputer, terdapat sebuah gagasan yang menyatakan bahwa perangkat komputer memmpunyai kepekaan dan dapat bereaksi terhadap lingkungan sekitarnya berdasarkan informasi dan aturan-aturan tertentu yang tersimpan di dalam perangkat. Gagasan inilah yang kemudian diperkenalkan oleh Schilit pada tahun 1994 dengan istilah context-awareness.
Seperti yang telah dijelaskan diatas, istilah context-awareness lebih mengacu kepada kemampuan layanan network untuk mengetahui berbagai konteks, yaitu kumpulan parameter yang relevan dari pengguna (user) dan penggunaan network itu, serta memberikan layanan yang sesuai dengan parameter-parameter itu. Beberapa konteks yang dapat digunakan antara lain lokasi user, data dasar user, berbagai preferensi user, jenis dan kemampuan terminal yang digunakan user. Sebagai contoh : ketika seorang user sedang mengadakan rapat, maka context-aware mobile phone yang dimiliki user akan langsung menyimpulkan bahwa user sedang mengadakan rapat dan akan menolak seluruh panggilan telepon yang tidak penting. Dan untuk saat ini, konteks location awareness dan activity recognition yang merupakan bagian dari context-awareness menjadi pembahasan utama di bidang penelitian ilmu komputer.
Tiga hal yang menjadi perhatian sistem context-aware menurut Albrecht Schmidt, yaitu :
1. The acquisition of context
Hal ini berkaitan dengan pemilihan konteks dan bagaimana cara memperoleh konteks yang diinginkan, sebagai contoh : pemilihan konteks lokasi, dengan penggunaan suatu sensor lokasi tertentu (misalnya: GPS) untuk melihat situasi atau posisi suatu lokasi tersebut.
2. The abstraction and understanding of context
Pemahaman terhadap bagaimana cara konteks yang dipilih berhubungan dengan kondisi nyata, bagaimana informasi yang dimiliki suatu konteks dapat membantu meningkatkan kinerja aplikasi, dan bagaimana tanggapan sistem dan cara kerja terhadap inputan dalam suatu konteks.
3. Application behaviour based on the recognized context
Terakhir, dua hal yang paling penting adalah bagaimana pengguna dapat memahami sistem dan tingkah lakunya yang sesuai dengan konteks yang dimilikinya serta bagaimana caranya memberikan kontrol penuh kepada pengguna terhadap sistem.
Empat kategori aplikasi context-awareness menurut Bill N. Schilit, Norman Adams, dan Roy Want, yaitu :
1. Proximate selection
Proximate selection adalah sebuah teknik antarmuka yang memudahkan pengguna dalam memilih atau melihat lokasi objek (benda atau manusia) yang berada didekatnya dan mengetahui posisi lokasi dari user itu sendiri. Ada dua variabel yang berkaitan dengan proximate selection ini, yaitu locus dan selection, atau tempat dan pilihan.Setidaknya, ada tiga jenis lokasi objek yang bisa ditanamkan ke dalam aplikasi dengan menggunakan teknik ini, yaitu:
1. Perangkat input dan output yang menyediakan penggunaan share lokasi bersama, seperti: penggunaan printer, facsimiles, komputer, video camera, dan lain-lain.
2. Kumpulan objek-objek yang membutuhkan suatu perangkat lunak tertentu untuk saling berinteraksi, misalnya pada perusahaan-perusahaan yang membutuhkan penyatuan dokumen baik antar divisi maupun dalam satu divisi ke dalam suatu database tertentu.
3. Kumpulan lokasi atau tempat yang sering dikunjungi, seperti restoran, night club, pom bensin, mall, dan tempat-tempat lainnya. Dengan adanya inovasi ini tentunya lebih mempermudah user untuk mencari suatu tempat tertentu tanpa harus bergantung kepada yellow pages directori atau bertanya kepada masyarakat sekitar.
2. Automatic Contextual Reconfiguration
Aspek terpenting dari salah satu contoh kasus sistem context-aware ini adalah bagaimana konteks yang digunakan membawa perbedaan terhadap konfigurasi sistem dan bagaimana cara antar setiap komponen berinteraksi. Sebagai contoh, penggunaan virtual whiteboard sebagai salah satu inovasi automatic reconfiguration yang menciptakan ilusi pengaksesan virtual objects sebagai layaknya fisik suatu benda.
Contextual Reconfiguration juga bisa diterapkan pada fungsi sistem operasi; sebagai contoh: sistem operasi suatu komputer A bisa memanfaatkan memori komputer lainnya yang berada didekatnya untuk melakukan back-up data sebagai antisipasi jika power komputer A melemah.
3. Contextual Informations and Commands
Kegiatan manusia bisa diprediksi dari situasi atau lokasi dimana mereka berada. Sebagai contoh, ketika berada di dapur, maka kegiatan yang dilakukan pada lokasi tersebut pasti berkaitan dengan memasak. Hal inilah yang menjadi dasar dari tujuan contextual information and commands, dimana informasi-informasi tersebut dan perintah yang akan dilaksanakan disimpan ke dalam sebuah directory tertentu.
Setiap file yang berada di dalam directory berisi locations and contain files, programs, and links. Ketika seorang user berpindah dari suatu lokasi ke lokasi lainnya, maka browser juga akan langsung mengubah data lokasi di dalam directory. Sebagai contoh: ketika user berada di kantor, maka user akan melihat agenda yang harus dilakukan; ketika user beralih lagi ke dapur, maka user tersebut akan melihat petunjuk untuk membuat kopi dan data penyimpanan kebutuhan dapur.
4. Context-Triggered Actions
Cara kerja sistem context-triggered actions sama layaknya dengan aturan sederhana IF-THEN. Informasi yang berada pada klausa kondisi akan memacu perintah aksi yang harus dilakukan. Kategori sistem context-aware ini bisa dikatakan mirip dengan contextual information and commands, namun perbedaannya terletak pada aturan-aturan kondisi yang harus jelas dan spesifik untuk memacu aksi yang akan dilakukan.
Aturan umum yang harus diisi pada form context-triggered actions :
badge location event-type action
event-type dapat berupa kondisi : arriving, departing, settleld-in, missing, or attention. Sebagai contoh :
coffee kitchen arriving “play –v 50 ~/sounds/rooster.au”
artinya, ketika siapapun berada di dapur dan menggunakan mesin coffee maker maka alarm rooster sound akan berbunyi.
Kalau bicara tentang arsitektur pasti berkaitan dengan design. Nah, arsitektur yang mau saya bahas disini adalah arsitektur yang berkaitan dengan telematika. Arsitektur itu sendiri merupakan desain sebuah aplikasi, atau bisa juga dibilang merupakan sebuah komponen yang membentuk suatu system ditempatkan dan bagaimana mereka berkomunikasi. Client merupakan sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau layanan yang diminta oleh client.
Client-Server adalah pembagian kerja antara server dan client yg mengakses server dalam suatu jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri dari client dan server yang saling berkomunikasi ketika mengakses server dalam suatu jaringan. Macam macam dari client – server adalah
One Tier
Pada arsitektur ini semua pemrosesan dilakukan pada mainframe. Kode aplikasi, data dan semua komponen sistem ditempatkan dan dijalankan pada host. Ada beberapa masalah pada komputasi berbasis host: semua pemrosesan terjadi pada sebuah mesin tunggal, sehingga semakin banyak user yang mengakses host, maka akan semakin kewalahan akibatnya. Jika sebuah perusahaan memiliki beberapa kantor pusat, user yang dapat mengakses mainframe adalah yang berlokasi pada tempat itu, membiarkan kantor lain tanpa akses ke aplikasi yang ada. Pada saat itu jaringan sudah ada namun masih dalam tahap pemula, dan umumnya digunakan untuk menghubungkan terminal dump dan mainframe. Namun keterbatasan yang dikenakan pada user mainframe dan jaringan telah mulai dihapus.
Keuntungan arsitektur standalone (one-tier):
- Sangat mudah
- Cepat dalam merancang dan mengaplikasikan
Kelemahan arsitektur standalone (one-tier):
- Skala kecil
-Susah diamankan
-Menyebabkan perubahan terhadap salah satu komponen diatas tidak mungkin dilakukan, karena akan mengubah semua bagian.
-Tidak memungkinkan adanya re-usable component dan code.
-Cepat dalm merancang dan mengaplikasikan
Two Tier
Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan server. Client/server adalah tipikal sebuah aplikasi two-tier dengan banyak client dan sebuah server yang dihubungkan melalui sebuah jaringan. Aplikasi ditempatkan pada computer client dan mesin database dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang mengirimkan kembali data ke client-nya. Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan : client (yang meminta serice) dan server (yang menyediakan service). Tiga komponen tersebut yaitu :
1. User Interface.
2. Manajemen Proses.
3. Database.
Kelebihan
- Mudah
- Menangani Database Server secara khusus
- Relatif lebih sederhana untuk di develop dan diimplementasikan.
Kekurangan:
- Kurangnya skalabilitas
- Koneksi database dijaga
- Tidak ada keterbaharuan kode
- Tidak ada tingkat menengah untuk menangani keamanan dan transaksi
- skala kecil.
- Susah di amankan.
- Lebih mahal.
Three Tier
Arsitektur Three Tier merupakan inovasi dari arsitektur Client Server. Pada arsitektur Three Tier ini terdapat Application Server yang berdiri di antara Client dan Database Server. Contoh dari Application server adalah IIS, WebSphere, dan sebagainya. Biasanya, implementasi arsitektur Three Tier terkendala dengan network bandwidth. Karena aplikasinya berbasiskan web, maka Application Server selalu mengirimkan Web.
Application-nya ke computer Client. Jika kita memiliki banyak sekali client, maka bandwidth yang harus disiapkan akan cukup besar, Sedangkan network bandwidth biasanya memiliki limitasi. Oleh karena itu biasanya, untuk mengatasi masalah ini, Application Server ditempatkan pada sisi client dan hanya mengirimkan data ke dalam database server.
Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasiaplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan.
Kelebihan arsitektur Three Tier :
- Segala sesuatu mengenai database terinstalasikan pada sisi server, begitu pula dengan pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar lebih kecil.
- Apabila terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan lapisan lain ikut salah
- Perubahan pada salah satu lapisan tidak perlu menginstalasi ulang pada lapisan yang lainnya dalam hal ini sisi server ataupun sisi client.
- Skala besar.
- Keamanan dibelakang firewall
- Transfer informasi antara web server dan server database optimal.
- Komunikasi antara system-sistem tidak harus didasarkan pada standart internet, tetapi dapat menggunakan protocol komunikasi yang lebvih cepat dan berada pada tingkat yang lebih rendah.
- Penggunaan middleware mendukung efisiensi query database dalam SQL di pakai untuk menangani pengambilan informasi dari database
Kekurangan arsitekture Three Tier :
- Lebih susah untuk merancang
- Lebih susah untuk mengatur
- Lebih mahal
Multi tier
Arsitektur Multi Tier adalah suatu metode yang sangat mirip dengan Three Tier. Bedanya, pada Multi Tier akan diperjelas bagian UI (User Interface) dan Data Processing.Yang membedakan arsitektur ini adalah dengan adanya Business Logic Server. Database Server dan Bussines Logic Server merupakan bagian dari Data Processing, sedangkan Application Server dan Client/Terminal merupakan bagian dari UI.
Kelebihan arsitektur Multi tier :
- Dengan menggunakan aplikasi multi-tier database, maka logika aplikasi dapat dipusatkan pada middle-tier, sehingga memudahkan untuk melakukan control terhadap client-client yang mengakses middle server dengan mengatur seting pada dcomcnfg.
- Dengan menggunakan aplikasi multi-tier, maka database driver seperti BDE/ODBC untuk mengakses database hanya perlu diinstal sekali pada middle server, tidak perlu pada masing-masing client.
- Pada aplikasi multi-tier, logika bisnis pada middle-tier dapat digunakan lagi untuk mengembangkan aplikasi client lain,sehingga mengurangi besarnya program untuk mengembangkan aplikasi lain. Selain itu meringankan beban pada tiap-tiap mesin karena program terdistribusi pada beberapa mesin
- Relatif lebih mahal
- Memerlukan adaptasi yang sangat luas ruang lingkupnya apabila terjadi perubahan sistem yang besar.
Kekurangan arsitektur Multi tier :
- Program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier.