Tải bản đầy đủ (.pptx) (67 trang)

Java message service presentation

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (790.44 KB, 67 trang )

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ợ ủ ệ ở ậ ệ
RPC và gởi nhận thông điệp bất đồng bộ
11
Business
Application A
RPC
Client/Server
Business
Application D
RPC
Client/Server
Business
Application B
RPC
Client/Server
Business
Application C
RPC
Client/Server
Requires n * (n-1) / 2
connections

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ộ

Một khái niệm căn bản của gởi nhận thông điệp là giao tiếp
giữa các ứng dụng phải bất đồng bộ

Trong hệ thống gởi nhận thông điệp bất đồng bộ, mỗi hệ thống
con được tách từ các hệ thống khác
12
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ộ
13
Centralized message server
(hub and spoke)
JMS
Client
Message
Server
JMS
Client
JMS
Client
JMS
Client
JMS
Client
JMS
Client
JMS
Client

Local "server"
JMS
Client
Local "server"
JMS
Client
Local "server"
JMS
Client
Application A
Local "server"
Application B Application C Application 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
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 số kết nối tối
thiểu trong khi các phần khác của hệ thống vẫn có thể giao

tiếp với nhau được.
15
Kiến trúc tập trung

Tất cả kiến trúc phân tán hiện tại đều đang sử dụng IP multicast
ở tầng network.

Một số tính năng của server (tính bền bỉ, tính bảo mật, các giao
dịch) được nhúng vào như một phần local của client,

Việc định tuyến thông điệp được giao cho tầng network bằng
cách sử dụng giao thức IP multicast.
16
Kiến trúc Phân tán

IP multicast cho phép các ứng dụng gia nhập một hay nhiều
nhóm IP multicast; mỗi nhóm sử dụng một địa chỉ IP để tái
phân phối bất kỳ thông điệp nào mà nó nhận được cho tất cả
thành viên trong cùng nhóm

Tầng network xử lý việc định tuyến một cách tự động
17
Kiến trúc Phân tán
NỘI DUNG
18
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

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 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)


Thông điệp đảm bảo (Guaranteed Message)
21
JMS là gì ?
Các thành phần JMS
22
Message
Server
Message
MessageDestination
JMS Client
Connection
Session
Producer
JMS Client
Connection
Session
Consumer
Mô hình gởi nhận thông điệp JMS
Connection và session
23

Connection kết nối tới
một message server

Có thể tạo ra một hay
nhiều session trong một
connection
JMS Client
Connection
Session

Session
Session
Mô hình gởi nhận thông điệp JMS
Tạo connections và sessions
24
Message
Server
JNDI Store
JMS Client
Connection
Session
Session
Session
ConnectionFactory
create
ConnectionFactories
Destinations
Mô hình gởi nhận thông điệp 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

×