Saya telah mendengar pembicaraan tentang NServiceBus , tetapi saya belum benar-benar mengerti apa itu. Mereka mengklaim sebagai "Bus layanan sumber terbuka paling populer untuk .net".
Begitu; apa itu "bus layanan", dan kapan saya membutuhkannya?
.net
nservicebus
servicebus
stiank81.dll
sumber
sumber
Jawaban:
Anda dapat menganggap bus layanan sebagai Ethernet SOA.
Pertama dan terpenting, ini memperkenalkan bahasa untuk mengidentifikasi sesuatu, seperti alamat IP di Ethernet. Nama ini bukanlah sesuatu yang pada dasarnya bersifat fisik.
Selanjutnya, Anda memiliki sesuatu yang secara fisik terlibat pada setiap node, seperti antrian dalam kasus bus untuk mendukung komunikasi semi-terhubung, atau kartu Ethernet dalam metafora.
Selain fisik, ada bagian "protokol" dari komunikasi, seperti tumpukan OSI untuk Ethernet. Dengan bus, ini adalah pustaka klien yang digunakan oleh kode aplikasi.
Pada akhirnya, Anda dapat melihat bus layanan menyediakan tingkat abstraksi yang lebih tinggi berikutnya untuk membangun sistem terdistribusi. Anda juga dapat menggunakannya untuk komunikasi server-klien untuk memberi Anda perpesanan satu arah yang tahan lama serta untuk server untuk mendorong pemberitahuan kembali ke klien.
Secara khusus, Anda akan menemukan NServiceBus cukup ringan dan mudah digunakan setelah Anda berdamai dengan penggunaan teknologi antrian - pilihan Anda dari RabbitMQ, MSMQ, Tabel SQL Reguler, Amazon SQS, Azure Storage Queues, dan Azure Service Bus.
sumber
Lihat artikel Wikipedia untuk Enterprise Service Bus .
Bus Layanan bertindak sebagai lapisan abstraksi lain dalam pencarian tanpa akhir untuk menerapkan Arsitektur Berorientasi Layanan yang baik. Bus Layanan dapat menangani beberapa pekerjaan berat yang terlihat di balik Arsitektur Berorientasi Layanan yang baik seperti Perpesanan, Perutean, dan Koordinasi Layanan.
Jika Anda tidak yakin mengapa Anda menginginkan hal seperti itu, saya sarankan membaca tentang apa yang membuat Arsitektur Berorientasi Layanan yang baik. Buku yang benar-benar membuka mata saya dan membuktikan perbedaan antara hanya memiliki Layanan Web dan memiliki Arsitektur Berorientasi Layanan yang sebenarnya adalah Arsitektur Berorientasi Layanan: Konsep, Teknologi, dan Desain Thomas Erl.
sumber
Istilah ini diperkenalkan dengan SOA yang merupakan penerus (sebagai kata buzz) dari EAI .
Kapan Anda membutuhkannya? Itu pertanyaan yang bagus. Itu datang dengan banyak kerumitan.
Aturan praktisnya adalah jika itu memecahkan lebih banyak masalah daripada yang ditimbulkannya.
Bersikaplah serius jika Anda memiliki lingkungan yang heterogen dan ingin menyelaraskan (berbeda) aplikasi (menggunakan teknologi berbeda) dengan proses bisnis. Maka akan sangat membantu jika menggunakan BPEL (tapi ini menimbulkan masalah dengan migrasi) untuk orkestrasi dan koreografi
EDIT: Apa yang tidak ada di wikipedia, adalah praktik: ESB dapat beradaptasi dengan menggunakan konektor khusus, aplikasi terminal lama untuk digunakan dengan Corba atau Java Enterprise yang dimaksud dengan interoperabilitas. Kekurangannya adalah lebih dari 100 'Standar' di sekitar SOAP yang tidak dapat bekerja sama tanpa usaha yang besar.
Anda pasti membutuhkannya jika Anda harus menghubungkan sistem TI dalam waktu enam bulan setelah penggabungan 2 perusahaan jaminan besar.
sumber