Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Mục lục
Mục lục 1
Mục lục hình 1
Lời cảm ơn 2
Các từ viết tắt trong đồ án 3
Lời giới thiệu 4
1. Giới thiệu bài toán tin học hoỏ cỏc dịch vụ bưu chính dưa trên mạng bưu chính
(POST* NET) 6
2. Giới thiệu công nghệ ứng dụng MSMQ: 8
3. Vấn đề bảo mật 30
4. Mô hình lưu trữ và sử dụng dữ liệu của POST*NET 35
5. Áp dụng với bài toán chuyển tiền cụ thể 42
6.Hạn chế - mở rộng: 66
Kết Luận 68
Tài liệu tham khảo: 69
Mục lục hình
Hình 1 Queue và Message 9
Hình 2 Mô hình MSMQ Server 10
Hình 3 In-routing và out-routing server 19
Hình 4 Net bandwidth và MSMQ 20
Hình 5 Định tuyến giữa hai site 21
Hình 6 Liờn lạc qua nhiều site 21
Hình 7 Kiến trúc của môi trường phát triển Visual Studio.NET 23
Hình 8 Kiến trúc một hệ thống phát triển trên công nghệ .NET 24
Hình 9 Mô hình phát triển ứng dụng đa tầng của Microsoft 24
Hình 10 Mô hình lập trình của MSMQ 25
Hình 11 Mô hình truyền thông với MSMQ 26
Hình 12 Mô hình mó hoỏ 34
Hình 13 Encryptor và Decryptor 35
Hình 14 Mô hình tổ chức dữ liệu 36
Hình 41 Bảng và quan hệ bưu cục 63
Hình 42 Các bảng danh mục cước 63
Hình 43 Bảng và quan hệ người sử dụng 64
Hình 44 Hai bảng chứa thông tin nghiệp vụ 65
Hình 45 Các bảng tạm chứa thông tin từ Queue đổ về 65
Lời cảm ơn
Với kết quả ngày hôm nay, cầm trong tay một sản phẩm phần mềm, một thành
quả lao động đầy tự hào , tôi không thể dấu nổi niềm hạnh phúc là mình đã trải qua một
chặng đường dài, đánh dấu bước trưởng thành vượt bậc của một sinh viên với biết bao
mong chờ của gia đình, thầy cô và bạn bè.
Để đi đến kết quả ngày hôm nay, tôi thật sự xúc động và tự hào mình đã hoà nhập
và tiến bộ trong môi trường Đại Học Bách Khoa, với sự tận tình chỉ bảo của các thầy cô
giáo, sự giúp đỡ nhiệt tình của bè bạn và trên cả là một môi trường làm việc kỉ luật, năng
suất cao và đầy tớnh sáng tạo.
Tôi xin gửi lời cảm ơn trõn trọng nhất của mình tới các thầy cô giáo trong khoa
CNTT trong suốt 5 năm học vất vả vừa qua đã luôn ở bên tôi, cũng như tập thể các bạn
lớp Tin Pháp k44, luôn động viên nhiệt tình và giúp đỡ tôi không chỉ trong học tập mà
cũn cùng sẻ chia bao vui buồn, khó khăn , kinh nghiệm…
Để hoàn thành tốt sản phẩm cuối cùng này với tư cách một sinh viên, tôi xin gửi
lời cảm ơn đến thầy giáo hướng dẫn Lê Đức Trung và Trung tâm CTTT CDiT đã giúp đỡ
tôi một môi trường làm việc thuận lợi để hoàn tất đồ án này. Đặc biệt là các anh Ngô
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
2
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Quang Lựa, Nguyễn Như Anh, Trịnh Tố Toản,… và các anh khác trong nhúm phần mềm
bưu chớnh cho tôi nhiều kinh nghiệm quý giá.
Các từ viết tắt trong đồ án.
• MSMQ : Microsoft Message Queue. Công cụ truyền thông của hóng Micorsoft
dựa trên Queue và Message.
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
4
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
làm cho khách hàng tìm hiểu tình hình chuyển phát bưu kiện một cách thuận lợi, bất cứ
lúc nào. Đi đôi với sự gia tăng cạnh tranh của thị trường thông tin, người sử dụng bưu
chính mong muốn dịch vụ bưu chính có thể hướng đến người sử dụng nhiều hơn và làm
được việc bảo đảm dịch vụ bưu chính từ đầu này đến đầu kia, chất lượng phục vụ có thể
đạt đến nhanh chóng, an toàn, tin cậy; bảo đảm cung cấp dịch vụ gia tăng giá trị, như dịch
vụ theo dõi tra tìm bưu kiện và và dịch vụ bưu kiện-bưu phẩm lai ghộp…
Thành phần người sử dụng các dịch vụ bưu chính đang biến đổi:
Những năm gần đây, lượng thư tín toàn cầu phải xử lý đã tăng lên không ngừng,
nhưng kết cấu của người sử dụng bưu chính cũng đó cú sự biến đổi to lớn: bưu phẩm-
bưu kiện từ doang nghiệp đến gia đình tăng lên rõ rệt, bưu phẩm-bưu kiện từ doanh
nghiệp đến doanh nghiệp cũng tăng lên rất nhanh, và có thể đi đôi với sự bùng nổ các
phương tiện thông tin khác, sẽ giảm nhiều lượng nghiệp vụ.
Nhu cầu của người sử dụng đang biến đổi
Hiện nay người sử dụng bưu chính mong muốn dịch vụ bưu chính có thể hướng đến
người sử dụng nhiều hơn và làm cho được các công việc: Cung cấp dịch vụ bưu chính từ
đầu này đến đầu kia, chất lượng phục vụ nhanh chóng, an toàn tin cậy;
Cung cấp dịch vụ mới, như dịch vụ theo dõi tra tìm bưu phẩm-bưu kiện và dịch vụ
bưu kiện-bưu phẩm lai ghộp…
Môi trường kỹ thuật thay đổi nhanh chóng:
Tiến bộ về kỹ thuật đã tăng cường quy mô kinh tế trờn cỏc mặt sản xuất, hậu cần,
mua bán hoặc nghiên cứu phát triển. Kỹ thuật thông tin cao tốc, đủ tin cậy và có giá thành
tương đối thấp với phát triển bưu chính, vừa là sự uy hiếp,vừa là cơ hội. Nếu biết tận
dụng thời cơ, đi tắt đón đầu thì khả năng thành công là rất lớn.
Ngành BC_VT Việt Nam hiện đó cú những bước chuẩn bị quan trọng để tiến hành
hội nhập với một trường CNTT hiện đại như: tiến hành áp dụng CNTT vào các dịch vụ
truyền thống như dịch vụ chuyển tiền, điện hoa, phát hành bưu chính , e-stamp, cũng như
trong công tác quản lý- điều hành : ERP cho tổng công ty BC-VT Việt Nam(VNPT)…
làm chủ hệ thống để có thể tiến hành phục vụ khách hàng bình thường ngay
cả khi các thiết bị phần cứng trong giao dịch gặp sự cố.
• Phụ thuộc tối thiểu vào mạng: Hệ thống phụ thuộc tối thiểu mạng diện rộng
tại bất kỳ thời điểm nào. Điều này đặc biệt quan trọng khi mà hạ tầng viễn
thông ở Việt Nam đang trong giai đoạn phát triển. Ngoài ra, khi mạng hoạt
động trở lại, hệ thống sẽ tự khôi phục và thực hiện các chức năng cần thiết
đối với các chức năng trước đó .
• Tính toàn vẹn: Cơ chế đồng bộ giúp cho dữ liệu trên toàn hệ thống có tính
toàn vẹn cao, dữ liệu được chuyển đến hệ thống thì không thể bị mất hoặc bị
sửa đổi tùy tiện. Ngoài ra hệ thống có cung cấp khả năng đối phó với các
hành động phá hoại cố tình.
• Tính bảo mật: Hệ thống có khả năng ngăn chặn sự truy nhập trái phép vào
cả mức ứng dụng và mức cơ sở dữ liệu. Tất cả các truy nhập vào hệ thống
phải được kiểm duyệt thông qua tài khoản người sử dụng bao gồm tên người
sử dụng và mật khẩu.
• Chống gian lận: Có khả năng ngăn chặn sự gian lận trong quá trình kinh
doanh.
• Khả năng kiểm chứng: Tất cả các hành động và giao dịch của người sử dụng
phải được ghi lại cùng với thông tin về ngày, giờ, tên người sử dụng,
Người sử dụng không thể xoá, sửa những thông tin này.
• Cơ chế sao lưu tự động: Hệ thống có khả năng bảo vệ sự mất mát dữ liệu khi
thiết bị phần cứng cục bộ bị hỏng, thông qua các cơ chế sao lưu tự động.
• Chi phí sử dụng mạng thấp: Hệ thống không yêu cầu các hệ thống mạng on-
line và băng thông cao, phải có khả năng hoạt động thông qua các đường
dial-up 56K cũng như ISDN. Hệ thống được thiết kế sử dụng việc truyền
thông trên mạng là tối thiểu trong khi có thể hỗ trợ sự bảo mật và số lượng
kết nối tối đa.
• Chi phí quản lý hệ thống thấp: Hệ thống yêu cầu một chi phí quản lý thấp,
do cách cài đặt, cấu hình và giao diện sử dụng hệ thống đơn giản, dễ hiểu,
dễ thao tác và được tự động hóa ở nhiều khâu.
hết là offline hoặc xử lý theo từng phiờn(bú)( batch –processing).
• Từ đặc thù này xuất hiện cơ chế kiểm soát , đối soát qua một trung tâm đầu
mối nhằm kiểm tra lại độ an toàn, chính xác thông tin. Từ đó phát sinh vấn
đề truyền thông song song( từ một đích đi hai nơi: một đích đến thật và một
đích là nơi tập hợp dữ liệu để kiểm tra, tổng hợp báo cáo).
Như vậy giải quyết bài toán dịch vụ thống nhất cho nghành bưu điện chính là đề
xuất giải pháp truyền thông cho các dịch vụ, tổ chức thành một nền tảng thống nhất và
xây dựng trên đó các ứng dụng tương ứng cho các dịch vụ.
2. Giới thiệu công nghệ ứng dụng MSMQ:
Công nghệ phù hợp đáp ứng được các nhu cầu trên là MSMQ.
2.1 Giới thiệu chung:
Lịch sử phát triển của MSMQ:
MSMQ đã được Microsoft phát triển song song cùng với hệ điều hành Window…
MSMQ là một cơ sở hạ tầng truyền thông message được tạo nên từ các máy tính hỗ
trợ nhiều chức năng khác nhau và được kết nối trong một mạng Windows bao gồm nhiều
máy tính chạy các phiên bản khác nhau của Windows. Nó xuất hiện trong hệ điều hành
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
8
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
như một service chạy ngầm và có thể hiểu như một hỗ trợ của hệ điều hành cho các ứng
dụng truyền thông.
Công nghệ MSMQ cho phép các ứng dụng chạy không đồng thời có thể liên lạc với
nhau thông qua hệ thống mạng không đồng nhất và có thể tạm thời offline bất kỳ khi
nào. Các ứng dụng gửi các bản tin (message) tới các hàng đợi (queue) và thu nhận các
message từ queue về.
Hình minh họa sau mô tả cách một queue lưu trữ các message được sinh ra bởi các
ứng dụng gửi khác nhau và cỏch cỏc ứng dụng nhận khác nhau thu nhận các message đó.
Hình 1 Queue và Message
MSMQ có thể được sử dụng trong môi trường Domain cũng như môi trường
10
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
giữa các site sẽ xác định một routing link. Các message truyền từ site này tới site khác
bằng một routing link thông qua một server, gọi là site gate.
Biên dịch địa chỉ mạng
Đây là giao thức cho phép một mạng với các địa chỉ riêng truy nhập vào các thông
tin trên Internet thông qua tiến trình biên dịch địa chỉ IP. Giao thức này có thể dùng để
định hình cho một mạng nhỏ để chia sẻ chung một kết nối tới Internet.
2.2.2 Independent Client (IC)
IC chạy MSMQ service, host queue, gửi và nhận các message và có thể hoạt động
trong khi không có kết nối tới mạng. IC không yêu cầu truy nhập đồng bộ tới MSMQ
Server để gửi và nhận các message. Sự khác biệt lớn nhất giữa IC và MSMQ Server là IC
không hỗ trợ truy nhập Active Directory và khả năng định tuyến các message.
IC và MSMQ Server không hỗ trợ routing có chức năng tương tự nhau. Sự khác
biệt giữa chúng chỉ là IC có thể chạy trên Windows XP Professional còn MSMQ Server
bắt buộc phải chạy trên nền Windows 2000 Server Family hoặc Windows 2003Server
Family. Khi này có thể coi IC như một MSMQ Server (equivalent MSMQ Server).
Khi IC ngắt kết nối ra khỏi mạng, nó vẫn hoạt động bình thường. IC lưu trữ cục bộ
các message và tự động gửi chúng đi ngay khi kết nối với mạng được thiết lập lại.
Sử dụng lưu động
Các IC lưu động, ví dụ như được cài đặt trên máy tính xách tay, có thể gửi, nhận
message khi chúng di chuyển. Khi một IC kết nối tới một site Windows 2000 mới, nó sẽ
tự động nhận ra các domain controller bên trong domain mới và directory service để
quyết định site mới để IC cư trú. Sau khi site mới được thiết lập, tất cả các message được
gửi tới client trong khi nú khụng kết nối vào mạng sẽ tự động định tuyến từ site trước đó
tới site hiện tại.
Khi client chuyển tới một site khỏc,cỏc server in-routing và out-routing không sử
dụng cho định tuyến message trong site mới. Khi IC trở về site gốc của nó, các server đó
lại tiếp tục được sử dụng cho việc định tuyến message.
2.2.3 Dependent client (DC)
MSMQ Server không có chức năng
Directory Service hoặc dịch vụ định tuyến
trên một domain controller.
msmq MSMQ-
Configuration
MSMQ Server với chức năng
Directory Service trên một domain
controller.
msmq;
MSMQ-
Settings
MSMQ-
Configuration
MSMQ Server có dịch vụ định tuyến. msmq;
MSMQ-
Settings
MSMQ-
Configuration
MSMQ Server không có domain msmq; MSMQ-
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
12
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
controller MSMQ-
Settings
Configuration
Independent Client msmq;
MSMQ-
Settings
MSMQ-
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Trong MSMQ 2.0 có hỗ trợ cơ chế RCP (Remote Call Procedure), cho phép truy
cập vào các private queue của mỏy khỏc nhưng từ phiên bản MSMQ 3.0 trở đi, cơ chế
này sẽ không được hỗ trợ. Điều này sẽ đảm bảo tính chất riêng tư cho nguồn tài nguyên
trong môi trường mạng.
c. Outgoing queue
Đây là queue nội tại, nó được sử dụng để lưu trữ các message gửi tới queue ở
xa.Message cũng có có thể được lưu trữ trên outgoing queue trong điều kiện máy hoạt
động offline hoặc khi gửi tới một queue ở trên mỏy khỏc mà kết nối chưa được thiết lập
hoặc đã bị đứt.Cỏc outgoing queue được liệt kê trong thư mục outgoing queues. Các
queue này được sinh ra một cách tự động và không thể tạo ra hay xóa được một cách thủ
công.
Không những thế, đối với các message được gửi tới các queue sai đường dẫn như
sai địa chỉ IP, tờn mỏy, hoặc queue đú khụng tồn tại thỡ chỳng cũng được lưu trữ trên
Outgoing queue. Chúng ta có thể dừng các outgoing queue này một cách thủ công bằng
cách sử dụng Console Management.
d. Systems queue
Có 3 loại queue chính bao gồm: Journal, Dead-letter và Transactional Dead-letter
• Journal: Tiến trình sẽ lưu giữ bản sao của message lại và chúng
được gọi là journal message.
• Dead-letter: Các nontransactional message mã không gửi đi được
hoặc hết hiệu lực sẽ được đưa ra queue này.
• Transactional Dead-letter: Các transactional message mã không
gửi đi được hoặc hết hiệu lực sẽ được đưa ra queue này.
Ngoài ra, cũn cú cỏc queue lưu trữ các message trả lời, message thông báo, và cả
các connector queue để hỗ trợ cho quá trình giao tiếp với foreign computer.
e.Tên Queue
Các queue có thể được xác định theo hai cách: path names và format names
Path name của một queue bao gồm tên của máy chứa queue đó và tên của queue có
dạng ComputerName\QueueName hoặc .\QueueName đối với public queue
• Private format names
Hình thức này dùng cho các private queue. Giống như Public format names,
MSMQ cũng sử dụng thuật toán định tuyến bên trong nó để định tuyến tới queue đích.
MSMQ phải dùng Directory Service để tìm kiếm thông tin trờn mỏy để cho mục đích
định tuyến.
PRIVATE=ComputerGUID\QueueNumber
PRIVATE=ae0c5671-f190-12ce-ae10-00dd0114290f\0000000d
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
15
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Giống như định dạng trên, ComputerGUID được gán cho mỗi máy riêng biệt và
QueueNumber sẽ tự động sinh ra khi khởi tạo queue
• Ngoài ra cũn cỏc định dạng khác như Distribution list format
names,Multiple-element format names
2.3 Các kiểu Message:
Mỗi message bao gồm body và một tập các thuộc tính cuả nó. Message body có thể
chứa đựng dạng text hay bất kỳ dạng thông tin nhị phân nào và có thể được mã hóa. Hầu
hết các thuộc tính của message được xác định bởi ứng dụng MSMQ. Một message, bao
gồm cả body và tất cả các thuộc tính, có độ dài tối đa là 4MB.
Các kiểu message thường gặp bao gồm:
• Normal messages. Đó là tất cả các message được tạo ra bởi ứng dụng.
Các message này có thể được gửi tới public, private hay dead-letter queue với cả 2
kiểu nontransactional và transactional.
• Acknowledgment messages. Message thông báo trạng thái của normal
message. Acknowledgment message có thể là khẳng định hoặc phủ nhận. Một
acknowledgment message khẳng định chỉ ra rằng message đã được gửi tới đích
hoặc được nhận bởi ứng dụng. Một acknowledgment message phủ nhận chỉ ra
message chưa đến đích trước khi thời hạn tới đích (time-to-reach-queue TTRQ) hết
hay không tới được đích do một lí do nào đó hoặc không được thu nhận khi thời
service dừng. Hơn thế nữa, qua nhiều express message lưu trong RAM có thể làm cho bộ
nhớ phải paging ra đĩa làm tăng thời gian. Vì vậy không nên lưu trữ quá nhiều express
message trong bộ nhớ vật lý.
• Recoverable messaging
Trong cơ chế này, các message được lưu trữ trên đĩa cứng trong suốt quá trình định
tuyến và vận chuyển. Do đo tốc độ vận chuyển sẽ lâu hơn nhưng khi gặp lỗi các message
vẫn tồn tại trong queue. Khi khởi động lại MSMQ Service thì tiến trình gửi sẽ tự động
phục hồi. Điều này sẽ đảm bảo độ tin cậy cao cho hệ thống.
Trong Recoverable messaging, có 2 cơ chế truyền các mesage là transactional và
nontransactional messaging.
• Transactional mesaging:
Đây là các bản tin được trao đổi trong một transaction. Đó là một hoặc một chuỗi
hành động (action) thực hiện. Trong MSMQ, một transaction chỉ gồm một công việc gửi
hoặc nhận các mesage và được thực thi theo 2 pha. Đầu tiên, MSMQ xác định xem liệu
tất cả các action có thể hoàn thành được không. Nếu được, nó sẽ cam kết và chuyển các
message đó đến queue. Cũn khụng, nú bỏ transaction này và phục hồi lại các action đã
thực thi. Cuối cùng, các message được chuyển tới đích một cách chính xác theo đúng
trình tự truyền đi.
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
17
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
• Nontransactional mesaging:
Cơ chế này có thể đem lại tốc độ truyền nhanh hơn do không đòi hỏi các bước kiểm
tra sự thi hành của các action. Và không phải ghi nhiều lần message lên đĩa cứng và yêu
cầu nhiều tài nguyờn mỏy.
Chỉ có các transaction message mới có thể gửi tới các transaction queue. Chỉ có thể
thu nhận các message trong một transaction từ transaction queue nội bộ. Nhưng các
message có thể thu nhận từ các transaction queue nội bộ hoặc từ xa thông qua các thủ tục
nontransaction. Thuộc tính transation của queue được thiết lập ngay khi khởi tạo queue
InRS và OutRS. Khi đó, MSMQ sẽ cố gắng chuyển message trực tiếp tới mỏy đớch (1
hop) hoặc, nó sẽ chuyển message tới một MSMQ routing server ngẵ nhiên nằm trong site
đó (2 hop)
Hình 3 In-routing và out-routing server
Trong quá trình định tuyến nội bộ site, chức năng của IC và MSMQ server không
hỗ trợ routing là tương đương nhau. Cỏc mỏy này có thể thiết lập InRS hay OutRS để lưu
giữ và chuyển message theo mục đích của nó. Nếu máy này thiết lập InRS thì bất kỳ
message nào gửi đi đều phải định tuyến thông qua server đó. Tương tự khi thiết lập
OutRS. Và một máy có thể sử dụng một MSMQ routing server cho cả hai chức năng trên.
Các DC không thể làm được điều đó vỡ cỏc chức năng về message đều được thực thi bởi
supporting server.
Tất cả các InRS hay OutRS cần phải đặt trên site gốc mà chúng phục vụ. Khi một
client di đông di chuyển tới một site khỏc thỡ cỏc server đó sẽ không được dùng cho việc
định tuyến cho tới khi client quay trở lại site gốc.
b.Network bandwidth
Chức năng định tuyến nội bộ site có thể làm giảm thiểu việc sử dụng network
bandwidth nhờ hỗ trợ việc tập trung session. Ví dụ như trong cấu hình mạng star trong
một site và mỗi IC thường truyền thông trực tiếp tới IC khác, ta có thể làm giảm việc sử
dụng bandwidth nhờ tập trung session bằng cách thiết lập mỗi IC đều sử dụng cùng một
MSMQ routing server cho cả hai chức năng.
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
19
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Hình 4 Net bandwidth và MSMQ
c.Định tuyến giữa các site
Công việc này đòi hỏi kết nối giữa các site và kết nối đo được xác định bởi các
logical communications link hay còn gọi là routing link. Nếu lưu lượng message giữa 2
site xác định có thể thiết lập thông qua một MSMQ routing server xác định hoặc một
trong số vài server như thế thì MSMQ routing server đó được gọi là site gate. Các
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
21
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Các file dùng để lưu trữ các message được đặt tại thư mục Msmq\Storage và
Msmq\Storage\Lqs (trong thư mục mặc định là \Windows\Systems32).
Các message được lưu trữ trong các file bản đồ bộ nhớ (các file .mq) trên đĩa cứng
của máy nguồn, mỏy đớch hoặc các MSMQ Server trung gian. Không gian đĩa cứng
space được chỉ định cho cả express và recoverable message trong dung lượng tối đa
4MB. Với mỗi recoverable message, các file tương ứng được ghi ra đĩa cứng để đảm bảo
các message có thể phục hồi. Với express message, các file chỉ được lưu ra đĩa khi máy
không còn tài nguyên để xử lý message trong bộ nhớ.
Các file đó được lưu giữ theo kiểu của message tương ứng:
• r — Express message.
• p — Recoverable message
• j — Journal message.
• l — Các file message log
Mỗi file .mq không tương ứng với một queue cụ thể mà một file có thể lưu trữ
nhiều message từ các queue khác nhau và ngược lại. Tuy nhiên, mỗi message không thể
chia ra lưu trữ trên nhiều file. Vì thế, kích thước tối đa xác định của message là 4-MB.
2.3.5 Làm việc với MSMQ trong môi trường .Net
Xử lý không đồng bộ là ý tưởng sử dụng trong nhiều trường hợp, đặc biệt là trên
Web, nơi mà các yêu cầu của user cần được xử lý trong một thời gian dài nhưng bạn vẫn
muốn hỗ trợ phản hồi cho user ngay tức thì. Bằng cách xử lý không đồng bộ các yêu cầu
của user, hệ thống của bạn có thể phản hồi mà không cần quan tâm xem là bao lâu nữa thì
yêu cầu đó mới thực sự được thực thi.
Một vài tính năng của công nghệ .Net
Một trong những đặc điểm nổi trội của Microsoft .NET là ngay từ đầu được thiết kế
với mục tiêu hướng tới môi trường Internet, một môi trường phân tán rộng lớn. Với việc
hỗ trợ rất nhiều chuẩn công nghệ chung như XML, WSDL, SOAP, cộng với các công
Hình 8 Kiến trúc một hệ thống phát triển trên công nghệ .NET
Về phương diện bảo mật .NET hỗ trợ công nghệ SSL(Security Socket Layer) đối
với việc xây dựng các chế độ bảo mật cho ứng dụng trên môi trường Interner.
Ngoài ra, Microsoft đưa ra một tập các Server được gọi là các .NET Server như:
SQL Server, BizTalk Server, Exchange Server, Application Center Server… tạo rất nhiều
thuận lợi cho việc triển khai các bài toán phân tán. Mô hình phát triển ứng dụng đa tầng
(multi-tier) của Microsoft có thể mô tả trong hình vẽ sau:
Hình 9 Mô hình phát triển ứng dụng đa tầng của Microsoft
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
24
Xây dựng ứng dụng chuyển tiền cho mạng bưu chính POST * NET
Nhằm giải quyết vấn đề truyền thông, khắc phục nhược điểm của hạ tầng mạng viễn
thông chưa ổn định, Microsoft đưa ra giải pháp Message Queuing (MSMQ). Giải pháp
này đã phần nào giải quyết được vướng mắc mà chúng ta luôn gặp phải khi phát triển các
ứng dụng phân tán phức tạp, đó là: truyền, đồng bộ và bảo mật dữ liệu trong trường hợp
các kết nối mạng không ổn định. MSMQ là giải pháp tốt cho việc giải quyết các vấn đề
trên. Khi sử dụng MSMQ để xây dựng và triển khai hệ thống, việc trao đổi dữ liệu giữa
các thành phần trong hệ thống được thực hiện thông qua các Message. Microsoft hỗ trợ
nhiều khuôn dạng dữ liệu và độ lớn khác nhau cho Message và các Message có thể truyền
trên nhiều môi trường khác nhau và nhờ thế có giao tiếp với các hệ thống khác, ngay cả
với các hệ thống của Sun và IBM.
Servers
Servers
Queue
Manager
Queue
Queue
Manager
Manager
Sender
Apps
Apps
Receiver
Receiver
Receiver
Clients
Clients
Locate
Open
Send
Close
Locate
Locate
Open
Open
Send
Send
Close
Close
Hình 10 Mô hình lập trình của MSMQ
Cấu trúc hoạt động của hệ thống khi sử dụng MSMQ như sau:
Khi hai ứng dụng muốn trao đổi dữ liệu với nhau thông qua MSMQ, một ứng dụng
phải đóng vai trò người gửi và ứng dụng còn lại đóng vai trò người nhận. Trong thực tế,
hầu hết các thao tác đòi hỏi đối với lập trình viên phải sử dụng chỉ gồm 5 hàm API:
Locate, Open, Send, Receive, Close.
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
Phạm Đức Toàn - Lớp Tin Pháp K44 Mail :
25