Dalam dunia teknologi informasi, terminologi middleware adalah pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, atau untuk meningkatkan fungsi dari dua buah program/aplikasi yang telah ada. Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan yang ada di sistem operasi. Dalam dunia teknologi informasi, terminologi middleware adalah istilah umum dalam pemrograman komputer yang digunakan untuk menyatukan, sebagai penghubung, ataupun untuk meningkatkan fungsi dari dua buah progaram/aplikasi yang telah ada. Adapun fungsi dari middleware adalah:
- Menyediakan lingkungan pemrograman aplikasi sederhana yang menyembunyikan penggunaan secara detail pelayanan yang ada pada sistem operasi .
- Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi.
- Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi, seperti dalam: networking, security, database, user interface, dan system administration.
Middleware Didefinisikan sebagai sebuah aplikasi yang secara logic berada diantara lapisan aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP [1]. Middleware bisa juga disebut protokol. Protokol komunikasi middleware mendukung layanan komunikasi aras tinggi. Pengertian yang lain yaitu :
- Software yang berfungsi sebagai lapisan konversi atau penerjemah.
- 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.
- Biasa dipakai saat bermigrasi
Contoh Middleware
Java’s: Remote Procedure Call
Object Management Group's: Common Object Request Broker Architecture (CORBA)
Microsoft's COM/DCOM (Component Object Model)
Also .NET Remoting
Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi.Perkembangan middleware dari waktu ke waktu dapat dikategorikan sebagai berikut:
On Line Transaction Processing (OLTP), merupakan perkembangan awal dari koneksi antar remote database. Pertama kali ditemukan tahun 1969 oleh seorang engineer di Ford, kemudian diadopsi oleh IBM hingga kini dikenal sebagai proses OLTP. DIGITAL ACMS merupakan contoh lainnya yang sukses pada tahun 70-an dan 80-an. UNIX OLTP lainnya seperti: Encina, Tuxedo pada era 80-an, serta DIGITAL CICS untuk UNIX yang memperkenalkan konsep dowsizing ke pasar.
Remote Procedure Call (RPC), menyediakan fasilitas jaringan secara transparan. Open Network Computing (ONC) merupakan prototipe pertama yang diperkenalkan awal tahun 70-an. Sun unggul dalam hal ini dengan mengeluarkan suatu standar untuk koneksi ke internet. Distributed Computing Environment (DCE) yang dikeluarkan oleh Open Systems Foundation (OSF) menyediakan fungsi-fungsi ONC yang cukup kompleks dan tidak mudah untuk sis administrasinya.
Common Object Request Broker Architecture (CORBA), merupakan object-oriented middleware yang menggabungkan fungsi RPC, brokering, dan inheritance. DIGITAL ObjectBroker merupakan salah satu contohnya.
Middleware Masa Depan
Database middleware, seperti midleware yang lain akan tetap dan semakin dibutuhkan dimasa yang akan datang. Dan besar kemungkinannya bahwa OLEDB akan menjadi database middleware yang paling populer pada saat teknologinya matang, karena keterbukaannya, arsitekturnya yang object-oriented, dan kemampuannya mengakses hampir semua tipe penyimpanan data.
Layanan Middleware
Menyediakan kumpulan fungsi API (Application Programming Interfaces) yang lebih tinggi dari pada API yang disediakan sistem operasi dan layanan jaringan yang memungkinkan suatu aplikasi dapat :
Ø Mengalokasikan suatu layanan secara transparan pada jaringan
Ø Menyediakan interaksi dengan aplikasi atau layanan lain
Ø Diperluas (dikembangkan) kapasitasnya tanpa kehilangan fungsinya.
Contoh Layanan Middleware
Ø Transaction Monitor
1. Produk pertama yang disebut middleware.
2. Menempati posisi antara permintaan dari program client dan database, untuk menyakinkan bahwa semua transaksi ke database terlayani dengan baik
Contoh Layanan Middleware
Contoh Layanan Middleware
Distributed Object Middleware
Contoh: RPC, CORBA dan DCOM/COM
Middleware basis data menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi
Contoh: JDBC, ODBC, dan ADO.NET
Application Server Middleware
J2EE Application Server, Oracle Application Server
Tujuan utama layanan middleware adalah untuk membantu memecahkan interkoneksi beberapa aplikasi dan masalah interoperabilitas.
Database middleware adalah salah satu jenis middleware disamping message-oriented middleware, object-oriented middleware, remote procedure call, dan transaction processing monitor. Pada prinsipnya, ada tiga tingkatan integrasi sistem komputer yaitu integrasi jaringan, integrasi data, dan integrasi applikasi. Database middleware menjawab tantangan integrasi data, sedangkan midleware yang lain menjawab tantangan integrasi applikasi dan jaringan.
Database middleware yang paling umum digunakan adalah ODBC (Open DataBase Connectivity). Keterbatasan ODBC adalah bahwa middleware ini didisain untuk bekerja pada tipe penyimpanan relational database, lebih tepatnya SQL-based relational database2, meskipun pada saat buku ini ditulis sudah tersedia ODBC untuk text file dan Excel spreadsheet.
Database middleware yang lain, yang merupakan superset daripada ODBC adalah OLEDB. OLEDB bisa mengakses hampir segala macam bentuk database, dan karenanya Microsoft mengklaim OLEDB sebagai Universal Data Access Interface2. Kelebihan yang lain dari OLEDB adalah dia didisain dengan konsep obyek komponen (Component Object Model) yang mengandalkan object-oriented computing dan menjadi salah satu trend di dunia komputasi.Hanya saja OLEDB relatif masih baru pada saat buku ini ditulis, sehingga penulis belum dapat mengevaluasinya lebih jauh.
Database middleware yang lain, yang merupakan superset daripada ODBC adalah OLEDB. OLEDB bisa mengakses hampir segala macam bentuk database, dan karenanya Microsoft mengklaim OLEDB sebagai Universal Data Access Interface2. Kelebihan yang lain dari OLEDB adalah dia didisain dengan konsep obyek komponen (Component Object Model) yang mengandalkan object-oriented computing dan menjadi salah satu trend di dunia komputasi.Hanya saja OLEDB relatif masih baru pada saat buku ini ditulis, sehingga penulis belum dapat mengevaluasinya lebih jauh.
Messaging Middleware :
- Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded
- Mungkin berisi business logic yang merutekan message ke ujuan sebenarnya dan memformat ulang data lebih tepat
- Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk mengirim data antar aplikasi
Manajement Data pada Telematika
Pengertian Client-Server
Client/Server dapat diartikan sebagai kemampuan komputer untuk meminta layanan request data kepada komputer lain. Setiap instance dari komputer yang meminta layanan disebut sebagai client, sedangkan setiap instance yang menyediakan layanan disebut sebagai server. Data yang diminta oleh client dapat diambil dari database pada sisi server yang sering disebut database server, seperi misalnya MySQL, PostgreSQL, Oracle, atau SQL Server. Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server. Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
1.Servis (layanan)
~ Hubungan antara proses yang berjalan pada mesin yang berbeda
~ Pemisahan fungsi berdasarkan ide layanannya.
~ Server sebagai provider, client sebagai konsumen
2.Sharing resources (sumber daya)
~ Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.
3.Asymmetrical protocol (protokol yang tidak simetris )
~ Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog melalui layanan permintaan, dan server menunggu secara pasif request dari client.
4.Transparansi lokasi
~ Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
5.Mix-and-Match
~ Perbedaan server client platforms
6.Pesan berbasiskan komunikasi
~ Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.
7.Pemisahan interface dan implementasi
~ Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.
Karakter Client-Server
Client dan Server merupakan item proses (logika) terpisah yang bekerja sama pada suatu jaringan komputer untuk mengerjakan suatu tugas sebagai berikut:
v Service : Menyediakan layanan terpisah yang berbeda.
v Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource .
v Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many. Client memulai komunikasi dengan mengirim request ke server. Server menunggu permintaan dari client. Kondisi tersebut juga memungkinkan komunikasi callback.
v Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
v Mix-and-match : tidak tergantung pada platform.
v Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
v Encapsulation of service : message memberitahu server apa yang akan dikerjakan.
v Scalability : sistem C/S dapat dimekarkan baik vertical maupun horizontal.
v Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri.
v Characteristics of a client
o Initiates requests
o Waits for and receives replies
o Usually connects to a small number of servers at one time
o Typically interacts directly with end-users using a graphical user interface
v Characteristics of a server
o Passive (slave)
o Waits for requests from clients
o Upon receipt of requests, processes them and then serves replies
o Usually accepts connections from a large number of clients
o Typically does not interact directly with end-users
Keuntungan Client-Server
ü Client-server mampu menciptakan aturan dan kewajiban komputasi secara terdistribusi.
ü Mudah dalam maintenance. Memungkinkan untuk mengganti, memperbaiki server tanpa mengganggu client.
ü Semua data disimpan di server Server dapat mengkontrol akses terhadap resources, hanya yang memiliki autorisasi saja.
ü Tempat penyimpanan terpusat, update data mudah. Pada peer-to-peer, update data sulit.
ü Mendukung banyak clients berbeda dan kemampuan yang berbeda pula.
Kelemahan Client-Server
ü Traffic congestion on the network, jika banyak client mengakses ke server secara simultan, maka server akan overload.
- Berbeda dengan P2P network, dimana bandwidthnya meningkat jika banyak client merequest. Karena bandwidth berasal dari semua komputer yang terkoneksi kepadanya.
ü Pada client-server, ada kemungkinan server fail.
- Pada P2P networks, resources biasanya didistribusikan ke beberapa node sehingga masih ada node yang dapat meresponse request.
Arsitektur Client-Server
Menggunakan LAN untuk mendukung jaringan PC
Masing-masing PC memiliki penyimpan tersendiri
Berbagi hardware atau software
Arsitektur File Server
- Model pertama Client/Server
- Semua pemrosesan dilakukan pada sisi workstation
- Satu atau beberapa server terhubungkan dalam jaringan
- Server bertindak sebagai file server
- File server bertindak sebagai pengelola file dan memungkinkan klien mengakses file tersebut.
- Setiap klien dilengkapi DBMS tersendiri
- DBMS berinteraksi dengan data yang tersimpan dalam bentuk file pada server
- Aktivitas pada klien:
ü Meminta data
ü Meminta penguncian data
- Tanggapan dari klien :
ü Memberikan data
ü Mengunci data dan memberikan statusnya
Batasan File Server
Ø Beban jaringan tinggi karena tabel yang diminta akan diserahkan oleh file server ke klien melalui jaringan.
Ø Setiap klien harus memasang DBMS sehingga mengurangi memori.
Ø Klien harus mempunyai kemampuan proses tinggi untuk mendapatkan response time yang bagus.
Ø Salinan DBMS pada setiap klien harus menjaga integritas databasse yang dipakai secara bersama-sama dan tanggung jawab diserahkan kepada programmer.
Arsitektur Database Server
v Klien bertanggung jawab dalam mengelola antar muka pemakai (mencakup logika penyajian data, logika pemrosesan data, logika aturan bisnis).
v Database server bertanggung jawab pada penyimpana, pengaksesan, dan pemrosesan database.
v Database serverlah yang dituntut memiliki kemampuan pemrosesan yang tinggi
v Beban jaringan menjadi berkurang.
v Otentikasi pemakai, pemeriksaan integrasi, pemeliharaan data dictionary dilakukan pada database server.
v Database server merupakan implementasi dari two-tier architecture.
Applicstion Architectures
Two-tier architecture, Contoh : program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database.
Three-tier architecture, Contoh : aplikasi berbasis Web.
Contoh Two-Tier Architecture :
Contoh Three-Tier Architecture :
Arsitektur Three-Tier
- Melibatkan lapisan server yang lain selain lapisan database server.
Beberapa Keuntungan Arsitektur Three-Tier :
- Keluwesan teknologi
- Mudah untuk mengubah DBMS engine
- Memungkinkan pula middle tier ke platform yang berbeda
- Biaya jangka panjang yang rendah
- Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan
- Keunggulan kompetitif
- Kekampuan untuk bereaksi thd perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi
Aplikasi Web dapat dibagi menjadi 2 macam:
- Web Statis
- Web Dinamis
Teknologi Web
Teknologi untuk membentuk aplikasi Web yang dinamis :
1) Teknologi pada sisi klien (client-side technology)
2) Teknologi pada sisi server (server-side technology)
Teknologi pada sisi Klien :
- Kontrol Active X
- Java applet
- Client-side script (JavaScript dan VBScript)
- DHTML (CSS / Cascading Style Sheets)
Teknologi pada sisi Server :
~ CGI
~ FastCGI
~ Proprietary Web Server API (ISAPI dan NSAPI)
~ Active Server Pages (ASP)
~ Java Server Pages (JSP) dan Java Servlets
~ Server-side JavaScript
~ PHP
Perbedaan Tipe Client-Server
- File Servers
ü File server vendors mengklaim bahwa mereka pertama menemukan istilah client-server.
ü Untuk sharing file melalui jaringan.
- Database Servers
ü Client mengirimkan SQL requests sebagai pesan pada database server,selanjutnya hasil perintah SQL dikembalikan
ü Server menggunakan kekuatan proses yang diinginkan untuk menemukan data yang diminta dan kemudian semua record dikembalikan pada client.
- Transaction Servers (Transaksi Server)
ü Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine.
ü Remote procedures ini mengeksekusi sebuah grup dari SQL statement.
ü Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi.
- Groupsware Servers
ü Dikenal sebagai Computer-supported cooperative working.
ü Manajemen semi-struktur informasi seperti teks, image, , bulletin boards dan aliaran kerja.
ü Data diatur sebagai dokumen,
- Object Application Servers
ü Aplikasi client/server ditulis sebagai satu set objek komunikasi.
ü Client objects berkomunikasi dengan server objects melalui Object Request Broker (ORB).
ü Client meminta sebuah method pada remote object
- Web Application Servers (Aplikasi Web Servers)
ü World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk web.
ü Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut HTTP.
Tidak ada komentar:
Posting Komentar