ứng dụng công nghệ truyền tin message queue trong hệ thống thanh toán chứng khoán

  • Số trang: 73 |
  • Loại file: PDF |
  • Lượt xem: 51 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------------*--------------- NGUYỄN HỒNG PHÚC ỨNG DỤNG CÔNG NGHỆ TRUYỀN TIN MESSAGE QUEUE TRONG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN LUẬN VĂN THẠC SĨ Hà Nội - 2008 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ---------------*--------------- NGUYỄN HỒNG PHÚC ỨNG DỤNG CÔNG NGHỆ TRUYỀN TIN MESSAGE QUEUE TRONG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN Ngành: Công nghệ Thông tin Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Nguyễn Hoài Sơn Hà Nội - 2009 MỤC LỤC MỤC LỤC ................................................................................................................ 1 DANH MỤC THUẬT NGỮ ..................................................................................... 3 MỞ ĐẦU .................................................................................................................. 4 CHƢƠNG 1: GIỚI THIỆU CHUNG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN 1.1 Giới thiệu chung về hệ thống giao dịch thanh toán chứng khoán ...................... 6 1.2 Các tác vụ chính trong hệ thống ....................................................................... 7 1.2.1 Truy vấn số dƣ tài khoản tiền gửi nhà đầu tƣ: ............................................ 7 1.2.2 Yêu cầu xử lý phong toả tạm thời tài khoản............................................... 7 1.2.3 Yêu cầu xử lý phong toả chính thức kết quả mua chứng khoán:................. 7 1.2.4 Yêu cầu thanh toán hạch toán tiền mua, bán chứng khoán: ........................ 8 1.2.5 Xử lý yêu cầu hủy lệnh phong toả tạm thời mua chứng khoán từ các công ty chứng khoán: ..................................................................................................... 8 1.3 Các yêu cầu chung. .......................................................................................... 9 1.3.1 Yêu cầu bảo mật chƣơng trình ................................................................... 9 1.3.2 Các yêu cầu khác trong hệ thống: .............................................................. 9 1.4 Yêu cầu về giao diện.......................................................................................10 1.5 Đánh giá chung ...............................................................................................11 CHƢƠNG 2: TRUYỀN TIN TRONG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN .................................................................................................................................12 2.1 Bài toán đặt ra trong hệ thống thanh toán chứng khoán. ..................................12 2.1.1 RPC(Remote Procedure Call - Lời gọi thủ tục từ xa) ................................12 2.1.2 OOM(Objected Oriented Middleware – Middleware hƣớng đối tƣợng) ....14 2.1.3 Middleware dựa trên sự kiện ....................................................................15 2.1.4 MOM(Message Oriented Middleware - Middleware hƣớng thông điệp) ...16 2.2 Giới thiệu chung về IBM Websphere MQ .......................................................17 2.2.1 Định nghĩa của Message Queue? ..............................................................17 2.2.2 Đặc trƣng chính của MQ ..........................................................................19 2.2.3 Bộ quản lý hàng đợi (Queue manager) .....................................................23 2.2.4 Giao diện hàng đợi thông điệp - Message Queue Interface (MQI) ............23 2.2.5 Các lợi ích có đƣợc khi sử dụng Message Queue ......................................24 2.3 Các chức năng cơ bản của IBM Websphere MQ ............................................27 6 2 2.3.1 Giao diện hàng đợi thông điệp ..................................................................27 2.3.2 Hàng đợi ..................................................................................................28 2.3.3 Truyền thông giữa bộ quản lý hàng đợi với ứng dụng ...............................34 2.3.4 Truyền thông giữa các bộ quản lý hàng đợi ..............................................36 2.3.5 Các hàng đợi vận chuyển (Transmission queues)......................................41 2.3.6 Truyền thông giữa client và server ...........................................................43 CHƢƠNG 3 THIẾT KẾ HỆ THỐNG VỚI CÔNG NGHỆ MESSAGE QUEUE ......45 3.1 Mô hình logic hệ thống thanh toán chứng khoán .............................................45 3.2 Các module trong mô hình logic hệ thống thanh toán chứng khoán .................47 3.4 Mô hình hóa lớp đối tƣợng và biểu đồ tuần tự .................................................47 3.4.1 Mô hình lớp đối tƣợng .............................................................................47 3.4.2 Biểu đồ tuần tự.........................................................................................53 CHƢƠNG 4: KẾT QUẢ THỰC HIỆN HỆ THỐNG ................................................59 4.1 Triển khai hệ thống .........................................................................................59 4.2 Một số use case chính của hệ thống ................................................................60 4.2.1 Nhóm use case xử lý nghiệp vụ ................................................................60 4.2.2 Nhóm use case ở công ty chứng khoán .....................................................61 4.3 Một số màn hình demo ...................................................................................61 4.3.1. Giao dịch online ......................................................................................61 4.3.2. Giao dịch cuối ngày ................................................................................63 4.3.3. Vấn tin giao dịch trong ngày và bảng kê ..................................................65 4.4 Đánh giá hoạt động truyền tin trong hệ thống thanh toán chứng khoán............67 4.4.1 Các giao dịch vấn tin, phong toả, giải phong toả tài khoản nhà đầu tƣ ......68 4.4.2 Các giao dịch gửi bảng kê hạch toán cuối ngày(32K-2MB) ......................68 CHƢƠNG 5: KẾT LUẬN ........................................................................................70 TÀI LIỆU THAM KHẢO ........................................................................................71 3 DANH MỤC THUẬT NGỮ BIDV Bank for Investment and Development of Vietnam – Ngân hàng Đầu tƣ và Phát triển Việt Nam. BIDV@Security Hệ thống thanh toán chứng khoán do Ngân hàng đầu tƣ và phát triển Việt Nam xây dựng. CTCK Các công ty chứng khoán có hợp đồng dịch vụ với Ngân hàng Đầu tƣ và phát triển. MQ Message Queue - Hàng đợi thông điệp, nơi chứa các thông điệp trao đổi giữa các máy chủ trong hệ thống. SIBS Silverlake Integrated Banking System - Hệ thống ngân hàng tích hợp Siverlake. LDAP Lightweight Directory Access Protocol – Giao thức thiết kế và truy xuất dữ liệu. Ikey Là thiết bị bảo mật ngoài, lƣu chứng chỉ số và mã khoá bí mật do ngân hàng cấp cho các cán bộ các chi nhánh ngân hàng và các công ty chứng khoán. 4 MỞ ĐẦU Đầu tƣ chứng khoán ở Việt Nam cũng nhƣ ở nhiều nƣớc thực sự là một cơ hội. Ngày 23/2/2007, chính phủ ra nghị định số 27/2007 NĐ-CP về giao dịch điện tử trong hoạt động tài chính và ngày 8/3/2007, chính phủ đƣa ra nghị định 35/2007 NĐ-CP về giao dịch điện tử trong hoạt động ngân hàng, trong đó tài khoản các nhà đầu tƣ chứng khoán đều phải chuyển về cho các ngân hàng thƣơng mại quản lý trƣớc ngày 1/10/2008 thay vì do các công ty chứng khoán quản lý nhƣ trƣớc. Nghị định trên là cơ hội để cho các ngân hàng thƣơng mại thu hút khách hàng, nhà đầu tƣ. Tuy nhiên, rất nhiều các công ty chứng khoán còn băn khoăn e dè khi phải chuyển toàn bộ các tài khoản nhà đầu tƣ từ công ty chứng khoán quản lý sang cho các ngân hàng quản lý. Lý do chủ yếu là lo ngại về tƣơng thích phần mềm, về bảo mật, an toàn kỹ thuật kết nối, tốc độ xử lý giao dịch..vv khi mà khối lƣợng giao dịch tài chính rất lớn và nhạy cảm. Vì vậy, xây dựng cổng thanh toán chứng khoán trực tuyến kết nối với các công ty chứng khoán là một vấn đề hết sức quan trọng. … Các giao dịch vấn tin tài khoản, huỷ phong toả tài khoản, thanh toán mua bán chứng khoán đƣợc gửi sang ngân hàng từ các công ty chứng khoán. Các giao dịch này đƣợc thực hiện qua thông qua giao tiếp giữa các server của các công ty chứng khoán với ngân hàng. Đây là các giao dịch tài chính, đòi hỏi tính chính xác cao, độ trễ nhỏ. Do đó, cần phải tìm ra công nghệ truyền tin phù hợp, đảm bảo kết nối giữa các công ty chứng khoán với ngân hàng. Luận văn của học viên tập trung nghiên cứu vào việc sử dụng công nghệ truyền tin IBM Message Queue trong việc xây dựng hệ thống thanh toán chứng khoán trực tuyến. Công nghệ này giúp cho ngân hàng kết nối đƣợc với tất cả các công ty chứng khoán, đảm bảo việc chất lƣợng truyền tin về mọi mặt cho dù hệ thống giao dịch tại các công ty chứng khoán phát triển trên các môi trƣờng khác nhau. Nó cũng giúp cho kết nối tránh đƣợc những phức tạp vốn có liên quan đến mạng. 5 Các yêu cầu đối với hệ thống bao gồm quản lý tài khoản tiền gửi nhà đầu tƣ chứng khoán mở tại ngân hàng, cung cấp thông tin số dƣ tài khoản nhà đầu tƣ, phong toả tiền nhà đầu tƣ khi đặt lệnh mua chứng khoán, hạch toán kết quả mua bán chứng khoán, trả cổ tức, trái tức... bằng hệ thống công nghệ kết nối giữa các công ty chứng khoán với ngân hàng. Luận văn “Ứng dụng công nghệ truyền tin Message Queue trong hệ thống thanh toán” hƣớng đến việc ứng dụng công nghệ IBM Message Queue vào xây dựng hệ thống thanh toán chứng khoán là cổng thanh toán giữa các Công ty chứng khoán với Ngân hàng. Luận văn bao gồm năm chƣơng: Chƣơng 1: Giới thiệu chung hệ thống thanh toán chứng khoán Chƣơng 2: Truyền tin trong hệ thống thanh toán chứng khoán. Giới thiệu các công nghệ truyền tin, lựa chọn công nghệ truyền tin IBM Message Queue. Chƣơng 3: Thiết kế hệ thống với công nghệ Message Queue. Trong chƣơng này học viên tập trung vào việc xây dựng mô hình hệ thống thanh toán chứng khoán, thiết kế hệ thống với công nghệ Message Queue. Chƣơng 4: Kết quả thực hiện đƣợc. Chƣơng này đƣa ra các kết quả thực hiện hệ thống, một số màn hình demo. Đánh giá hiệu suất làm việc của hệ thống. Chƣơng 5: Kết luận 6 CHƢƠNG 1: GIỚI THIỆU CHUNG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN 1.1 Giới thiệu chung về hệ thống giao dịch thanh toán chứng khoán Các Công ty chứng khoán Nhà đầu tƣ Hệ thống thanh toán chứng khoán Hệ thống máy chủ ngân hàng Cán bộ Chi nhánh Hình 1.1: Mô hình tổ chức thông tin hệ thống thanh toán chứng khoán Hệ thống thanh toán chứng khoán là cổng thanh toán chứng khoán trực tuyến, trong đó ngân hàng quản lý toàn bộ tài khoản của các nhà đầu tƣ chứng khoán, thực hiện các yêu cầu vấn tin, hạch toán, thanh toán chứng khoán của các nhà đầu tƣ chứng khoán. Các yêu cầu này đƣợc các công ty chứng khoán tiếp nhận và gửi sang ngân hàng thực hiện. Trong mô hình trên, các công ty chứng khoán kết nối với ngân hàng thông qua hệ thống thanh toán chứng khoán, hệ thống bao gồm: Các nhà đầu tƣ: Khi muốn mua bán chứng khoán hoặc thực hiện các giao dịch liên quan đến thanh toán chứng khoán, đƣa yêu cầu trực tiếp đến công ty chứng khoán. Các công ty chứng khoán: Tiếp nhận lệnh thanh toán chứng khoán từ các nhà đầu tƣ. Yêu cầu này đƣợc các giao dịch viên công ty chứng khoán thực hiện trong chƣơng trình cài đặt tại công ty chứng khoán. Hệ thống thanh toán chứng khoán: Thực hiện các chức năng quản lý ngƣời dùng, vấn tin, phong toả, giải phong toả tài khoản nhà đầu tƣ, nhận lệnh và xử lý hạch toán kết quả mua bán chứng khoán, phí hoa hồng, trả cố tức, trái tức, hạch toán 7 quyền mua bán chứng khoán vào tài khoản tiền gửi nhà đầu tƣ và tài khoản của các công ty chứng khoán đƣợc mở trong hệ thống Ngân hàng. Các cán bộ chi nhánh: Các cán bộ tại các chi nhánh đƣợc cấp quyền hạn thực hiện xử lý các lệnh thanh toán kết quả mua bán chứng khoán của các công ty chúng khoán. Hệ thống máy chủ ngân hàng: Chứa mọi thông tin về tài khoản của nhà đầu tƣ chứng khoán. 1.2 Các tác vụ chính trong hệ thống 1.2.1 Truy vấn số dƣ tài khoản tiền gửi nhà đầu tƣ: Hiển thị ngay lập tức các thông tin trên tài khoản tiền gửi nhà đầu tƣ tại Ngân hàng (các thông tin nhƣ: số dƣ khả dụng, số tiền bị phong toả, thời điểm phong toả) sau khi các công ty chứng khoán gửi yêu cầu truy vấn. Yêu cầu này do các nhà đầu tƣ đƣa ra tại các phòng giao dịch của các công ty chứng khoán, sau đó các giao dịch viên nhập các yêu cầu này từ màn hình cài đặt tại các công ty chứng khoán. Các thông tin này đƣợc truyền sang ngân hàng, tại đây, hệ thống thanh toán chứng khoán xử lý và trả kết quả về cho các công ty chứng khoán. 1.2.2 Yêu cầu xử lý phong toả tạm thời tài khoản - Tại các công ty chứng khoán: Các nhà đầu tƣ đƣa ra yêu cầu mua chứng khoán. Giao dịch viên (đã đƣợc cấp quyền) tại các công ty chứng khoán nhập các yêu cầu của các nhà đầu tƣ vào chƣơng trình, thông qua phê duyệt của các kiểm soát viên, các thông tin đã đƣợc phê duyệt đƣợc gửi sang ngân hàng. - Tại ngân hàng: Chƣơng trình tự động nhận dạng thông điệp yêu cầu phong toả tạm thời số dƣ tài khoản nhà đầu tƣ từ các công ty chứng khoán gửi đến, căn cứ vào số hiệu tài khoản tiền gửi nhà đầu tƣ chƣơng trình tự động gửi yêu cầu vào hệ thống máy chủ của ngân hàng. 1.2.3 Yêu cầu xử lý phong toả chính thức kết quả mua chứng khoán: - Tại các công ty chứng khoán: Căn cứ kết quả khớp lệnh của trung tâm giao dịch chứng khoán, công ty chứng khoán xác định số tiền phong toả chính thức để mua chứng khoán và gửi yêu cầu phong toả tài khoản tới ngân hàng. 8 - Tại ngân hàng: Nhận thông tin phong toả chính thức tài khoản các nhà đầu tƣ từ các công ty chứng khoán, chƣơng trình thanh toán chứng khoán căn cứ vào số hiệu tài khoản tiền gửi nhà đầu tƣ chƣơng trình tự động giải toả số tiền phong toả tạm thời và phong toả lại số tiền phong toả chính thức. 1.2.4 Yêu cầu thanh toán hạch toán tiền mua, bán chứng khoán: File do các công ty chứng khoán gửi đến phải đƣợc lƣu các thông tin về ngày giờ nhận tệp vào chƣơng trình, trạng thái của tệp. - Tại ngân hàng: Kiểm soát viên sử dụng thiết bị Ikey để nhận lệnh thanh toán đến. Chƣơng trình tự động kiểm tra ngày trên lệnh thanh toán với ngày làm việc của hệ thống máy chủ ngân hàng , nếu khớp đúng chƣơng trình tự động tạo bút toán, tự động in liệt kê các bút toán hạch toán. Lúc này, số tiền trong tài khoản các nhà đầu tƣ đƣợc hạch toán theo đúng nội dung trong file đã nhận đƣợc từ các công ty chứng khoán. (Hệ thống thực hiện ghi nợ, ghi có tài khoản các nhà đầu tƣ và các công ty chứng khoán). Nếu không khớp đúng có thông báo "Ngày hạch toán khác với ngày của hệ thống máy chủ". - Kiểm soát viên duyệt bút toán chƣơng trình tạo ra và sử dụng thiết bị Ikey để đẩy bút toán vào hệ thống máy chủ ngân hàng để thực hiện hạch toán tài khoản của các nhà đầu tƣ.. Trƣờng hợp số dƣ tài khoản của nhà đầu tƣ không đủ, chƣơng trình thông báo cho ngƣời sử dụng biết và bút toán đƣợc lƣu lại tại một hàng đợi riêng. Khi số dƣ đã đủ Kiểm soát viên có thể sử dụng thiết bị Ikey để đẩy lại bút toán này vào hệ thống máy chủ ngân hàng. 1.2.5 Xử lý yêu cầu hủy lệnh phong toả tạm thời mua chứng khoán từ các công ty chứng khoán: Nhận dạng thông điệp yêu cầu huỷ lệnh từ các công ty chứng khoán gửi, căn cứ vào Số hiệu tài khoản nhà đầu tƣ chƣơng trình tự động tìm kiếm tài khoản tiền gửi nhà đầu tƣ trong hệ thống máy chủ ngân hàng và thực hiện giải toả một phần hoặc toàn bộ số tiền tuỳ theo yêu cầu của các công ty chứng khoán. 9 1.3 Các yêu cầu chung. 1.3.1 Yêu cầu bảo mật chƣơng trình - Bảo mật mức đƣờng truyền: Hệ thống phải đảm bảo ngăn cản những xâm nhập trái phép vào mạng. - Bảo mật dữ liệu trên đƣờng truyền: Dữ liệu truyền nhận giữa các công ty chứng khoán và ngân hàng phải đƣợc mã hoá trên đƣờng truyền. - Cơ sở dữ liệu lƣu trữ các thông tin về ngƣời sử dụng và thông tin giao dịch cần phải đƣợc bảo vệ. Chỉ có ngƣời có quyền quản trị hệ thống mới đƣợc quyền truy nhập và thao tác với dữ liệu trong hệ thống. Ngƣời sử dụng khác không có quyền thao tác trực tiếp vào dữ liệu tại máy chủ. - Các thao tác và giao dịch trên chƣơng trình cần phải đƣợc ghi nhật ký. - Mức ngƣời dùng: Ngƣời sử dụng đƣợc phân ra thành nhiều vai trò khác nhau nhƣ: Giao dịch viên (Tạo bút toán hạch toán, in bảng kê giao dịch mua bán chứng khoán, liệt kê hạch toán, phiếu hạch toán...) - Kiểm soát viên (Giải mã file hạch toán kết quả mua bán chứng khoán, duyệt bút toán hạch toán vào hệ thống SIBS ) - Quản trị (Các chức năng hệ thống của chƣơng trình), mỗi vai trò có một nhóm các chức năng riêng biệt. 1.3.2 Các yêu cầu khác trong hệ thống: - Nguyên tắc ƣu tiên thực hiện phong toả tài khoản tiền gửi nhà đầu tƣ tại ngân hàng: Chƣơng trình tự động thực hiện phong toả tài khoản nhà đầu tƣ trên nguyên tắc ƣu tiên thứ tự thời gian gửi yêu cầu từ công ty chứng khoán vào hệ thống ngân hàng. Phải thiết lập đƣợc cơ chế truyền nhận tin sao cho ngân hàng nhận biết đƣợc thứ tự ƣu tiên của các thông điệp gửi sang từ các công ty chứng khoán. - Khả năng truy cập chƣơng trình từ nhiều điểm giao dịch của các công ty chứng khoán: Chƣơng trình phải đáp ứng đƣợc tại cùng một thời điểm sẽ có nhiều điểm truy cập vào chƣơng trình để yêu cầu các giao dịch truy vấn và phong toả tài khoản nhà đầu tƣ tại hệ thống ngân hàng. Hiện tại chƣơng trình phải đáp ứng đƣợc tối thiểu cho 50 công ty chứng khoán, mỗi công ty chứng khoán có 10 điểm truy cập. Tƣơng lai số công ty chứng khoán này sẽ tăng dần lên. Với số lƣợng các công ty chứng khoán kết nối lớn, các công ty này lại ở các quy mô lớn nhỏ khác nhau. Qua khảo sát, các công ty này phát triển trên nhiều môi trƣờng khác nhau, cơ sở dữ 10 liệu và hệ điều hành khác nhau. Việc lựa chọn công nghệ phù hợp, có thể thích ứng đƣợc với nhiều công ty chứng khoán đáp ứng nhu cầu kết nối với nhiều công ty là yếu tố quan trọng trong xây dựng hệ thống thanh toán chứng khoán trực tuyến. - Phƣơng án dự phòng: Đƣờng truyền tự động chuyển sang phƣơng án dự phòng khi đƣờng truyền gặp sự cố. - Phƣơng án khi hệ thống ngân hàng không hoạt động. Sử dụng giải pháp máy chủ ngân hàng dự phòng. - Nhận dạng file yêu cầu từ các công ty chứng khoán: Mỗi một lô (file) yêu cầu nhƣ: Hạch toán thanh toán kết quả mua chứng khoán, hạch toán kết quả bán chứng khoán hoặc mỗi thông điệp nhƣ: Vấn tin số dƣ, phong toả, giải toả tài khoản nhà đầu tƣ, sửa lỗi.... phải có yêu cầu riêng về nhận dạng tệp và thông điệp(File và Message). 1.4 Yêu cầu về giao diện a. Giao dịch viên các công ty chứng khoán vấn tin tài khoản nhà đầu tƣ: Giao dịch viên công ty chứng khoán nhập vào màn hình “vấn tin” các thông tin về số tài khoản của nhà đầu tƣ. Để gửi đƣợc yêu cầu truy vấn tài khoản về hệ thống phải sử dụng thiết bị bảo mật Ikey. Hệ thống tự động tìm kiếm thông tin về tên, tài khoản của nhà đầu tƣ và trả thông tin về tài khoản bao gồm số dƣ sổ cái và số dƣ khả dụng. b. Phong toả tài khoản nhà đầu tƣ: Giao dịch viên công ty chứng khoán nhập vào màn hình “phong toả” các thông tin về số tài khoản nhà đầu tƣ, số tiền phong toả sau đó kích đúp nút “phong toả”, yêu cầu phải sử dụng thiết bị bảo mật Ikey. Hệ thống tự động nhận thông tin và trả về kết quả chấp nhận, từ chối phong toả hoặc timeout, nếu từ chối phải nêu rõ lý do. c. Huỷ phong toả tài khoản nhà đầu tƣ: Giao dịch viên công ty chứng khoán nhập vào màn hình “giải phong toả” các thông tin về số tài khoản nhà đầu tƣ, hệ thống tự động trả về danh sách các giao dịch Hold cần huỷ, giao dịch viên công ty chứng khoán chọn giao dịch cần huỷ, kích đúp nút “huỷ”. Yêu cầu chỉ cho phép thực hiện trên các giao dịch do bản thân giao dịch viên đó đã thực hiện Hold. 11 d. Duyệt giao dịch huỷ phong toả. Kiểm soát viên công ty chứng khoán vào màn hình “Duyệt giao dịch”: - Duyệt huỷ phong toả, chƣơng trình sẽ liệt kê danh sách các tài khoản cần huỷ phong toả do giao dịch viên điểm giao dịch đó lập, kiểm soát viên chọn giao dịch và kích nút “Duyệt giải phong toả”. Việc duyệt phải đƣợc thực hiện bằng thiết bị bảo mật Ikey do ngân hàng cung cấp cho các công ty chứng khoán. e. Tạo lệnh thanh toán kết quả mua/ bán chứng khoán sang ngân hàng Giao dịch viên CTCK tạo lệnh thanh toán mua/ bán chứng khoán. f. Duyệt lệnh thanh toán mua bán chứng khoán gửi sang ngân hàng Kiểm soát viên xem laị nội dung lệnh thanh toán (nếu cần), thực hiện “Duyệt đẩy lệnh sang ngân hàng” bằng thiết bị bảo mật Ikey. 1.5 Đánh giá chung Với một hệ thống thanh toán chứng khoán, toàn bộ thông tin việc thanh toán mua bán chứng khoán đƣợc truyền qua kênh kết nối giữa các công ty chứng khoán với ngân hàng. Vì vậy, việc lựa chọn mô hình thiết kế và công nghệ truyền tin giữa các bên là rất quan trọng. Trong bối cảnh các công ty chứng khoán phát triển trên các môi trƣờng khác nhau từ các nhà sản xuất khác nhau. Ở chƣơng 1 này, luận văn đã nêu ra những vấn đề chính, đó là trƣớc những yêu cầu cần có trong hệ thống thanh toán chứng khoán, bài toán đặt ra là phải lựa chọn một công nghệ truyền tin thích hợp. Ở chƣơng tiếp theo, luận văn trình bày việc tìm hiểu một số công nghệ truyền tin và đƣa ra công nghệ tối ƣu nhất ứng dụng trong mô hình thanh toán chứng khoán. 12 CHƢƠNG 2: TRUYỀN TIN TRONG HỆ THỐNG THANH TOÁN CHỨNG KHOÁN 2.1 Bài toán đặt ra trong hệ thống thanh toán chứng khoán. Các giao dịch thanh toán chứng khoán nhƣ vấn tin, phong toả tài khoản, giải phong toả tài khoản, ghi nợ, ghi có tài khoản khách hàng, tài khoản nhà đầu tƣ,…đƣợc thực hiện thông qua giao tiếp giữa các server của các công ty chứng khoán và gateway của hệ thống ngân hàng. Các giao dịch này đều là giao dịch tài chính, đòi hỏi có độ chính xác cao và độ trễ đủ nhỏ để không ảnh hƣởng đến lợi ích các nhà đầu tƣ. Tuy nhiên, việc giao tiếp giữa các hệ thống này sẽ rất khó khăn nếu thông qua mạng internet. Ngoài ra, các server của các công ty chứng khoán và hệ thống Gateway của ngân hàng đƣợc phát triển trên các môi trƣờng khác nhau về hệ điều hành, về cơ sở dữ liệu, về ngôn ngữ lập trình,…vv. Vì vậy, cần phải tìm ra công nghệ đảm bảo: - Các server giao tiếp với nhau dù tồn tại trong các môi trƣờng khác nhau. - Truyền dữ liệu giữa các server phải đảm bảo, đúng, chính xác, không bị lặp, không bị mất và đặc biệt không cho phép có độ trễ lớn, …đảm bảo chất lƣợng truyền. Hiện nay, có rất nhiều các công nghệ truyền tin, phục vụ giao tiếp giữa các máy chủ. Các công nghệ phổ biến hiện nay nhƣ RPC(Remote Procedure Call - Lời gọi thủ tục từ xa), OOM(Object Orient Middleware - Middleware hƣớng đối tƣợng), EBM(Event Based Middleware – Middleware dựa trên sự kiện) và MOM(Messagee Oriented Middleware – Middleware hƣớng thông điệp),..vv. Các công nghệ trên đều có những ƣu nhƣợc điểm riêng. Dƣới đây, học viên trình bày sơ qua một số công nghệ đã đƣợc xem xét đến trong quá trình khảo sát. 2.1.1 RPC(Remote Procedure Call - Lời gọi thủ tục từ xa) Công nghệ này cho phép một chƣơng trình có thể thực hiện lời gọi một thủ tục trên một máy tính khác trên mạng. RPC có mô hình client/server. RPC đóng gói 13 các tham số của hàm và trả về giá trị hàm. Các yêu cầu/phản hồi đƣợc thực thi trên cơ chế truyền thông điệp. Một RPC đƣợc khởi tạo bởi client gửi một thông điệp yêu cầu tới một máy chủ từ xa để thực hiện một thủ tục xác đinh trƣớc với các tham số cần thiết. Một phản hồi (response) đƣợc trả về cho máy trạm, máy trạm sẽ chờ đợi cho đến khi máy chủ xử lý xong lời gọi thủ tục. Chi tiết cơ chế hoạt động của RPC: Ứng dụng client gọi một stub cục bộ thay vì mã nguồn thực sự thực thi thủ tục. Các stub đƣợc biên dịch và liên kết với ứng dụng client, mã nguồn stub thực hiện các nhiệm vụ.  Nhận các tham số đƣợc yêu cầu từ client.  Dịch các tham số thành đinh dạng chuẩn cho việc truyền thông trên mạng.  Gọi các hàm trong thƣ viện RPC client để gửi các yêu cầu và tham số tới server. Server thực hiện các bƣớc sau để gọi thủ tục từ xa:  Các hàm thƣ viện RPC server nhận yêu cầu và gọi thủ tục server stub.  Server stub nhận các tham số từ bộ đệm mạng và chuyển từ định dạng truyền thông trên mạng thành định dạng server cần.  Server stub gọi thủ tục thực sự trên server. Sau khi thủ tục từ xa đƣợc gọi, thông thƣờng sẽ sinh ra các tham số đầu ra và giá trị trả về, khi lời gọi thủ tục này kết thúc, một chuỗi các bƣớc tƣơng tự đƣợc thực hiện để trả dữ liệu về cho client.  Lời gọi thủ tục từ xa trả kết quả về cho server stub.  Server stub chuyển các tham số output thành định dạng đƣợc yêu cầu cho truyền thông trên mạng và trả lại dữ liệu này cho các hàm thƣ viện RPC run-time.  Các hàm thƣ viện runtime RPC truyền dữ liệu này tới client. Client hoàn tất tiến trình này bằng cách nhận dữ liệu từ mạng và trả nó cho hàm gọi, theo các bƣớc sau:  Thƣ viện RPC client nhận giá trị trả về và trả lại cho client stub. 14  Client stub chuyển đổi dữ liệu thành định dạng đƣợc sử dụng bởi client. Stub ghi dữ liệu vào bộ nhớ của client và trả về kết quả cho chƣơng trình gọi trên máy client. Một số tính chất của RPC: - Tƣơng tác yêu cầu/phản hồi đồng bộ. - Làm trong suốt tính phực tạp của hệ thống. - Dễ hiểu và dễ thực thi với ngƣời lập trình. Các nhƣợc điểm của RPC: - Yêu cầu từ phía máy trạm có thể phải chờ đợi trong thời gian dài, vì vậy sẽ cần phải có cơ chế đa luồng trong chƣơng trình. - Sự phụ thuộc giữa máy trạm và máy chủ là khá lớn, vì vậy khi máy chủ có sự thay đổi thì máy trạm cũng phải thay đối theo để đáp ứng. - Mô hình RPC là không hƣớng đối tƣợng, client gọi các thủ tục và truyền vào các tham số và nhận đƣợc kết quả trả về cho lời gọi hàm đó. Caller call(… ) RPC Service 1) Marshal args 2) Generate ID 3) Start timer 8) Unmarshal 9) Acknowledge RPC Service message 4) Unmarshal 5) Record ID Remote Function fun(…) 6) Marshal 7) Set timer Hình2.1: Cơ chế truyền tin thông điệp trong mô hình RPC[5] 2.1.2 OOM(Objected Oriented Middleware – Middleware hƣớng đối tƣợng) Một số công nghệ đƣợc đã đƣợc xây dựng trên mô hình này, ví dụ nhƣ: RMI, CORBA, DCOM[14]. Trong middleware hƣớng đối tƣợng, các đối tƣợng và các tham chiếu đối tƣợng có thể là đối tƣợng cục bộ hoặc là từ xa bên ngoài. Ý tƣởng của OOM là tạo ra các nguyên tắc về hƣớng đối tƣợng cho các hệ thống phân tán. 15 Mỗi OOM có một ngôn ngữ định nghĩa giao diện (interface definition language - IDL). IDL hỗ trợ khái niệm của các kiểu đối tƣợng nhƣ các tham số, xử lý lỗi và thừa kế. Một đối tƣợng máy chủ thực thi một kiểu đối tƣợng và có thể trả về các đối tƣợng máy chủ khác. Điểm này đã khắc phục đƣợc nhƣợc điểm của RPC đó là các thủ tục đƣợc gọi bởi một chƣơng trình RPC không thể trả lại về cho một chƣơng trình RPC khác.  Thực thi tầng trình diễn của OOM: - Thực thi của tầng trình diễn trong OOM tƣơng tự nhƣ là với RPC. OOM cũng hỗ trợ mô hình client/server stub. - Tầng trình diễn của OOM cần đƣợc ánh xạ các tham chiếu đối tƣợng tới định dạng vận chuyển.  Các nhƣợc điểm của OOM - Chỉ có tƣơng tác request/reply đồng bộ, yêu cầu phƣơng thức không đồng bộ. Tuy nhiên, các thực thi có thể vẫn tạo ra sự ràng buộc chặt chẽ giữa máy trạm và máy chủ. - OOM cần có một bộ thu gom rác phân tán để giải phóng bộ nhớ cho các đối tƣợng từ xa không đƣợc sử dụng. 2.1.3 Middleware dựa trên sự kiện Hình2.2: Mô hình Middleware dựa trên sự kiện[5] Hình trên mô tả cơ chế truyền thông trong EBM.  Publisher xuất bản các sự kiện (event)  Subscribers thể hiện các yêu cầu trong các sự kiện bằng các subscriptions. 16  Dịch vụ các sự kiện thông báo tới các Subscribers của thông điệp đã xuất bản sau khi tìm đƣợc sự kiện phù hợp với các yêu cầu đã đăng ký. Một số tính chất của EBM:  Giao tiếp bất đồng bộ: các Publishers và Subscribers không bị ràng buộc chặt chẽ.  Tƣơng tác nhiều-nhiều giữa các Publishers và Subscribers. Các Publishers không cần biết về các Subscribers. 2.1.4 MOM(Message Oriented Middleware - Middleware hƣớng thông điệp) Hình2.3: Mô hình truyền thông trong MOM[5] Truyền thông trong MOM đƣợc thực hiện bởi việc sử dụng các thông điệp, các thông điệp này đƣợc lƣu trữ trong các hàng đợi thông điệp. Một số công nghệ phổ biến đƣợc xây dựng trên kiến trúc MOM là: IBM MQ, Java Messaging Service, MS MQ.. Một số tính chất của MOM:  Tƣơng tác bất đồng bộ: client/server không bị ràng buộc chặt chẽ, các thông điệp đƣợc đặt vào hàng đợi. Các tính chất này rất tốt cho việc tích hợp ứng dụng.  Hỗ trợ dịch vụ truyền tin cậy, MOM giữ các hàng đợi trong các kho chứa.  Xử lý các thông điệp bởi các server thông điệp trung gian. Có các cơ chế nhƣ lọc, chuyển đổi, lƣu vết … 17  Dễ dàng tích hợp với cơ sở dữ liệu. Nhìn chung, các công nghệ đáp ứng bài toán đặt ra, tuy nhiên khả năng kết nối với tính ổn định không cao, do đặc thù tính chất nhạy cảm trong thanh toán chứng khoán, các giao dịch có độ trễ lớn sẽ ảnh hƣởng đến các nhà đầu tƣ. Khối lƣợng đặt lệnh trên sàn rất lớn, các giao dịch là các giao dịch tài chính, không cho phép có độ trễ lớn. Vì vậy công nghệ MQ(Message Queue) của IBM đáp ứng đƣợc các yêu cầu trên đối với hệ thống. Giao tiếp giữa các máy chủ sẽ đƣợc thực hiện thông qua IBM Message Queue. Các máy chủ sẽ không còn thực hiện giao tiếp trực tiếp với nhau, mà thực chất là giữa các bộ quản lý hàng đợi(Queue manager) của MQ và nhờ đó tránh đƣợc các phức tạp liên quan đến mạng. Ngoài ra, những ƣu điểm của MQ giúp cho các máy chủ có thể làm việc hay không làm việc nhƣng vẫn truyền nhận đƣợc dữ liệu của nhau. Công nghệ MQ đƣợc viết trên Java thực hiện đƣợc giao tiếp giữa các máy chủ của hệ thống. 2.2 Giới thiệu chung về IBM Websphere MQ Trong hầu hết các doanh nghiệp, nhiều công nghệ khác nhau tồn tại trong cùng một hạ tầng Công nghệ thông tin. Các công nghệ khác nhau của các nhà sản xuất khác nhau đƣa vào hệ thống xuất xứ từ nhiều nhà sản xuất, với các phần cứng, ngôn ngữ lập trình, hệ điều hành và các kết nối giao tiếp khác nhau. Việc kết nối giữa các hệ thống khác nhau thƣờng phức tạp và có thể rất đắt, làm cho nhiều hệ thống tách biệt với các hệ thống khác. Hơn nữa, các doanh nghiệp cũng cần có giao tiếp giữa các nhà cũng cấp với khách hàng. Một số cơ chế dễ dàng thực hiện, rẻ tiền, và đang tin cậy rất cần để kết nối trong các hệ thống nhƣ vậy, để tích hợp bên trong và bên ngoài hạ tầng công nghệ thông tin. 2.2.1 Định nghĩa của Message Queue? Message Queue là gì? Messaging and Queuing cho phép các hệ thống liên lạc với nhau dễ dàng mà không cần có kết nối logic trực tiếp giữa chúng[7]. Cách thức thực hiện đơn giản: các hệ thống liên lạc với nhau bằng việc lấy các thông điệp từ hàng đợi thông điệp và gửi đi. Messaging – Thông điệp: các hệ thống liên lạc với nhau bằng cách gửi dữ liệu cho nhau thông qua thông điệp chứ không phải liên lạc trực tiếp. 18 Queuing- Hàng đợi: các thông điệp đƣợc đặt trong các hàng đợi, nhờ đó, các hệ thống có thể thực hiện độc lập với nhau, với tốc độ, thời gian và vị trí khác nhau, không cần có kết nối logic giữa chúng. Hình 2.4: Hệ thống A gửi thông điệp cho hệ thống B thông qua hàng đợi 1[7] Trong hình vẽ trên, hệ thống A và B có thể chạy trên cùng một bộ vi xử lý trên cùng môi trƣờng, cũng có thể chạy trên các bộ xử lý khác nhau trên cùng môi trƣờng, và có thể chạy trên các bộ xử lý khác nhau trên các môi trƣờng khác nhau. Các giao tiếp có thể thực hiện theo một chiều hoặc hai chiều. Các giao tiếp có thể đƣợc thực hiện theo một chiều (chẳng hạn hệ thống A gửi dữ liệu cho hệ thống B) hoặc có thể trao đổi với nhau (thông điệp do hệ thống A gửi cho hệ thống B, hệ thống B phải gửi thông điệp trả lời). Tuy nhiên giao tiếp theo hai chiều không có tính ép buộc, nếu bên gửi thông điệp không yêu cầu, bên nhận sẽ không gửi thông điệp trả lời.
- Xem thêm -