Hướng phát triển của chương trình

Một phần của tài liệu Xây dựng và phát triển ngân hàng trực tuyến ebanking (Trang 149 - 169)

Chương 3. Xây dựng chương trình

3

Xây dựng chương trình

3.1. Công nghệ sử dụng

3.1.1. Lập trình trên nền WWW

a. Internet

Internet là mạng máy tính toàn cầu, trong đó các máy tính kết nối với nhau một cách công khai bằng cách gửi cho nhau các gói tin sử dụng định dạng Internet Protocol (IP). Internet bao gồm rất nhiều máy tính, mạng máy tính của chính phủ, các tổ chức, doanh nghiệp, cá nhân chia sẻ lượng thông tin khổng lồ với rất nhiều dịch vụ.

WWW

World-Wide Web là dịch vụ ra đời trong thời kỳ sau của Internet. Nó cung cấp thông tin ở dạng các siêu văn bản là các văn bản chứa thông tin cùng các liên kết trỏ tới một siêu văn bản kiểu khác hay một dữ liệu multimedia nào đó, tại một vị trí trên Internet xác định bởi kiểu địa chỉ gọi là Uniform Resoure Location (URL).

Trên nền World-Wide Web, người sử dụng sẽ dùng trình duyệt (web browser) để truy cập vào và lấy các nguồn thông tin, ví dụ như trang web hay file máy tính từ các máy chủ web (web server) với các địa chỉ mạng xác định và thông tin sẽ được nhận về thường là dưới dạng ngôn ngữ thẻ đánh dấu. Người dùng sẽ thông qua các liên kết để nhảy đến các nguồn tài nguyên khác trên World-Wide Web.

Trình duyệt

Trình duyệt (web browser) là phần mềm giao diện trực tiếp với người sử dụng cho phép truy xuất dữ liệu trên mạng. Nó có khả năng yêu cầu thông tin từ máy chủ web và các dịch vụ khác nhau theo nhu cầu của người sử dụng. Sau đó trình duyệt sẽ đợi thông tin từ máy chủ web hay các máy phục vụ của các dịch vụ thông tin khác và hiển thị thông tin cho người sử dụng. Thông tin hiển thị có thể được lưu trữ trên những trang web riêng, được tạo ra trước khi có yêu cầu (trang web tĩnh) hoặc thông tin có thể được tạo ra ngay khi người dùng yêu cầu sử dụng từ trong các cơ sở dữ liệu dựa trên thông tin nhập vào qua đường liên kết URL (trang web động). Có nhiều Web browser khác nhau như: Mozilla Firefox, Microsoft Internet Explorer, Opera.

Máy chủ web

Máy chủ web (web server) là một phần mềm đóng vai trò phục vụ. Khi khởi động nó được nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác đến. Các yêu cầu có thể

đến từ một người sử dụng trình duyệt hoặc cũng có thể đến từ một Web server khác. Trong cả hai trường hợp trên, đối tượng ra yêu cầu gọi là máy khách (client). Các yêu cầu đối với Web server thường là đòi hỏi về một tư liệu hay một thông tin nào đó. Khi nhân được yêu cầu, nó phân tích để xác định xem tư liệu, thông tin khách hàng muốn gì. Sau đó nó tìm thấy tư liệu và gửi cho máy khách.

Web Client – Server

WWW được xây dựng và hoạt động theo mô hình Client/Server. Các Client dùng một phần mềm gọi là trình duyệt. Trình duyệt tiếp nhận thông tin yêu cầu từ người dùng, sau đó gửi tới máy Server xử lý. Web Server cũng là một phần mềm chạy trên các máy phục vụ, nhận Request thực hiện theo yêu cầu rồi đáp ứng (Respone) thông tin cho người sử dụng.

HTTP

HTTP là một giao thức gửi/nhận giữa máy khách và máy chủ. Máy khách có thể là trình duyệt do người dùng sử dụng hoặc một máy chủ web khác, gọi là trạm cuối. Máy chủ đích lưu trữ các tài nguyên dưới dạng HTML, được gọi là máy chủ gốc. Giữa trạm cuối và máy chủ gốc có thể phải đi qua nhiều đường trung gian

Một client HTTP sẽ tạo ra một yêu cầu bằng cách thiết lập một kết nối Transmission Control Protocol (TCP) đến một cổng xác định trên máy chủ (thường là cổng 80). Máy chủ HTTP sẽ nghe các yêu cầu ở cổng đó để trả lời tương ứng.

HTTP không duy trì k t n i c a Client v i Server. Sau khiế ố ủ ớ

Server ph c v m t yêu c u t i Client, nó ch m d t s k t n i v iụ ụ ộ ầ ớ ấ ứ ự ế ố ớ

tr m cu i. Trong th i gian sau đó n u Client yêu c u m t d ch vạ ố ờ ế ầ ộ ị ụ

khác t Server, thì khi m t trang thông tin m i đừ ộ ớ ược t i xu ng thìả ố

m t k t n i m i độ ế ố ớ ược xây d ng v i Serverự ớ

b. Phân loại web

Trang web tĩnh

Trang web tĩnh (Static web pages) là tài liệu được phân phát trực tiếp bằng một file có trên server. Máy chủ web sẽ tìm kiếm và xác định vị trí file đó và gửi kết quả cho Client. Sử dụng web tĩnh thường thích hợp cho việc kết nối với các dữ liệu cố định, không thay đổi trong suốt thời gian tồn tại của thông tin.

Trang web động (Dynamic web pages) là tài liệu được tạo ra ngay khi Client yêu cầu. Máy chủ sẽ dựa trên yêu cầu của Client, thực hiện các giao tiếp với các dịch vụ khác (ví dụ như Cơ sở dữ liệu hay Máy chủ thư điện tử…) rồi tạo ra một trang thông tin đúng định dạng web và gửi đến cho Client. Client sẽ nhận kết quả như một trang web HTML và hiển thị lên trình duyệt. Việc sử dụng trang web động đáp ứng được các đòi hỏi của thông tin thay đổi phức tạp do chịu ảnh hưởng của nhiều yếu tố tương tác.

c. Mô hình triển khai

Sơ đồ 120

d. Đánh giá

Trong sơ đồ trên chúng ta có thể thấy chương trình ứng dụng được xây dựng tương đối độc lập và chỉ thực sự kết nối thông qua Interface. Việc này làm cho chương trình đạt được các yêu cầu:

• Không phụ thuộc vào môi trường hệ điều hành • Không phụ thuộc vào HTTP Server

Chúng ta chỉ cần cài đặt một bộ Interface thích hợp để Chương trình có thể kết nối với HTTP Server và Database Server.

Môi trường HĐH Môi trường HĐH C SDL C SDL DataBase Server Interface Chương trình ứng Trình duyệt  Trình duyệt  Trình duyệt  H TML H TML HTTP Server Interface . . .

Đây chính là mô hình phát triển phần mềm dựa trên nền WWW, thuận lợi cho việc cài đặt trên các hệ thống khác nhau và có khả năng lập trình từ xa.

3.1.2. XHTML, CSS, PHP và MySQL

a. XHTML 1.0 [4]

Ngôn ngữ đánh dấu siêu văn bản bậc cao (Extensible HyperText Markup Language – XHTML) là một ngôn ngữ đánh dấu có những chức năng tương tự HTML nhưng có những quy định chặt chẽ hơn trong cách viết. Có thể nói, XHTML là kẻ thừa kế của HTML nhưng thực ra XHTML là một chuẩn khá riêng biệt và được xây dựng song song với HTML.

Việc đặt ra các quy định chặt chẽ hơn cho HTML chủ yếu bởi lý do World Wide Web trong thời đại mới sẽ phải truyền tải thông tin đến rất nhiều thiết bị khác ngoài máy tính (như các thiết bị thông tin di động) là những thiết bị không theo truyền thống của máy tính thông thường, khi mà một số tài nguyên không được cung cấp đầy đủ để hỗ trợ sự phức tạp của cách viết HTML.

Ngôn ngữ XHTML để xây dựng các hộp thoại nhập dữ liệu và ngôn ngữ CSS để trình bày kiểu dáng

Trường dữ liệu

Dùng để nhập dữ liệu với các phương án không giới hạn

hoặc

Phím lựa chọn

Nhập liệu số ít phương án lựa chọn loại trừ nhau

Nhập liệu hữu hạn phương án loại trừ nhau

Các phím lệnh

b. CSS [5]

Tập tin định kiểu theo tầng (Cascading Style Sheets - CSS) là ngôn ngữ trình bày được sử dụng đi kèm với chuẩn HTML, XHTML với mục đích chủ yếu làm giảm việc làm rối trong khâu trình bày của trang web cũng như tận dụng tối đa các kiểu dáng có thể áp dụng cho nhiều phần tử trong trang web giúp tránh phải lặp lại các kiểu dáng giống nhau.

Đặc điểm nổi bật nhất của CSS là tính tầng: một kiểu dáng (style) này có thể thừa kế một phần, từng phần một kiểu dáng khác đã được định nghĩa hoặc áp dụng chỉ trong một vùng của văn bản.

c. PHP [6]

PHP (viết tắt ngược của Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối

ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.

PHP là ngôn ngữ lập trình máy chủ, có nghĩa là các mã kịch bản PHP được thực hiện trên máy chủ web và chỉ chuyển thông tin dưới dạng văn bản HTML cho Client.

Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào:

Hình 3.1 Một đoạn code PHP xen kẽ HTML

Một kịch bản PHP bắt đầu thực hiện khi một trình duyệt yêu cầu một file .php từ máy chủ web. Máy chủ web đọc nội dung của file .php từ trên xuống dưới, xử lý file theo như lệnh yêu cầu từ phía trình duyệt gửi bằng các tham số HTTP.

Phần sau giới thiệu một số thao tác lập trình cơ bản với PHP được ứng dụng trong chương trình.

Truyền tham số

Đường dẫn ngoài được gọi thông qua một file index.php duy nhất đặt tại thư mục gốc. Các tham số truyền vào sẽ được hệ thống xử lý và trả ra trang tương ứng yêu cầu. Tham số truyền vào có thể truyền trực tiếp ở địa chỉ URL, sau dấu ?

Hình 3.2 Truyền tham số lệnh qua liên kết URL

Hoặc thông qua các tham số ẩn của một form nhập liệu

Hình 3.3 Truyền tham số qua form Cấu trúc xử lý

Gọi hàm khởi tạo kết nối với cơ sở dữ liệu. Hàm này sẽ thử kết nối đến cơ sở dữ liệu đã được khai báo trong một file config.php lưu cùng thư mục gốc với file index.

Sau đó, khởi tạo các class xử lý các chức năng trình bày trang và class tạo ra một phiên truy cập mới cho người dùng. Tiếp theo xử lý các tham số truyền vào

Hình 3.4 Một đoạn code của index.php

Kiểm tra tham số nhập vào và gọi module tương ứng

Hình 3.5 Kiểm tra tham số act để gọi đến class tương ứng Xử lý form

Form hiển thị dưới dạng HTML khi được truyền sẽ gửi đến một hàm xử lý các tham số HTTP tương ứng với tên của nó. Hàm được gọi thông qua liên kết gửi đi

d. MySQL

MySQL là một hệ quản trị cơ sở dữ liệu dựa trên nền tảng SQL, đa tác vụ và đa người dùng với số lượng cài đặt khoảng sáu triệu lần trên toàn thế giới, là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay. MySQL là sản phẩm miễn phí do công ty MySQL AB Thụy Điển giữ bản quyền và tiến hành hỗ trợ các hoạt động bảo trì hệ thống, trợ giúp kỹ thuật.

Do tính chất miễn phí và mã nguồn mở, MySQL là hệ cơ sở dữ liệu thường được những người lập trình PHP sử dụng.

3.2. Chương trình triển khai

3.2.1. Giao diện

a. Giao diện chính

b. Giao diện đăng nhập

Hình 3.8 Giao diện đăng nhập

c. Các menu đã xây dựng

Hình 3.9 Các menu

d. Giao diện liệt kê các thông điệp lệnh

Hình 3.10 Giao diện liệt kê các thông điệp lệnh

b. Giao diện nhập liệu

Lệnh mua ngoại tệ

Hình 3.12

Lệnh ủy nhiệm chi

Hình 3.13

c. Giao diện thông báo

d. Giao diện bản in thử

Hình 3.16

3.2.2. Chương trình nguồn

a. Một vài module chính

Hình 3.17 Module giao tiếp cơ sở dữ liệu Module hiển thị giao diện

Hình 3.18 Module hiển thị giao diện Module tạo phiên làm việc

Hình 3.19 Module tạo phiên làm việc Kết nối với cơ sở dữ liệu

Hình 3.20 Đoạn lệnh thực hiện kết nối cơ sở dữ liệu Module xử lý các thông điệp lệnh

Hình 3.21 Module xử lý các thông điệp lệnh

b. Một vài hàm

Hình 3.23 Hàm ghi một thông điệp lệnh

c. Một vài đoạn mã giao diện

Hình 3.25 Mã HTML của phần đầu trang

Hình 3.26 Mã HTML của trang thông báo lỗi

3.2.3. Vấn đề bảo mật

a. SSL

SSL là viết tắt của Secure Sockets Layer, lớp an toàn socket, là một giao thức được phát triển bởi Netscape để truyền các văn bản riêng tư trên nền Internet một cách an toàn. SSL sử dụng hệ thống mã hóa với hai khóa để mã hóa thông tin – một khóa công khai cho tất cả mọi người và một khóa riêng hay khóa bí mật chỉ được biết bởi người nhận thông điệp. Các trình duyệt hiện nay đều hỗ trợ SSL và rất nhiều website như các website của ngân hàng hay các website giao dịch trực tuyến sử dụng giao thức

này để đảm bảo an toàn thông tin cá nhân người dùng, như số thẻ tín dụng. Có thể nhận ra những liên kết yêu cầu thực hiện kết nối SSL bắt đầu bằng https: thay vì http:

b. Bảo mật bằng thiết bị tạo mã điện tử

Người sử dụng sẽ được cung cấp một thiết bị hiện số. Khi thực hiện việc gửi một thông điệp quan trọng đến cho máy chủ, người dùng sẽ phải nhập thêm dãy số hiển thị trên thiết bị. Đặc điểm của dãy số này là luôn luôn thay đổi theo một chu kỳ thời gian nhất định (thường là 60 giây một lần) với một thuật toán nhất định nhưng không thể đoán trước. Dãy số này được coi như một mật khẩu thông tuyến và tránh được các nguy cơ bị cài đặt lén các chương trình nghe mật khẩu hay lộ mật khẩu.

3.3. Hướng phát triển của chương trình

Chương trình được xây dựng với mục đích ứng dụng. Hướng phát triển trong tương lai là hoàn thiện các chức năng đã phân tích và thiết kế; đồng bộ chương trình với hệ cơ sở dữ liệu có sẵn của ngân hàng.

Kết luận

Việc xây dựng và phát triển "ngân hàng trực tuyến" là một xu thế tất yếu của các ngân hàng trong nước hiện nay. Tuy nhiên với công nghệ nói chung và công nghệ bảo mật nói riêng còn hạn chế, việc các ngân hàng áp dụng mô hình này tại thời điểm hiện tại là chưa phù hợp nhưng không vì thế mà các ngân hàng không triển khai nó. Hiện nay, các ngân hàng lớn trong nước đang lần lượt tìm hiểu và xây dựng chương trình và chắc chắn trong tương lai gần, dịch vụ trên sẽ ngày càng phổ biến với mỗi người chúng ta.

Dù được sự chỉ bảo tận tình của các thầy hướng dẫn và sự giúp đỡ rất nhiệt tình của các cán bộ Ngân hàng Ngoại thương Việt Nam nơi chúng em thực tập, nhưng do khuôn khổ và thời gian của bài khoá luận kèm theo những khó khăn khi tìm hiểu về nghiệp vụ, sẽ có không ít các hạn chế, thiếu sót, trong bài khoá luận này.

Với khoá luận với đề tài "e-banking – ngân hàng trực tuyến", chúng em hy vọng có thể góp một phần nhỏ bé vào việc giải quyết bài toán thực tế. Trong tương lai gần, chúng em mong muốn có điều kiện hoàn thành chương trình và có thể đưa vào áp dụng thực tế, đem lại lợi ích thiết thực cho các ngân hàng cũng như những người có nhu cầu sử dụng.

Tài liệu tham khảo

[1] Tài liệu hướng dẫn sử dụng chương trình VCB-MONEY.

[2] PTS. Đỗ Linh Hiệp – PTS Ngô Hướng – CN Hồ Trung Biểu, "Thanh toán quốc tế - Tài trợ ngoại thương và kinh doanh ngoại hối" NXB Thống Kê - 1994

[3] GS.TS. Lê Văn T – chuyên viên kinh tế Lê Tùng Vân, "Tín dụng tài trợ xuất nhập khẩu – Thanh toán quốc tế và kinh doanh ngoại tệ" NXB Thống Kê – 2000.

[4] World Wide Web Consortium (W3C), XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) http://www.w3.org/TR/xhtml1

[5] World Wide Web Consortium (W3C), Cascading Style Sheets, level 2, http://www.w3.org/TR/REC-CSS2

Một phần của tài liệu Xây dựng và phát triển ngân hàng trực tuyến ebanking (Trang 149 - 169)