File thuyết trình nghiên cứu java message service ( JMS ) và viết ứng dụng trường KHTN Tp HCM
J a v a M e s s a g e S e r v i c e NỘI DUNG 2 Gởi nhận thông điệp là gì ? 1 Khái niệm và kiến trúc của JMS 2 Mô hình gởi nhận thông điệp JMS 3 Cấu trúc một thông điệp JMS 4 Tính năng của JMS 5 JMS Providers 6 - Gởi nhận thông điệp (messaging) là cách thức để giao tiếp giữa các thành phần phần mềm hoặc ứng dụng. - Một hệ thống gửi nhận thông điệp là một phương tiện thông tin ngang hàng (peer-to-peer). 3 Gởi nhận thông điệp là gì ? Sử dụng một API đơn giản để xây dựng thông điệp, sau đó đưa qua MOM để giao tới một hay nhiều người nhận đã định trước. 4 Figure 1.1. Message-Oriented Middleware h th ng g i nh n thông đi pệ ố ở ậ ệ 1. Tích hợp không đồng nhất •. Có thể gọi các service từ ứng dụng và hệ thống của một nền tảng hoàn toàn khác. •. Chuyển 1 thông điệp gởi bằng JMS sang 1 định dạng thông điệp nội bộ chung bằng message bridge. 5 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ 2. Giảm tắc nghẽn cổ chai cho hệ thống •. Thay vì để các yêu cầu dồn lại trong lúc một thành phần đồng bộ xử lý chúng, các yêu cầu được gởi đến 1 hệ thống gởi nhận thông điệp để phân phát các yêu cầu tới nhiều thành phần message listener. 6 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ 3. Tăng khả năng mở rộng •. Sử dụng nhiều message receiver để có thể xử lý nhiều thông điệp đồng thời. hoặc •. Tạo ra càng nhiều hệ thống bất đồng bộ càng tốt. 7 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ 4. Tăng hiệu suất người dùng cuối •. Người dùng có thể tiếp tục làm việc khác trong khi yêu cầu đang được xử lý. •. Khi yêu cầu hoàn tất, người dùng được thông báo rằng yêu cầu đã được xử lý và kết quả được trả về cho người dùng. Người dùng có thể hoàn thành nhiều việc hơn với thời gian chờ ít hơn 8 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ 5. Sự linh hoạt và nhanh nhẹn của kiến trúc •. Thông qua việc sử dụng trừu tượng hóa và tách biệt các thành phần. •. Có thể nhanh chóng đáp ứng các thay đổi trong phần mềm, phần cứng và cả thay đổi về doanh nghiệp. 9 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ RPC và gởi nhận thông điệp bất đồng bộ RPC cố gắng mô phỏng hành vi của một hệ thống chỉ chạy một process. Khi một hệ thống bị lỗi sẽ gây ảnh hưởng ngay lập tức tới các hệ thống khác. 10 L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ [...]... Centralized message server (hub and spoke) Application A JMS Client JMS Client JMS Client Message Server JMS Client JMS Client Router Local "server" Local "server" JMS Client JMS Client Decentralized message server (IP multicast) Local "server" Local "server" JMS Client JMS Client JMS Client Application B Application C Application D 13 Kiến trúc tập trung • Một message server (còn được gọi là message broker... giao dịch (Transacted Message) Thông điệp đảm bảo (Guaranteed Message) 21 Mô hình gởi nhận thông điệp JMS Các thành phần JMS JMS Client JMS Client Connection Connection Session Session Producer Consumer Message Server Message Destination Message 22 Mô hình gởi nhận thông điệp JMS Connection và session JMS Client Connection kết nối tới một message server • Connection • Có thể tạo ra một hay nhiều session... JMS (Java Message Service) là 1 API dùng cho việc gởi nhận thông điệp được Sun Microsystems phát triển • JMS không phải là một hệ thống gởi nhận thông điệp • JMS trừu tượng hóa truy cập tới các MOM 20 JMS là gì ? Hỗ trợ việc sản xuất, phân phối và giao nhận thông điệp Hỗ trợ các ngữ nghĩa (semantics) trong việc giao nhận thông điệp Đồng bộ hoặc bất đồng bộ Thông điệp giao dịch (Transacted Message) ... Destinations Message Server Session Session Session 24 Kiến trúc JMS Các thành phần kiến trúc JMS: JMS clients Non-JMS clients Các thông điệp JMS provider (hệ thống gởi nhận thông điệp) Các đối tượng được quản trị (administered objects) • Destination • ConnectionFactory 25 Kiến trúc JMS Kiến trúc một ứng dụng JMS 26 Kiến trúc JMS Một ứng dụng JMS gồm có: JMS Clients • Ứng dụng Java gởi/nhận... thể sử dụng cùng một queue, nhưng mỗi thông điệp trong queue chỉ có thể được nhận bởi một consumer 34 Mô hình lập trình JMS API Connection Factory creates Connection Message Producer creates sends to Destination Session creates creates Msg Message Consumer receives from Destination 35 NỘI DUNG 1 Gởi nhận thông điệp là gì ? 2 Khái niệm và kiến trúc của JMS 3 Mô hình gởi nhận thông điệp JMS 4 Cấu trúc một... Application C Application D 13 Kiến trúc tập trung • Một message server (còn được gọi là message broker hay router) chịu trách nhiệm phân phối thông điệp từ một messaging client đến các messaging client khác • Message server này tách riêng client gửi ra khỏi các client nhận khác 14 Kiến trúc tập trung • Kiến trúc tập trung sử dụng cấu trúc liên kết hub-and-spoke • Kiến trúc hub-and-spoke cho phép chỉ cần một . D Router Decentralized message server (IP multicast) L i ích c a vi c g i nh n thông đi pợ ủ ệ ở ậ ệ • Một message server (còn được gọi là message broker hay. Providers 6 JMS là gì ? Kiến trúc của JMS 19 KHÁI NIỆM VÀ KIẾN TRÚC JMS • JMS (Java Message Service) là 1 API dùng cho việc gởi nhận thông điệp được Sun Microsystems