Pengenalan ASP.NET SignalR | M Reza Faisal

reza

full-time(software-developer,lecturer); part-time(traveller, food-tester);

Pengenalan ASP.NET SignalR

Dec 10, 2014 by     No Comments    Posted under: I am Software Developer

ASP.NET SignalR atau dapat disingkat menjadi SignalR adalah library seperti halnya namespace di atas yang bertujuan untuk mempermudahkan kerja developer. SignalR adalah library yang dpat digunakan oleh developer ASP.NET untuk memudahkan membuat proses fungsi web real-time pada aplikasi yang dibuat. Fungsi web real-time adalah kemampuan untuk membuat kode server melakukan pengiriman (push) konten atau data kepada client yang sudah terkoneksi ke server, sehingga server tidak perlu menunggu client untuk melakukan permintaan (request) data baru.

Fungsional real-time pada aplikasi web ASP.NET dengan menggunakan SignalR dapat digunakan untuk membuat aplikasi chat yang sesungguhnya. Bukan hanya itu saja developer dapat melakukan banyak hal lainnya sebagai contoh untuk membuat dashboard dan aplikasi monitoring, aplikasi kolaborasi yang berfungsi untuk melakukan edit dokumen secara simultan oleh banyak user, update kemajuan pekerjaan dan real-time form. SignalR juga dapat digunakan untuk aplikasi web yang memerlukan update dengan frekuensi tinggi dari server seperti real-time game, berikut ini adalah contoh real-time game yang dibangun dengan SignalR yaitu http://shootr.signalr.net/.

SignalR menyediakan API yang mudah untuk membuat server-to-client remote procedure call (RPC) yang memanggil fungsi-fungsi Javascript pada client browser dan platform client lainnya dari kode server-side. Ini artinya fungsi kode pada server diijinkan untuk memanggil fungsi kode pada client. SignalR juga menyediakan API untuk mengelola koneksi seperti untuk event connect dan disconnect, selain itu juga menyediakan untuk koneksi group.

Pada gambar di bawah ini menjelaskan komunikasi antara client dan server dengan memanfaatkan SignalR.

image

Gambar di atas menjelaskan bagaimana sebuah method dipanggil pada client dari server.

image

Sedangkan pada gambar di atas adalah ilustrasi bagaimana memanggil method pada server dari client.

SignalR menangani pengelolaan koneksi secara otomatis dan terdapat kemampuan untuk melakukan broadcast pesan secara simultan ke seluruh client yang telah terkoneksi ke server. SignalR membuat koneksi antara client dan server terjadi secara persitent tidak seperti yang terjadi pada koneksi HTTP pada umumnya.

Aplikasi yang menggunakan SignalR dapat menangani ribuan client menggunakan Service Bus, SQL Server atau Redis.

Dan bagi SignalR adalah open-source, jadi bagi yang memiliki waktu untuk melihat kodenya dapat diakses alamat ini https://github.com/signalr.

 

{SignalR dan WebSocket}

SignalR berkomunikasi dengan memanfaatkan transport WebSocket jika tersedia, tetapi jika transport tersebut belum tersedia maka komunikasi masih bisa dilakukan dengan transport lainnya yang tersedia. Artinya developer yang menggunakan SignalR tidak perlu khawatir akan transport yang digunakan untuk membuat fungsi web real-time. Developer juga tidak perlu khawatir akan perubahan karena perkembangan teknologi WebSocket dan transport lainnya karena SignalR akan dikembangkan secara berkesinambungan mengikuti perkembangan teknologi yang ada.

WebSocket adalah transport ideal untuk SignalR karena efisien dalam penggunaan memory server dan latency terendah.

Implementasi SignalR membutuhkan lingkungan server yang menggunakan Windows Sever 2012 atau Windows 8 dan .NET Framework 4.5. Jika kebutuhan ini tidak bisa dipenuhi maka SignalR akan menggunakan transport lain untuk melakukan koneksi.

 

{Transport dan Fallback}

Transport yang digunakan oleh SignalR adalah :

1. Transport HTML 5.

Pada jenis transport ini terdapat dua transport yang dapat digunakan yaitu :

  • WebSocket, transport ini telah didukung oleh versi terbaru dari Internet Explorer, Google Chrome, Mozilla Firefox dan pada web browser Safari dan Opera hanya sebagian implementasi saja yang dilakukan. Artinya tidak seluruh kemampuan dari transport WebSocket didukung pada Safar dan Opera.
  • Server Sent Events juga dikenal dengan istilah EventSource telah didukung oleh seluruh web browser kecuali Internet Explorer.

2. Transport Coment.

Berikut ini aalah transport yang digunakan pada jenis ini, yaitu :

  • Forever Frame, transport ini hanya dapat digunakan pada Internet Explorer.
  • Ajax long polling.

 

{Model Komunikasi}

Model komunikasi yang digunakan pada SignalR API adalah :

1. Persistent Connection.

Persistent Connection API memungkinkan developer untuk mengakses secara langsung protokol komunikasi low level.

2. Hub.

Model ini adalah high-level pipeline. Cara kerja model ini, ketika kode server-side memamnggil method pada client, sebuah paket dikirim lewat tranport yang aktif. Paket ini berisi nama dan parameter method tersebut dengan format JSON. Ketika client berhasil mencocokkan nama method tersebut dengan yang ada di client maka client akan mengeksekusi method tersebut dengan menggunakan nilai parameter yang telah dideselisasi.

image

Pada diagram arsitektur di atas dapat dilihat penjelasan secara terstruktur dari SignalR API.

 

{Platform}

Pada bagian ini akan diinformasikan platform yang mendukung ASP.NET SignalR.

Kebutuhan Server

Sistem operasi server yang dapat digunakan adalah :

  1. Windows Server 2012.
  2. Windows Server 2008 r2.
  3. Windows 8.
  4. Windows 7.
  5. Windows Azure.

Versi .NET Framework yang mendukung SignalR 2 adalah .NET Framework 4.5.

Web server yang dapat digunakan adalah :

  1. IIS 8 atau IIS 8 Express.
  2. IIS 7 dan 7.5
  3. IIS harus dijalankan pada mode integrated. Mode classic tidak didukung.
  4. Aplikasi hosting harus berjalan pada mode full trust

 

Kebutuhan Client

Web browser yang menggunakan SignalR setidaknya dapat menggunakan jQuery 1.6.4 atau versi major diatasnya seperti versi 1.7.2, versi 1.8.2 atau versi 1.9.1.

Web browser yang dapat digunakan adalah :

  1. Microsoft Internet Explorer versi 8, 9, 10 dan 11. Mendukung versi modern, desktop, dan mobile.
  2. Mozilla Firefox: versi sekarang – 1, versi Windows dan Mac.
  3. Google Chrome: versi sekarang – 1, versi Windows dan Mac.
  4. Safari: versi sekarang – 1, versi Mac dan iOS.
  5. Opera: versi sekarang – 1, hanya untuk versi Windows.
  6. Android browser.

image

Tabel Kebutuhan transport web browser.

 

Aplikasi Desktop dan Silverlight

SignalR juga dapat ditanamkan pada aplikasi standalone Window client atau Silverlight dengan kebutuhan sistem sebagai berikut :

  1. Aplikasi dibangun menggunakan .NET Framework 4 pada Windows XP SP3 atau diatasnya.
  2. Aplikasi dibangun menggunakan .NET Framework 4.5 pada Windows Vista atau diatasnya.

image

 

Aplikasi Windows Store dan Windows Phone

SignalR dapat digunakan pada aplikasi Windows Store dan Windows Phone 8. Berikut ini adalah transport yang didukung pada platform ini.

image

 

{Referensi}

http://www.asp.net/signalr/overview/getting-started/introduction-to-signalr

http://www.asp.net/signalr/overview/getting-started/supported-platforms

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Fotolia

Fotolia

ShutterStock


Fotolia
© 2013 eSevens
%d bloggers like this: