41 Thông điệp trong mô hình publish - subscribe được phát tự động tới các consumer mà không cần chúng yêu cầu thông điệp.
Mô hình publish - subscribe có xu hướng thiếu chặt chẽ hơn mô hình point – to - point vì publisher thường không biết có bao nhiêu subscriber hoặc subscriber sẽ làm gì với thông điệp. Ví dụ, giả sử một thông điệp được publish vào topic mỗi khi ứng dụng có exception. Publisher chỉ có trách nhiệm publish mỗi khi có exception. Publisher không biết và thường không quan tâm thông điệp sẽ được sử dụng như thế nào.
Có nhiều loại subscriber khác nhau trong mô hình publish - subscribe. Subscriber không lâu dài là những subscriber đăng ký tạm, chỉ nhận thông điệp khi chủ động nghe topic. Subscriber lâu dài sẽ nhận bản sao của tất cả thông điệp được đăng, kể cả khi chúng “offline” lúc thông điệp được đăng.
2.4 ANGULARJS
2.4.1 Tổng quan về AngularJS
Công nghệ HTML hỗ trợ tốt cho các trang web tĩnh, kiểu như trước năm 2000 vậy. Khi chúng ta xây dựng 1 trang web với PHP, Node/Express, hay Ruby thì nó cũng chỉ là một trang web tĩnh với nội dung được thay đổi khi chúng ta gửi request về máy chủ, máy chủ sẽ render 1 trang với nội dung tương ứng. Tuy nhiên mọi thứ đã thay đổi nhiều từ sự phát triển của HTML5, nhất là khi có sự hổ trợ từ những tập đoàn công nghệ lớn như Google, Yahoo, Facebook, và sự tập hợp đông đảo của cộng đồng mã nguồn mở.
Ngoài ra sự thành công của jQuery đã khiến JavaScript được nhiều người yêu thích vì tính đơn giản và dễ sử dụng. Việc phát triển một website sử dụng AJAX thì không khó, chúng ta có thể dùng jQuery để làm việc này với $.ajax tuy nhiên làm thế nào để xây dựng một phần mềm có thể mở rộng, dễ test, nâng cấp và bảo trì thì không hề đơn giản vì bản thân JavaScript không được thiết kế ngay từ đầu để làm những việc này. Do đó sự ra đời của những framework hỗ trợ lập trình viên xây dựng ứng dụng web 1 cách có hệ thống đã ra đời như Sencha, Ember, Knockout, Backbone, CanJS và AngularJS.
AngularJS là framework JavaScript được bắt đầu phát triển từ năm 2009, do lập trình viên Misko Hevery tại Google viết ra như là một dự án kiểu “viết cho vui”. Misko và nhóm lúc này đang tham gia vào 1 dự án của Google tên là Google Feedback. Với AngularJS, Misko đã rút ngắn số dòng code front-end từ 17000 dòng còn chỉ khoảng 1500. Với sự thành công đó, đội ngũ của dự án Google Feedback quyết định phát triển