Tải bản đầy đủ (.pdf) (48 trang)

Luận văn thạc sĩ VNU UET ứng dụng công nghệ java web service và XSL trong việc xây dựng các dịch vụ ngân hàng trực tuyến luận văn ths công nghệ thông tin 1 01 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (737.76 KB, 48 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐINH THỊ HUYỀN TRANG

ỨNG DỤNG CÔNG NGHỆ JAVA WEB SERVICE
VÀ XSL TRONG VIỆC XÂY DỰNG CÁC DỊCH VỤ
NGÂN HÀNG TRỰC TUYẾN

LUẬN VĂN THẠC SỸ

Hà nội, 11/2007

LUAN VAN CHAT LUONG download : add


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐINH THỊ HUYỀN TRANG

ỨNG DỤNG CÔNG NGHỆ JAVA WEB SERVICE
VÀ XSL TRONG VIỆC XÂY DỰNG CÁC DỊCH VỤ
NGÂN HÀNG TRỰC TUYẾN

LUẬN VĂN THẠC SỸ

Ngành: Công nghệ thông tin
Mã số: 1.01.10

Giáo viên hướng dẫn: PGS. TS Nguyễn Văn Vỵ



Hà nội, 11/2007

LUAN VAN CHAT LUONG download : add


LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá
nhân, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn,
những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều
nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích
dẫn hợp pháp.
Tơi xin hồn tồn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.
Hà Nội, ngày 31 tháng 10 năm 2007

Đinh Thị Huyền Trang

i

LUAN VAN CHAT LUONG download : add


LỜI CẢM ƠN
Trước tiên em xin được bày tỏ sự trân trọng và lòng biết ơn đối với thầy
giáo PGS.TS Nguyễn Văn Vỵ, giảng viên bộ môn Công Nghệ Phần Mềm – Khoa
Công Nghệ Thông Tin – Trường Đại học Công Nghệ - ĐHQGHN. Trong suốt
thời gian học và làm luận văn tốt nghiệp, thầy đã dành rất nhiều thời gian q báu
để tận tình chỉ bảo, hướng dẫn, định hướng cho em trong việc nghiên cứu và thực
hiện luận văn.

Em xin được cảm ơn các GS, TS, các thầy cô trong trường đại học Công
Nghệ - ĐHQGHN đã giảng dạy em trong quá trình học tập, thực hành, làm bài
tập, đọc và nhận xét luận văn của em, giúp em hiểu thấu đáo hơn lĩnh vực mà em
đang nghiên cứu, những hạn chế mà em cần khắc phục trong việc học tập, nghiên
cứu và thực hiện luận văn này.
Xin cảm ơn bạn bè, đồng nghiệp và nhất là các thành viên trong gia đình đã
tạo mọi điều kiện tốt nhất, động viên, cổ vũ tơi trong suốt q trình học tập và
làm luận văn tốt nghiệp.
Hà nội, ngày 31 tháng 10 năm 2007

Đinh Thị Huyền Trang

ii

LUAN VAN CHAT LUONG download : add


TÓM TẮT KẾT QUẢ
Luận văn này bao gồm những kết quả sau:
-

Nghiên cứu và trình bày các khái niệm nền tảng, những công nghệ
liên quan để xây dựng một Web Service.

-

Nghiên cứu và trình bày chi tiết các bước để xây dựng, cách thức triển
khai và sử dụng một Web Service.

-


Phân tích thiết kế sử dụng cơng nghệ hướng đối tượng “Hệ thống
thông tin khách hàng trực tuyến”.

-

Áp dụng công nghệ Web Service để triển khai, xây dựng hệ thống
trên. Ứng dụng đã kết nối được với dữ liệu của hệ thống thanh toán
trong ngân hàng, cho phép khách hàng có thể truy vấn thơng tin về tài
khoản, các giao dịch phát sinh trên tài khoản mở tại ngân hàng

iii

LUAN VAN CHAT LUONG download : add


MỤC LỤC
DANH MỤC CHỮ VIẾT TẮT........................................................... 1
DANH MỤC HÌNH VẼ...................................................................... 2
MỞ ĐẦU ............................................................................................ 4
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CỦA WEB SERVICE................ 5
1.1. Web Services .................................................................................. 5
1.1.1.
1.1.2.
1.1.3.
1.1.4.

Giới thiệu ..........................................................................................5
Khái niệm .........................................................................................6
Ưu thế và ứng dụng của Web Service................................................7

Cấu trúc của Web Service ............................................................... 11

1.2. Các công nghệ nền tảng của Web Service ..................................... 12
1.2.1 XML ................................................................................................ 12
1.2.1.1. Khái niệm về XML .................................................................. 12
1.2.1.2. Các quy tắc cú pháp của XML.................................................. 12
1.2.1.3. XML có định dạng tốt (Well-formed XML) .............................. 14
1.2.1.4. XML đúng đắn (Valid XML) .................................................... 15
1.2.1.5. Không gian tên (Namespaces) ................................................... 18
1.2.1.6. Tên viết tắt (Qualified Names - QNames).................................. 19
1.2.1.7. CDATA .................................................................................... 20
1.2.1.8. Trình diễn dữ liệu XML trên web .............................................. 21
1.2.2. SOAP............................................................................................... 22
1.2.2.1. Đặc trưng của SOAP ................................................................. 22
1.2.2.2. Cấu trúc một thông điệp (Message) theo dạng SOAP ................ 23
1.2.2.3. SOAP trong HTTP .................................................................... 23
1.2.3. WSDL.............................................................................................. 26
1.2.4. UDDI ............................................................................................... 27

1.3. Phát triển hệ thống ......................................................................... 29
1.3.1. Cấu trúc thành phần của hệ thống và hoạt động của nó .................... 29
1.3.1.1. Các thành phần của hệ thống Web Service ................................ 29
1.3.1.2. Các bước xây dựng và hoạt động của hệ thống Web Service ..... 30
1.3.2 Các giai đoạn trong quá trình xây dựng ............................................. 30

CHƯƠNG 2. XÂY DỰNG HỆ THỐNG WEB SERVICES CUNG
CẤP CÁC DỊCH VỤ THÔNG TIN KHÁCH HÀNG TRỰC
TUYẾN ............................................................................................ 32
2.1. Mơ tả bài tốn ................................................................................ 32
2.1.1. Hiện trạng ........................................................................................ 32

iv

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
2.1.2. Các yêu cầu đặt ra ............................................................................ 33
2.1.3. Các vấn đề cần giải quyết ................................................................. 34

2.2. Mơ hình nghiệp vụ của hệ thống .................................................... 35
2.2.1. Các chức năng của hệ thống ............................................................. 35
2.2.2. Mơ hình khái niệm lĩnh vực nghiệp vụ ............................................. 36
2.2.3. Các khái niệm .................................................................................. 36
2.2.4.Các tác nhân nghiệp vụ ..................................................................... 37
2.2.4.1. Nhân viên hệ thống mức quản trị chung (Admin) ..................... 38
2.2.4.2. Nhân viên chi nhánh mức quản trị chi nhánh (Branch Admin) .. 39
2.2.4.3. Khách hàng (Customer) ............................................................. 40
2.2.4.4. Core Bank ................................................................................. 40
2.2.5. Mơ hình ca sử dụng của hệ thống ..................................................... 41
2.2.5.1. Mơ hình ca sử dụng mức cao ..................................................... 41
2.2.5.2. Mơ hình các gói ca sử dụng ...................................................... 41
2.2.5.3. Mô tả chi tiết ca sử dụng ........................................................... 47

2.3. Mô hình phân tích hệ thống ........................................................... 51
2.3.1. Phân tích từng ca sử dụng ................................................................ 51
2.3.1.1. Ca sử dụng thêm mới chi nhánh ................................................ 51
2.3.1.2. Ca sử dụng thêm mới người quản trị chi nhánh ......................... 53
2.3.1.3. Ca sử dụng đăng ký khách hàng ................................................ 55
2.3.1.4. Ca sử dụng vấn tin lịch sử giao dịch của tài khoản .................... 58
2.3.1.5. Biều đồ mô tả tổng hợp một số ca sử dụng điển hình ................. 61


2.4. Mơ hình triển khai ......................................................................... 61
2.5. Xây dựng WSDL ........................................................................... 64
2.5.1. Definitions ....................................................................................... 64
2.5.2. Types ............................................................................................... 64
2.5.3. Message ........................................................................................... 65
2.5.4. PortType .......................................................................................... 65
2.5.5. Binding ............................................................................................ 66
2.5.6. Service và Port ................................................................................. 66

2.6. SOAP server .................................................................................. 67
2.6.1. Apache Axis .................................................................................... 67
2.6.2. SOAP message................................................................................. 69
2.6.3. Triển khai hệ thống Web Services .................................................... 71

CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG WEB THÔNG TIN
KHÁCH HÀNG SỬ DỤNG DỊCH VỤ WEB SERVICES. .............. 73
3.1. Mơ hình hoạt động ......................................................................... 73
v

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
3.1.1. Mơ hình tổng quan ........................................................................... 73
3.1.2 Mơ hình tương tác đối tượng ............................................................. 74

3.2. Xây dựng ứng dụng ....................................................................... 75
3.2.1. Các chức năng của ứng dụng............................................................ 75
3.2.2. Axis engine ...................................................................................... 75

3.2.3. Biểu diễn dữ liệu trên máy khách ..................................................... 77
3.2.3.1. Chuyển đổi dữ liệu sang XML .................................................. 77
3.2.3.2. Kết hợp XML và XSLT để định dạng hiển thị dữ liệu ............... 78

3.3. An ninh bảo mật ............................................................................ 82
3.3.1. Các biện pháp đã được sử dụng ........................................................ 82
3.3.1.1. An ninh mạng ............................................................................ 82
3.3.1.2. An ninh ứng dụng...................................................................... 82
3.3.2. Những vấn đề còn tồn đọng cần giải quyết. ...................................... 83

3.4. Giao diện ứng dụng........................................................................ 83

KẾT LUẬN ...................................................................................... 87
Những kết quả đạt được ............................................................................. 87
Hạn chế và hướng phát triển ...................................................................... 87

TÀI LIỆU THAM KHẢO................................................................. 88

vi

LUAN VAN CHAT LUONG download : add


DANH MỤC CHỮ VIẾT TẮT
Từ viết tắt

Nội dung

CDATA


Character Data

CSS

Casscading Style Sheet

DTD

Document Type Definition

FTP

File Transfer Protocol

HTTP

Hypertext Transfer Protocol

HTTPS

Hypertext Transfer Protocol Secure

RPC

Remote Protocol Control

SMTP

Simple Mail Transfer Protocol


SOAP

Simple Object Access Protocol

UDDI

Universal Description Discovery and Integration

WSDL

Web Services Description Language

XML

eXtensible Markup Language

XSL

eXtensible Stylesheet Language

XSLT

eXtensible Stylesheet Language Transform

1

LUAN VAN CHAT LUONG download : add


DANH MỤC HÌNH VẼ

Hình 1.1: Các lớp của Web Service .....................................................................7
Hình 1.2: Ứng dụng web khơng sử dụng Web Service.........................................8
Hình 1.3: Ứng dụng web sử dụng Web Service (1) ..............................................9
Hình 1.4: Ứng dụng web sử dụng Web Service (2) ............................................ 10
Hình 1.5: Thành phần của Web Service ............................................................. 11
Hình 1.6: Mơ hình trình diễn dữ liệu XML trên Web ......................................... 22
Hình 1.7: Cấu trúc của thơng điệp SOAP........................................................... 23
Hình 1.8: Mơ hình hoạt động của SOAP ............................................................ 24
Hình 1.9: Thơng điệp u cầu của SOAP........................................................... 25
Hình 1.10: Thơng điệp hồi đáp của SOAP ......................................................... 25
Hình 1.11: Cấu trúc của WSDL ......................................................................... 26
Hình 1.12: Những bộ phận cấu thành của Web Service và sự tương tác giữa
chúng khi hoạt động................................................................................... 29
Hình 2.1. Biểu đồ miền lĩnh vực của hệ thống thông tin tài khoản trực tuyến .... 36
Hình 2.2. Mơ hình ca sử dụng mức tổng thể của hệ thống TTTKTT .................. 41
Hình 2.3.
Hình 2.4.
Hình 2.5.
Hình 2.6.

Biểu đồ ca sử dụng chi tiết của gói quản trị chi nhánh ....................... 42
Biểu đồ ca sử dụng chi tiết của gói quản trị người dùng .................... 43
Biểu đồ ca sử dụng chi tiết của gói quản trị thơng tin dịch vụ ............ 45
Biểu đồ ca sử dụng chi tiết của gói dịch vụ khách hàng ..................... 46

Hình 2.7. Biểu đồ tuần tự hệ thống thêm mới chi nhánh .................................... 52
Hình 2.8. Biểu đồ lớp phân tích thực thi ca sử dụng thêm mới chi nhánh ........... 52
Hình 2.9. Biểu đồ tương tác ca sử dụng thêm mới chi nhánh ............................. 52
Hình 2.10. Giao diện thêm mới chi nhánh.......................................................... 53
Hình 2.11. Biểu đồ tuần tự hệ thống thêm mới người quản trị chi nhánh ........... 53

Hình 2.12. Biểu đồ lớp phân tích thực thi ca sử dụng thêm mới người quản trị chi
nhánh ......................................................................................................... 54
Hình 2.13. Biểu đồ tương tác ca sử dụng thêm mới người quản trị chi nhánh .... 54
Hình 2.14. Giao diện thêm mới người quản trị chi nhánh................................... 55
Hình 2.15. Biều đồ tuần tự hệ thống đăng ký khách hàng .................................. 55
Hình 2.16. Biểu đồ lớp phân tích thực thi ca sử dụng đăng ký khách hàng ......... 56
Hình 2.17. Biểu đồ tương tác ca sử dụng đăng ký khách hàng ........................... 57
Hình 2.18. Giao diện đăng ký khách hàng ......................................................... 58
Hình 2.19. Biểu đồ tuần tự hệ thống vấn tin lịch sử giao dịch của tài khoản ...... 59

2

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
Hình 2.20. Biểu đồ lớp thực thi ca sử dụng vấn tin lịch sử giao dịch ................. 59
Hình 2.21. Biều đồ tương tác ca sử dụng vấn tin lịch sử giao dịch ..................... 60
Hình 2.22. Giao diện vấn tin lịch sử giao dịch của tài khoản.............................. 60
Hình 2.23. Biểu đồ mơ tả tổng hợp các biểu đồ phân tích khái niệm của một số ca
sử dụng điển hình ...................................................................................... 61
Hình 2.24. Cấu trúc của MessageContext .......................................................... 68
Hình 2.25. Q trình xử lý thơng điệp trên máy chủ Axis .................................. 69
Hình 3.1. Mơ hình tổng quan của hệ thống ........................................................ 73
Hình 3.2. Mơ hình tương tác của hệ thống ......................................................... 74
Hình 3.3. Quá trình xử lý thơng điệp trên ứng dụng ........................................... 75
Hình 3.4. Kết quả biến đổi tài liệu XML sử dụng XSLT .................................... 81
Hình 3.5. Mơ hình bảo mật của ứng dụng .......................................................... 82
Hình 3.6. Màn hình đăng nhập hệ thống ............................................................ 83
Hình 3.7. Màn hình đăng ký sử dụng hệ thống................................................... 84

Hình 3.8. Màn hình danh sách tài khoản của khách hàng ................................... 85
Hình 3.9. Màn hình trạng thái tài khoản............................................................. 85
Hình 3.10. Màn hình vấn tin lịch sử giao dịch của tài khoản .............................. 86
Hình 3.11. Màn hình hiện thị kết quả trả về ....................................................... 86

3

LUAN VAN CHAT LUONG download : add


MỞ ĐẦU
Ngày nay, với sự phát triển rất nhanh chóng của xã hội cũng như hạ tầng
công nghệ thông tin, hầu như mọi doanh nghiệp cá nhân đều có sự trao đổi, tìm
kiếm thơng tin trên Internet. Nhu cầu truy cập thông tin về tài khoản của khách
hàng thông qua thư điện tử hay truy cập trực tiếp vào trang web của ngân hàng là
rất lớn. Hơn nữa, việc truy cập thông tin qua Internet đem lại sự thuận tiện cho
khách hàng khi họ có thể xem thơng tin tại bất cứ vị trí, thời điểm nào họ muốn,
khơng phải trực tiếp đến quầy giao dịch của ngân hàng.
Để đáp ứng được yêu cầu đó cần phải xây dựng một hệ thống thông tin hỗ
trợ khách hàng thông qua Internet. Hệ thống này đảm bảo cho khách hàng có thể
truy cập được các thông tin về tài khoản, về giao dịch trên tài khoản khi truy cập
vào trang web của ngân hàng. Đây cũng chính là cơ sở nền tảng, là giai đoạn đầu
của quá trình xây dựng một hệ thống giao dịch trực tuyến, một ứng dụng banking
online theo đúng nghĩa của nó.
Trên thực tế, hiện nay hầu hết các ngân hàng tại Việt Nam đều có một hạ
tầng ứng dụng cơng nghệ thơng tin cho việc thanh tốn và quản lý dữ liệu ngân
hàng tập trung, còn được gọi là Core Bank. Do vậy với yêu cầu đặt ra như trên,
chúng ta cần xây dựng ứng dụng có thể kết nối với hệ thống Core Bank để lấy
thông tin về các hoạt động giao dịch cũng như có thể thực hiện các giao dịch một
cách trực tuyến. Vì vậy “Ứng dụng công nghệ Java Web Service và XSL trong

việc xây dựng các dịch vụ ngân hàng trực tuyến” đã được chọn làm đề tài cho
luận văn này.
Luận văn tốt nghiệp này trình bày một cơng nghệ có thể dễ dàng giải quyết
bài toán trên theo hướng mở, hiện đại. Đó chính là cơng nghệ Web Services. Nội
dung chính của luận văn bao gồm 4 chương:
Chương 1: Giới thiệu những công nghệ nền tảng của Web Service.
Chương 2: Mô tả bài toán và xây dựng hệ thống Web Service cung cấp các
dịch vụ hỗ trợ cho hệ thống thông tin khách hàng trực tuyến.
Chương 3: Xây dựng hệ thống thông tin khách hàng trực tuyến trên nền
tảng Web Service.
Cuối cùng là kết luận và những hướng phát triển tiếp theo của đề tài.

4

LUAN VAN CHAT LUONG download : add


CHƯƠNG 1. CƠ SỞ LÝ THUYẾT CỦA WEB
SERVICE
1.1. Web Services
1.1.1. Giới thiệu
Lập trình hướng đối tượng đã được giới thiệu và hứa hẹn về khả năng tái sử
dụng mã nguồn trên nhiều hệ thống và kiến trúc. Các nhà lập trình đã tiên đốn
rằng, họ thậm chí sẽ khơng cần phải tạo ra các lớp mới vì kho mã nguồn đã sở
hữu đủ các lớp cần thiết. Các nhà cung cấp thư viện mã nguồn thu lợi từ việc
cung cấp các thư viện lớp thực hiện các chức năng cơ bản cho các lập trình viên,
ví dụ các thư viện thương mại của C++ chứa các phương thức thao tác chuẩn trên
ngày và giờ. Điều này giúp các lập trình viên tiết kiệm đáng kể thời gian. Khi các
ngôn ngữ mới như Java và C# xuất hiện, các chức năng cơ bản này mặc nhiên là
một phần của ngôn ngữ. Tuy nhiên, khái niệm một kho mã nguồn tập trung

không phải lúc nào cũng đúng. Ví dụ, các nghiệp vụ của các cơng ty ln khác
nhau, khơng thể có một kho tập trung cho các loại mã như vậy. Trong trường hợp
này, các thư viện thương mại chỉ có thể cung cấp các chức năng cơ bản và các
lớp tổng quát cần thiết, nhưng các thư viện này không thể chứa các chức năng
nghiệp vụ, vì chúng là duy nhất cho mỗi công ty. Đối với một số các nghiệp vụ,
như nghiệp vụ của ngân hàng, các nhà cung cấp có thể tạo ra các gói thư viện
dùng chung vì luật của chính phủ đảm bảo các nghiệp vụ đó phải tuân theo các
logic nhất định.
Ban đầu, các đối tượng chỉ có thể lập trình để chạy trên cùng một máy, ví
dụ như các tập tin DLL (Dynamic Link Library – Thư viện liên kết động). Các
thư viện này chứa thông tin cho các ứng dụng khác dùng để tạo các đối tượng.
Tuy nhiên, nếu trong một tập đoàn lớn, với yêu cầu phải bảo trì hàng trăm ngàn
máy trạm và các ứng dụng trên mỗi hệ thống, việc có những thư viện này trên
mỗi hệ thống sẽ là một vấn đề gây đau đầu khi phải tiến hành bảo trì. Do đó, việc
dùng các đối tượng từ xa là một cách tuyệt vời để sử dụng lại mã nguồn ở mức
ứng dụng trên một máy cục bộ. Các đối tượng từ xa là các đối tượng được tạo ra
ở trên một máy chủ trung tâm và có thể được truy cập từ máy trạm thông qua
mạng, kể cả Internet. Một đối tượng từ xa phải luôn sẵn sàng cho một chương
trình thơng qua mạng hoặc Internet. Các cơng nghệ như COM (Common Object
5

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
Manifest), CORBA (Common Object Request Broker Architecture), RMI
(Remote Method Invocation), RPC (Remote Procedure Call) được dùng để gọi
đối tượng từ xa [11]. Mục tiêu của các phương thức này là cho phép người lập
trình có thể thay đổi mã tại một nơi và tất cả các hệ thống và ứng dụng sử dụng
các phương thức này ngay lập tức được truy cập đến mã nguồn mới. Điều bất lợi

là khi việc lập trình trên máy chủ có lỗi thì tất cả hệ thống đều bị lỗi.
Microsoft đã tạo ra một giao thức chuẩn dựa trên XML gọi là SOAP
(Simple Object Access Protocol – Giao thức truy cập đối tượng đơn giản). Giao
thức này là sự kết hợp việc lưu trữ dữ liệu dưới định dạng XML và một giao thức
chuẩn cho phép truyền tải dữ liệu qua Internet. Những giao thức mà SOAP
thường sử dụng để truyền tải bao gồm SMTP (Simple Mail Transfer Protocol),
FTP (File Transfer Protocol) và HTTP (Hypertext Transfer Protocol) [7]. Các
nhà phát triển thường xem những giao thức này như là chồng các giao thức của
Web Service.
Điểm khác biệt giữa SOAP và một Web Service: SOAP là một giao thức
dùng để di chuyển dữ liệu trên Internet, còn một Web Service là một đối tượng
dùng SOAP trong việc truyền tải dữ liệu đến một ứng dụng hoặc một trang web.

1.1.2. Khái niệm
Web Service có thể hiểu là dịch vụ trao đổi dữ liệu qua mạng Internet. Web
Service bao gồm các phương thức thực thi các yêu cầu thông qua các thông điệp
(messages) [6].
Trước đây, khi chưa có một chuẩn chung, các công ty lớn đã tự xây dựng
các chuẩn riêng để cài đặt các Web Service theo cách riêng của họ. Microsoft có
cơng nghệ Distributed COM/ Object RPC, tổ chức OMG đưa ra IIOP/CORBA,
tập đồn Sun Microsystem có cơng nghệ Java RMI/RPC. Đó là các giao thức
dạng nhị phân, khơng tương thích với nhau. Sau đó tổ chức W3C đã thống nhất
chuẩn SOAP (Simple Object Access Protocol) với khả năng lưu trữ thông tin và
trao đổi dữ liệu dựa trên XML.
Hiện tại với SOAP, Web Service có thể coi là đã có một giao thức chung,
cho phép các ứng dụng phía máy khách có thể được viết bằng bất kỳ ngơn ngữ
nào, chạy trên bất kỳ hệ thống nào, có thể kết nối và tương tác với các Web
Service thông qua mạng Intranet/Internet. Bản thân SOAP không định nghĩa các
cú pháp dữ liệu được truyền đi mà SOAP cung cấp một cơ chế đóng gói các dữ
6


LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
liệu định dạng XML và truyền qua mạng theo các chuẩn như HTTP, HTTPS,
SMTP hay FTP [7].
Web Service bao gồm nhiều lớp. Về cơ bản, đó là một cơ chế chuẩn liên
quan đến việc nhận biết, mơ tả, và tìm kiếm các chức năng được cung cấp bởi
một ứng dụng Web Service. Các lớp được mơ tả trong hình dưới đây [8]:

Hình 1.1: Các lớp của Web Service

1.1.3. Ưu thế và ứng dụng của Web Service
Web Service có những ưu thế sau:
Chia sẻ dữ liệu: Web Service cho phép các ứng dụng chia sẻ dữ liệu, cung
cấp khả năng gọi đến các ứng dụng khác mà khơng cần quan tâm đến các ứng
dụng đó được phát triển bằng ngôn ngữ nào, chạy trên hệ điều hành hoặc môi
trường nào, v.v… Mặc dù các ứng dụng Web Service là độc lập với nhau, nhưng
chúng có thể liên kết với nhau để thực hiện một công việc cụ thể. Do đó, người
dùng có thể sử dụng bất kỳ chương trình phía khách nào để gọi đến các phương
thức của các Web Service, tương tác và lấy kết quả về theo yêu cầu để xử lý.
Chi phí thấp: Web Service được xây dựng trên công nghệ XML. Như vậy
dữ liệu có thể được truyền qua các mơi trường và hệ điều hành khác nhau mà
không bị phụ thuộc vào các ngơn ngữ lập trình được sử dụng. Do đó, giảm được
chi phí và thời gian để xây dựng một môi trường giao tiếp dữ liệu linh hoạt giữa
các hệ thống khác nhau.

7


LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
Thông tin được cập nhật thường xuyên và linh hoạt: Web Service không
chỉ cho phép các hệ thống kết nối với nhau mà còn cho phép kết nối thông tin
giữa người sử dụng thông tin và các thông tin mà họ cần khai thác. Sau đó thơng
tin có thể được sử dụng theo bất cứ một khuôn dạng nào mà người sử dụng thông
tin mong muốn. Người sử dụng thơng tin có thể u cầu bất cứ thông tin nào, tại
một thời điểm bất kỳ từ địa điểm cung cấp các dịch vụ Web mà không phải đợi
thông tin được chuyển lên theo định kỳ.
Lượng thông tin phong phú: Tăng khả năng thu thập và trao đổi thông tin
từ nhiều nguồn khác nhau thông qua việc liên kết thơng tin giữa các Web
Service. Do đó, giảm được gánh nặng lưu trữ dữ liệu tại trung tâm lưu trữ (khả
năng lưu trữ phân tán).
Khả năng bảo mật cao: Các phương thức của Web Service có thể u cầu
một số thơng tin từ phía người dùng trong các yêu cầu được gửi đến cho chúng.
Các thông tin trao đổi (mơ tả bằng XML) có thể được mã hóa theo chuẩn mã hóa
XML. Nếu các Web Service sử dụng các phương thức trao đổi dữ liệu dưới dạng
nhị phân (thông qua cơ chế gọi thủ tục từ xa – Remote Procedure Call), chúng sẽ
được tăng cường bảo mật bởi chính các cơng nghệ RPC của từng nhà cung cấp
dịch vụ [11].

Hình 1.2: Ứng dụng web khơng sử dụng Web Service
8

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3

Khả năng ứng dụng của Web Service vào các ứng dụng hiện nay là hết sức
to lớn. Ta hãy xét một ví dụ về việc đặt vé máy bay. Bình thường, nếu một khách
du lịch muốn đặt vé máy bay qua trang web của một đại lý bán vé máy bay, anh
ta sẽ phải biết được thông tin về các chuyến bay phù hợp hiện có và điền vào
phiếu đặt vé máy bay những thơng tin liên quan đến chuyến bay mà anh ta muốn.
Khi đó, trước hết anh ta sẽ phải tra cứu trên trang web của hãng máy bay hàng
tiếng đồng hồ để tìm ra các thơng tin đó (thơng tin về các chuyến bay cịn vé hay
hết vé, thơng tin thời gian chuyến bay có thể đặt vé được, …). Sau đó, do chương
trình ứng dụng của đại lý bán vé và hãng máy bay khơng có dịch vụ trao đổi dữ
liệu đăng ký vé máy bay, nên anh ta phải ghi lại các thông số chuyến bay mà anh
ta chọn được, để điền vào biểu mẫu đăng ký vé máy bay trong ứng dụng của đại
lý bán vé. Như vậy, anh ta sẽ phải mất nhiều thời gian và nhiều công sức để có
được một chiếc vé cho mình.

Hình 1.3: Ứng dụng web sử dụng Web Service (1)
Khi hãng máy bay và đại lý bán vé nâng cấp chương trình của họ, cung cấp
các Web Service để chia sẻ thông tin chuyến bay và đặt vé máy bay, thì tình hình
lại khác. Người khách hàng chỉ việc truy cập vào trang web của đại lý bán vé
9

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
máy bay để tra cứu các thông tin về các chuyến bay được cung cấp thơng qua
Web Service, sau đó chọn các thơng tin từ dịch vụ này, chúng sẽ được tự động
điền vào biểu mẫu đăng ký mua vé máy bay. Thời gian đặt vé có thể chỉ kéo dài
trong vài phút.
Một khi các khách sạn, siêu thị trực tuyến, công ty dịch vụ cho thuê xe cũng
có các ứng dụng Web Service tham gia vào hệ thống trên, thì chúng ta sẽ có một

hệ thống dịch vụ liên hoàn hỗ trợ cho khách du lịch một cách hết sức hiệu quả,
tiện lợi, nhanh chóng.
Khi khách hàng, nhà cung cấp đều đã tạo được tiếng nói chung trong mơi
trường trực tuyến, thì sự góp mặt của một tổ chức tài chính là điều tất yếu để
hồn thiện dịch vụ. Nó cho phép khách hàng, nhà cung cấp có thể thực hiện
ngay các giao dịch thanh khoản chỉ ở một nơi bất kỳ, mà không cần phải đến trực
tiếp ngân hàng.

Hình 1.4: Ứng dụng web sử dụng Web Service (2)
Mơ hình phát triển các dịch vụ theo cơng nghệ Web Service đặc biệt có thế
mạnh trong việc xây dựng các dịch vụ ngân hàng trực tuyến. Xuất phát từ thực tế
10

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
là, các ngân hàng đều có một hệ thống phần mềm điện tử thực hiện quản lý các
giao dịch của ngân hàng được áp dụng trên toàn hệ thống, việc xây dựng các dịch
vụ ngân hàng trực tuyến chính là việc kết nối giữa các trang web đến hệ thống
này theo hướng sử dụng dịch vụ. Với yêu cầu đó, việc xây dựng các Web Service
là một giải pháp lý tưởng. Nó cho phép các trang web và ứng dụng desktop, có
thể phát triển bằng bất kỳ ngôn ngữ nào, và hệ thống Core Banking của ngân
hàng có thể trao đổi thơng tin với nhau một cách dễ dàng, thuận tiện mà không
cần phải xây dựng ra một hệ thống chương trình chuyển đổi trung gian.
Như vậy, nếu như Web Service được ứng dụng và triển khai rộng rãi thì các
cơng việc cần xử lý sẽ đơn giản, nhẹ nhàng hơn nhiều mà mọi hoạt động vẫn diễn
ra nhịp nhàng, uyển chuyển và ăn khớp với nhau.

1.1.4. Cấu trúc của Web Service

Web Service, theo chuẩn SOAP 1.2 của W3C [8], bao gồm có các thành
phần sau:

Trỏ đến mơ tả dịch vụ

Trỏ

Tìm kiếm
dịch vụ

Người sử
dụng dịch vụ

đế
n

dịc
hv

Mơ tả
dịch vụ


Giao tiếp bằng
thơng điệp XML

Hình 1.5: Thành phần của Web Service
SOAP – Simple Object Access Protocol: giao thức chuẩn cho việc gửi và
nhận các thông điệp thông qua giao thức HTTP và các giao thức truyền thông
11


LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
Internet khác.
WSDL – Web Services Description Language: ngôn ngữ dựa trên XML,
được dùng với mục đích mơ tả chính xác các giao diện lập trình của các Web
Service.
UDDI – Universal Description Discovery and Integration: chuẩn đăng ký
nghiệp vụ, dùng cho việc lập chỉ mục các Web Service, để các công cụ phát triển
và các ứng dụng có thể định vị, tìm kiếm được các Web Service.

1.2. Các công nghệ nền tảng của Web Service
1.2.1 XML
1.2.1.1. Khái niệm về XML
XML, viết tắt của chữ eXtensible Markup Language, là ngơn ngữ được tổ
chức mạng tồn cầu (W3C) định nghĩa. Trong HTML, các thẻ được định nghĩa
và quy định trước, còn trong XML người dùng được phép tự do đặt tên các cặp
thẻ để dùng khi cần. Với khả năng này, XML không những cho phép mô tả cấu
trúc dữ liệu văn bản mà còn cho cả các kiểu dữ liệu khác, như hình ảnh, âm
thanh.
Điểm khác biệt chính giữa HTML và XML là, trong khi các cặp thẻ của
HTML chứa ý nghĩa về cách trình bày (formatting) các dữ liệu, thì các cặp thẻ
của XML cịn bao hàm nội dung cả về cấu trúc và trình diễn của dữ liệu. Khi
muốn trình bày các dữ kiện của một trang XML theo một kiểu nào đó, phục vụ
hiển thị trên các thiết bị khác nhau, ta dùng một bảng định kiểu (Style Sheet)
tương ứng cho nó [14]. Ví dụ, muốn trình bày cùng một nội dung tài liệu XML
nhưng hiển thị trên hai thiết bị khách nhau, một trên PC và một trên Mobile
Phone (điện thoại di động), ta sẽ dùng hai Style Sheet khác nhau, một cho PC, cái

kia cho Mobile Phone.

1.2.1.2. Các quy tắc cú pháp của XML
Các quy tắc cú pháp của XML được định nghĩa rất đơn giản nhưng chặt chẽ
giúp cho XML dễ học và dễ sử dụng. Các tài liệu XML sử dụng các cú pháp tự
mơ tả chính nó. Xét ví dụ về một tài liệu XML sau:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
12

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Dòng đầu tiên của tài liệu là dòng khai báo XML, định nghĩa phiên bản XML và
bảng mã ký tự được sử dụng trong tài liệu. Trong ví dụ này, tài liệu sử dụng đặc
tả XML phiên bản 1.0 và bảng mã ký tự IS0-8859-1 (Latin 1/Western European).
Dịng thứ hai mơ tả phần tử gốc (root element). Bốn dòng tiếp theo là bốn phần
tử con (child element) của phần tử gốc và dòng cuối cùng là định nghĩa kết thúc
phần tử gốc. Ta có thể dễ dàng nhận thấy rằng, tài liệu XML này mô tả một nhắc
nhở (note) từ “Jani” gửi tới “Tove” do cú pháp của XML mô tả chính nó.
Tất cả các phần tử XML đều phải nằm trong một cặp thẻ. Ví dụ:

This is a paragraph




Trong ví dụ trước, khai báo XML không cần phải nằm trong một cặp thẻ vì nó
khơng phải là một phần tử XML.
Không giống như HTML, các thẻ trong XML phân biệt chữ hoa và chữ
thường. Hai thẻ <Letter> và <letter> là khác nhau và do đó các thẻ mở và
thẻ đóng phải được viết cùng một kiểu. Ví dụ:
<message>This is correct</message>

Các phần tử của XML thuộc từng cặp thẻ không được nằm xen kẽ nhau.
Xét ví dụ sau:
<name>
John Stanmore
<address>
25 King Street
</name>
</address>

Khai báo như trên là không hợp lệ do thẻ <address> nằm trong cặp thẻ <name>
và </name>, còn thẻ </address> lại nằm ngồi.
Tất cả các tài liệu XML đều phải có một cặp thẻ định nghĩa một phần tử
gốc của tài liệu. Tất cả các phần tử con của nó phải nằm trong phần tử gốc này.
Tất cả các phần tử trong XML đều có thể có một hoặc nhiều các phần tử con.
Những phần tử con này phải nằm giữa cặp thẻ định nghĩa phần tử cha. Ví dụ:
<root>
<child>
<subchild>.....</subchild>
13

LUAN VAN CHAT LUONG download : add



Đinh Thị Huyền Trang – K11T3
</child>
</root>

Mỗi phần tử XML có thể có các thuộc tính được định nghĩa bởi cặp tên /
giá trị. Các giá trị này cần phải nằm trong dấu ngoặc kép (“ ”). Định dạng chung
có dạng:
<tên_phần_tử tên_thuộc_tính = “giá_trị”>

Ví dụ:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/2002">
<to>Tove</to>
<from>Jani</from>
</note>

Thuộc tính date của phần tử note có giá trị là “12/11/2002” phải nằm trong dấu
ngoặc kép.
Không giống như HTML, trong XML, tất cả các ký tự trắng sẽ được giữ
nguyên và không bị loại bỏ khi sử dụng hay hiển thị.
Cú pháp để viết dịng chú thích trong XML cũng giống như trong HTML:
<!—- Nội dung chú thích -->

1.2.1.3. XML có định dạng tốt (Well-formed XML)
Mặc dù số lượng cặp thẻ trong một tài liệu XML là không hạn chế, nhưng
mỗi tài liệu cần phải tuân theo một số qui luật để được xem là đúng chuẩn (WellFormed). Nếu một trang XML không theo mẫu chuẩn thì coi như khơng dùng
đuợc, khơng có chương trình xử lý nào có thể làm việc với dữ liệu bên trong nó.
Do đó, khi xây dựng một trang XML cần phải tuân theo đúng các qui luật sau:
1. Tất cả các tài liệu XML đều phải có một phần tử gốc.
2. Tất cả các phần tử phải nằm trong một cặp thẻ.

3. Tất cả các thẻ trong XML đều phân biệt chữ hoa, chữ thường.
4. Các cặp thẻ không được xen kẽ nhau
5. Các giá trị của các thuộc tính phải nằm trong dấu ngoặc kép
Trang tài liệu XML tuân theo các quy luật trên (hay nói cách khác là đúng cú
pháp) sẽ được coi là Well-Formed.

14

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3

1.2.1.4. XML đúng đắn (Valid XML)
XML chứa các dữ liệu bằng cách dùng những cặp thẻ, nhưng tự nó khơng
địi hỏi các dữ liệu nào cần phải có hay chúng phải liên hệ với nhau như thế nào.
Một cách để thực hiện việc này là thêm vào phần đầu của một trang XML những
qui luật mà các dữ liệu phải tuân theo để trang XML đuợc xem là có ý nghĩa. Tập
hợp các qui luật đó được gọi là Document Type Definition (DTD). DTD phải
nằm trong một định nghĩa DOCTYPE, có cấu trúc cú pháp như sau:
<!DOCTYPE root-element [element-declarations]>
DOCTYPE được sử dụng để khai báo phần tử gốc của XML. Trong DTD, một

phần tử của XML được khai báo bằng một định nghĩa có cú pháp:
<!ELEMENT element-name category>

hoặc
<!ELEMENT element-name (element-content)>

Ví dụ định nghĩa kiểu dữ liệu DTD được thêm vào đầu file XML:

<?xml version="1.0" standalone="yes"?>
<!-- Bắt đầu DTD -->
<!ELEMENT document (title, publisher_list)>
<!-- document children -->
<!ELEMENT title (#PCDATA)>
<!ELEMENT publisher_list (publisher*)>
<!-- publisher children -->
address?, voice?, fax?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT homepage (#PCDATA)>
<!ELEMENT address (#PCDATA)>
<!ELEMENT voice (#PCDATA)>
<!ELEMENT fax (#PCDATA)>
]>
<!—- Kết thúc DTD -->
<document>
<title> Publishers of the Music of New York Women
Composers </title>


<name> ACA - American Composers Alliance</name>
<email></email>
<homepage> /></homepage>
<address> 170 West 74th St. NY NY 10023
15

LUAN VAN CHAT LUONG download : add



Đinh Thị Huyền Trang – K11T3
</address>
<voice>212-362-8900</voice>
<fax>212-874-8605</fax>
</publisher>

<name>Alfred Publishing</name>
<address>15535 Morrison South Oaks CA 91403
</address>
</publisher>
</publisher_list>
</document>

DTD này qui định rằng mỗi tài liệu XML phải có một tiêu đề và một danh
sách các nhà xuất bản. Danh sách này có thể có một hay nhiều nhà xuất bản. Mỗi
nhà xuất bản bắt buộc phải có tên, cịn những thành phần khác: email, homepage,
address, voice, fax với dấu “?” ở phía sau có nghĩa là tùy chọn (có hoặc khơng).
Ví dụ, nhà xuất bản Alfred Publishing chỉ có tên và địa chỉ. Các phần tử được
quy định bắt buộc phải có kiểu là Character (#PCDATA - Parsed Character
Data). Trang XML nào tuân theo DTD đi kèm thì được gọi là đúng đắn (valid).
Tuy nhiên, DTD cịn có nhiều giới hạn, thí dụ như khơng định nghĩa chính
xác được các kiểu dữ liệu (data type). Do đó, Microsoft đề xướng sơ đồ XML
(XML Schemas) với những ưu điểm sau:
- Dễ học và dùng hơn DTD, chính sơ đồ cũng là một trang thuộc loại
XML.
- Nó cho phép định nghĩa chính xác các kiểu dữ liệu (data type).
- Dùng lại được các phần tử bằng cách thừa kế (inheritance).
- Linh động, dễ thêm bớt các phần tử của sơ đồ.

Mọi sơ đồ XML đều có phần tử gốc là <Schema>, phần tử này có thể bao
gồm một số thuộc tính và được khai báo như sau:
<xs:schema xmlns:xs=" />targetNamespace="">

Trong đó phần:
xmlns:xs=" />
xác định các phần tử và kiểu dữ liệu sử dụng trong sơ đồ này, xuất phát từ không
gian tên “ và có tiền tố là “xs:”. Phần:
targetNamespace=""

xác định các phần tử được định nghĩa bởi sơ đồ này, xuất phát tử không gian tên
16

LUAN VAN CHAT LUONG download : add


Đinh Thị Huyền Trang – K11T3
“”.
Các phần tử trong sơ đồ bao gồm hai loại: loại đơn giản (Simple Element)
và loại phức tạp (Complex Element). Cú pháp của một phần tử đơn giản là:
<xs:element name="xxx" type="yyy"/>

trong đó “yyy” là kiểu dữ liệu của phần tử. Sơ đồ XML có một số kiểu dữ liệu
xây dựng sẵn bao gồm: xs:string,

xs:decimal,

xs:integer,

xs:boolean, xs:date, xs:time.


Phần tử phức tạp là phần tử chứa các phần tử khác hay các thuộc tính. Phần tử
phức tạp có thể là phần tử rỗng:


hoặc bao gồm các phần tử khác:
<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>

Phần tử phức tạp có thể chỉ chứa văn bản hoặc bao gồm cả văn bản và các phần
tử khác.
Ta có thể viết một sơ đồ để thay thế DTD nói trên như sau:
<?xml version="1.0"?>
xmlns:dt="urn:schemas-microsoft-com:datatypes">
dt:type="string"></ElementType>
dt:type="string"></ElementType>
dt:type="string"></ElementType>
dt:type="string"></ElementType>
dt:type="string"></ElementType>
dt:type="string"></ElementType>

dt:type="string"></ElementType>
order="one">
<element type="title" minOccurs="1" maxOccurs="1">
</element>
maxOccurs="*"></element>
17

LUAN VAN CHAT LUONG download : add


×