Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống kết nối thanh toán giữa ngân hàng và các công ty chứng khoán...

Tài liệu Xây dựng hệ thống kết nối thanh toán giữa ngân hàng và các công ty chứng khoán

.PDF
74
465
121

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Phạm Thị Hồng Nhung XÂY DỰNG HỆ THỐNG KẾT NỐI THANH TOÁN GIỮA NGÂN HÀNG VÀ CÁC CÔNG TY CHỨNG KHOÁN Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS. NGUYỄN HẢI CHÂU Hà Nội - 2009 Trường Cao Đẳng Giao Thông VậnTải ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Phạm Thị Hồng Nhung XÂY DỰNG HỆ THỐNG KẾT NỐI THANH TOÁN GIỮA NGÂN HÀNG VÀ CÁC CÔNG TY CHỨNG KHOÁN Ngành: Công nghệ Thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC TS. NGUYỄN HẢI CHÂU Hà Nội - 2009 Trường Cao Đẳng Giao Thông VậnTải 1 MỤC LỤC Trang phụ bìa Lời cam đoan Lời cảm ơn Mục lục ................................................................................................................... 1 Danh mục các thuật ngữ và các từ viết tắt ................................................................ 2 Danh mục các bảng ................................................................................................ 4 Danh mục các hình vẽ ............................................................................................ 5 MỞ ĐẦU .......................................................................................................................... 6 CHƢƠNG 1: TỔNG QUAN VỀ VẤN ĐỂ KẾT NỐI THANH TOÁN GIỮA NGÂN HÀNG VÀ CÁC CÔNG TY CHỨNG KHOÁN ................................................. 8 1.1 Nhu cầu thực tiễn ..................................................................................................... 8 1.2 Hiện trạng các giải pháp kết nối thanh toán .............................................................. 9 1.3 Giải pháp đề xuất của luận văn ............................................................................... 11 CHƢƠNG 2: GIỚI THIỆU CÔNG NGHỆ WEBSPHERE MQ VÀ ỨNG DỤNG TRONG HỆ THỐNG KẾT NỐI THANH TOÁN ........................................................ 13 2.1 Giới thiệu công nghệ WebSphere MQ ................................................................... 13 2.1.1 Các đối tượng cơ bản của Websphere MQ ....................................................... 13 2.1.2 Đặc trưng của Websphere MQ và cơ chế truyền tải message ............................ 17 2.2 Công nghệ Web Service với WebSphere MQ ......................................................... 19 2.2.1 Cơ bản về Web Service.................................................................................... 19 2.2.2 Web Service và Websphere MQ ...................................................................... 21 2.3. An toàn bảo mật thông tin qua SSL với Websphere MQ và Web Service ............... 26 2.3.1. Vấn đề an toàn bảo mật thông tin qua SSL với Web service ............................ 26 2.3.2 SSL và Websphere MQ ................................................................................... 26 CHƢƠNG 3: XÂY DỰNG HỆ THỐNG KẾT NỐI THANH TOÁN GIỮA NGÂN HÀNG VÀ CÁC CÔNG TY CHỨNG KHOÁN ........................................................... 29 3.1. Mô tả hoạt động nghiệp vụ .................................................................................... 29 3.1.1 Một số khái niệm ............................................................................................. 29 3.1.2 Mô tả nghiệp vụ:.............................................................................................. 29 3.1.3 Các yêu cầu của hệ thống................................................................................. 31 3.2. Xây dựng mô hình hệ thống................................................................................... 32 3.2.1 Mô hình kết nối ............................................................................................... 32 3.2.2 Cấu hình WebSphere MQ ................................................................................ 34 3.2.3 Cơ chế hoạt động ............................................................................................. 40 3.3. Phân tích thiết kế hệ thống..................................................................................... 50 3.3.1 Mô hình phân tích ............................................................................................ 50 3.3.2 Phát triển mô hình ca sử dụng .......................................................................... 53 3.3.3 Phân tích một số ca sử dụng điển hình của hệ thống ......................................... 61 2 Danh mục các thuật ngữ và các từ viết tắt Từ/cụm từ Authentication Bank Gateway CA (Current Account) Channel CipherSpec CipherSuite Client/Server CoreBanking Dead-letter queue Encryption HTTP (Hyper Text Transport Protocol) Listener Local queue Message MQI (Message Queue Interface) QM (Queue Manager) QMC (Queue Manager Cluster) Queue Receiver Remote queue Request Response Sender SOAP (Simple Object Access Protocol) SSL (Secure Sockets Layer) TA (Trading Account) Transmission queue UDDI (Universal Description Discovery and Integration) Ý nghĩa Xác thực Cổng giao tiếp/Máy chủ quản lý giao dịch giữa Ngân hàng và Công ty chứng khoán Tài khoản tiền gửi tại ngân hàng Kênh (dùng để truyền tải message) Thông số mã hóa và xác thực Bộ mật mã Máy khách/ Máy chủ Lõi ngân hàng Hàng đợi chứa các message không được phân phối Mã hoá Giao thức vận chuyển siêu văn bản Một tiến trình của WebSphere MQ để "nghe" các kết nối Queue cục bộ Thông điệp Giao diện quản lý các hàng đợi Quản trị các hàng đợi (queue) Bó cụm các queue manager Hàng đợi, nơi chứa các thông điệp Bên nhận Queue đại diện cho một queue khác ở xa Yêu cầu Đáp ứng Bên gửi Giao thức truy cập đối tượng đơn giản Giao thức truyền đạt thông tin một cách an toàn qua mạng Tài khoản chuyên dùng cho hoạt động thanh toán chứng khoán Queue truyền tải Hợp nhất và phát hiện các mô tả toàn thể 3 URI (Universal Resource Indicator or Identifier) Web Service WebSphere MQ (WebSphere Message Queue) Websphere MQ Explorer Định danh tài nguyên toàn thể Dịch vụ web Một công nghệ truyền tải thông điệp của IBM Trình quản lý và cấu hình WebSphere MQ một cách trực quan. WSDL (Web Services Description Ngôn ngữ mô tả dịch vụ web Language) XML (Extensible Markup Ngôn ngữ đánh dấu mở rộng Language) 4 Danh mục các bảng Bảng 3.2-1: Cấu hình WebSphere MQ trên các máy chủ .................................................. 36 Bảng 3.3-1: Các chức năng của hệ thống .......................................................................... 50 Bảng 3.3-2: Từ điển dữ liệu của hệ thống ......................................................................... 53 Bảng 3.3-3: Các tác nhân và vai trò trong hệ thống .......................................................... 55 Bảng 3.3-4: Mô tả ca sử dụng cập nhật CTCK ................................................................. 57 Bảng 3.3-5: Mô tả ca sử dụng cập nhật tài khoản TA ....................................................... 58 Bảng 3.3-6: Mô tả ca sử dụng vấn tin tài khoản TA .......................................................... 58 Bảng 3.3-7: Mô tả ca sử dụng phong toả tài khoản TA ..................................................... 59 Bảng 3.3-8: Mô tả ca sử dụng giải phong toả tài khoản TA .............................................. 59 Bảng 3.3-9: Mô tả ca sử dụng Chuyển tiền ....................................................................... 60 Bảng 3.3-10: Mô tả ca sử dụng tổng hợp kết quả giao dịch............................................... 61 Bảng 3.3-11: Mô tả ca sử dụng sao kê chi tiết tài khoản TA ............................................. 61 5 Danh mục các hình vẽ Hình 2.2-1: Mô hình kiến trúc Web Service ..................................................................... 20 Hình 2.2-2 Kiến trúc phân tầng của Web Service ............................................................. 21 Hình 2.2-3: Web Services qua HTTP ............................................................................. 22 Hình 2.2-4: Web Services qua WebSphere MQ .............................................................. 22 Hình 2.2-5: Web Service client sử dụng proxy ................................................................. 23 Hình 3.2-1: Mô hình Hệ thống kết nối thanh toán............................................................. 33 Hình 3.2-2: Cấu hình Remote queue Q.RMT.BR.GW ...................................................... 36 Hình 3.2-3: Cấu hình Remote queue Q.RMT.GW.BR ...................................................... 37 Hình 3.2-4: Cấu hình transmision queue Q.XMIT.BR ...................................................... 37 Hình 3.2-5: Cấu hình transmision queue Q.XMIT.GW.BR ............................................... 38 Hình 3.2-6: Các queue của queue manager GW ............................................................... 38 Hình 3.2-7: Cấu hình channel CH.BR.GW ....................................................................... 39 Hình 3.2-8: Các channel của queue manager GW ............................................................. 39 Hình 3.2-9: Cấu hình channel CH.BR.GW ....................................................................... 39 Hình 3.2-10: Mô hình “request-and-response” vận chuyển message dưới giao thức SOAP thông qua WebSphere MQ. ................................................................................... 40 Hình 3.2-11: Đường đi của message theo chế độ kết nối server. ....................................... 41 Hình 3.2-12: Triển khai WebSphere MQ transport for SOAP ........................................... 43 Hình 3.3-1: Sơ đồ tiến trình hoạt động kết nối thanh toán ................................................. 51 Hình 3.3-2: Biểu đồ thực thể của lĩnh vực quản lý hoạt động kết nối thanh toán ............... 52 Hình 3.3-3: Mô hình ca sử dụng mức tổng thể của hệ thống ............................................. 56 Hình 3.3-4: Biểu đồ tuần tự hệ thống Đăng ký tài khoản TA ............................................ 62 Hình 3.3-5: Biểu đồ lớp phân tích thực thi ca sử dụng Đăng ký tài khoản TA ................... 63 Hình 3.3-6: Biểu đồ tuần tự phân tích thực thi ca sử dụng Đăng ký tài khoản TA ............. 63 Hình 3.3-7: Biểu đồ tuần tự hệ thống Phong toả tài khoản TA .......................................... 64 Hình 3.3-8: Biểu đồ lớp phân tích thực thi ca sử dụng Phong toả tài khoản TA ................ 64 Hình 3.3-9: Biểu đồ tuần tự phân tích thực thi ca sử dụng Phong tỏa tài khoản TA........... 65 Hình 3.3-10: Biểu đồ tuần tự hệ thống Giải phong toả tài khoản TA................................. 65 Hình 3.3-11: Biểu đồ lớp phân tích thực thi ca sử dụng Giải phong toả tài khoản TA ....... 66 Hình 3.3-12: Biểu đồ tuần tự phân tích thực thi ca sử dụng Giải phong toả tài khoản TA . 66 Hình 3.3-13: Biểu đồ tuần tự hệ thống Chuyển tiền .......................................................... 67 Hình 3.3-14: Biểu đồ lớp phân tích thực thi ca sử dụng Chuyển tiền................................. 67 Hình 3.3-15: Biểu đồ tuần tự phân tích thực thi ca sử dụng Chuyển tiền ........................... 68 6 MỞ ĐẦU Theo điều 32, Quyết định số 27/2007/QD9-BTC ngày 24-4-2007 của Bộ Tài chính về việc ban hành quy chế tổ chức và hoạt động của công ty chứng khoán, các Công ty chứng khoán (CTCK) không được trực tiếp nhận tiền giao dịch chứng khoán của khách hàng (nhà đầu tư). Nếu như trước đây các CTCK vẫn kiêm nhiệm phần việc quản lý tiền của nhà đầu tư như một ngân hàng thực thụ, khách hàng khi giao dịch chứng khoán phải mở Tài khoản (TK) và nộp tiền vào CTCK, sau đó CTCK là người quản lý và kiểm soát TK và tài sản của khách hàng. Với những công ty lớn như SSI, BVSC, VCBS, ACBS… số dư tiền mặt trong tài khoản của nhà đầu tư có thời điểm lên tới vài nghìn tỷ đồng, một tài khoản đầu tư nhỏ lẻ cũng vài chục triệu đồng. Về nguyên tắc, quyền sử dụng tiền của nhà đầu tư không thuộc về các CTCK, nhưng với nhiều công ty đây là nguồn vốn khá quan trọng, họ có thể mượn tạm vào một thời điểm nào đó và hoàn lại tài khoản nhà đầu tư khi có nhu cầu. Cũng không loại trừ trường hợp CTCK nộp tiền vào ngân hàng với lãi suất theo thỏa thuận và ăn chênh lệch, cao hơn lãi suất nhà đầu tư được hưởng (loại không kỳ hạn). Tuy nhiên, việc một tổ chức không có nghiệp vụ quản lý tiền mặt và không phải chịu chế tài của một tổ chức tài chính, lại quản lý một lượng tiền lên tới hàng trăm tỷ đồng mỗi ngày có thể ẩn chứa nhiều rủi ro lớn về mặt vĩ mô cũng như vi mô, cho cả nền kinh tế và cho chính tổ chức đó. Theo Quyết định 27, các hoạt động nộp tiền, rút tiền và giữ tiền mặt của các nhà đầu tư chứng khoán đều phải tập trung về các Ngân hàng (NH), khách hàng sẽ mở TK tiền tại một ngân hàng thương mại do CTCK chỉ định trong danh sách các ngân hàng được Uỷ ban chứng khoán lựa chọn. Sau đó quá trình thanh toán trong giao dịch sẽ được ngân hàng đó thanh toán, đây là chức năng chính của ngân hàng chứ không phải là hoạt động của CTCK, còn chứng khoán của khách hàng sẽ được quản lý và lưu ký tại Trung tâm Lưu Ký Chứng Khoán. Như vậy cần phải có một hệ thống kết nối thanh toán giữa Ngân hàng và các CTCK, giúp các CTCK quản lý tiền gửi giao dịch chứng khoán của khách hàng và liên kết để kiểm tra điều kiện, thực hiện các giao dịch mua bán chứng khoán của khách hàng. Luận văn “Xây dựng hệ thống Kết nối thanh toán giữa Ngân hàng và các Công ty Chứng khoán” cung cấp giải pháp cho các công ty chứng khoán có thể dễ dàng kết nối, sử dụng các dịch vụ của ngân hàng nhằm đem đến cho nhà đầu tư các dịch vụ tiện ích hơn. Với các dịch vụ được cung cấp, công ty chứng khoán có nhiều phương án điều chỉnh tác nghiệp của mình: tích hợp ứng dụng chứng khoán, xây dựng chương trình độc lập,... Về bố cục, nội dung của luận văn bao gồm 3 chương: 7 Chương 1: Giới thiệu tổng quan về vấn để kết nối thanh toán giữa Ngân hàng và các Công ty Chứng khoán, xuất phát từ nhu cầu thực tiễn cũng như hiện trạng các giải pháp kết nối thanh toán hiện nay, từ đó đưa ra giải pháp của luận văn. Chương 2: Giới thiệu các công nghệ sử dụng trong giải pháp xây dựng Hệ thống kết nối thanh toán, bao gồm các công nghệ như: WebSphere MQ của IBM, Công nghệ web service và việc ứng dụng công nghệ web service vào vận chuyển message bằng SOAP qua WebSphere MQ. Chương 3: Đi sâu vào mô tả các hoạt động nghiệp vụ, xây dựng mô hình kết nối, cách cấu hình cũng như cơ chế hoạt động của mô hình, vấn đề bảo mật…Chương này cũng đi sâu phân tích thiết kế hệ thống, theo sát các yêu cầu nghiệp vụ để phát triển các ca sử dụng.. Phần kết luận: Đánh giá hiệu quả của giải pháp kết nối thanh toán, rút ra những điểm đã đạt được cũng như chưa đạt được của luận văn, đồng thời đưa ra hướng nghiên cứu, phát triển tiếp theo. Ngoài ra, luận văn còn có thêm các danh mục thuật ngữ, từ viết tắt, danh mục bảng biểu, hình vẽ và danh mục các tài liệu tham khảo để thuận tiện cho việc tìm hiểu và tra cứu nội dung của luận văn. 8 CHƢƠNG 1: TỔNG QUAN VỀ VẤN ĐỂ KẾT NỐI THANH TOÁN GIỮA NGÂN HÀNG VÀ CÁC CÔNG TY CHỨNG KHOÁN 1.1 Nhu cầu thực tiễn Theo như Điều 32 Quyết định 27 (ban hành ngày 24/04/2007) của Bộ Tài chính về quy chế tổ chức và hoạt động của công ty chứng khoán, nhà đầu tư sẽ phải nộp tiền, rút tiền tại ngân hàng và thực hiện việc giao dịch chứng khoán tại các công ty chứng khoán. Rõ ràng là, khi chuyển qua hình thức quản lý mới này, khó khăn lớn nhất nằm ở chỗ hệ thống thông tin của nhiều công ty chứng khoán còn chưa kết nối được với hệ thống ngân hàng. Hơn nữa một công ty chứng khoán còn phải bảo đảm kết nối được cùng lúc với nhiều ngân hàng lớn, và ngược lại, các ngân hàng cũng mong muốn có được kết nối với nhiều công ty chứng khoán để hình thành nên mạng lưới đồng bộ và thông suốt. Từ trước tới nay, tất cả tài khoản giao dịch của nhà đầu tư đều mở tại các công ty chứng khoán. Những công ty này sẽ đứng ra nhận, trả tiền cho khách và chuyển tiền từ tài khoản này đến tài khoản khác trong quá trình giao dịch. Theo các chuyên gia, các công ty chứng khoán đã nắm giữ một số lượng tiền tới hàng chục nghìn tỷ đồng, trong khi họ không có chức năng và không đủ nghiệp vụ để giữ và kiểm soát tiền. Bản thân các công ty chứng khoán dù rất tiếc món hời bấy lâu cũng phải thừa nhận tình trạng này. Việc công ty chứng khoán giữ tiền của nhà đầu tư như hiện nay chỉ ở Việt Nam mới có, còn các nước trên thế giới đều áp dụng theo mô hình: Công ty chứng khoán không quản lý tiền trong tài khoản của nhà đầu tư mà việc này được giao cho các ngân hàng thực hiện nhằm đảm bảo sự minh bạch. Do đó việc thực hiện quản lý tách biệt tiền giao dịch chứng khoán của nhà đầu tư là việc làm cần thiết. Với cách quản lý trước đây, tiền gửi vào tài khoản do các công ty chứng khoán nơi nhà đầu tư mở tài khoản quản lý. Công ty chứng khoán sẽ gửi toàn bộ tiền của nhà đầu tư vào một tài khoản chung tại ngân hàng. Lúc này, ngân hàng chỉ biết tổng số tiền trong tài khoản chung còn con số cụ thể trong từng tài khoản của nhà đầu tư thì chỉ duy nhất công ty chứng khoán nắm được. Đã có không ít trường hợp tài khoản của nhà đầu tư tự nhiên thiếu một khoản tiền lớn hoặc có lệnh mua “từ trên trời rơi xuống” xuất hiện mà chủ tài khoản không hề đặt lệnh thực hiện. Việc quản lý tách biệt tiền gửi của nhà đầu tư là một trong những mục tiêu quan trọng của Bộ Tài chính nhằm cải cách hệ thống giao dịch trên thị trường chứng khoán và giúp tài khoản của nhà đầu tư được quản lý chặt chẽ, tránh tình trạng tiền bị sử dụng tùy tiện. Chính vì vậy, quyết định chuyển tiền của nhà đầu tư sang ngân hàng là phù hợp bởi đây vốn là chuyên môn của các nhà băng. Ngoài việc đủ nhân lực, cơ sở 9 vật chất để thực hiện, ngân hàng còn đảm bảo an toàn cho nguồn tiền đó cũng như các quyền lợi phát sinh khác có liên quan cho nhà đầu tư. Việc tập trung thu nhận tiền về một mối sẽ giúp các CTCK tập trung nhân lực cho các dịch vụ chính của mình. Hơn nữa, các ngân hàng có mạng lưới hoạt động rộng cũng sẽ tạo thuận lợi cho nhà đầu tư khi cần gửi tiền hay rút tiền...Quy định trên sẽ đem lại sự an toàn về tiền gửi cho khách hàng khi CTCK gặp những khó khăn trong hoạt động kinh doanh. Đây là một việc làm mới và tích cực trong việc minh bạch hóa hơn trong chuyện quản lý tài sản của khách hàng và là bước đi lớn trong việc quản lý vĩ mô của nhà nước về chứng khoán, đồng thời cũng mở ra một kênh huy động vốn khác cho các ngân hàng thương mại. Tuy nhiên, vấn đề đặt ra là để làm được điều này, thì việc quan trọng nhất là phải có sự liên thông giữa hệ thống phần mềm của ngân hàng với phần mềm quản lý giao dịch của các công ty chứng khoán. 1.2 Hiện trạng các giải pháp kết nối thanh toán Quy định về việc các công ty chứng khoán phải ủy quyền cho một ngân hàng thương mại nhận và quản lý tiền của nhà đầu tư là một thách thức không nhỏ đối với các ngân hàng, đặc biệt là các công ty chứng khoán, khi thực trạng về hạ tầng CNTT của các bên còn nhiều khác biệt, mức độ sẵn sàng cũng khác nhau. Vấn đề nhà đầu tư quan tâm là việc liên thông các hệ thống giao dịch của công ty chứng khoán với hệ thống lõi của ngân hàng sẽ được thực hiện thế nào để bảo đảm tính an toàn bảo mật, trực tuyến cho các giao dịch của họ ; đặc biệt là tính đa kết nối để tạo sự liên thông giữa hai bên, thuận lợi cho nhà đầu tư. Khi chuyển qua hình thức quản lý mới này, khó khăn lớn nhất là hệ thống thông tin của nhiều công ty chứng khoán còn chưa kết nối được với hệ thống ngân hàng. Hơn nữa, một công ty chứng khoán còn được yêu cầu phải bảo đảm kết nối được cùng một lúc với nhiều ngân hàng lớn. Ngược lại, các ngân hàng cũng muốn kết nối với nhiều công ty chứng khoán để hình thành nên một mạng lưới đồng bộ và thông suốt. Nếu giải pháp sử dụng cho ngân hàng, nó phải giúp ngân hàng phân tích thông tin đến từ các công ty chứng khoán khác nhau và đặc biệt cho phép có sự tương tác hai chiều giữa ngân hàng và công ty chứng khoán. Trước mắt, để quản lý nguồn tiền gửi của các nhà đầu tư, các công ty chứng khoán là người đại diện mở tài khoản chung tại ngân hàng và giao ngân hàng quản lý. Ngân hàng sẽ cử một đại diện bên cạnh công ty chứng khoán để thu tiền của các nhà đầu tư. Trên thực tế, trong tổng số 103 CTCK đang hoạt động, những CTCK hoàn tất việc tách bạch tài khoản tiền gửi của mình với nhà đầu tư tại ngân hàng đa phần là những công ty "trẻ", có số tài khoản không nhiều. Số còn lại vẫn đang ì 10 ạch tách tài khoản tiền gửi của nhà đầu tư sang ngân hàng quản lý. Việc chậm trễ này có rất nhiều lý do như CTCK sợ rủi ro về kỹ thuật, sợ không đảm bảo tính an toàn và nhanh chóng trong giao dịch, sợ quá tải, sợ những rủi ro trong quá trình kết nối khiến CTCK mất khách hàng… nên việc tách tài khoản tiền của nhà đầu tư sang ngân hàng vẫn chỉ làm rón rén... Hiện tại có rất ít CTCK có kết nối trực tuyến thực sự với ngân hàng để thực hiện các giao dịch mua bán chứng khoán (Ví dụ như CTCK Âu Lạc kết nối với ngân hàng Eximbank và ngân hàng Phương Đông; CTCK Viễn Việt, Phương Đông, Đông Á, Chợ Lớn kết nối với ngân hàng TMCP Đông Á; giải pháp SmartConnect của công ty FPT kết nối CTCK Sao Việt và Ngân hàng Phương Đông, CTCK MHBS và ngân hàng BIDV…). Còn lại với đa số các CTCK khác, mặc dù khách hàng đã mở tài khoản tiền gửi thanh toán chứng khoán tại ngân hàng và việc nộp rút tiền được thực hiện tại ngân hàng nhưng được thực hiện theo cách thủ công. Ví dụ, ngân hàng sẽ đặt một quầy giao dịch ngay tại sàn giao dịch của CTCK, khách hàng nộp tiền tại ngân hàng (vào tài khoản tổng của CTCK hoặc vào TK tiền gửi cá nhân), sau đó CTCK mới căn cứ vào phiếu nộp tiền để cập nhật vào TK đầu tư chứng khoán của nhà đầu tư. Hoặc khi khách hàng muốn rút tiền thì phải qua sự đồng ý của CTCK trước (để cập nhật số dư tài khoản đầu tư chứng khoán) sau đó cầm phiếu rút tiền sang bên ngân hàng để rút tiền (và ngân hàng cập nhật số dư tài khoản tiền gửi). Tương tự, việc cập nhật số dư tài khoản tiền gửi của khách hàng khi có kết quả mua bán chứng khoán cũng được thực hiện thủ công bằng cách CTCK căn cứ vào kết quả giao dịch của nhà đầu tư để gửi bảng kê sang yêu cầu ngân hàng chuyển tiền từ tài khoản tiền gửi của nhà đầu tư sang tài khoản tổng của CTCK và ngược lại. Cũng có những CTCK thực hiện kết nối trực tuyến với ngân hàng nhưng thông qua một công ty trung gian chuyên về thanh toán điện tử (Ví dụ như công ty cổ phần dịch vụ thanh toán điện tử Việt Phú là trung gian kết nối CTCK Thành Công với ngân hàng Công Thương và một số ngân hàng, CTCK khác). Công ty trung gian này sẽ đứng ra đảm nhiệm việc kết nối giữa nhiều ngân hàng và nhiều CTCK, đảm bảo thực hiện các thay đổi cần thiết về mặt kỹ thuật, công nghệ phía các CTCK để có thể thực hiện giao dịch với tài khoản tiền gửi của nhà đầu tư tại ngân hàng. Ưu điểm của giải pháp kết nối qua công ty trung gian này đối với Ngân hàng và CTCK là sẽ giảm thiểu được thời gian, nhân lực cho việc thay đổi cơ sở hạ tầng công nghệ đang sử dụng mà vẫn kết nối trực tuyến được với nhiều ngân hàng và nhiều CTCK vì việc này đã có công ty trung gian đảm nhiệm. Tuy nhiên hạn chế của mô hình này là chi phí cho việc kết nối chắc chắn sẽ cao hơn, và vì phải qua một công ty trung gian nên có thể sẽ phát sinh những vấn đề rủi ro khi thực hiện giao dịch mà rất khó tìm nguyên nhân xem lỗi là tại CTCK, tại ngân hàng hay tại công ty trung gian. 11 1.3 Giải pháp đề xuất của luận văn Trong xu thế các công ty chứng khoán ngày càng phát triển, để thực hiện triệt để quy định của Bộ tài chính cũng như thực hiện tách bạch tài khoản tiền gửi của nhà đầu tư với tài khoản của CTCK giống các nước khác trên thế giới mà không phải làm một cách thủ công thì nhu cầu kết nối trực tuyến giữa ngân hàng và chứng khoán cũng gia tăng theo. Như trên đã nói, hiện nay đã có một số ngân hàng và CTCK thực hiện kết nối trực tuyến với nhau, và đa số các giải pháp này sử dụng kênh kết nối qua Web Service. Luận văn cũng đưa ra giải pháp kết nối trực tuyến dùng Web Service nhưng được kết hợp với phương thức truyền tải message SOAP qua công nghệ WebSphere MQ (WebSphere Message Queue) của hãng IBM[6]. Các chức năng của hệ thống được lập trình bằng Microsft Visual studio .Net C# và sử dụng hệ quản trị cơ sở dữ liệu oracle. Việc dùng WebSphere MQ để truyền tải message sẽ đáp ứng được các nhu cầu sau của một hệ thống kết nối: - Sự tích hợp: Hệ thống kết nối cần phải tích hợp các ứng dụng lõi của các ngân hàng và các công ty chứng khoán, việc giao tiếp trở nên khó hoàn tất khi các ứng dụng này: mở rộng phạm vi giao dịch; được viết bằng nhiều ngôn ngữ khác nhau; dựa trên các hệ điều hành hoặc bộ xử lý khác nhau; sử dụng các phương thức giao tiếp khác nhau…WebSphere MQ cung cấp một phương thức chung để giao tiếp giữa các ứng dụng, không bị phụ thuộc bởi ngôn ngữ, hệ điều hành, bộ xử lý, các giao thức truyền thông. - Giao tiếp không đồng bộ: Giao tiếp đồng bộ đòi hỏi các chương trình ứng dụng phải cùng sẵn sàng tại một thời điểm, nếu không thì một số chương trình sẽ bị ngăn cản làm việc cho đến khi chương trình khác sẵn sàng. Vì vậy cần có chương trình để giao tiếp không phụ thuộc lẫn nhau. WebSphere MQ cung cấp một cơ chế giao tiếp độc lập giữa các chương trình với nhau (giao tiếp không đồng bộ) - Phân phối có bảo đảm: Khi toàn bộ hoặc một phần của hệ thống bị lỗi, tính toàn vẹn của thông tin đang truyền có thể bị tổn hại: Thông tin có thể bị mất nếu không được lưu trữ an toàn trong quá trình truyền đi hoặc có thể bị trùng nếu gửi lại một cách không cần thiết. WebSphere MQ bảo đảm thông tin trao đổi giữa các phần trong hệ thống không bị mất cũng như không bị trùng lặp khi truyền. 12 - Tính linh hoạt: Khi có thêm các CTCK kết nối vào hệ thống, thời gian và công sức bỏ ra để kết nối một hệ thống mới vào một mạng có sẵn có thể rất lớn và đòi hỏi phải có một thời gian đáng kể để ngắt dịch vụ và ngừng hoạt động. WebSphere MQ cung cấp một phương pháp để tích hợp các hệ thống mới vào với việc ngắt dịch vụ tối thiểu. - Tính nhanh chóng và tiện lợi: Việc truyền nhận message qua lại trong hệ thống sẽ trở nên nhanh chóng và dễ dàng hơn khi sử dụng WebSphere MQ để truyền tải message. Hơn nữa, để cài đặt, cấu hình WebSphere MQ và viết chương trình để sử dụng WebSphere MQ cũng rất đơn giản. WebSphere MQ sẽ đáp ứng tất cả các nhu cầu trên bằng việc cung cấp một môi trường cho việc truyền thông tin và sắp xếp hàng đợi các thông tin đó (messaging and queuing). Ngoài ra, việc dùng Web Service kết hợp với WebSphere MQ sẽ giúp cho việc truyền tải message nhanh chóng và chính xác hơn nhiều, giảm bớt thao tác cần phải thực hiện khi triển khai Web Service và quan trọng hơn cả là không cần phải dựng web server. 13 CHƢƠNG 2: GIỚI THIỆU CÔNG NGHỆ WEBSPHERE MQ VÀ ỨNG DỤNG TRONG HỆ THỐNG KẾT NỐI THANH TOÁN 2.1 Giới thiệu công nghệ WebSphere MQ 2.1.1 Các đối tƣợng cơ bản của Websphere MQ Trong bối cảnh cạnh tranh ngày càng khốc liệt, cùng với việc Việt Nam gia nhập WTO và phải đối mặt những đối thủ khổng lồ với hệ thống thông tin tích hợp hiện đại và chính xác thì nhu cầu tích hợp dữ liệu quản lý doanh nghiệp càng bức thiết cho bất cứ doanh nghiệp nào muốn đứng vững. IBM được coi là một trong những công ty tiên phong trong việc xây dựng các sản phẩm hỗ trợ tích hợp doanh nghiệp, và điển hình phải nói đến bộ sản phẩm tích hợp ứng dụng IBM WebSphere. Sản phẩm WebSphere Message Queue (hay thường gọi là Websphere MQ) là lựa chọn đầu tiên trong quá trình xây dựng kiến trúc tích hợp. Websphere MQ bao gồm các đối tượng thành phần cơ bản sau đây[7]: Message: Message có thể là tập hợp các dữ liệu nhị phân hoặc ký tự (ASCII hoặc EBCDIC) được sử dụng trong quá trình giao tiếp giữa các chương trình để chuyển đổi dữ liệu. Mỗi message bao gồm 2 phần: Message header và Data. Message header chứa các thông tin điều khiển như Message ID, địa chỉ gửi message đến… Queue Manager: Queue manager là một chương trình cung cấp các dịch vụ về message cho các ứng dụng. Các ứng dụng dùng Message Queue Interface (MQI) có thể đặt và lấy message từ các queue. Queue manager đảm bảo các message được gửi đúng tới một queue hoặc được định tuyến để chuyển tới một queue manager khác. Các Queue manager là các thành phần cơ bản trong WebSphere MQ. Queue manager chứa các queue và các channel để kết nối các queue manager với nhau. Mỗi máy tính chứa các queue đều cần phải có một Queue Manager. Mỗi Queue Manager có một tên duy nhất, có nhiệm vụ quản trị các queue được tạo trong nó (các local queue). Trong một Queue Manager, mỗi queue có một tên, tên queue cùng với queue manager của nó sẽ cung cấp một địa chỉ đích duy nhất cho các message. Queues: Là nơi chứa các message cho đến khi một chương trình lấy các message đó. Chương trình gửi sẽ đặt message vào một queue tương ứng và message sẽ được một chương trình khác lấy ra từ queue đó. Mỗi queue có thể lưu giữ một dung 14 lượng và số lượng giới hạn các message, đồng thời cũng giới hạn độ dài của mỗi message. Một số Queue cơ bản: - Local queue (queue cục bộ): là nơi dữ liệu được lưu trữ để chờ xử lý. Trong mỗi Queue manager, local queue lưu trữ các message mà queue manager nhận được. - Transmission queue (queue truyền tải): là 1 loại đặc biệt của local queue, nơi message được lưu trữ cho tới khi chúng có thể được truyền đi và lưu trữ thành công tại queue manager ở xa. - Remote queue (queue từ xa): Đặc trưng cho một queue tại Queue manager khác, nó định nghĩa một local queue của một queue manager khác. Để gửi một message tới một queue trong một queue manager ở xa, queue manager gửi phải có một định nghĩa về local queue của queue manager nhận trong nó và đó chính là remote queue. - Dead-letter queue: Mỗi queue manager thường có một dead-letter queue (được biết đến như một queue chứa các message không được phân phối), queue này thường được định nghĩa cùng với queue manager. Message được đưa vào queue này nếu nó không thể được phân phối tới đích đã được chỉ ra. - Cluster queue: là một queue được chia sẻ trong một cluster mà tất cả các queue manager trong cluster có thể đặt và lấy message từ queue sử dụng cluster channel. Channel: Các message được truyền tải giữa các queue manager thông qua các kênh (channel). Mỗi channel là một con đường để liên kết truyền thông giữa các queue manager, nó có thể truyền các message đã được định trước với số lượng bất kỳ các queue được đặt tại queue manager ở xa hoặc số lượng bất kỳ các queue manager đích. Để một message có thể gửi tới một queue manager ở xa, queue manager cục bộ phải định nghĩa một transmission queue và một channel tới queue manager ở xa đó. Cuối mỗi channel có một dấu hiệu phân tách để biết đó là kênh gửi hay kênh nhận. Một channel đơn giản gồm có channel gửi (định nghĩa tại queue manager cục bộ) và channel nhận (định nghĩa tại queue manager ở xa), hai định nghĩa này có cùng tên (tối đa 20 ký tự) và cùng nhau tạo thành định nghĩa cho mỗi channel. Mỗi channel có một hướng duy nhất, nếu ứng dụng yêu cầu các message (bao gồm cả message trả lời) được trả về từ một queue manager ở xa thì cần phải 15 có một channel khác, channel này được định nghĩa để thực hiện chiều ngược lại giữa các queue manager. Mỗi queue manager dùng một hoặc nhiều channel để gửi và nhận message. Trong một mạng TCP/IP, một channel sẽ gửi hoặc nhận dữ liệu qua một cổng đặc biệt. Mỗi sending channel có một đích đã được định nghĩa và được kết hợp với một transmission queue. Một receiving channel sẽ nhận dữ liệu từ bất kỳ Queue manager nào có cùng sending channel. Khi receiving channel nhận một message, nó kiểm tra xem queue manager và queue nào được định trước. WebSphere MQ sử dụng 2 loại channel khác nhau:  Message channel: là một liên kết truyền thông không trực tiếp giữa 2 queue manager. Websphere MQ sử dụng các message channel để truyền message giữa các queue manager. Message channel có thể là một trong các loại sau: - Sender: Sender channel là một message channel mà queue manager sử dụng để gửi message tới queue manager khác. Để gửi message dùng message channel, trong queue manager khác cũng phải tạo một receiver channel cùng tên với sender channel. - Server: một server channel là một message channel mà queue manager sử dụng để gửi message tới queue manager khác. Để gửi message sử dụng server channel trong queue manager khác cần phải tạo một receiver channel cùng tên với server channel. Có thể sử dụng server channel cùng requester channel. - Receiver: receiver channel là một message channel mà queue manager sử dụng để nhận message từ queue manager khác. Để nhận message bằng cách sử dụng receiver channel thì cần phải tạo trong queue manager khác một sender hoặc server channel cùng tên với receiver channel này. - Requester: Một requester channel là một message channel mà queue manager dùng để gửi message tới queue manager khác. Để gửi message qua requester channel cần phải tạo trong queue manager khác một sender channel, hoặc một server channel. - Cluster-sender: Cluster-sender channel định nghĩa đầu gửi của một channel trong phạm vi một cluster queue manager có thể gửi thông tin về cluster tới một trong các nơi chứa. Cluster-sender được sử dụng để thông báo nơi chứa của bất kỳ sự thay đổi nào tới trạng thái của queue manager (ví dụ việc bổ sung hoặc huỷ bỏ một queue). Clustersender channel cũng dùng để truyền tải message. Bản thân toàn bộ 16 nơi chứa các queue manager cũng có các cluster sender channel trỏ tới nhau để truyền các thay đổi trạng thái cluster cho nhau. - Cluster-receiver: Cluster-receiver channel định nghĩa đầu nhận của một channel trong phạm vi một cluster queue manager có thể nhận message từ các queue manager khác trong một cluster. Clusterreceiver channel mang thông tin về cluster đã được định trước cho nơi chứa. Bằng việc định nghĩa cluster receiver channel, queue manager chỉ ra cho các cluster queue manager khác rằng nó đã sẵn sàng cho việc nhận message.  MQI channel: để định hướng và kết nối một ứng dụng (MQI client) tới một queue manager trên máy chủ. Websphere MQ sử dụng MQI channel để truyền tải các lời gọi và đáp MQI giữa các MQI client và queue manager. MQI channel có thể là một trong 2 loại: - Server connection: Server connection channel là một MQI channel định hướng sử dụng để kết nối một Websphere MQ client tới một Websphere MQ server. Server connection channel là đầu server của channel. - Client connection: Client connection channel là một MQI channel định hướng sử dụng để kết nối một Websphere MQ client tới một Websphere MQ server. Websphere MQ Explorer cũng sử dụng client connection để kết nối tới các queue manager ở xa. Client connection channel là đầu client của channel. Khi ta tạo một client connection channel hệ thống sẽ tạo ra một file trong máy tính chứa queue manager và cần phải copy file này tới máy Websphere MQ Client. Listener Listener là một Websphere MQ process để “nghe” các kết nối tới queue manager. Mỗi đối tượng listener trong Websphere MQ Explorer biểu diễn một tiến trình “nghe”, tuy nhiên nếu tiến trình “nghe” này được start từ command line thì listener không được biểu diễn bởi listener object trong Websphere MQ Explorer. Do đó để quản lý tiến trình “nghe” từ Websphere MQ Explorer cần phải tạo đối tượng listener trong Websphere MQ Explorer và khi start đối tượng listener trong Websphere MQ Explorer, tiến trình “nghe” sẽ bắt đầu. Listener có chức năng phát hiện kết nối từ các channel và quản lý kết nối từ sending channel đến receiving channel. Trong mạng TCP/IP, Listener sẽ “nghe” các kết nối tại một cổng đặc biệt được chỉ ra khi cấu hình. Queue Manager Cluster: 17 Khi các queue được thêm vào hoặc bớt đi, việc quản trị việc truyền message trở nên khắt khe, có nhiều ngoại lệ hơn. Bằng việc dùng Queue Manager Cluster (QMC), gánh nặng quản trị có thể giảm. Queue Manager Cluster giống như một hộp đen chứa mọi Queue Manager, các chương trình bên ngoài có thể truy cập đến Queue Manager Cluster bằng WebSphere MQ Client. Các Queue manager trong cùng một QMC có thể trao đổi message mà không cần phải định nghĩa Remote Queue, Transmission Queue, Message Channel. Thông tin về tất cả các queue trong một cluster sẽ được lưu trong Cluster Full Repository. Khi một Queue manager muốn gửi message tới một queue trong cluster, nó sẽ sử dụng thông tin về vị trí của queue đích nhờ cluster full repository. Cluster Channel sẽ tự động được tạo ra. QMC giúp giảm tải giữa các chương trình: Nếu số lượng message được gửi đến một queue trong cluster vượt quá khả năng xử lý của queue đó, để giảm tải, ta có thể định nghĩa một queue mới có cùng tên với queue đó nhưng ở Queue Manager khác trong cluster. Khi message được gửi tới một queue mà được định nghĩa ở 2 Queue manager khác nhau, WebSphere MQ sẽ tự động làm công việc giảm tải bằng việc phân phối message đều cho mỗi queue. 2.1.2 Đặc trƣng của Websphere MQ và cơ chế truyền tải message Đảm bảo phân phối message: WebSphere MQ cung cấp sự đảm bảo phân phối message cùng lúc qua nhiều hệ nền khác nhau và đảm bảo rằng message không bao giờ bị mất nếu MQ đã được cấu hình. Hơn nữa WebSphere MQ cho phép truyền dữ liệu giữa các hệ thống với kiến trúc và giao thức khác nhau.[6] Không phụ thuộc thời gian và phạm vi ứng dụng: MQ cung cấp cho các trình thiết kế ứng dụng một cơ chế kiến trúc không phụ thuộc thời gian. Message có thể được gửi từ ứng dụng này tới ứng dụng khác ngay cả khi các ứng dụng này không cùng chạy tại một thời điểm. Nếu một ứng dụng nhận message không chạy khi ứng dụng khác gửi message đến thì Queue manager sẽ giữ message này cho tới khi ứng dụng nhận hỏi đến. Trật tự sắp xếp các mesage trong queue mặc định là FIFO.[6] Message có thể được truyền giữa các máy và các ứng dụng trong một mạng. Một queue có thể chứa các message gửi từ các ứng dụng trên cùng một máy hoặc các máy khác nhau. Đồng thời các ứng dụng trên cùng một máy hoặc các máy khác nhau cũng có thể lấy message ra từ một queue.[6] Giao tiếp trong phạm vi rộng lớn: 18 WebSphere MQ cung cấp một cơ chế mềm dẻo cho việc truyền thông điệp trong toàn bộ hệ thống. Sự mềm dẻo của WebSphere MQ cũng cho phép truyền thông điệp giữa các ứng dụng trong và ngoài hệ thống của doanh nghiệp.[6] Trong suốt đối với vị trí của queue: Một chương trình có thể gửi các message tới một queue ở xa mà không cần biết vị trí của nó miễn là queue ở xa đó đã được định nghĩa trong Queue Manager cục bộ. Remote Queue Definition lưu địa chỉ của queue đích và transmission queue. Queue Manager cục bộ dùng các thông tin này định vị được nơi gửi message đến. Bằng việc dùng Remote Queue Definition, Message Channel, Transmission Queue, mọi chương trình đều có thể gửi message tới mọi queue mà không cần quan tâm tới vị trí của queue đó. Giao tiếp với các Queue Manager cục bộ Các chương trình giao tiếp với các Queue Manager cục bộ thông qua một giao diện lập trình ứng dụng (API) như WebSphere MQ Message Queue Interface (MQI) hoặc Java Message Service (JMS) Chương trình tạo ra message và gửi nó tới Queue manager của nó bằng việc gọi các hàm API. Nếu queue đích là local queue thì QM sẽ gửi trực tiếp message tới đó. Thông qua các lời gọi API, chương trình cũng có thể lấy các message từ local queue. Giao tiếp bằng WebSphere MQ Clients Nếu một chương trình không có Queue Manager trên cùng một máy, ta có thể sử dụng việc gọi các hàm API thông qua WebSphere MQ Client. Client sẽ giao tiếp với queue manager ở xa bằng một client connection. Điều này cho phép chương trình có thể tương tác với Queue Manager ở xa giống như với Queue Manager cục bộ. Cơ chế truyền tải message tới một queue ở xa Nếu một chương trình muốn gửi message tới một queue ở xa (một queue thuộc queue manager khác) thì cần phải có các điều kiện sau: - Một Message Channel (dùng để kết nối giữa Queue Manager này tới một Queue Manager ở xa khác) - Một transmission queue dùng để lưu trữ message nếu message channel chưa sẵn sàng. Queue Manager sẽ đặt các message vào trong transmission Queue trước khi nó được gửi tới Queue Manager đích ở xa.
- Xem thêm -

Tài liệu liên quan