Xây dựng hệ thống giao dịch trực tuyến trên mạng Internet tại Ngân hàng đầu tư và phát triển Việt Nam Xây dựng hệ thống giao dịch trực tuyến trên mạng Internet tại Ngân hàng đầu tư và phát triển Việt Nam luận văn tốt nghiệp thạc sĩ
Trang 2
LUẬN VĂN THẠC SĨ KHOA HỌC
XÂY DỰNG HỆ THỐNG GIAO DỊCH TRỰC TUYẾN
TRÊN MẠNG INTERNET TẠI NGÂN HÀNG ĐẦU TƯ VÀ PHÁT TRIỂN VIỆT NAM
NGÀNH: ĐIỆN TỬ VIỄN THÔNG
MÃ SỐ:
DƯƠNG BÁ HỒNG THUẬN
Người hướng dẫn khoa học: PGS.TS Nguyễn Việt Hương
Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa Hà Nội
Hà Nội, 2005
Trang 3MỞ ĐẦU
Trong những năm vừa qua, việc ứng dụng tin học phục vụ công tác điều
hành sản xuất kinh doanh trong các ngành kinh tế nói chung và trong ngành ngân
hàng nói riêng đã đem lại những hiệu quả rất to lớn Để thành công, các doanh
nghiệp phải không ngừng hiện đại hóa công tác quản lý điều hành cũng như phục
vụ hoạt động sản xuất kinh doanh bằng cách áp dụng công nghệ thông tin vào
trong quản lý và sản xuất kinh doanh Ngân hàng đầu tư và Phát triển Việt Nam
(BIDV) cũng không nằm ngoài quy luật đó Trong những năm qua BIDV đã liên
tục đầu tư, đổi mới công nghệ nhằm tạo ra một hệ thống thông tin hiên đại phục vụ
công tác quản trị điều hành và sản xuất kinh doanh Trong bối cảnh nền kinh tế thị
trường cạnh tranh gay gắt giữa các ngân hàng, các tổ chức tín dụng, càng đòi hỏi
các ngân hàng cung cấp dịch vụ tốt nhất, thuận tiện, nhanh chóng, an toàn và
chính xác nhất cho khách hàng
Thương mại điện tử với lợi thế thuận tiện, nhanh chóng,… đã được áp dụng
từ lâu trên thế giới Tuy nhiên, tại Việt Nam thương mại điện tử vẫn chưa chứng tỏ
được lợi thế của mình Các doanh nghiệp mới chỉ dừng lại ở mức giới thiệu về
mình chứ chưa thực sự áp dụng TMĐT hoàn toàn vào quá trình sản xuất kinh
doanh trên mạng Trước bối cảnh đó, các ngân hàng cũng cần phải gia tăng dịch
vụ ngân hàng nhằm cung cấp cho khách hàng những dịch vụ an toàn, tiện lợi,
nhanh chóng, và đặc biệt là bất kể giờ giấc, thời tiết, ngày nghỉ,…
Luận văn tốt nghiệp này tập trung nghiên cứu nhằm xây dựng một hệ thống
giao dịch ngân hàng trực tuyến (trên Internet) triển khai tại ngân hàng Đầu tư và
phát triển Việt Nam (gọi là BIDV Internet banking System) nhằm cung cấp cho
khách hàng một kênh dịch vụ mới tiện lợi, nhanh chóng, an toàn,…
Trang 4Chương 1-Tổng quan
Chương này sẽ giới thiệu về Ngân hàng Đầu tư và Phát triển Việt Nam, giới
hạn phạm vi nghiên cứu và lựa chọn phương pháp xây dựng hệ thống
Chương 2-Hệ thống hiện tại của NHĐT&PT VN
Chương này sẽ giới thiệu về cơ sở hạ tầng công nghệ thông tin hiện tại của
BIDV, kiến trúc ứng dụng, công nghệ đang được áp dụng để từ đó lựa chọn công
nghệ xây dựng hệ thống BIDV Internet Banking
Chương 3-Giải pháp công nghệ
Chương này sẽ phân tích một số công nghệ có thể sử dụng để phát triển hệ
thống BIDV Internet Banking và đưa ra phương án lựa chọn công nghệ phù hợp
Chương 4-Phân tích thiết kế hệ thống
Chương này tập trung tìm hiểu yêu cầu của hệ thống, các dịch vụ được
cung cấp bởi hệ thống,… và phân tích thiết kế cụ thể để xây dựng hệ thống
Chương 5-Bảo mật hệ thống
Vì hệ thống được triển khai trên môi trường mạng thông tin toàn cầu nên
rủi ro là rất lớn Chương này tập trung nghiên cứu giải pháp bảo mật hệ thống
nhằm cung cấp một dịch vụ an toàn, tin cậy cho khách hàng và cho ngân hàng
Chương 6-Giới thiệu hệ thống
Chương này sẽ giới thiệu một số giao diện điển hình của hệ thống BIDV
Internet Banking,…các chức năng yêu cầu được thực hiện bởi người dùng thông
qua những giao diện gì
Chương 7-Kết luận và kiến nghị
Chương này đưa ra đánh giá chủ quan về thống, đồng thời đưa ra một số đề
xuất, kiến nghị nhằm nhanh chóng triển khai hệ thống BIDV Internet Banking
Trang 5Tôi xin trân trọng cảm ơn PGS.TS.Nguyễn Việt Hương - giáo viên hướng dẫn
trực tiếp về kiến thức cơ bản cũng như phương pháp luận và Giám đốc TTCNTT Ngân
hàng ĐT&PT Việt Nam TS Đặng Mạnh Phổ - lãnh đạo cơ quan nơi tôi làm việc đã tận
tình hướng dẫn tôi về mặt kỹ thuật cũng như qui trình nghiệp vụ trong suốt quá trình hoàn
thành luận văn này Tôi cũng xin chân thành cảm ơn tập thể cán bộ Trung Tâm CNTT
Ngân hàng ĐT&PT Việt Nam đã có những đóng góp quí báu và tạo điều kiện giúp đỡ tôi
hoàn thành luận văn này
Hà nội, ngày 10 tháng 11 năm 2005
Học viên
Dương Bá Hồng Thuận
Trang 63 CĐTK Cân đối tài khoản
4 CNTT Công nghệ thông tin
15 TTCNTT Trung tâm Công nghệ Thông tin
16 TTHĐ Thanh toán hoá đơn
17 TTTT Trung tâm thanh toán
II Tiếng Anh
19 ACL Access Control List - Danh sách kiểm soát truy cập
20 API Application Programming Interface – Giao diện lập trình
ứng dụng
21 ATM Automatic Teller Machine – Máy rút tiền tự động
22 BDS Branch Delivery System Hệ thống phân phối dịch vụ tại chi
nhánh
23 BIDV Bank for Investment and Development of Vietnam – Ngân
hàng Đầu tư và Phát triển Việt Nam
Trang 725 CA Certificate Authority
26 CD Certificate Deposit Chứng chỉ tiền gửi
27 CERT Computer Emergency Response Team – Nhóm phản ứng
khẩn cấp các sự cố máy tính
28 CGI Common Gateway Interface – Giao diện cửa chung
29 CIF Customer Information File – Phân hệ thông tin khách hàng
30 DBMS Database Management System - Hệ quản trị CSDL
31 DES Data Encryption Standard - Chuẩn mã hoá dữ liệu cơ bản
33 DSA Digital Signature Algorithm - Thuật toán chữ ký số
34 DSP Delivery Services Processor – Chương trình xử lý phân
phối dịch vụ
35 DSS Digital Signature Standard - Chuẩn chữ ký số
36 EFT Electronic Fund Transfer - Chuyển tiền điện tử
37 EIS Enterprise Information system - Hệ thống thông tin doanh
nghiệp
38 EJB Enterprise Java Bean
39 FD Fixed Deposit – Tiền gửi tiết kiệm có kỳ hạn
40 GL General ledge sổ cái kế toán tổng hợp
41 HTTP Hyper Text Transfer Protocol – Giao thức truyền nhận siêu
văn bản
42 HTTPS Secured Hyper Text Transfer Protocol
43 IBPS Interbank Payment System - Hệ thống thanh toán liên ngân
hàng
44 IIS Internet Information Service
45 IL Intermediate Language – Ngôn ngữ trung gian
46 J2ME Java Standard for Mobile Edition
47 J2SE Java Standard Second Edition
48 JMS Java Messaging Service - Dịch vụ truyền nhận thông điệp
của java
49 JVM Java Virtual Machine – Máy ảo java
Trang 851 LC Letter of Credit – Thư tín dụng
52 LDAP Lightweight Directory Access Protocol – Giao thức truy
cập thư mục
53 MBS Message Base system - Hệ thống hoạt động theo cơ chế
truyền nhận thông điệp
54 MIS Management Information system hệ thống thông tin quản lý
55 NF Normal Form - Dạng chuẩn
56 OOAD Object Oriented Analysis and Design – Phân tích thiết kế
hướng đối tượng
57 OOP Object Oriented Programming - Lập trình hướng đối tượng
58 PDA personal Digital asisstance – Máy trợ giúp cá nhân kỹ thuật
số
59 PIN Personal Identification Number - Số nhận dạng cá nhân
60 PKI Public-key infrastructure – Cơ sở hạ tầng khoá công khai
61 PL Procedural Language – Ngôn ngữ thủ tục
62 POS Point of Sales - Điểm bán lẻ
63 RSA Ron Rivest, Adi Shamir and Len Adleman
64 SA Saving Account – Tài khoản tiền gửi tiết kiệm không kỳ
hạn
65 SET Secure Electronic Transaction – Giao dịch điện tử an toàn
66 SHA Secure Hash algorithm - Thuật toán băm an toàn
67 SIBS Silverlake Integrated Banking system hệ thống ngân hàng
tích hợp của Silverlake
68 SOAP Simple Object Access Protocol – Giao thức truy cập đối
tượng đơn giản
69 SQL Structure Query Language – Ngôn ngữ truy vấn có cấu trúc
70 SSL Secure Socket Layer
71 SSL/TLS Secure Socket Layer/Transport Layer Security
72 SWIFT Society for Worldwide Interbank Financial
Telecommunication
Tổ chức chuyển tiền quốc tế
73 TCP/IP Transmission Control Protocol / Internet Protocol
74 TF Trade Finance – Tài trợ thương mại
Trang 9DANH MỤC HÌNH VẼ
Hình 2.1 Các module nghiệp vụ
Hình 2.2 Mối quan hệ giữa các modules
Hình 2.3 Kết nối vật lý hệ thống hiện đại hoá của BIDV
Hình 2.4 Phương thức xử lý thông tin của hệ thống HĐH
Hình 2.5 Cấu trúc điện MBS
Hình 2.6 Cấu trúc điện ABCS
Hình 2.7 Cấu trúc điện MBase
Hình 3.1 Kiến trúc nhiều lớp
Hình 3.2 Cấu trúc ứng dụng chạy trên Java platform
Hình 3.3 Sơ đồ kiến trúc J2EE
Hình 3.4 Cấu trúc ứng dụng chạy trên Java platform
Hình 3.5 Các ngôn ngữ lập trình trên môi trường NET
Hình 3.6 Cấu trúc ứng dụng chạy trên NET platform
Hình 3.7 Cấu trúc ứng dụng phân tán (nhiều lớp) trên NET
Hình 3.8 Kiến trúc CSDL Oracle
Hình 4.19 Sơ đồ qui trình đăng ký sử dụng dịch vụ
Hình 4.20 Lưu đồ thuật toán xử lý đăng nhập của khách hàng
Hình 4.21 Lưu đồ thuật toán xử lý đăng nhập lần đầu của khách hàng
Hình 4.22 Lưu đồ thuật toán xử lý phiên giao dịch
Hình 4.23 Lưu đồ thuật toán xử lý giao dịch thanh toán
Hình 4.24 Lưu đồ thuật toán xử lý giao dịch phi tiền tệ
Hình 4.25 Lưu đồ thuật toán xử lý thanh toán hoá đơn
Hình 4.26 Lưu đồ thuật toán xử lý yêu cầu phát hành sổ sec
Hình 4.27 Kiến trúc công nghệ xây dựng hệ thống
Hình 4.28 Kết nối vật lý hệ thống BIDV Internet Banking
Hình 4.29 Sơ đồ phân cấp chức năng hệ thống BIDV Internet Banking
Hình 4.30 Sơ đồ luồng dữ liệu mức ngữ cảnh
Hình 4.31 Sơ đồ luồng dữ liệu mức đỉnh
Hình 4.32 Sơ đồ luồng dữ liệu mức 1 cho chức năng quản lý khách hàng
Hình 4.33 Sơ đồ luồng dữ liệu mức 1 xử lý giao dịch
Trang 10Hình 4.35 Sơ đồ luồng dữ liệu xử lý chức năng quản trị
Hình 4.36 Sơ đồ quan hệ giữa các thực thể
Hình 5.1 Sơ đồ kết nối vật lý các thành phần của hệ thống BIDV Internet
Banking
Hình 6.1 Giao diện đầu tiên phía khách hàng
Hình 6.2 Màn hình đăng nhập
Hình 6.3 Màn hình đầu tiên sau khi đăng nhập thành công
Hình 6.4 Màn hình liệt kê danh sách tài khoản
Hình 6.5 Màn hình thực hiện vấn tin tài khoản
Hình 6.6 Màn hình vấn tin giao dịch (sao kê)
Hình 6.7 Màn hình yêu cầu chuyển khoản
Hình 6.8 Màn hình khẳng định giao dịch chuyển khoản
Hình 6.9 Màn hình yêu cầu thanh toán hoá đơn
Hình 6.10 Màn hình đăng ký khách hàng mới
Hình 6.11 Màn hình phê duyệt khách hàng đăng ký mới
Hình 6.12 Tạm dừng khách hàng sử dụng dịch vụ
Hình 6.13 Màn hình phê duyệt giao dịch chuyển khoản
Hình 6.14 Màn hình phê duyệt giao dịch chuyển tiền
Trang 11DANH MỤC BẢNG BIỂU
Bảng 4.1 Danh sách các dịch vụ cần cung cấp để xây dựng hệ thống BIDV Internet
Banking
Bảng 4.2 Danh sách thuộc tính được dùng trong hệ thống BIDV Internet Banking
Bảng 4.3 Danh sách thuộc tính ở dạng chuẩn 1NF của quan hệ khách hàng
Bảng 4.4 Danh sách thuộc tính ở dạng chuẩn 1NF của quan hệ hoá đơn
Bảng 4.5 Danh sách thuộc tính ở dạng chuẩn 1NF của quan hệ sổ sec
Bảng 4.6 Danh sách thuộc tính ở dạng chuẩn 1NF của quan hệ sổ phụ
Bảng 4.7 Danh sách thuộc tính ở dạng chuẩn 1NF của quan hệ nhật ký
Bảng 4.8 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ khách hàng
Bảng 4.9 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ tài khoản
Bảng 4.10 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ hoá đơn
Bảng 4.11 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ sổ sec
Bảng 4.12 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ sổ phụ
Bảng 4.13 Danh sách thuộc tính ở dạng chuẩn 2NF của quan hệ nhật ký
Bảng 4.14 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ khách hàng
Bảng 4.15 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ tài khoản
Bảng 4.16 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ giao dịch
Bảng 4.17 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ nhà cung
Bảng 4.18 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ hoá đơn
Bảng 4.19 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ sổ sec
Bảng 4.20 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ sổ phụ
Bảng 4.21 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ cán bộ
Bảng 4.22 Danh sách thuộc tính ở dạng chuẩn 3NF của quan hệ nhật ký
Trang 12MỞ ĐẦU i
DANH MỤC CÁC TỪ VIẾT TẮT iv
DANH MỤC HÌNH VẼ vii
DANH MỤC BẢNG BIỂU ix
Trang 13Chương I - Tổng quan
Tên đầy đủ: Ngân hàng Đầu Tư và Phát Triển Việt Nam
Tên giao dịch quốc tế: Bank for Investment and Development of Vietnam
Tên gọi tắt: BIDV
Địa chỉ: Tháp A, toà nhà VINCOM, 191 Bà Triệu, quận Hai
kỳ xây dựng và phát triển của đất nước:
• Ngân hàng Kiến thiết Việt nam từ ngày 26/4/1957
• Ngân hàng Đầu tư và xây dựng Việt nam từ ngày 24/6/1981
• Ngân hàng Đầu tư và Phát triển Việt nam từ ngày 14/11/1990
Ngân hàng Đầu tư và Phát triển Việt nam là một trong bốn ngân hàng thương mại nhà nước lớn nhất ở Việt nam được hình thành sớm nhất và lâu đời nhất, là doanh nghiệp nhà nước hạng đặc biệt, được tổ chức hoạt động theo mô hình Tổng công ty nhà nước Tính đến 31/12/2004, tổng tài sản của BIDV đạt gần 104.000 tỷ VND, vốn điều lệ được bổ sung tăng lên đạt 3.860 tỷ VND Hệ thống tổ chức được hình thành và hoàn thiện dần theo mô hình của một tập đoàn trong tương la1 Hiện nay, mô hình tổ chức của BIDV gồm 05 khối lớn: Khối ngân hàng thương mại quốc doanh (bao gồm 3 sở giao dịch và các chi nhánh trên toàn quốc); Khối Công ty; Khối các đơn vị sự nghiệp; Khối liên doanh; Khối đầu tư Tổng số cán bộ công
Trang 14nhân viên của toàn hệ thống đạt trên 8.000 người vừa có kinh nghiệm, vừa am hiểu công nghệ ngân hàng hiện đại
Bên cạnh việc hoạt động đầy đủ các chức năng của một ngân hàng thương mại được phép kinh doanh đa năng tổng hợp về tiền tệ, tín dụng, dịch vụ ngân hàng
và phi ngân hàng, làm ngân hàng đại lý, phục vụ các dự án từ các nguồn vốn, các tổ chức kinh tế, tài chính, tiền tệ trong và ngoài nước, BIDV luôn khẳng định là ngân hàng chủ lực phục vụ đầu tư phát triển, huy động vốn cho vay dài hạn, trung hạn, ngắn hạn cho các thành phần kinh tế; là ngân hàng có nhiều kinh nghiệm về đầu tư các dự án trọng điểm
Trong suốt quá trình hình thành và phát triển, Ngân hàng Đầu tư và Phát triển Việt nam luôn làm tròn nhiệm vụ được Đảng, nhà nước và nhân dân giao cho Cùng với hệ thống ngân hàng thương mại nhà nước, BIDV luôn là công cụ sắc bén,
là lực lượng chủ lực trong thực thi chính sách tiền tệ quốc gia Trong hoạt động, BIDV luôn tuân thủ pháp luật, thực hiện đẩy đủ nghĩa vụ với ngân sách nhà nước, bảo toàn và phát triển vốn
Giai đoạn hiện nay, Ngân hàng Đầu tư và Phát triển Việt nam xác định mục tiêu hoạt động là: Hiệu quả, an toàn, phát triển bền vững và hội nhập quốc tế
Trong quan hệ với khách hàng, Ngân hàng Đầu tư và Phát triển Việt nam luôn nêu cao phương châm hành động “Hiệu quả kinh doanh của khách hàng là mục tiêu hoạt động của BIDV”, quan hệ giữa BIDV và bạn hàng là mối quan hệ “hợp tác cùng phát triển”, cùng chia xẻ kinh nghiệm, khó khăn, cơ hội kinh doanh với bạn hàng Chính vì lẽ đó, BIDV luôn lắng nghe, tiếp thu ý kiến từ khách hàng để không ngừng nâng cao chất lượng phục vụ, luôn tìm hiểu để thoả mãn những nhu cầu ngày một đa dạng của khách hàng Với cam kết “cu ng cấp những sản phẩm, dịch vụ ngân hàng có chất lượng cao, tiện ích tốt nhất cho khách hàng”, trong hơn 3 năm trở lại đây, BIDV luôn được tổ chức BVQI và Quacert chứng nhận có hệ thống quản lý chất lượng đạt tiêu chuẩn chất lượng ISO 9001:2000 Là đơn vị hoạt động trong lĩnh vực tín dụng, tiền tệ, Ngân hàng Đầu tư và Phát triển Việt nam luôn duy
Trang 15trì sự phối hợp, chia xẻ kiến thức, kinh nghiệm với các ngân hàng, các tổ chức tín dụng bè bạn trong nước và quốc tế theo tinh thần hợp tác phát triển cùng có lợ1
Luôn coi con người là nhân tố quyết định mọi thành công, Ngân hàng Đầu
tư và Phát triển Việt nam thực hiện phương châm “mỗi cán bộ BIDV phải là một lợi thế trong cạnh tranh” về cả năng lực chuyên môn và phẩm chất đạo đức Vì vậy, BIDV luôn đảm bảo những quyền lợi hợp pháp của người lao động Từ đó, BIDV cũng đã đang và không ngừng chăm lo, cải thiện đời sống vật chất, tinh thần cho người lao động để mọi người đều thấy rằng “BIDV chính là ngôi nhà chung” của mình
BIDV
Ngân hàng ĐT&PT Việt Nam hiện đã triển khai thành công dự án hiện đại hoá ngân hàng và hệ thống thanh toán do World Bank tài trợ Dự án hiện đại hoá là
một trong những vấn đề then chốt trong công cuộc hiện đại hoá hệ thống ngân hàng
Việt Nam nhằm phù hợp với chuẩn quốc tế và đảm bảo cung cấp các dịch vụ ngân hàng chất lượng cao Với hệ thống này thì toàn bộ hệ thống giao dịch của ngân hàng ĐT&PT Việt Nam được xử lý trực tuyến, nhanh chóng, chính xác, an toàn,… Cơ sở
dữ liệu tập trung Tuy nhiên, hiện tại mới chỉ có 2 kênh phân phối dịch vụ đó là BDS (Branch Delivery System) và ATM (Automatic Teller Machine) Mọi khách hàng muốn thực hiện giao dịch với ngân hàng đều phải đến quầy giao dịch tại chi nhánh hoặc đi đến các điểm đặt máy Hạn chế của hệ thống phân phối hiện tại là chỉ
hoạt động trong giờ hành chính đối với BDS và hoạt động theo giờ phục vụ của các
nơi đặt máy ATM (có thể là 24hx7 tuỳ thuộc vào từng điểm đặt máy cụ thể)
Giao dịch trực tuyến (Internet Banking) là một kênh dịch vụ của ngân hàng cho phép khách hàng thực hiện các giao dịch ngân hàng như vấn tin tài khoản, chuyển tiền, thanh toán háo đơn,… trên mạng thông tin toàn cầu Internet thông qua
một website được bảo mật Kênh dịch vụ này rất có ý nghĩa, đặc biệt là có khả năng cung cấp dịch vụ ngân hàng ngoài giờ làm việc tại bất cứ đâu trên thế giới miễn là
có thể truy cập Internet bằng một trình duyệt web thông thường như Internet
Trang 16Explorer hay Netscape Navigator mà không cần phải có một phần mềm hay phần
cứng đặc biệt
Trong bối cảnh hội nhập kinh tế quốc tế hiện nay, sự canh tranh giữa các ngân hàng rất gay gắt Các ngân hàng đang ra sức đầu tư công nghệ không chỉ để
nhằm có một hệ thống thông tin và giao dịch tốt, phục vụ hoạt động của ngân hàng
cũng như phục vụ công tác quản trị điều hành mà còn nhằm nâng cao chất lượng
dịch vụ phục vụ khách hàng, đặc biệt là gia tăng dịch vụ để đem lại lợi ích cho khách hàng khi thực hiện các giao dịch ngân hàng một cách thuận tiện, nhanh chóng, chính xác và an toàn…
Trước tình hình đó, việc mở rộng thêm một kênh cung cấp dịch vụ nhằm tạo cho khách hàng thêm lựa chọn loại hình dịch vụ ngân hàng, tạo thế cạnh tranh với các ngân hàng khác thì việc triển khai một hệ thống giao dịch trực tuyến là tất yếu Thông qua đó ngân hàng Đầu tư và phát triển Việt Nam có thể mở rộng đối tượng khách hàng, phát triển thị phần, giảm chi phí, thu hút nguồn vốn huy động từ tiền
gửi thanh toán của khách hàng… Bên cạnh đó, ngân hàng Đầu tư cũng luôn phải tự đổi mới, hoà nhập và phát triển nhằm hướng tới các thị trường rộng lớn hơn, các thị
trường quốc tế
1.3.1 ) Các giả thiết và ràng buộc
Cơ sở hạ tầng phục vụ ứng dụng Internet Banking đã được chuẩn bị sẵn sàng bởi Ngân hàng Đầu tư và Phát triển Việt Nam
Mọi dịch vụ được cung cấp chỉ khi hệ thống ngân hàng cốt lõi của BIDV có thể chấp nhận giao dịch tương ứng Mọi tham số cần thiết đều được thiết lập sẵn bởi người có thẩm quyền quản trị hệ thống
Việc kết nối giữa ngân hàng và công ty viễn thông nhằm triển khai dịch vụ Internet Banking cũng như kết nối với các công ty cung cấp dịch vụ để thực hiện giao dịch thanh toán hoá đơn phải được Ngân hàng chuẩn bị trước
Trang 171.3.2 ) Phạm vi của đồ án
Đồ án chỉ tập trung vào xây dựng hệ thống giao dịch trực tuyến, cung cấp một giao diện thân thiện đảm bảo khách hàng thực hiện các giao dịch với ngân hàng thông qua mạng thông tin toàn cầu một cách thuận tiện và dễ dàng
Chỉ tập trung xử lý các giao dịch trên các tài khoản VNĐ để phù hợp với hệ thống ATM
Tiếng Việt là ngôn ngữ chính thức được sử dụng trong giao diện giao tiếp với khách hàng của hệ thống
Không xử lý quá trình đăng ký dịch vụ trực tuyến, mọi nhu cầu sử dụng dịch
vụ Internet banking phải được khách hàng ký xác nhận bằng văn bản và đăng ký tại chi nhánh
Chấp nhận tối đa 8 tài khoản (tiết kiện không kỳ hạn hoặc tài khoản tiền gửi thanh toán) được đăng ký để sử dụng dịch vụ Internet Banking Trong đó, tài khoản đầu tiên phải được mở tại chi nhánh khách hàng đăng ký sử dụng dịch vụ
Phương pháp nghiên cứu được sử dụng xuyên suốt trong quá trình phân tích thiết kế hệ thống Giao dịch trực tuyến trên Internet của Ngân hàng Đầu tư và Phát triển Việt Nam là phương pháp phân tích thiết kế hệ thống có cấu trúc Đây là phương pháp phân tích thiết kế hệ thống phổ biến trong qui trình phát triển phần mềm hiện nay
Trang 18Chương 2 Hệ thống hiện tại
Hiện tại ngân hàng ĐT&PT Việt Nam đã triển khai thành công dự án hiện đại hoá ngân hàng và hệ thống thống thanh toán Dự án Hiện đại hóa BIDV là một tiểu dự án thuộc Dự án Hiện đại hóa Ngân hàng và Hệ thống Thanh toán do Ngân hàng Thế giới tài trợ cho ngành Ngân hàng Việt Nam nhằm nâng cao chất lượng và phát triển các sản phẩm dịch vụ ngân hàng theo các tiêu chuẩn tiên tiến, phù hợp với các thông lệ quốc tế và từng bước hội nhập với các Ngân hàng trong khu vực và trên thế giớ1 Dự án này có một ý nghĩa rất to lớn đối với BIDV trong quá trình cơ cấu lại Ngân hàng
Hệ thống bao gồm các module nghiệp vụ sau:
Thông tin khách hàng (Customer Information File - CIF)
Tiền gửi (Deposit)
Khoản vay (Loan)
Tài trợ thương mại (Trade Finance)
Chuyển tiền (Remittance)
Ngân quỹ (Treasury)
Sổ cái tổng hợp (General Ledger - GL)
Kho d÷ liÖu Ng©n hµng
Sổ cái tổng hợp
Tài trợ thương mại
Tiền gửi:
- Thanh toán
- Tiết kiệm
+ Có kỳ hạn + Không kỳ hạn
- Kho¶n vay b¾c cÇu
hệ thống báo cáo,
…)
Hình 2.1 Các module nghiệp vụ
Trang 19Dữ liệu của toàn bộ hệ thống được lưu trữ tập trung về kho dữ liệu tại HSC Giao dịch tại các chi nhánh sẽ được xử lý trực tuyến và lưu trữ tập trung tại trung ương Dữ liệu của từng chi nhánh được phân biệt bởi mã của chi nhánh đó Hệ thống có tính năng mềm dẻo cao cho phép xây dựng các sản phẩm đa dạng trên cơ
sở tham số hoá hệ thống (Các sản phẩm sẽ do người sử dụng xác định bằng cách quy định tham số thích hợp) Hệ thống cũng có khả năng tương tác với các hệ thống giao dịch của Chi nhánh (BDS) và các hệ thống thanh toán khác như SWIFT/TELEX, IPBS, T5, ATM, POS, HomeBanking, Internet Banking… Đồng thời hệ thống còn có khả năng tích hợp với các hệ thống thông tin quản lý khác như: Quản lý mẫu dấu chữ ký, Trái phiếu, CIC, Quản lý TSCĐ, Quản lý phải thu/phải trả…
Kênh phân phối dịch vụ chính là BDS (Branch Delivery System) Mọi giao
dịch ngân hàng với khách hàng đều được xử lý thông qua kênh phân phối BDS
Ngoài ra hệ thống còn cung cấp một kênh cung cấp dịch vụ khác là ATM (Automatic Teller Machine) Kênh ATM cung cấp một số giao dịch ngân hàng truyền thống như vấn tin số dư tài khoản, rút tiền, chuyển tiền, thanh toán hoá đơn, phát hành sổ phụ, in sao kê,… Lợi ích của kênh ATM là hoạt động bất kể thời gian, 24h x 7 ngày đáp ứng chủ yếu các nhu cầu giao dịch tiền tệ phục vụ tiêu dùng Kênh này có ý nghĩa khi ngoài giờ hành chính hoặc trong các ngày nghỉ, ngày lễ, các điểm giao dịch tại ngân hàng nghỉ giao dịch Hay ngay cả trong giờ hành chính, kênh này rất tiện lợi đối với khách hàng vì không phải đi đến quầy giao dịch (có thể
ở xa) và xếp hàng chờ đợi để được phục vụ
Trong tương lai, ngân hàng đầu tư và phát triển Việt Nam sẽ tiếp tục đầu tư xây dựng đưa vào áp dụng thêm nhiều kênh phân phối dịch vụ khác như Internet Banking, Phone Banking, Mobile Banking,… Trong đó Internet Banking hiện đang được nghiên cứu xây dựng triển khai mà đồ án này là một phần của quá trình đó
Trang 20Delivery Applications
BDS, ATM, Internet,
Call Center, Corp PC, Etc
Other Host Systems
CBRMIS/EISKho dữ liệu
Delivery Services Processor
Hình 2.2: Mối quan hệ giữa các modules
Hệ thống SIBS được xây dựng trên nền tảng là Máy chủ AS/400 của IBM,
sử dụng hệ điều hành OS/400 và cơ sở dữ liệu DB2 được tích hợp sẵn bên trong hệ điều hành OS/400 nên khả năng xử lý rất cao, đặc biệt là xử lý các nghiệp vụ phát sinh đồng thời nhiều giao dịch
Ngoài các phân hệ nghiệp vụ xử lý trực tuyến các nghiệp vụ ngân hàng phát sinh tại bất kỳ thời điểm nào, hệ thống SIBS phải kể đến 2 phân hệ đặc biệt sau:
Phân hệ thông tin khách hàng lưu trữ toàn bộ thông tin về khách hàng của bất
kỳ khách hàng nào có quan hệ với BIDV Từ đây toàn bộ thông tin khách hàng được cung cấp cho tất cả các phân hệ khác để khai thác và xử lý, cũng như cung cấp cho toàn bộ các chi nhánh của hệ thống Mỗi khách hàng trong hệ thống được nhận
diện duy nhất bằng một số nguyên dương gọi là số CIF
Bên cạnh phân hệ thông tin khách hàng, hệ thống còn có một phân hệ dùng chung khác là phân hệ sổ cái tổng hợp Đây là phân hệ sổ cái kế toán được dùng để theo dõi toàn bộ quá trình hoạt động kinh doanh của ngân hàng Hàng ngày, các
Trang 21giao dịch nghiệp vụ được xử lý trực tuyến tại các phân hệ nghiệp vụ tương ứng Đến cuối ngày, các giao dịch nghiệp vụ sẽ được tự động chuyển sang các giao dịch
hạch toán sổ cái kế toán phù hợp
Các dịch vụ được cung cấp thông qua các kênh phân phối mà điển hình là BDS Ngoài ra hiện nay BIDV còn sử dụng một kênh phân phối khác là ATM Các kênh phân phối giao tiếp với các phân hệ nghiệp vụ tương ứng thông qua cổng DSP (sẽ được bàn kỹ ở phần sau)
Ngoài ra hệ thống SIBS còn được kết nối với các hệ thống máy chủ khác và các hệ thống thông tin quản lý hỗ trợ khác như hệ thống quản lý mẫu dấu chữ ký, hệ
thống báo cáo tổng hợp và chuyển dữ liệu cho hệ thống kho dữ liệu nhằm mục đích khai thác sau này
Trang 22Hình 2.3: Kết nối vật lý hệ thống hiện đại hoá của BIDV
Trang 23Ngân quỹ
BDS
QLNB
Quản lý Chữ ký
Home
Banking
Internet Banking
SWIFT
Credit cards (Visa,Master,…)
Hình 2.4: Phương thức xử lý thông tin của hệ thống HĐH
Hệ thống SIBS bao gồm các thành phần như: Ngân hàng cốt lõi (GL, Loan, Deposit, Cif) và các thành phần khác trong một hệ thống thống nhất.Hệ thống cốt lõi của SIBS thực hiện giao tiếp với các hệ thống khác thông qua cơ chế message sử dụng cơ chế socket của TCP/IP Máy chủ AS400 có DSP (Delivery Services Processor) như một chương trình Socket server trong giao tiếp với các hệ thống khác thông qua cơ chế MBS (Message Base System), MBS như cầu nối giữa các hệ thống khác với máy chủ SIBS Giao thức được sử dụng ở đây là Messaging, MBS là một tập các định dạng, MBS sử dụng Message có độ dài cố định 4Kb (4096 byte)
Trang 24Hệ thống MSB có một số đặc trưng của MBS như:
Client tạo yêu cầu và AS400 trả lời
Cho phép xử lý nhiều giao dịch
Sử dụng Data Queues để chuyển tải và lưu trữ dữ liệu Cho phép tới
4096 bytes dữ liệu Nhiều jobs có thể nhận và gửi dữ liệu từ 1 queue
Kiểm tra dựa trên cơ sở mã người sử dụng và mã giao dịch
Khả năng tham số cao
Khả năng ghi nhật ký
Khả năng điều khiển ràng buộc
Định dạng điện MBS: Có 2 phần chính là Message Header và Message Detail
Hình 2.6: Cấu trúc điện MBS Message header chứa thông tin điều khiển (như Transaction code, Action, User Id, Time In, ) Message detail chứa dữ liệu thực sự Cụ thể cấu trúc từng loại Message theo định nghĩa riêng
Có 2 loại messages - Input Message và Response Message Input Message là message xuất phát từ Client Response Message là message trả lời của AS400 Nó luôn luôn đi với nhau và tạo thành cặp một-một, Ví dụ: một input và một response
Có 2 loại tác vụ giao dịch giữa client và AS400
Tác vụ tra cứu (Inquiry transaction)
Tác vụ thực hiện (Maintenance transaction)
Mô tả Message của SIBS:SIBS sử dụng 2 loại format để lưu trữ dữ liệu trao
đổi giữa 2 hệ thống: ABCS và MBase Mỗi message sẽ được bao bọc bên trong DSP message (the wrapper) – message thực sự sẽ được gửi đi, gửi lại thông qua
Trang 25Gateway Trong mọi trường hợp, tổng độ dài của mối DSP message phải là 4096 bytes
ABCS Message Data
(varied - depends on purpose of exchanged message)
MBase Message Data
(Varied - depends on purpose of exchanged message)
3427 bytes
Hình 2.8: Cấu trúc điện MBase
Trang 26Chương III – Giải pháp công nghệ
Kiến trúc phân tán (distributed applications) hay kiến trúc đa lớp (multi-tiers) giải quyết được các vấn đề của một hệ thống thông tin hiện đại Khái niệm “phân tán” hay “nhiều lớp” được sử dụng để chỉ ra sự phân bổ logic của chương trình trên các máy Kiến trúc này là một bước kế tiếp của mô hình 2 lớp ở chỗ: nó phát triển tiếp ý tưởng chuyển logic chương trình lên xử lý tập trung ở máy chủ Điểm khác biệt là ở chỗ, nếu như trong kiến trúc 2 lớp, phần xử lý nghiệp vụ chủ yếu nằm ở máy chủ thì trong kiến trúc phân tán, phần xử lý nghiệp vụ được chuyển lên xử lý ở các máy chủ Máy trạm lúc này chỉ đóng vai trò thiết bị đầu cuối để nhập dữ liệu
Hình 3.1: Kiến trúc nhiều lớp
Hình 3.1 biểu diễn kiến trúc đơn giản của mô hình nhiều lớp Trong mô hình này, người ta thường sử dụng một hay nhiều lớp trung gian giữa máy trạm (có thể là các trình duyệt web hoặc ứng dụng) và các máy chủ khác (thường là hệ thống máy chủ cơ sở dữ liệu Enterprise Information System EIS ) Các lớp ở giữa này đóng vai
Trang 27trò máy chủ ứng dụng, trên đó các ứng dụng sẽ được triển kha1 Các mã nguồn cần
để trao đổi thông tin hoặc để có thể tái sử dụng sẽ được lưu giữ trên máy chủ ứng dụng này Mô hình máy trạm/ máy chủ ứng dụng/ máy chủ cơ sở dữ liệu sẽ giải quyết tất cả các yếu tố hạn chế trông mô hình client/server thuần tuý
3.1.1 Vấn đề triển khai và bảo hành bảo trì hệ thống
Trong phần lớn các hệ thống, phần logic xử lý nghiệp vụ chiếm thành phần rất lớn Với mô hình nhiều lớp, phần xử lý nghiệp vụ được triển khai tập trung tại một số ít máy chủ có cấu hình mạnh Còn lại phần xử lý giao diện chiếm tỷ trọng nhỏ có thể được chạy theo 2 dạng: trình duyệt web đối với các ứng dụng thin client
và Chương trình giao diện đối với các ứng dụng thick client Đối với dạng thứ nhất, hoàn toàn không cần triển khai gì trên máy trạm Với dạng thứ hai, Chương trình xử
lý giao diện thường ít phải thay đổi và nâng cấp, trong trường hợp phải thay đổi thì khối lượng cũng không nhiều Vì vậy việc triển khai, bảo trì hệ thống sẽ tập trung ở phần xử lý nghiệp vụ tại các máy chủ, khiến cho công việc cài đặt, sửa chữa, nâng cấp có thể tiến hành dễ dàng
sử dụng với chế độ dành riêng và có tốc độ cao
Trên các kết nối giữa máy trạm và máy chủ ứng dụng, thông tin truyền đi thường là các thông tin đã được xử lý để hiển thị hay là các thông tin nhập liệu đầu vào, vì vậy lưu lượng trên các kết nối này rất thấp so với mô hình 2 lớp
Trang 283.1.3 Vấn đề tích hợp
Trong mô hình nhiều lớp, phần xử lý nghiệp vụ được tập trung ở máy chủ ứng dụng Điều này khiến cho việc tích hợp có thể được thực hiện ở mức ứng dụng, thay vì dừng lại ở mức cơ sở dữ liệu như trong mô hình 2 lớp Việc gọi hàm giữa các tiến trình trên máy chủ ứng dụng có thể được thực hiện bởi rất nhiều kỹ thuật như Web service, NET Remoting… tùy thuộc vào hệ điều hành Ranh giới giữa các ứng dụng nhờ vậy trở nên trong suốt đối với người dùng
3.1.4 Vấn đề cung cấp dịch vụ cho khách hàng
Giải quyết được vấn đề tích hợp, việc các nhà sản xuất ứng dụng phối hợp với nhau để xây dựng nên những hệ thống lớn trở nên khả th1 Vì vậy, các ứng dụng cung cấp cho khách hàng cũng trở nên đơn giản, thuận tiện và chính xác hơn
3.1.5 Vấn đề tính mềm dẻo và khả chuyển của hệ thống
Các quy trình nghiệp vụ được xử lý tập trung tại các máy chủ Vì vậy, khi cần thay đổi quy trình nghiệp vụ, nói chung chỉ cần xử lý tập trung tại máy chủ mà người sử dụng ở máy trạm vẫn có thể sử dụng giao diện cũ quen thuộc
3.1.6 Vấn đề chi phí cấu hình hệ thống
Trong mô hình nhiều lớp, các thiết bị đầu cuối chỉ cần sử dụng để thực hiện công việc xử lý giao diện, vì vậy không cần đòi hỏi cấu hình mạnh Khi triển khai các hệ thống, khối lượng các thiết bị đầu cuối là lớn hơn rất nhiều so với số lượng máy chủ, có thể tới vài trăm hoặc vài ngàn Vì vậy, mặc dù chi phí cho các máy chủ tăng lên, chi phí cho toàn bộ hệ thống vẫn được giảm đi đáng kể
Có rất nhiều công nghệ có thể ứng dụng để giải quyết bài toán Tuy nhiên, có
2 công nghệ nổi bật đang được ứng dụng để phát triển phần mềm tại Trung tâm công nghệ thông tin Ngân hàng Đầu tư và Phát triển Việt Nam đó là: Java và
Microsoft Studio NET
Trang 293.2.1.1 Java với tư cách là một ngôn ngữ lập trình
Java là một ngôn ngữ bậc cao với nhiều ưu điểm:
Đơn giản, hướng đối tượng và thân thiện: Một trong những mục tiêu chính của Java là cung cấp 1 ngôn ngữ đơn giản dễ sử dụng và phát triển Do sự phức tạp ngày càng cao của môi trường tính toán và xử lý trên mạng, Java cung cấp mô hình phát triển hướng đối tượng với các đặc điểm như: đa hình, có tính kế thừa, cơ chế trao đổi qua message
và có khả năng tái sử dụng Java được cài đặt với các thư viện gồm nhiều đối tượng đã được kiểm tra cung cấp đầy đủ các chức năng cho
người phát triển ví dụ như: vào ra, giao tiếp mạng, quản lý bảo mật, giao diện người dùng, các đối tượng này có thể sử dụng trực tiếp đồng thời cũng có thể mở rộng theo nhu cầu riêng của người phát triển Với cú pháp giống C++ nhưng một số điểm phức tạp dễ mắc lỗi
đã được loại bỏ đã giúp cho java thân thiện với người dùng hơn
An toàn: các đặc điểm của java định hướng và giúp người lập trình có một thói quen lập trình có độ tin cậy cao Mô hình quản lý bộ nhớ đã được đơn giản hóa, không có các kiểu dữ liệu con trỏ và các phép tính
số học trên con trỏ như trong C++ Việc loại bỏ con trỏ đã tạo ra cho Java một số ưu điểm : cơ chế tự động giải phóng bộ nhớ, loại bỏ được các lỗi gây treo hệ thống như khi làm việc với C và C++ Tuy nhiên, điều này cũng đồng nghĩa với việc giảm khả năng tác động sâu vào hệ thống của người lập trình, do đó ít nhiều làm giảm sức mạnh của Java
Trang 30 Kiến trúc dung hòa và có tính khả chuyển: môi trường mạng hiện nay rất đa dạng về các chủng loại thiết bị phần cứng cũng như hệ điều hành Để hỗ trợ khả năng chạy trên các nền tảng và hệ điều hành khác nhau, bộ biên dịch java tạo ra các mã bytecode một dạng mã trung gian dung hòa về mặt cấu trúc để chuyển mã sang các phần cứng và các hệ điều hành khác nhau một cách có hiệu quả Đặc điểm thông dịch của java giải quyết được các vấn đề liên quan tới việc: phân phối mã lệnh nhị phân và quản lý phiên bản, điều này giúp cho java có thể chạy trên mọi nền tảng khác nhau Có thể nói đây là một trong những ưu điểm lớn nhất của Java
3.2.1.2 Java với tư cách là một công nghệ nền (platform)
Một công nghệ nền là môi trường phần cứng hoặc phần mềm để các ứng dụng có thể chạy trên đó, ví dụ như các hệ điều hành: Windows 2000, Linux, Solaris, and MacOS Phần lớn các công nghệ nền đều là sự kết hợp giữa hệ điều hành và phần cứng Java platform thuần tuý là phần mềm, chạy ở lớp trên của các
hệ điều hành khác nhau Có 2 thành phần tạo nên Java platform:
Máy ảo Java (Java Virtual Machine -JVM)
Thư viện Java lập trình Java API:
Hình 3.2: Cấu trúc ứng dụng chạy trên Java platform
3.2.1.3 Ứng dụng nhiều lớp trên Java
Có 3 thư viện lập trình với Java
J2SE (Java Standard Second Edition) : là thư viện lập trình cho các ứng dụng Java cơ bản, chạy trên 1 máy Thư viện này chứa các giao
Trang 31diện tới máy ảo Java và là nền cho các ứng dụng Java cũng như cho các thư viện lập trình mức cao khác
J2ME : Là thư viện lập trình cho các ứng dụng Java chạy trên các thiết bị cầm tay (máy tính bỏ túi Pocket PC, thiết bị hỗ trợ cá nhân PDA, điện thoại di động…) Thư viện này được thiết kế đặc biệt để phù hợp với những đặc điểm của các thiết bị bỏ túi : yêu cầu phần mềm đơn giản trên một cấu hình không cao
J2EE (Java Enterprise Second Edition): Là thư viện lập trình cho các ứng dụng triển khai rộng (quy mô doanh nghiệp) J2EE không chỉ là một thư viện lập trình Nó còn là một hệ thống các quy định, khuyến nghị về các thành phần của một ứng dụng phân tán Có thể coi J2EE gồm 2 phần : một thư viện lập trình mức cao xây dựng trên nền J2SE
và một tập các mô tả các thành phần ứng dụng, quy cách trao đổi giữa các thành phần…
Hình 3.3: Sơ đồ kiến trúc J2EE
Trang 32Hình 3.3 mô tả các thành phần trong kiến trúc của J2EE platform, lưu ý rằng hình vẽ chỉ mô tả quan hệ logic của các thành phần chứ không đề cập đến kiến trúc
về mặt vật lý, các thành phần có thể được cài đặt trên các máy tính, tiến trình, máy ảo, khác nhau
Các Container được mô tả bởi các hình chữ nhật riêng rẽ là các môi trường chạy cung cấp các dịch vụ cần thiết cho các thành phần ứng dụng được biểu diễn ở nửa phía trên Các dịch vụ được thể hiện qua các hộp ở nửa phía dướ1 Ví dụ như: Application Client Container cung cấp dịch vụ thư viện Java Messaging Service (JMS API) cho các ứng dụng client
Các mũi tên mô tả nguyên tắc truy nhập, trao đổi giữa các thành phần của J2EE Platform Ví dụ Application Client Container cung cấp khả năng truy nhập trực tiếp tới cơ sở dữ liệu qua thư viện JDBC API, tương tự như vậy đối với các Web Container và EJB container
Các thư viện API được hỗ trợ bởi môi trường chạy J2SE (Java 2 Platform, Standard Edition) cho từng loại thành phần ứng dụng
Có thể thấy rằng kiến trúc của J2EE trên Hình tuân theo kiến trúc cơ bản của
ứng dụng phân tán trên hình 3.3, trong đó Java Applet và Java Application đóng vai trò lớp trình diễn, các thành phần chạy trên Web Container và EJB Container đóng vai trò lớp xử lý nghiệp vụ và cơ sở dữ liệu đóng vai trò lớp cơ sở dữ liệu
Java hỗ trợ tính năng “dịch một lần, chạy mọi nơi” Điều này là do Java được trình biên dịch dịch ra một loại mã trung gian (bytecode) Mã bytecode này sau đó
Trang 33có thể chạy được trên các hệ điều hành khác nhau, nhờ một máy ảo Java (Java Virtual Machine - JVM) cài đặt trên các hệ điều hành này Nhiệm vụ xây dựng máy
ảo Java trên các hệ điều hành khác nhau là của Sun Microsystems Đây là một trong những ưu điểm lớn nhất của Java Tuy nhiên, nó cũng khiến cho các ứng dụng viết bằng Java có một số nhược điểm được đề cập ở phần sau
Các thư viện và các chuẩn của Java giúp phát triển nhiều loại ứng dụng : Java Application, Web Application, applets, máy chủ ứng dụng (với EJB – Enterprise Java Beans)
Nhược điểm
Ngôn ngữ lập trình Java không có được các tính năng mạnh mẽ như C++ hay C# Điều này chính là do Java không được viết cho một hệ điều hành cụ thể nào, vì vậy không có các tính năng truy cập tới mức sâu của hệ điều hành như xử lý bộ nhớ… Vì vậy, đối với các ứng dụng đòi hỏi các thao tác này, Java không nằm trong danh sách lựa chọn
Như trên đã đề cập, ứng dụng viết bằng Java được dịch ra mã byte code Mã bytecode sau đó được chạy trên máy ảo Java để tương tác với hệ điều hành thực sự
Hình 3.4: Cấu trúc ứng dụng chạy trên Java platform Trong cấu trúc này có thể thấy rõ mức gián tiếp giữa ứng dụng Java và hệ điều hành Đây là nguyên nhân chính khiến cho các ứng dụng Java thường chạy với tốc độ chậm và không sử dụng được các tính năng đặc biệt của hệ điều hành
Trang 34ứng dụng Internet, cộng với các máy chủ ứng dụng tập trung với cấu hình cực mạnh, điều này là hoàn toàn chấp nhận được
Tuy nhiên, với những ứng dụng ở quy mô doanh nghiệp, khi mà tốc độ xử lý,
độ thân thiện của giao diện người sử dụng… là một trong các yêu cầu quan trọng cần được đáp ứng thì Java không phải là lựa chọn số 1 Hơn nữa, trong các môi trường kiểu này, ưu điểm không phụ thuộc nền của Java thường không có cơ hội để phát huy tác dụng
3.2.2 – Microsoft Visual Studio NET
Công nghệ NET đã được Microsoft đưa ra lần đầu tiên vào tháng 7 năm
2000 Kể từ đó, NET đã chứng tỏ được ưu thế của mình trong việc hỗ trợ phát triển các ứng dụng trên môi trường Windows Khả năng hỗ trợ hoàn toàn Unicode, mô hình lập trình hướng đối tượng thông qua nhiều loại ngôn ngữ lập trình cùng với các tính năng mạnh mẽ của bộ công cụ phát triển là các ưu điểm của NET Cam kết hỗ trợ trong mọi hệ điều hành Windows tiếp theo (trong đó có Windows Longhorn) khiến cho môi trường NET trở thành một trong các môi trường phát triển ứng dụng phân tán hứa hẹn nhất
3.2.2.1 Các ngôn ngữ lập trình của NET
Với NET, Microsoft đã phá vỡ rào cản giữa các ngôn ngữ lập trình bằng việc cho phép Common Language Runtime (các dịch vụ chung chạy trên hệ điều hành, tạo môi trường giúp một ứng dụng có thể chạy - CLR) của NET chạy trên ngôn ngữ trung gian (Intermediate Language Bytecode), thay vì trực tiếp trên mã máy (native code) như trước đây Điều này có nghĩa là bất kỳ ngôn ngữ lập trình nào có thể dịch được ra ngôn ngữ trung gian đều có thể chạy được bởi CLR Kết quả là có khoảng 20 ngôn ngữ lập trình khác nhau có thể sử dụng với CLR của NET Như vậy các chương trình viết với các ngôn ngữ khác nhau này có thể cung cấp các giao diện lập trình cho nhau, hay gọi lẫn nhau
Trang 35Hình 3.5: Các ngôn ngữ lập trình trên môi trường NET
Trên Hình 3.5 có thể thấy các ngôn ngữ được chia thành 2 nhóm Một bên là các ngôn ngữ được hỗ trợ bởi Visual Studio NET (là bộ công cụ để phát triển các ứng dụng trên NET cung cấp bởi Microsoft) , bao gồm C#, Visual Basic NET, C++ NET, J#… Người lập trình sử dụng Visual Studio NET có thể viết chương trình bằng các ngôn ngữ này Visual Studio NET là bộ công cụ hỗ trợ lập trình mạnh nhất hiện nay, với các tính năng soạn thảo, biên dịch, sửa lỗi…
Nhóm còn lại là các ngôn ngữ lập trình hiện có thể dịch được ra IL Chú ý rằng trên lý thuyết, bất kỳ ngôn ngữ lập trình nào cũng có thể được dịch ra ngôn ngữ cấp thấp hơn Tuy nhiên, trên thị trường phần mềm, vì các lý do bản quyền, cạnh tranh giữa các nhà sản xuất…, các trình dịch đó chỉ được phát triển một cách hạn chế Kết quả là chỉ có một số ngôn ngữ có trình biên dịch có khả năng dịch ra
IL, trong đó có thể kể đến Perl
Nếu như khả năng hỗ trợ đa ngôn ngữ của NET vượt trội như vậy, khả năng triển khai trên các hệ điều hành khác nhau lại bị hạn chế Điều này là do CLR của NET chỉ được thiết kế để chạy trên môi trường Windows Hiện đã có một số dự án
mã nguồn mở nhằm xây dựng một bộ CLR hỗ trợ đa hệ điều hành Trong số đó có thể kể đến mono (www.oo-mono.com ) Dự án này đã đạt được nhiều bước tiến khả quan
CLR viết bằng IL Ngôn ngữ Hệ điều hành
C#, Visual Basic NET, C++ NET,…
Các ngôn ngữ có thể dịch ra
IL (Perl,…)
Trang 363.2.2.2 .NET với tư cách là một công nghệ nền (platform)
Hình 3.6 : Cấu trúc ứng dụng chạy trên NET platform NET cũng thường được nhắc đến với tư cách là một công nghệ nền (platform) Nền NET bao gồm NET Framework (gồm các dịch vụ common language runtime và một bộ thư viện chung cho các ứng dụng NET) và hệ điều hành Windows bên dướ1 Tuy nhiên, thông thường, hệ điều hành Windows thường được bỏ qua, và NET Framework đóng vai trò platform Như đã đề cập tới ở trên, NET Framework không chạy trực tiếp trên hệ điều hành Windows, mà thông qua một ngôn ngữ trung gian (IL) Vì vậy, NET Framework có thể được sử dụng được bởi bất kỳ ngôn ngữ nào có thể được dịch ra ngôn ngữ IL
3.2.2.3 Ứng dụng nhiều lớp trên NET
Hình 3.7: Cấu trúc ứng dụng phân tán (nhiều lớp) trên NET
Hệ điều hành CLR Ứng dụng NET
CSDL
Trang 37Hình 3.7 là cấu trúc cơ bản của ứng dụng trên NET Chú ý rằng dựa trên cấu trúc cơ bản này còn có thể có rất nhiều biến thể Lý do là vì thông qua các phương thức khác nhau, các đối tượng NET, dù ở trong lớp trình diễn hay trong lớp nghiệp
vụ đều có thể gọi lẫn nhau, khiến cho cấu trúc trên có thể mở rộng ra thêm nhiều mức Điều này được làm rõ thêm khi tìm hiểu về từng thành phần của cấu trúc
a) Lớp giao diện
Lớp giao diện có thể là một web server cung cấp các trang web tới các trình duyệt, một ứng dụng desktop bình thường với giao diện cửa sổ, hoặc là một web service - cung cấp giao diện sử dụng dịch vụ tới cho các ứng dụng khác
Trong trường hợp là web service, ranh giới giữa lớp giao diện và lớp nghiệp
vụ trở nên mờ nhạt Đó là do web service, đóng vai trò giao diện trong cấu trúc này, lại có thể được gọi bởi một thành phần đóng vai trò bất kỳ trong một cấu trúc khác Trong cấu trúc khác này, có thể coi web service kể trên là một phần của lớp nghiệp
vụ
b) Lớp nghiệp vụ
Lớp nghiệp vụ được thực hiện bởi các đổi tượng, được chứa trong các tiến trình chủ và được truy cập thông qua một số giao thức Có thể có nhiều lựa chọn khi thực hiện lớp nghiệp vụ Một trong các lựa chọn đó là webservice Sự lựa chọn giữa các phương thức được dựa trên các tiêu chí về quy mô của hệ thống, tốc độ đòi hỏi, khả năng hoạt động trên các hệ điều hành khác nhau Web service thường được sử dụng cho các ứng dụng có quy mô rất lớn, thông qua Internet Là một chuẩn được công nhận rộng rãi, Webservice có khả năng vượt qua ranh giới giữa các hệ điều hành khác nhau Tuy nhiên, với quy mô doanh nghiệp, giải pháp gọi hàm từ xa.NET Remoting tỏ ra phù hợp hơn, đáp ứng được các yêu cầu về tốc độ trong khi vẫn đảm bảo được quy mô của hệ thống
Trang 383.2.2.4 Đánh giá
a) Ưu điểm
Nền tảng của ứng dụng phân tán là khả năng gọi hàm từ xa, giữa các tiến trình nằm trên cùng một máy tính hay giữa các máy tính khác nhau Trong môi trường NET, khả năng này được cung cấp với nhiều phương án:
− Webservice cung cấp khả năng kết nối qua Internet các tiến trình trên các hệ điều hành khác nhau
− NET Remoting cung cấp khả năng kết nối các tiến trình với rất nhiều lựa chọn về giao thức, khuôn dạng dữ liệu
b) Nhược điểm
Nhược điểm đáng kể nhất của NET platform là sự gắn liền của nó với hệ điều hành Windows Tuy nhiên, hệ điều hành Windows cũng đã là hệ điều hành phổ biến nhất cho các máy trạm và Microsoft đang từng bước xây dựng thành công những phiên bản Windows dành cho các máy chủ Các máy tính sử dụng Windows chiếm một tỷ trọng rất lớn trên thế giới nói chung và tại Việt Nam nói riêng Mặt khác, có thể coi việc NET Framework được chạy trên ngôn ngữ trung gian IL là một bước tiến đưa platform này tới khả năng chạy trên mọi hệ điều hành
kỹ thuật tối ưu hóa
• Oracle thực sự đạt được các tiêu chuẩn của một hệ quản trị dữ liệu theo mô hình quan hệ, một mô hình được coi như chuẩn cho các cơ sở dữ liệu:
Bảo đảm tính nhất quán của dữ liệu, ngay cả trong môi trường đa người dùng
Có các cơ chế đảm bảo tính toàn vẹn của cơ sở dữ liệu: các khai báo toàn vẹn tham chiếu, các ràng buộc khai báo(constrains),các trigger
Trang 39 Có cơ chế bảo mật dữ liệu đối với các người dùng khác nhau
Cho phép cài đặt các cơ sở dữ liệu phân tán và kèm theo là các cơ chế để
đảm bảo tính nhất quán và tối ưu hóa việc thực hiện các câu hỏi phân tán
• Các công cụ phát triển của Oracle cho phép thực hiện các câu lệnh SQL (Structured Query Language), một ngôn ngữ phi thủ tục dùng để tìm kiếm và thao tác dữ liệu chứa trong hệ quản trị CSDL
• Có khả năng lưu trữ các đối tượng được gọi là database objects để phục vụ cho các ứng dụng Các database object này thường chứa các chương trình của ngôn ngữ thủ tục (Procedural Language) PL/SQL Đây là phương tiện rất hữu ích giúp cho người phát triển hệ thống có thể cài đặt được các qui tắc nghiệp vụ và các kiểm tra toàn vẹn dữ liệu nhất là các ràng buộc phức tạp
Đảm bảo tính nhất quán của cơ sở dữ liệu (trong môi trường đa người dùng) và thực hiện việc tối ưu hoá các thao tác trên cơ sở dữ liệu
Kiến trúc CSDL Oracle
Trang 403 4 Lựa chọn công nghệ cho hệ thống Internet Banking của BIDV
Qua một số phân tích kể trên, có thể thấy rằng với Hệ thống giao dịch trực tuyến trên Internet của Ngân hàng Đầu tư và Phát triển Việt Nam, có thể được xây dựng và phát triển trên nền tảng như sau:
Phân hệ khách hàng: Giao diện phía khách hàng, tiếp nhận yêu cầu giao dịch
của khách hàng, xử lý, gửi yêu cầu đến lớp tiếp theo và trả lời kết quả cho khách hàng Phần khách hàng được xây dựng là một ứng dụng Web được phát triển bằng công nghệ Java, sử dụng bộ công cụ của họ Rational Rose bao gồm:
Công cụ phát triển: Websphere Application Developer
Phân hệ chi nhánh và phân hệ TTTT (tại ngân hàng): Quản trị, vận hành hệ
thống; tiếp nhận và xử lý các yêu cầu từ phân hệ khách hàng xử lý và trả kết quả cho phân hệ khách hàng để trả lời khách hàng Đây là một ứng dụng Desktop được phát triển bởi công cụ Microsoft Visual Studio NET, Ngôn ngữ lập trình là MS C#.NET
Cơ sở dữ liệu: Oracle 10g