Beranda
Topics
Middleware
Diterbitkan: 31 Juli 2024
Kontributor: Stephanie Susnjara, Ian Smalley
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:
Pelajari bagaimana IBM WebSphere Automation dapat membantu meningkatkan kematangan Anda untuk otomatisasi manajemen middleware dan mengurangi biaya.
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
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 arsitektur middleware standar meliputi yang berikut ini:
Selain menyediakan interoperabilitas yang menghemat pekerjaan, layanan middleware membantu pengembang perangkat lunak dengan cara berikut.
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.
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.
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.
Middleware membantu pengembang melakukan modernisasi aplikasi, mengubah aplikasi lama monolitik menjadi aplikasi cloud yang dibangun di atas arsitektur layanan mikro.
Otomatisasi middleware membantu pengembang merampingkan dan mengotomatiskan pengelolaan tugas-tugas TI yang kompleks untuk meningkatkan efisiensi secara keseluruhan.
Middleware mendukung metodologi DevSecOps (yang merupakan singkatan dari pengembangan, keamanan, dan operasi) dengan membantu tim membangun aplikasi lebih cepat sekaligus mengurangi risiko keamanan.
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) 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) 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 menyederhanakan akses dan interaksi dengan database back-end. Umumnya, middleware database adalah suatu bentuk server SQL database.
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) 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 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 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 menyediakan serangkaian kemampuan integrasi dan konektivitas yang terfokus untuk mengembangkan aplikasi bagi sistem operasi (OS) seluler tertentu.
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 menyederhanakan integrasi perangkat keras, firmware, dan perangkat lunak robotik dari berbagai produsen dan lokasi.
Ada dua kelas dasar middleware: middleware aplikasi perusahaan dan middleware platform.
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 (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.
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).
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.
Middleware mendukung pengembangan game dengan berfungsi sebagai mesin game. Lapisan perangkat lunak ini membantu mengintegrasikan video, audio, dan komponen game penting lainnya dengan lancar.
Untuk lembaga keuangan, middleware mengintegrasikan aplikasi dan database pelanggan untuk mendukung layanan perbankan digital termasuk pemrosesan transaksi secara real-time.
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).
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.
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.
Kelola ekosistem API Anda di berbagai cloud, termasuk meningkatkan upaya sosialisasi dan monetisasi.
Hubungkan, otomatiskan, dan buka potensi bisnis dengan perangkat lunak platform integrasi.
Jelajahi bagaimana solusi pengiriman aplikasi IBM membantu membangun aplikasi cloud native baru dan memodernisasi aplikasi yang ada.
Memberikan konektivitas di seluruh aplikasi dan data Anda dengan kemampuan integrasi untuk semua.
Perantara pesan adalah teknologi komunikasi antar-aplikasi yang mendukung arsitektur cloud native, berbasis layanan mikro, tanpa server, dan hybrid cloud.
iPaaS adalah solusi berbasis cloud yang menstandarkan dan menyederhanakan integrasi di seluruh lingkungan on premises dan cloud.
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.
API management adalah proses membuat, menerbitkan, dan mengelola koneksi antarmuka pemrograman aplikasi (API) yang dapat diskalakan dalam lingkungan perusahaan dan multicloud.
Mengintegrasikan machine learning (ML) dan kecerdasan buatan (AI) ke dalam decision optimization (DO) sangat penting untuk meningkatkan efisiensi dalam proses bisnis.
Mengeksploitasi data secara real-time sangat penting untuk kesuksesan bisnis.
Semua tautan berada di luar ibm.com
1 Middleware as a Service (MWAAS) Market Analysis North America, Europe, APAC, South America, Middle East and Africa – US, China, Japan, UK, Germany – Size and Forecast 2024-2028, Technavio, Januari 2024