Beranda

Topics

Middleware

Apa yang dimaksud dengan middleware?
Jelajahi solusi middleware IBM Daftar untuk pembaruan cloud
Ilustrasi yang menunjukkan penggunaan middleware untuk mempercepat pengembangan aplikasi terdistribusi dengan menyederhanakan konektivitas

Diterbitkan: 31 Juli 2024
Kontributor: Stephanie Susnjara, Ian Smalley

Apa yang dimaksud dengan middleware?

Middleware adalah perangkat lunak yang memungkinkan satu atau lebih jenis komunikasi atau konektivitas antara aplikasi atau komponen dalam jaringan terdistribusi, pada dasarnya menciptakan 'perangkat lunak perekat' yang merekatkan sistem yang berbeda.

Middleware merampingkan pengembangan aplikasi dan mempercepat waktu ke pasar melalui fungsi-fungsi cerdas yang memfasilitasi koneksi antara platform yang pada awalnya tidak dirancang untuk terhubung.

Berbagai jenis middleware meliputi berikut ini:

  • Broker pesan atau monitor pemrosesan transaksi yang berfokus pada semacam komunikasi.
  • Server aplikasi web atau middleware perangkat seluler yang menyediakan berbagai kemampuan komunikasi dan konektivitas yang diperlukan untuk membangun jenis aplikasi tertentu.
  • Middleware yang memungkinkan pengembang untuk membangun middleware khusus mereka sendiri.
Memodernisasi Operasi TI – Mengubah Manajemen Teknologi Middleware

Pelajari bagaimana IBM WebSphere Automation dapat membantu meningkatkan kematangan Anda untuk otomatisasi manajemen middleware dan mengurangi biaya.

Konten terkait Daftar untuk panduan tentang cloud hybrid
Asal usul middleware

Pertama kali diperkenalkan pada akhir tahun 1960-an, istilah middleware diciptakan karena versi pertama biasanya bertindak sebagai mediator antara front-end aplikasi (klien) dan sumber daya back-end (misalnya, database, aplikasi mainframe atau perangkat keras khusus) dari lokasi klien mungkin meminta data. Menanggapi peningkatan komputasi terdistribusi pada tahun 1980-an, penggunaan middleware meningkat sebagai cara untuk menghubungkan aplikasi yang lebih baru ke sistem lama tradisional.

Namun middleware saat ini beroperasi jauh melampaui cakupan ini. Middleware portal, misalnya, mencakup front-end aplikasi serta alat untuk konektivitas back-end. Middleware database biasanya menyertakan penyimpanan datanya sendiri.

Middleware telah berevolusi untuk memainkan peran penting dalam pengembangan aplikasi cloud native modern. Menggunakan teknologi kontainer, yang memungkinkan DevOps dan tim lain terhubung ke sumber daya yang didistribusikan di lingkungan multicloud. Hal ini mendukung integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD)CI/CD—sehingga merampingkan pengkodean, pengujian, dan penerapan aplikasi untuk penskalaan yang cepat dan pertumbuhan bisnis.

Perusahaan semakin memanfaatkan middleware sebagai penawaran layanan berbasis cloud untuk komunikasi antar sistem dan sebagai alat manajemen data. Sebuah studi dari Technavio memproyeksikan pasar middleware sebagai layanan (MWaaS) global meningkat sebesar USD 45,44 miliar, dengan CAGR sebesar 17,73% antara tahun 2023 dan 2028. Studi ini mengaitkan pertumbuhan ini dengan adopsi komputasi cloud yang meluas dan peningkatan komputasi tanpa server dan layanan mikro.1

Bagaimana cara kerja middleware?

Middleware memungkinkan pengembang untuk membangun aplikasi tanpa membuat integrasi khusus kapan pun mereka perlu terhubung ke komponen aplikasi (layanan atau layanan mikro), sumber data, sumber daya komputasi, atau perangkat.

Middleware melakukan ini dengan menyediakan layanan yang memungkinkan berbagai aplikasi dan layanan berkomunikasi melalui kerangka kerja pengiriman pesan umum, seperti notasi objek JavaScript (JSON), transfer status representasional (REST), bahasa markup yang dapat diperluas (XML), protokol akses objek sederhana (SOAP), atau layanan web. Biasanya, middleware juga menyediakan layanan yang memungkinkan komponen yang ditulis dalam berbagai bahasa—seperti Java, C++, PHP, dan Python—untuk saling berkomunikasi.

Komponen middleware

Komponen arsitektur middleware standar meliputi yang berikut ini:

  • Konsol manajemen middleware: Konsol manajemen memberi pengembang ikhtisar tentang peristiwa middleware, aktivitas, konfigurasi, dan sebagainya.
  • Antarmuka klien: Antarmuka klien pada front-end berkomunikasi dengan aplikasi back-end, layanan mikro databse, atau layanan lainnya.
  • Antarmuka internal middleware: Antarmuka internal middleware memungkinkan instansi middleware untuk berkomunikasi satu sama lain menggunakan protokol middleware khusus.
  • Antarmuka platform: Antarmuka platform terhubung ke server back-end dan sistem operasi (OS) yang berbeda, memastikan fungsi middleware di seluruh platform.
  • Manajer kontrak: Manajer kontrak mendefinisikan aturan pertukaran data yang harus diikuti oleh aplikasi.
  • Manajer sesi: Manajer sesi memastikan komunikasi yang aman antara middleware dan aplikasi dan memastikan bahwa mereka tidak kehabisan waktu.  
  • Manajer database: Manajer database menyediakan integrasi dengan database yang berbeda berdasarkan persyaratan tertentu (misalnya, data berbasis on-prem atau cloud).
  • Monitor waktu proses: Monitor waktu proses melacak semua pergerakan data middleware dan menyediakan laporan aktivitas untuk pengembang perangkat lunak.
Contoh penggunaan middleware untuk pengembang perangkat lunak

Selain menyediakan interoperabilitas yang menghemat pekerjaan, layanan middleware membantu pengembang perangkat lunak dengan cara berikut.

Konfigurasi dan kontrol koneksi dan integrasi

Berdasarkan informasi permintaan klien atau aplikasi front-end, middleware dapat menyesuaikan aplikasi back-end atau respons layanan. Misalnya, dalam aplikasi e-commerce retail, logika aplikasi middleware dapat mengurutkan hasil pencarian produk dari database inventaris back-end berdasarkan lokasi toko terdekat berdasarkan alamat IP atau informasi lokasi di header permintaan HTTP.

Melindungi koneksi dan transfer data

Middleware biasanya membuat koneksi yang aman dari aplikasi front-end ke sumber data back-end yang menggunakan Transport Layer Security (TSL) atau protokol keamanan jaringan lainnya. Ini dapat memberikan kemampuan autentikasi, permintaan aplikasi front-end yang menantang untuk kredensial (nama pengguna dan kata sandi) atau sertifikat digital. 

Mengelola lalu lintas secara dinamis di seluruh sistem terdistribusi

Ketika lalu lintas aplikasi melonjak, middleware perusahaan dapat menskalakan untuk mendistribusikan permintaan klien di beberapa server—on premises atau di cloud. Kemampuan pemrosesan bersamaan dapat mencegah masalah ketika beberapa klien mencoba mengakses sumber data back-end yang sama secara bersamaan.

Optimalkan aplikasi yang ada

Middleware membantu pengembang melakukan modernisasi aplikasi, mengubah aplikasi lama monolitik menjadi aplikasi cloud yang dibangun di atas arsitektur layanan mikro.

Kurangi tugas manual

Otomatisasi middleware membantu pengembang merampingkan dan mengotomatiskan pengelolaan tugas-tugas TI yang kompleks untuk meningkatkan efisiensi secara keseluruhan.

Mendukung DevSecOps

Middleware mendukung metodologi DevSecOps (yang merupakan singkatan dari pengembangan, keamanan, dan operasi) dengan membantu tim membangun aplikasi lebih cepat sekaligus mengurangi risiko keamanan.

Jenis-jenis middleware

Ada banyak jenis middleware. Beberapa fokus pada jenis konektivitas tertentu, yang lain pada aplikasi tertentu, komponen aplikasi ,dan perangkat. Beberapa menggabungkan kemampuan middleware untuk tugas pengembangan perangkat lunak tertentu. Beberapa jenis perangkat lunak middleware yang paling terkenal dan paling umum digunakan meliputi:

 

  • Middleware berorientasi pesan (MOM)
  • Middleware panggilan prosedur jarak jauh (RPC)
  • Middleware data atau database
  • Middleware antarmuka pemrograman aplikasi (API)
  • Middleware perantara permintaan objek (ORB)
  • Middleware transaksional
  • Middleware streaming data asinkron
  • Middleware perangkat
  • Middleware portal
  • Middleware robotika
  • Middleware integrasi aplikasi perusahaan
Middleware berorientasi pesan (MOM)

Middleware berorientasi pesan (MOM) memungkinkan komponen aplikasi yang menggunakan protokol pesan yang berbeda untuk berkomunikasi dan bertukar pesan. Selain menerjemahkan atau mentransformasikan pesan antar aplikasi, MOM mengelola perutean pesan, sehingga pesan tersebut selalu sampai ke komponen yang tepat dalam urutan yang sesuai. Contoh MOM termasuk antrean pesan dan perantara pesan.

Middleware panggilan prosedur jarak jauh (RPC)

Middleware panggilan prosedur jarak jauh (RPC) memungkinkan satu aplikasi untuk memicu prosedur di aplikasi lain - yang berjalan di komputer yang sama atau komputer atau jaringan yang berbeda - seolah-olah keduanya merupakan bagian dari aplikasi yang sama di komputer yang sama.

Middleware data atau database

Middleware data atau database menyederhanakan akses dan interaksi dengan database back-end. Umumnya, middleware database adalah suatu bentuk server SQL database.

Middleware antarmuka pemrograman aplikasi (API)

Middleware antarmuka pemrograman aplikasi (API) menyediakan alat yang dapat digunakan pengembang untuk membuat, mengekspos, dan mengelola API untuk aplikasi mereka sehingga pengembang lain dapat terhubung dengannya.

Beberapa middleware API menyertakan alat untuk memonetisasi API, memungkinkan organisasi yang berbeda untuk menggunakannya, dengan biaya tertentu. Contoh middleware API termasuk platform API management, API gateway, dan portal pengembang API.

Middleware perantara permintaan objek (ORB)

Middleware perantara permintaan objek (ORB) bertindak sebagai perantara antara permintaan dari satu objek atau komponen aplikasi dan pemenuhan permintaan tersebut oleh objek atau komponen lain di jaringan terdistribusi.

ORB beroperasi dengan Arsitektur Perantara Permintaan Objek Umum (CORBA), yang memungkinkan satu komponen perangkat lunak untuk membuat permintaan kepada komponen lainnya tanpa mengetahui di mana komponen lainnya di-host atau seperti apa tampilan antarmuka penggunanya (UI) - 'perantara' menangani informasi ini selama pertukaran.

Middleware transaksional

Middleware transaksional menyediakan layanan untuk mendukung pelaksanaan transaksi data melintasi jaringan terdistribusi. Middleware transaksional yang paling terkenal adalah monitor pemrosesan transaksi (TPM), yang mengendalikan transaksi dari satu langkah ke langkah berikutnya—menjalankan pertukaran data dan menambahkan, mengubah, atau menghapus data bila diperlukan, dan lain-lain—hingga selesai.

Middleware streaming data asinkron

Middleware streaming data asinkron mereplikasi aliran data di penyimpanan perantara, memungkinkan berbagi data di antara beberapa aplikasi. Apache Kafka adalah salah satu contoh platform middleware sumber terbuka yang paling terkenal untuk streaming peristiwa real time.

Middleware perangkat

Middleware perangkat menyediakan serangkaian kemampuan integrasi dan konektivitas yang terfokus untuk mengembangkan aplikasi bagi sistem operasi (OS) seluler tertentu.

Middleware portal

Portal middleware menyediakan alat dan sumber daya untuk mengintegrasikan konten dan kemampuan dari berbagai aplikasi terkait 'di kaca' atau pada satu layar untuk membuat aplikasi komposit tunggal.

Middleware robotika

Middleware robotika menyederhanakan integrasi perangkat keras, firmware, dan perangkat lunak robotik dari berbagai produsen dan lokasi.

Kategori middleware

Ada dua kelas dasar middleware: middleware aplikasi perusahaan dan middleware platform.

Middleware integrasi aplikasi perusahaan

Middleware integrasi aplikasi perusahaan memungkinkan organisasi untuk membangun hub integrasi perusahaan. Hal ini menyediakan cara standar untuk menghubungkan semua aplikasi, komponen aplikasi, proses bisnis, dan sumber data back-end di seluruh perusahaan yang diperluas.

Hingga sekitar satu dekade yang lalu, middleware integrasi aplikasi perusahaan yang paling umum adalah bus layanan perusahaan (ESB), yang berfungsi sebagai pusat integrasi dalam arsitektur berorientasi layanan (SOA).

Saat ini, platform integrasi sebagai layanan (iPaaS) memungkinkan organisasi untuk menghubungkan aplikasi, data, proses, dan layanan di seluruh hybrid cloud— kombinasi lingkungan on premises, cloud pribadi, dan cloud publik. Ini membantu organisasi menghindari pekerjaan dan biaya pembelian, pemasangan, pengelolaan, dan pemeliharaan middleware integrasi (dan perangkat keras yang dijalankannya) di dalam pusat data sendiri. Penyedia layanan cloud (CSP) utama - Microsoft Azure, Google Cloud, Amazon Web Services (AWS), atau IBM Cloud - semuanya menawarkan solusi iPaaS.

Middleware platform

Middleware platform (atau middleware platform aplikasi) mendukung pengembangan aplikasi. Ini mempercepat pengiriman aplikasi dengan menyediakan lingkungan hosting runtime — seperti lingkungan runtime Java (Java RE), kontainer atau keduanya — untuk aplikasi atau logika bisnis. Middleware platform dapat mencakup atau menggabungkan server aplikasi perusahaan, server web, sistem manajemen konten (CMS) dan jenis middleware lainnya yang tercantum di atas.

Apa perbedaan antara iPaas dan Paas?

Baik platform integrasi sebagai layanan (iPaaS) iPaaS dan platform sebagai layanan (PaaS) adalah solusi komputasi berbasis cloud yang melayani tujuan berbeda. Jika iPaaS berfokus pada pengaktifan integrasi aplikasi, perangkat, dan sistem, PaaS menyediakan platform bagi organisasi untuk membangun, menjalankan, dan mengelola aplikasi.

PaaS merupakan pilihan populer bagi bisnis kecil dan perusahaan rintisan dengan anggaran TI terbatas karena memungkinkan tim membangun aplikasi dengan biaya yang efisien dibandingkan dengan membuat platform pengembangan internal. iPaaS adalah pilihan yang lebih baik untuk organisasi dan perusahaan besar yang menjalankan arsitektur kompleks dan dinamis.

Konon, layanan iPaaS sering bekerja sama dengan layanan cloud, termasuk PaaS dan perangkat lunak sebagai layanan (SaaS). Contohnya, organisasi dapat menggabungkan iPaaS dengan PaaS (misalnya, Cloud Foundry, Red Hat OpenShift) atau solusi pengembangan SaaS (GitHub).

Middleware dan aplikasi cloud native

Cloud native adalah pendekatan pengembangan aplikasi yang menggunakan teknologi komputasi cloud dasar untuk menyediakan pengembangan, penerapan, dan pengelolaan yang konsisten di seluruh lingkungan hybrid cloud.

Aplikasi cloud native saat ini dibangun dari layanan mikro dan diterapkan dalam kontainer yang menggunakan Kubernetes, platform orkestrasi kontainer yang banyak digunakan.

Layanan mikro adalah komponen aplikasi yang digabungkan secara longgar yang mencakup tumpukan mereka sendiri dan dapat digunakan dan diperbarui secara independen satu sama lain. Mereka berkomunikasi dengan menggunakan kombinasi REST API, perantara pesan, dan event stream.

Kontainer adalah tugas eksekusi ringan yang mengemas kode aplikasi, seperti layanan mikro, bersama dengan hanya pustaka OS dan dependensi yang diperlukan untuk menjalankan kode itu di infrastruktur TI cloud atau tradisional apa pun.

Bersama-sama, teknologi ini dan teknologi terkait menciptakan platform kuat, yang dikembangkan sekali-terapkan di mana saja, untuk menghadirkan aplikasi hybrid cloud yang benar-benar baru dan memodernisasi sistem lama untuk digunakan di cloud. Namun, mereka juga mengarah pada lingkungan pengembangan yang kompleks yang menggabungkan lebih banyak lagi aplikasi perangkat lunak, sumber data, bahasa pemrograman, alat bantu, dan sistem terdistribusi.

Middleware dapat menyelesaikan beberapa kompleksitas ini. Namun, menjalankan aplikasi kontainer dengan middleware konvensional dapat menambah kerumitannya sendiri, termasuk overhead infrastruktur yang dirancang untuk dihilangkan oleh kontainer. Untuk alasan ini, platform pengembangan aplikasi cloud menyertakan middleware yang dikontainerisasi atau dimodulasi sehingga hanya fungsi konektivitas yang diperlukan saja yang bisa dikemas dalam sebuah kontainer. 

Contoh penggunaan industri untuk middleware
Bermain Game

Middleware mendukung pengembangan game dengan berfungsi sebagai mesin game. Lapisan perangkat lunak ini membantu mengintegrasikan video, audio, dan komponen game penting lainnya dengan lancar.

Layanan keuangan

Untuk lembaga keuangan, middleware mengintegrasikan aplikasi dan database pelanggan untuk mendukung layanan perbankan digital termasuk pemrosesan transaksi secara real-time.

Pelayanan Kesehatan

Data kesehatan selalu sulit untuk diakses dan dibagikan dengan aman. Middleware sangat penting untuk interoperabilitas layanan kesehatan, memungkinkan aliran data yang mulus di berbagai sistem dan aplikasi layanan kesehatan, seperti platform telemedicine dan catatan kesehatan elektronik (EHR).

Ecommerce

Organisasi e-commerce menggunakan middleware untuk menghubungkan platform online mereka dengan layanan back-end yang penting, seperti pemrosesan pesanan untuk meningkatkan pengalaman pelanggan secara keseluruhan.

Manufaktur

Dalam manufaktur, middleware membantu memastikan sistem perangkat lunak bisnis termasuk platform perencanaan sumber daya perusahaan (ERP) terintegrasi dengan aplikasi lain untuk memberikan tampilan terpadu ke dalam operasi. Ini membantu mengoptimalkan dan menyederhanakan pemeliharaan, rantai pasokan, jaminan kualitas, dan banyak lagi.

Solusi terkait
IBM API Connect

Kelola ekosistem API Anda di berbagai cloud, termasuk meningkatkan upaya sosialisasi dan monetisasi.

Jelajahi IBM API Connect
Perangkat lunak dan solusi IBM Integration

Hubungkan, otomatiskan, dan buka potensi bisnis dengan perangkat lunak platform integrasi.

Jelajahi perangkat lunak dan solusi Integrasi IBM
Solusi pengiriman aplikasi

Jelajahi bagaimana solusi pengiriman aplikasi IBM membantu membangun aplikasi cloud native baru dan memodernisasi aplikasi yang ada.

Jelajahi solusi pengiriman aplikasi
IBM iPaaS solutions

Memberikan konektivitas di seluruh aplikasi dan data Anda dengan kemampuan integrasi untuk semua.

Jelajahi solusi IBM iPaas
Sumber daya Apa itu perantara pesan?

Perantara pesan adalah teknologi komunikasi antar-aplikasi yang mendukung arsitektur cloud native, berbasis layanan mikro, tanpa server, dan hybrid cloud.

Apa itu iPaaS (platform integrasi sebagai layanan)?

iPaaS adalah solusi berbasis cloud yang menstandarkan dan menyederhanakan integrasi di seluruh lingkungan on premises dan cloud.

Apa yang dimaksud dengan REST API?

REST API menyediakan cara yang fleksibel dan ringan untuk mengintegrasikan aplikasi dan telah muncul sebagai metode yang paling umum untuk menghubungkan komponen dalam arsitektur aplikasi layanan mikro.

Apa yang dimaksud dengan manajemen API?

API management adalah proses membuat, menerbitkan, dan mengelola koneksi antarmuka pemrograman aplikasi (API) yang dapat diskalakan dalam lingkungan perusahaan dan multicloud.

Mempercepat peningkatan efisiensi dengan optimalisasi dan AI

Mengintegrasikan machine learning (ML) dan kecerdasan buatan (AI) ke dalam decision optimization (DO) sangat penting untuk meningkatkan efisiensi dalam proses bisnis.

Data real-time menghadirkan nilai bisnis real-time

Mengeksploitasi data secara real-time sangat penting untuk kesuksesan bisnis.

Ambil langkah selanjutnya

Gunakan IBM API Connect untuk mengamankan dan mengelola API perusahaan di sepanjang siklus prosesnya. Solusi ini membantu Anda dan pelanggan Anda secara konsisten membuat, mengelola, mengamankan, mensosialisasikan, dan memonetisasi API perusahaan, dan juga tersedia sebagai platform manajemen API yang dapat diskalakan di IBM Marketplace dan AWS.

Jelajahi API Connect Pesan demo langsung