Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)Sử dụng giải pháp Soa middleware vào tích hợp hệ thống corebanking incas (tt)
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - LÊ THANH HẢI SỬ DỤNG GIẢI PHÁP SOA MIDDLEWARE VÀO TÍCH HỢP HỆ THỐNG COREBANKING INCAS LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hƣớng ứng dụng) HÀ NỘI – 2017 HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG - LÊ THANH HẢI SỬ DỤNG GIẢI PHÁP SOA MIDDLEWARE VÀO TÍCH HỢP HỆ THỐNG COREBANKING INCAS CHUYÊN NGÀNH : MÃ SỐ: HỆ THỐNG THÔNG TIN 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hƣớng ứng dụng) NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS HÀ HẢI NAM HÀ NỘI – 2017 i LỜI CAM ĐOAN Luận văn thành trình học tập nghiên cứu giúp đỡ, tạo điều kiện quý thầy cô sau năm theo học chƣơng trình đào tạo Thạc sĩ, chuyên ngành Hệ thống Thông tin trƣờng Học viện Công nghệ Bƣu Viễn thông Tôi cam đoan công trình nghiên cứu riêng Nội dung luận văn có tham khảo sử dụng số thông tin, tài liệu từ nguồn sách, tạp chí đƣợc liệt kê danh mục tài liệu tham khảo đƣợc trích dẫn hợp pháp TÁC GIẢ Lê Thanh Hải ii LỜI CẢM ƠN Em xin đƣợc bày tỏ lòng kính trọng biết ơn sâu sắc đến PGS.TS Hà Hải Nam trực tiếp hƣớng dẫn tận tình bảo em suốt thời gian làm luận văn tốt nghiệp Em xin chân thành cảm ơn toàn thể thầy giáo, cô giáo Học viện Công nghệ Bƣu Viễn thông tận tình bảo em suốt thời gian học tập trƣờng Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp giúp đỡ tạo điều kiện để em hoàn thành tốt luận văn Hà Nội, tháng 05 năm 2017 Học viên Lê Thanh Hải iii MỤC LỤC DANH MỤC KÝ HIỆU VIẾT TẮT v DANH SÁCH CÁC BẢNG vi DANH SÁCH HÌNH VẼ vii MỞ ĐẦU 1 Tính cấp thiết đề tài Tổng quan vấn đề nghiên cứu Mục đích nghiên cứu 4 Đối tƣợng phạm vi nghiên cứu 5 Phƣơng pháp nghiên cứu Cấu trúc luận văn CHƢƠNG I TỔNG QUAN GIẢI PHÁP TÍCH HỢP HỆ THỐNG SOA MIDDLEWARE Kiến trúc SOA: Giới thiệu Kiến trúc hướng dịch vụ 1.1 1.1.1 Khái niệm 1.1.2 Các đặc điểm dịch vụ 1.1.3 Các nguyên lý SOA 1.1.4 Tính chất SOA 10 1.1.5 Các ƣu điểm SOA 11 1.2 Xây dựng hệ thống theo kiến trúc SOA 11 1.2.1 Mô hình tổng thể SOA 11 1.2.2 Mô hình giao tiếp thông điệp (message) SOA 13 1.2.3 Mô hình kiến trúc triển khai SOA 14 1.2.3.1 Kiến trúc triển khai SOA thành phần 14 1.2.3.2 Phƣơng pháp luận cho việc triển khai kiến trúc SOA 16 Các thành phần cấu thành hệ thống SOA Middeware 19 2.1 EMS vai trò 19 2.1.1 Giới thiệu: 19 2.1.2 Vai trò 20 2.1.3 Các tính 20 iv 2.1.4 2.2 Các sản phẩm messaging 21 ESB vai trò 21 2.2.1 Giới thiệu 21 2.2.2 Vai trò 21 2.2.3 Các tính 22 Kết luận chƣơng I 22 CHƢƠNG II GIẢI PHÁP TÍCH HỢP CÁC DỊCH VỤ CỦA HỆ THỐNG COREBANKING INCAS 23 Giải pháp xây dựng hệ thống Middleware tích hợp hệ thống Backend sử dụng sản phẩm TIBCO 24 Mô tả corebanking INCAS dịch vụ liên quan: 25 2.1 Vấn tin số dư tài khoản CA (Current Account): 26 2.2 Vấn tin lịch sử giao dịch tài khoản CA 26 2.3 Chuyển khoản tài khoản CA-CA 27 Phân tích cấu trúc tin giao tiếp ABCS Mbase 28 3.1 Bản tin MBase 28 3.2 Bản tin ABCS 35 Kết luận chƣơng II 38 CHƢƠNG III XÂY DỰNG HỆ THỐNG THỬ NGHIỆM 39 Các điều kiện đảm bảo triển khai thử nghiệm: 39 Xây dựng giả lập hệ thống giao dịch ngân hàng 40 Xây dựng luồng xử lý giao tiếp hệ thống Middleware với Corebanking 42 Xây dựng hệ thống giả lập Corebanking 46 Kết luận chƣơng III 46 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 v DANH MỤC KÝ HIỆU VIẾT TẮT Viết tắt SOA EAI ESB EMS CNTT CA TPS Tiếng Anh Service Oriented Achitecture Enterprise Application Integration Enterprise Service Bus Enterprise Message System Current account Transaction per second Tiếng Việt Kiến trúc hƣớng dịch vụ Tích hợp ứng dụng doanh nghiệp Trục dịch vụ doanh nghiệp Hệ thống thông điệp doanh nghiệp Công nghệ Thông tin Tài khoản Giao dịch giây vi DANH SÁCH CÁC BẢNG Bảng 2.1: Quy trình vấn tin số dƣ [3] .26 Bảng 2.2: Quy trình vấn tin lịch sử giao dịch [3] .26 Bảng 2.3: Quy trình chuyển khoản [3] 27 Bảng 2.4: Bản tin MBase [5] 28 Bảng 2.5: MBase Socket Header [5] 28 Bảng 2.6: MBase DSP Header [5] 29 Bảng 2.7: MBase Header [5] 31 Bảng 2.8: ABCS Socket Header [5] 35 Bảng 2.9: ABCS DSP Header [5] .36 Bảng 2.10: ABCS Message Header [5] 38 vii DANH SÁCH HÌNH VẼ Hình 1.1: Sơ đồ tổng quan liên kết hệ thống ngân hàng [5] .2 Hình 1.2: Tích hợp ứng dụng Hình 1.3: Kiến trúc áp dụng hệ thống SOA Middleware [4] Hình 1.4: Mô hình SOA [11] 12 Hình 1.5: Kiến trúc SOA quy trình [11] 13 Hình 1.6: Giao tiếp message 13 Hình 1.7: Kiến trúc triển khai SOA [4] .14 Hình 1.8: Kiến trúc tổng quan xây dựng ESB [4] .17 Hình 1.9: Các giai đoạn triển khai [4] .17 Hình 1.10: Các thành phần tham gia xây dựng tích hợp [4] .18 Hình 1.11: EMS [11] 19 Hình 1.12: ESB 21 Hình 2.1: TIBCO ESB [5] .24 Hình 2.2: Luồng tích hợp với Corebanking INCAS [4] 25 Hình 3.1: Server triển khai phần mềm TIBCO 39 Hình 3.2: Mô hình triển khai .40 Hình 3.3: Đăng nhập 40 Hình 3.4: Các dịch vụ 41 Hình 3.5: Tra cứu số dƣ tài khoản .41 Hình 3.6: Lịch sử giao dịch CA 42 Hình 3.7: Chuyển khoản CA-CA 42 Hình 3.8: TIBCO-luồng tra cứu số dƣ 43 Hình 3.9: TIBCO – luồng tra cứu lịch sử giao dịch 43 Hình 3.10: TIBCO – luồng chuyển khoản CACA 44 Hình 3.11: TIBCO – luồng xử lý tin truy vấn số dƣ 44 Hình 3.12: TIBCo – luồng xử lý tin lịch sử giao dịch .45 Hình 3.13: TIBCO – luồng xử lý tin chuyển khoản CACA .45 Hình 3.14: Hệ thống giả lập Corebanking 46 MỞ ĐẦU Tính cấp thiết đề tài Hiện nay, hệ thống Corebanking ngân hàng vào hoạt động bình quân từ 10 đến 13 năm Về mặt tổng thể, hệ thống hỗ trợ hiệu hoạt động kinh doanh Ngân hàng với tăng trƣởng đáng kể ngành khối lƣợng giao dịch Tuy nhiên, hệ thống giao dịch hệ thống lõi ngân hàng kết nối trực tiếp với Corebanking nên với nhu cầu tăng trƣởng nhanh, triển khai dịch vụ liên tục mô hình hệ thống gặp phải nhiều khó khăn trở ngại: Nền tảng hệ thống không đồng nhất, thiếu tiêu chuẩn, thiếu quản lý tích hợp tập trung Các thông tin khách hàng không đƣợc quản lý tập trung, ví dụ, hệ thống ATM INCAS Kênh ngân hàng nhƣ nhân viên giao dịch chi nhánh, ATM, Internet Banking, Phone Banking, vv… hoàn toàn bị ngắt kết nối Do thiếu giải pháp theo chuẩn phụ thuộc trực tiếp vào tảng hệ thống cũ, sở hạ tầng tổng thể khiến cho giải pháp thiếu linh hoạt, khó mở rộng, dẫn đến nhiều vấn đề việc đáp ứng nhu cầu kinh doanh Do đó, ngân hàng định triển khai xây dựng hệ thống lớp mềm dẻo để đồng tích hợp toàn hệ thống sở hạ tầng CNTT Tổng quan vấn đề nghiên cứu Cơ sở hạ tầng Ngân hàng nhƣ Hình cho thấy Các dịch vụ corebanking đƣợc cung cấp hệ thống Silverlake (INCAS) Các kênh front-end hệ thống back-office tích hợp với INCAS trực tiếp thông qua ESB tự phát triển (sử dụng tảng Java) 34 Code HDRRE3 50 A 217 Response Reason I First byte used as “next action For Code code” default value „C” for record locking purpose inter-branch and access checking “C” – Change “D” – Delete “M” – Maintenance Next action code “D” or “C” or “M” – Lock record for update or delete HDRCD4 A 267 Response Error Code HDRRE4 50 A 274 Response Reason O For Code Pass out 30 bytes used to store message on the user who is locking the record Information includes user id, file name number HDRCD5 A 324 Response Error Code HDRRE5 50 A 331 Response Reason For Code HDDTIN 381 Date In From Client DDMMYYYY and record 35 HDTMIN 386 Time HDACTN In From Client HHMMSS 19 390 Account No HDACTY A 400 Account Type HDCIFN 19 HDFILR 10 401 CIF No A 411 Filler 3.2 Bản tin ABCS [5] Tổng độ dài 4096 Byte Socket Header DSP Header ABCS Header ABCS Message Data 36 bytes 213 bytes 74 bytes 3773 bytes ABCSIn = Socket Header + DSP Header + ABCS Header + ABCSInput ABCSOut = Socket Header + DSP Header + ABCS Header + ABCSResp Socket Header Bảng 2.8: ABCS Socket Header [5] Fields name Description Length Size Attr Position M/O *** Header Section (36 bytes) *** SKTMLEN Socket Message B M 5 A M 15 15 A 10 O Length (trừ byte trƣờng này) SKTHEAD Header Type (mặc định = ‟*LINX‟) SKTDEV Device Name (IP App) 36 SKTSKNB Socket Number 5 S 25 - SKTPORT Port Number 6 S 30 - SKTFILL Filler 1 A 36 O DSP Header Bảng 2.9: ABCS DSP Header [5] Fields name Description I13HLEN Header Length = 213 Length Size Attr Position M/O S - S - S 11 - A 15 - A 19 - A 29 M A 39 - A 49 - A 55 - S 63 O I13MLEN Message Length 6 I13VERS Version Number = 200 4 I13HFMID Header Format ID = ‟ *DSP‟ I13FMID Data Format ID 10 Lấy từ file cấu hình 10 theo loại message I13SID Source ID = ‟ *LINX‟ 10 10 I13DID Destination ID 10 10 I13RTGN Routing Number 6 I13MSTA Message Status 8 I13BIN Bank ID Number 11 11 37 I13NODE Node S 74 - A 76 - A 96 M A 112 M A 116 - A 138 M S 150 - S 154 - S 158 - A 162 O A 172 O A 182 O A 192 - I13XID Exchange ID 20 20 I13SSNO Scenario Number 16 Lấy từ file cấu hình 16 theo loại message I13TRCD Txn Code/Sub SSNO 4 I13RRNO Retrieval Reference 22 No I13ACQN Acquirer 22 Reference 12 No I13TMNO Transmission Number 12 4 I13NREC Records to be loaded Lấy từ file cấu hình theo loại message I13NERR Errors to be loaded Lấy từ file cấu hình theo loại message I13USER User ID 10 10 I13TMID Terminal ID 10 10 I13SUPV Supervisor ID 10 10 I13MORE More record indicator 38 Lấy từ file cấu hình theo loại message I13CUTO Cut-off indicator A 193 - A 194 - Position M/O I13UDTA User Data 20 20 ABCS Header Message Bảng 2.10: ABCS Message Header [5] Fields name Description Length Size ICLEN Message Length 9 ICHEAD Message Header 5 ICRTRQ Router Queue 10 10 16 ICDEVN Device 15 15 31 ICID Message number 5 36 Communications Attr 46 ICCOMQ Queue 10 10 ICIPSF Final socket addr 9 55 TMTIMIN Entry time 6 61 TMTXTYP Transaction type 5 66 ICRSV1 RESERVED 5 71 ICEOM EOM group indicator 4 75 Kết luận chƣơng II Chƣơng đƣa kiến trúc tham chiếu triển khai cho hệ thống SOA Middleware tích hợp với hệ thống Corebanking INCAS sử dụng sản phẩm TIBCO, mô tả luồng thực toán thử nghiệm Giới thiệu chức Corebanking, dịch vụ hệ thống quản lý, luồng quy trình nghiệp vụ xử lý yêu cầu đƣợc gửi từ hệ thống giao dịch ngân hàng 39 CHƢƠNG III XÂY DỰNG HỆ THỐNG THỬ NGHIỆM Trong phần xây dựng hệ thống thử nghiệm sử dụng sản phẩm TIBCO để xây dựng hệ thống SOA Middleware, xây dựng giả lập hệ thống giao dịch ngân hàng hệ thống giả lập Corebanking INCAS với yêu cầu môi trƣờng, cấu hình máy chủ thành phần tham gia nhƣ sau Các điều kiện đảm bảo triển khai thử nghiệm: Để xây dựng đƣợc hệ thống Middleware thử nghiệm đứng hệ thống giao dịch hệ thống Backend cho toán này, giả sử độ phức tạp quy trình tích hợp trung bình từ đến 10 bƣớc, với thao tác truy cập sở liệu logging trung bình, ESB đạt lực xử lý 50-70 TPS với thời gian đáp ứng nhỏ 30 giây cấu hình phần cứng kiến trúc mạng nhƣ đề xuất nhƣ dƣới đây: - 03 server đóng vai tr ESB sử dụng hệ điều hành: Window 2008 R2, Solaris (Các server kết nối mạng LAN với cài đặt phần mềm tƣơng ứng nhƣ hình): Hình 3.1: Server triển khai phần mềm TIBCO - Cơ sở liệu: Oracle 11R2 Phần mềm TIBCO : • TIBCO EMS • TIBCO BusinessWork 40 - • TIBCO Adapter Mô hình triển khai: Hình 3.2: Mô hình triển khai Xây dựng giả lập hệ thống giao dịch ngân hàng Phần xây dựng giả lập hệ thống giao dịch trực tuyến ngân hàng, đóng vai tr ngƣời dùng cuối sử dụng dịch vụ xây dựng lại theo kiến trúc SOA Hình 3.3: Đăng nhập 41 Hệ thống giả lập InternetBanking sử dụng 03 dịch vụ Corebbanking INCAS: Chuyển khoản CA-CA, Vấn tin tài khoản CA, Tra cứu lịch sử giao dịch Hình 3.4: Các dịch vụ - Màn hình dịch vụ Vấn tin tài khoản Hình 3.5: Tra cứu số dƣ tài khoản 42 - Màn hình Tra cứu lịch sử giao dịch Hình 3.6: Lịch sử giao dịch CA - Màn hình chuyển khoản CA-CA Hình 3.7: Chuyển khoản CA-CA Xây dựng luồng xử lý giao tiếp hệ thống Middleware với Corebanking Phần xây dựng luồng xử lý giao tiếp hệ thống giao dịch ngân hàng với Corebanking thông qua hệ thống Middleware Quy chuẩn dịch vụ nêu theo chuẩn SOA Phần xây dựng luồng xử lý tin giao tiếp, xử lý nghiệp vụ thành phần đóng vai trò ESB phục vụ việc giao tiếp hệ thống Front End Back End 43 Sau triển khai, dịch vụ đƣợc đóng gói thành dịch vụ chung, cung cấp Interface để hệ thống Front End gọi vào sử dụng dịch vụ theo nhu cầu Hình 3.8: TIBCO-luồng tra cứu số dƣ Hình 3.9: TIBCO – luồng tra cứu lịch sử giao dịch 44 Hình 3.10: TIBCO – luồng chuyển khoản CACA - Các luồng xử lý bên dịch vụ, phần hoàn toàn xử lý nội bên ESB, hệ thống Front End không nhìn thấy không cần quan tâm đến giai đoạn xử lý: • Các luồng đón nhận thông tin yêu cầu, xử lý tin ABCS hay MBase đầu vào trả tin đầu tƣơng ứng Hình 3.11: TIBCO – luồng xử lý tin truy vấn số dƣ 45 Hình 3.12: TIBCo – luồng xử lý tin lịch sử giao dịch Hình 3.13: TIBCO – luồng xử lý tin chuyển khoản CACA - - Sau hoàn thành xây dựng triển khai ESB vào hoạt động, có thay đổi nghiệp vụ cần thay đổi ESB thay phải thay đổi sửa code toàn Client gọi vào Corebanking, giảm thiểu tối đa thời gian Coding Triển khai nhanh có dịch vụ vào phục vụ hoạt động kinh doanh, giảm nhân lực thực triển khai 46 Xây dựng hệ thống giả lập Corebanking Phần xây dựng giả lập hệ thống Corebanking INCAS với nhiệm vụ tiếp nhận yêu cầu từ hệ thống Middleware gửi xuống, tiến hành xử lý thông tin trả kết Hình 3.14: Hệ thống giả lập Corebanking Kết luận chƣơng III Chƣơng xây dựng hệ thống giả lập Corebanking INCAS có nhiệm vụ tiếp nhận xử lý tin tƣơng tự nhƣ hệ thống Core thật Sử dụng sản phẩm TIBCO để xây dựng hệ thống Middleware tích hợp với hệ thống Corebanking, xử lý yêu cầu từ hệ thống giao dịch chuyển đổi thành dịch vụ theo kiến trúc SOA cho hệ thống khác sử dụng lại 47 KẾT LUẬN Luận văn đạt đƣợc số kết sau: Trình bày khái niệm kiến trúc SOA mô hình triển khai SOA Middleware Tìm hiểu giải pháp xây dựng trục tích hợp ESB sử dụng sản phẩm hãng TIBCO Tích hợp thành công hệ thống giao dịch với Corebanking INCAS thông qua hệ thống SOA Middleware Hạn chế: Kiến thức nghiệp vụ ngân hàng chƣa phong phú Hiện tập trung vào hệ thống Corebanking INCAS, nhiên thực tế để làm rõ đƣợc vai trò hệ thống Middleware phải tích hợp nhiều hệ thống Backend ngân hàng Điều hƣớng mở rộng cho phát triển đề tài 48 TÀI LIỆU THAM KHẢO [1] Bài giảng môn học Mô hình Lập trình tiên tiến, TS Đỗ Thị Bích Ngọc – Học Viện Bƣu Chính Viễn Thông năm 2016 [2] Bài giảng môn học Các hệ thống phân tán, PGS.TS Hà Hải Nam – Học Viện Bƣu Chính Viễn Thông năm 2016 [3] Tài liệu nội luồng nghiệp vụ xử lý giao dịch liên quan đến Corebanking INCAS ngân hàng Viettinbank năm 2012 [4] Tài liệu nội Tầm nhìn Giải pháp kiến trúc cho hệ thống Công nghệ thông tin ngân hàng Viettinbank năm 2012 [5] Tài liệu mô tả, thiết kế hệ thống ngân hàng Viettinbank năm 2012 [6].Don Adams and Rourke McNamara (2006), TIBCO Service-Oriented Architecture and Best Practices, TIBCO Software, Inc [7] Douglas K Barry (2003), Web Services and Service-Oriented Architecture: The Savvy Manager's Guide, Morgan Kaufmann Publishers [8] IBM Red Book Team (2004), Pattern: Implementing an SOA using Enterprise Service Bus [9] Judith Hurwitz, Robin Bloor, Marcia Kaufman and Dr Fern Halper (2009), Service Oriented Architecture for Dummies®, 2nd IBM Limited Edition, Wiley Publishing, Inc, Indiana [10] M.A.T Linssen (2009), Integration Architecture – Dummy guide [11] Paul C.Brown (2011), TIBCO Architecture Fundamentals, Pearson Education, Inc [12] http://en.wikipedia.org/wiki/Service-Oriented_Architecture [13] What is service-oriented architecture? – http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html ... II GIẢI PHÁP TÍCH HỢP CÁC DỊCH VỤ CỦA HỆ THỐNG COREBANKING INCAS 23 Giải pháp xây dựng hệ thống Middleware tích hợp hệ thống Backend sử dụng sản phẩm TIBCO 24 Mô tả corebanking. .. QUAN GIẢI PHÁP TÍCH HỢP HỆ THỐNG SOA MIDDLEWARE Chƣơng giới thiệu khái niệm SOA, thành phần hệ thống Middleware kiến trúc xây dựng tích hợp với hệ thống Backend CHƢƠNG II GIẢI PHÁP TÍCH HỢP CÁC... áp dụng giải pháp kiến trúc SOA hệ thống Middleware vào hệ thống ngân hàng Xây dựng hệ thống ngân hàng giả lập: Corebanking INCAS Xây dựng hệ thống Middleware tích hợp với hệ thống giả lập