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

Nghiên cứu công nghệ để xây dựng hệ thống quản lý phòng khám đa khoa và ứng dụng thẻ từ vào quản lý thông tin

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 (1.7 MB, 0 trang )

Vương Thị Thu Hà

bộ giáo dục và đào tạo
trường đại học bách khoa hà nội
---------------------------------------

Vương Thị Thu Hà

ngành Xử Lý THÔNG TIN Và TRUYềN THÔNG

NGHIÊN CứU CÔNG NGHệ Để XÂY DựNG Hệ THốNG
QUảN Lý PHòNG KHáM ĐA KHOA Và ứNG DụNG THẻ
Từ VàO QUảN Lý THÔNG TIN BệNH NHÂN

luận văn thạc sỹ
Xử Lý THÔNG TIN Và TRUYềN THÔNG

2007 - 2009
Hà néi
2009

Hµ Néi – 2009


Vương Thị Thu Hà

NGHIÊN CứU CÔNG NGHệ Để XÂY DựNG Hệ THốNG
QUảN Lý PHòNG KHáM ĐA KHOA Và ứNG DụNG THẻ
Từ VàO QUảN Lý THÔNG TIN BệNH NHÂN

luận văn thạc sỹ


Xử Lý THÔNG TIN Và TRUYềN THÔNG
NGI HNG DN KHOA HỌC:
TS. NGUYỄN ĐỨC THUẬN

2007 - 2009
Hµ néi
2009

Hµ Néi – 2009


1

Mục lục
Danh mục các từ viết tắt................................................................................................... 5
Danh mục các hình vẽ ...................................................................................................... 7
MỞ ĐẦU .......................................................................................................................... 1
CHƯƠNG I: TỔNG QUAN CÔNG NGHỆ ............................................................... 10
I.1. Mở đầu ................................................................................................................. 10
I.2. Khái niệm Web Services...................................................................................... 11
I.2.1. Khái niệm cơ bản .......................................................................................... 11
I.2.2. Các đặc trưng cơ bản của Web Services....................................................... 12
I.2.2.1. Ràng buộc mềm ..................................................................................... 12
I.2.2.2. Kiến trúc hướng dịch vụ ........................................................................ 12
I.2.2.3. Dễ tích hợp............................................................................................. 12
I.2.2.4. Dễ dàng truy nhập ................................................................................. 13
I.3. Khái niệm Smart Client ....................................................................................... 13
I.3.1. Khái niệm Rich Client .................................................................................. 13
I.3.2. Khái niệm Thin Client .................................................................................. 14
I.3.3. Khái niệm Smart Client ................................................................................ 15

I.3.3.1. Tận dụng nguồn tài nguyên phía máy khách ......................................... 16
I.3.3.2. Tận dụng nguồn tài nguyên mạng ......................................................... 16
I.3.3.3. Hỗ trợ làm việc online và offline ........................................................... 17
I.3.3.4. Cung cấp việc cài đặt và cập nhật thông minh ...................................... 17
I.3.3.5. Cung cấp mềm dẻo đến các thiết bị máy khách .................................... 18
I.3.4. Các kiểu ứng dụng Smart Client ................................................................... 18
I.3.5. Lựa chọn giữa Thin Client và Smart Client.................................................. 20
I.4. Mơ hình kết hợp giữa Web Services và Smart Client ......................................... 22
CHƯƠNG II:

CÔNG NGHỆ WEB SERVICES .................................................... 24

II.1. Mở đầu ................................................................................................................ 24
II.2. Mơ hình Web services ........................................................................................ 24
II.2.1. Mơ hình tổng quan Web Service ................................................................. 24


2
II.2.1.1. Vai trò của web service ........................................................................ 24
II.2.1.2. Các tầng giao thức web service ............................................................ 25
II.2.2. Mơ hình hướng dịch vụ ............................................................................... 25
II.2.2.1. Bốn mơ hình Web Services .................................................................. 26
a) Mơ hình hướng thơng điệp ............................................................................. 26
b) Mơ hình hướng dịch vụ.................................................................................. 27
c) Mơ hình hướng tài ngun ............................................................................. 27
d) Mơ hình chính sách ........................................................................................ 27
II.2.2.2. Mơ hình hướng dịch vụ (SOA) ............................................................ 27
II.2.3. Kiến trúc Web Services ............................................................................... 31
II.2.3.1. Transport............................................................................................... 31
II.2.3.2. Description ........................................................................................... 32

II.2.3.3. Discovery.............................................................................................. 33
II.3. Các thành phần Web Services ............................................................................ 35
II.3.1. XML: eXtensible Markup Language .......................................................... 35
II.3.2. SOAP: Simple Object Access Protocol ....................................................... 37
II.3.2.1. Những tính chất quan trọng của SOAP ................................................ 37
II.3.2.2. Cấu trúc của SOAP............................................................................... 38
II.3.2.3. Vai trò của SOAP trong hệ phân tán .................................................... 40
II.3.3. WSDL: Web Services Description Language ............................................. 42
II.3.3.1. Giới thiệu về WSDL ............................................................................. 42
II.3.3.2. Cấu trúc WSDL .................................................................................... 42
II.3.4. UDDI: Universal Description, Discovery and Integration .......................... 46
II.3.4.1. Khái niệm UDDI .................................................................................. 46
II.3.4.2. Những lợi ích của UDDI ...................................................................... 46
II.3.4.3. Ứng dụng UDDI ................................................................................... 47
II.4. Phát triển Web Services...................................................................................... 47
II.4.1. Thiết kế ........................................................................................................ 47
II.4.2. Triển khai..................................................................................................... 48
II.4.3. Ưu điểm và hạn chế của Web Services ...................................................... 49
II.4.3.1. Ưu điểm ................................................................................................ 49
II.4.3.2. Nhược điểm .......................................................................................... 49
II.5. Web Services Software Factory ......................................................................... 50
II.5.1. Các thành phần của Web Service Software Factory ................................... 51
II.5.2. Mơ hình hệ thống......................................................................................... 53
II.5.2.1. Hệ cơ sở dữ liệu .................................................................................... 54


3
II.5.2.2. Repository............................................................................................. 55
II.5.2.3. Business Logic ................................................................................... 56
II.5.2.4. Cấu trúc dữ liệu nội dung thông điệp truyền giữa Server-Client ......... 56

II.5.2.5. Service implementations ...................................................................... 58
CHƯƠNG III: KIẾN TRÚC ỨNG DỤNG SMART CLIENT .................................... 59
III.1. Mở đầu .............................................................................................................. 59
III.2. Enterprise Library ............................................................................................. 59
III.2.1. Exception Handling Application Block ..................................................... 61
III.2.2. Logging Application Block ........................................................................ 61
III.2.3. Data Access Application Block ................................................................. 61
III.2.4. Caching Application Block ........................................................................ 62
III.2.5. Cryptography Application Block ............................................................... 62
III.2.6. Security Application Block ........................................................................ 62
III.3. Composite UI Application Block (CAB) .......................................................... 63
III.4. Smart Client Software Factory .......................................................................... 68
III.4.1. Mơ hình của hệ thống Smart Client Software Factory ............................. 70
III.4.2. Các thành phần Smart Client Software Factory ......................................... 72
III.4.2.1. Service Proxies .................................................................................... 72
III.4.2.2. Services Agent .................................................................................... 73
III.4.2.3. Các lớp giao diện – mô hình Module-View-Presenter ....................... 78
CHƯƠNG IV: THẺ TỪ ............................................................................................... 81
IV.1. Mở đầu .............................................................................................................. 81
IV.2. Đặc điểm kỹ thuật của thẻ từ ............................................................................ 82
IV.3. Ứng dụng thẻ từ vào quản lý bệnh nhân ........................................................... 86
CHƯƠNG V: ĐẶT VẤN ĐỀ BÀI TOÁN VÀ LÝ DO LỰA CHỌN CƠNG NGHỆ .. 88
V.1. Bài tốn quản lý bệnh viện ................................................................................. 88
V.1.2. Yêu cầu xây dựng bài toán quản lý bệnh viên ............................................ 88
V.1.2.1. Hệ thống phân tán và được triển khai trên phạm vi rộng..................... 88
V.1.2.2. Đảm bảo làm việc trong điều kiện đường truyền không ổn định......... 89
V.1.2.3. Giao diện thân thiện và đơn giản ......................................................... 89
V.1.2.4. Đảm bảo tốc độ truy cập ...................................................................... 89
V.1.2.5. Đảm bảo về bảo mật và phân quyền .................................................... 89



4
V.1.2.6. Có thể cập nhật và nâng cấp thường xuyên ......................................... 89
V.2. Một số giải pháp khác xây dựng hệ thống quản lý bệnh viện ............................ 90
V.2.1. Xây dựng hệ thống Thin Client (ứng dụng web site).............................. 90
V.2.2. Xây dựng hệ thống Rich Client ............................................................... 91
V.3. Lý do lựa chọn Web Services và Smart Client áp dụng cho hệ thống quản lý
bệnh viện .................................................................................................................... 91
V.3.1. Tóm tắt các lợi thế Smart Client và Web Services. .................................... 92
V.3.1.1. Các lợi thế Web Services ..................................................................... 92
V.3.1.2. Các lợi thế Smart Client ....................................................................... 92
V.3.1.3. Lợi thế trong mơ hình kết hợp Web Services và Smart Client ............ 93
V.3.2. Mơ hình hệ thống quản lý bệnh viện với Web Services và Smart Client ... 95
CHƯƠNG VI: ỨNG DỤNG XÂY DỰNG MODULE QUẢN LÝ PHÒNG KHÁM .. 97
VI.1. Các thành phần và quy trình quản lý bệnh viện................................................ 97
VI.2. Phân hệ quản lý phòng khám ............................................................................ 99
VI.3. Phân tích thiết kế mơ-đun quản lý phịng khám ............................................. 100
VI.3.1 Chức năng quản lý bệnh nhân................................................................... 101
VI.3.2 Chức năng khám bệnh .............................................................................. 101
VI.3.3 Chức năng quản lý phiếu thu .................................................................... 102
VI.3.4 Chức năng quản lý thuốc .......................................................................... 103
VI.4. Thiết kế cơ sở dữ liệu phục vụ cho module quản lý phòng khám .................. 104
VI.5. Các chức năng và giao diện cụ thể.................................................................. 104
VI.6. Triển khai và đánh giá kết quả ........................................................................ 109
KẾT LUẬN .................................................................................................................. 111
TÀI LIỆU THAM KHẢO............................................................................................ 112


5


Danh mục các từ viết tắt
TỪ VIẾT TẮT
CORBA
DCE
DCOM
DLL
HTML

TÊN ĐẦY ĐỦ
Common Object Request Broker Architecture
Distributed Computing Environment
Distributed Model
Dynamic Link Library
Hyper Text Markup Language

HTTP

Hyper Text Tranfer Protocol

JRMI

Java Remote Method Invocation

ORB

Object Request Broker

POP3

Post Office Protocol version 3


RMI

Remote Method Invocation

RPC

Remote Procedure Calls

SAML

Sercurity Assertion Markup Language

SGML

Standard Generalized Markup Language

SMTP

Simple Mail Tranfer Protocol

SOA

Service Oriented Architecture

SOAP

Simple Object Access Protocol

UDDI


Universal Description, Discovery and Integration

UML

Unified Modeling Language

W3C

World Wide Web Consortium

WSA

Web services Architecture

WSDL

Web Services Description Language

XML

Extensible Markup Language

BEEP

Blocks Extensible Exchange Protocol


6
SMTP


Simple Mail Transfer Protocol

FTP

File Transfer Protocol

API

Application Program Interface

SMS
UI

Microsoft Systems Management Server
User Interface

CAB

Composite UI Application Block

MVP

Model-View-Presenter

MVC

Model-View-Controller



7

Danh mục các hình vẽ
Hình 1.1. Mơ hình kết hợp Web Service và Smart Client ............................................. 22
Hình 2.1. Vai trị Web Services ..................................................................................... 24
Hình 2.2. Bốn mơ hình kiến trúc của Web Services ...................................................... 26
Hình 2.3. Mơ hình kiến trúc hướng dịch vụ ................................................................... 28
Hình 2.4. Kiến trúc cơ bản của SOA với SOAP, WSDL, và UDDI ............................. 31
Hình 2.5. Đặc tả WSDL với các thành phần .................................................................. 32
Hình 2.6. Đặc tả WSDL với port ................................................................................... 33
Hình 2.7. Mơ hình cơ bản của SOAP............................................................................. 39
Hình 2.8. Cấu trúc của một WSDL ................................................................................ 43
Hình 2.9. Mơ hình phân tầng Web Services Software Factory ..................................... 51
Hình 2.10. Mơ hình kiến trúc của Web Services Software Factory .............................. 54
Hình 3.1. Các thành phần của Enterprise Library .......................................................... 60
Hình 3.2. Mơ hình Smart Client Software Factory ........................................................ 71
Hình 3.3. Vai trị của ServiceProxy trong hệ thống ....................................................... 73
Hình 3.4. Vai trị của Service Agent .............................................................................. 74
Hình 3.5. Các lớp giao diện............................................................................................ 78
Hình 4.1. Minh họa thẻ từ .......................................................................................................................... 82
Hình 4.2. Mơ hình ứng dụng thẻ từ vào quản lý bệnh nhân ........................................................ 87
Hình 5.1. Mơ hình quản lý bệnh viện .................................................................................................... 95
Hình 6.1. Sơ đồ hệ thống quản lý bệnh viện ...................................................................................... 97
Hình 6.2. Cấu trúc phân hệ quản lý phịng khám ............................................................................. 99
Hình 6.3. Cấu trúc module quản lý phịng khám............................................................................ 100
Hình 6.4. chức năng quản lý bệnh nhân ............................................................................................. 101
Hình 6.5. Chức khám và điều trị bệnh ................................................................................................ 101
Hình 6.6. Chức năng quản lý cán bộ.................................................................................................... 102
Hình 6.7. Chức năng quản lý các đơn vị hành chính .................................................................... 103
Hình 6.8. Sơ đồ liên kết dữ liệu modul quản lý phòng khám ................................................... 104

Hình 6.9. Shell form là form giao diện làm việc chính ............................................................... 105
Hình 6.10. View quản lý bệnh nhân ................................................................................................... 106
Hình 6.11. View tiếp nhận bệnh nhân ................................................................................................. 106
Hình 6.12. View quản lý phiếu khám.................................................................................................. 107
Hình 6.13. View phiếu khám bệnh ....................................................................................................... 108


8
Hình 6.14. View quản lý dịch vụ .......................................................................................................... 109
Hình 6.15. View quản lý phiếu thu ...................................................................................................... 109


9

MỞ ĐẦU
Công nghệ thông tin và viễn thông đang phát triển mạnh mẽ trên thế giới nói
chung và Việt Nam nói riêng. Việc ứng dụng cơng nghệ thơng tin vào các lĩnh vực
trong cuộc sống ngày càng phổ biến và trở thành một yêu cầu tất yếu. Y tế là một trong
những ngành cần áp dụng công nghệ thông tin vào nhiều nhất.
Những lợi ích ưu việt của CNTT khi ứng dụng trong quản lý y tế rất rõ ràng như:
lưu trữ và khai thác dữ liệu bệnh viện nhanh và chính xác. Việc khai thác dữ liệu một
cách có hệ thống giúp ích cho quản lý và chun mơn như: thống kê số liệu, truyền tin
giữa các cấp quản lý, giám sát hoạt động bệnh, giảm thời gian chờ đợi của bệnh nhân,
tiến hành bệnh viện không giấy – không phim, chia sẻ bệnh án giữa các bệnh viện…
Với yêu cầu triển khai hệ thống đảm bảo tính thuận tiện, phù hợp với đặc thù
khám chữa bệnh của ngành y tế thì việc lựa chọn cơng nghệ là một trong những yếu tố
cực kỳ quan trọng. Tôi đã lựa chọn nghiên cứu về công nghệ Web Services và Smart
client để xây dựng hệ thống quản lý bệnh viện và ứng dụng thẻ từ để quản lý thông tin
bệnh nhân, thẻ bệnh nhân cịn có tác dụng giúp giảm tải, hạn chế lượng người chầu
chực xếp hàng đăng ký khám, rút ngắn tối đa thủ tục chờ đợi khám bệnh cho bệnh

nhân. Nhờ thẻ bệnh nhân, những thông tin liên quan tình trạng sức khỏe của người
bệnh sẽ được tra cứu nhanh nếu họ tái khám.
Bài toán xây dựng hệ thống quản lý bệnh viện là một bài tốn khơng đơn giản
trong đó mođun quản lý phịng khám chỉ là một phần nhỏ. Kết quả chạy thử nghiệm
trong phịng thí nghiệm cũng như q trình chạy thử tại một phịng khám đa khoa tư
nhân cho thấy kết quả tốt: Giao diện thân thiện và các chức năng được thiết kế hợp lý,
hệ thống chạy ổn định trong điều kiện đường truyền hoạt động tốt, công nghệ được sử
dụng Web Server, kiến trúc Smart Client mang lại nhiều lợi thế cho việc thiết kế, cài
đặt và triển khai cũng như mở rộng hệ thống.


10

CHƯƠNG I: TỔNG QUAN CÔNG NGHỆ
I.1. Mở đầu
Trong những năm gần đây, ngành công nghệ thông tin đã đạt được rất nhiều
thành tựu trong nhiều lĩnh vực. Vai trò của cơng nghệ thơng tin ngày càng được khẳng
định, góp phần thúc đẩy khoa học kỹ thuật và kinh tế phát triển.
Trước đây khi hệ thống mạng máy tính chưa phát triển thì các ứng dụng chủ yếu
phát triển trên mơi trường của máy tính và hệ điều hành nội tại mà khơng quan tâm đến
các mơi trường ngồi như mơi trường mạng hoặc là máy tính khác. Nhưng khi mạng
máy tính phát triển và đặc biệt vào nhưng năm gần đây khi mạng Internet bùng nổ,
giao tiếp thông tin ngày càng trở thành một nhu cầu thiết yếu thì việc phát triển các ứng
dụng mang tính mềm dẻo, có khả năng làm việc độc lập trong khi vẫn liên kết chặt chẽ
với hệ thống lại trở thành một vấn đề lớn mà người lập trình phải suy nghĩ.
Với ứng dụng Smart Client người lập trình có trong tay một cơng cụ để lựa chọn
thay thế cho các ứng dụng truyền thống. Chúng cung cấp cho người dùng một giao
diện thân thiện như ứng dụng Desktop, có khả năng làm việc offline và một phương
thức để tận dụng được các tính năng của tài nguyên phần cứng và phần mềm của máy
khách. Hơn nữa, chúng có thể được thiết kế để chạy trên rất nhiều môi trường của các

thiết bị đầu cuối như desktop PCs, Tablet PCs, các thiết bị cầm tay như Pocket PCs và
Smartphones. Với Smart Client người sử dụng đã có một giải pháp hiệu quả cho các
ứng dụng mang tính mềm dẻo hướng người dùng.
Trong đề tài kết hợp giữa Web Services và Smart Client để xây dựng hệ thống thì
việc tìm hiểu cơng nghệ và áp dụng vào bài toán thực tế hiệu quả là một yếu tố vô cùng
quan trọng.


11

I.2. Khái niệm Web Services
I.2.1. Khái niệm cơ bản
Có rất nhiều khái niệm về Web Service từ các nguồn khác nhau.
Theo tác giả O'Reilly trong cuốn “Bản Chất của Web Service”: “Web Services là
bất kỳ một dịch vụ nào có thể đáp ứng trên mạng Internet, sử dụng các thông điệp hệ
thống chuẩn XML để giao tiếp và không phụ thuộc vào bất kỳ một hệ điều hành cũng
như ngôn ngữ lập trình nào”.
Từ quan điểm của người phát triển phần mềm, Web Services là một kiến trúc
hướng dịch vụ. Tức là Web Services là một tập các dịch vụ được triển khai để liên tác
với nhau và với máy khách thông qua giao diện xác định. Mà lợi thế đáng kể của kiến
trúc hướng dịch vụ có thể nhắc đến là cho phép các ứng dụng được phát triển và liên
kết mềm dẻo. Tính mềm dẻo, linh động thể hiện ở chỗ nó cho phép phân tán hệ thống
và tạo môi trường trong suốt với client. Như vậy Web Services đã giải quyết được khó
khăn của người lập trình khi gặp phải vấn đề trong lập trình ứng dụng phân tán.
Từ quan điểm người sử dụng, Web Services mang lại những tiện ích khơng thể
phủ nhận như tạo mơi trường truy cập trong suốt, dễ dàng phân tán và an tồn trong sử
dụng.
Tóm lại, về lý thuyết một web service phải:
-


Sử dụng được trên Internet hoặc trên Intranet.

-

Sử dụng các thông điệp chuẩn XML.

-

Không bị ràng buộc và giới hạn bởi bất kỳ một hệ điều hành hay ngôn
ngữ lập trình nào.

-

Tự mơ tả thơng qua ngữ pháp XML.

-

Được khám phá bởi cơ chế đơn giản.


12

I.2.2. Các đặc trưng cơ bản của Web Services
I.2.2.1. Ràng buộc mềm
Không giống như các thiết kế ứng dụng truyền thống, dựa trên liên kết chặt chẽ
giữa các phần của chương trình, Web Services có tính chất ràng buộc mềm. Ràng buộc
mềm nghĩa là các dịch vụ tạo nên ứng dụng tồn tại độc lập với nhau. Điều này cho
phép các phần nhỏ của ứng dụng có thể được thay đổi mà không ảnh hưởng tới các
phần không liên quan.
I.2.2.2. Kiến trúc hướng dịch vụ

Web services là sự hội tụ giữa phát triển ứng dụng dựa dịch vụ và Web. Trong
mơ hình SOA (Service Oriented Architecture), các mơ đun tạo nên ứng dụng được
phân chia thành các thành phần độc lập, dễ dàng phân tán gọi là các dịch vụ (services).
Các dịch vụ này có thể sử dụng lại của nhau và trong cùng một Solution có thể sử dụng
nhiều ngôn ngữ khác nhau để viết nên dịch vụ.
I.2.2.3. Dễ tích hợp
Khơng giống như các phương pháp tích hợp khác, Web Services đang trở nên
được chấp nhận rộng rãi trong tồn bộ ngành cơng nghiệp phầm mềm. Việc chấp nhận
rộng rãi này giúp làm giảm bớt lỗi lo ngại về các cơng nghệ độc quyền có thể ngăn
chặn sự phát triển của chúng trong tương lai. Các chuẩn về Web services đang dần
được làm cho dễ hiểu và công khai, cho phép nhà phát triển biết được cái gì đang thực
sự xảy ra trong hệ thống.
Các công cụ phát triển như Microsoft.NET hay Rogue Wave Software’s sử dụng
các định nghĩa dịch vụ bằng WSDL để kiểm soát giao tiếp giữa các service, cho phép
người phát triển tập trung vào logic của hệ thống trong các service đó hơn là tập trung
vào cấu trúc của Web services.


13
I.2.2.4. Dễ dàng truy nhập
Web services phân tán trong Internet. Web services được sử dụng dựa trên giao
thức có sẵn như HTTP, là đòn bẩy cho cơ sở hạ tầng sẵn có và cho phép thơng tin
hỏi/đáp được đáp ứng trong thời gian thực. Hạ tầng IT sẵn có cho phép an toàn an ninh
với các ứng dụng Web services.

I.3. Khái niệm Smart Client
Đặc điểm của kiểu ứng dụng Smart Client là chúng có giao diện và thao tác thân
thiện như các ứng dụng được sử dụng trên Client khác, trong khi vẫn có thể liên tác với
ứng dụng phía Server thông qua môi trường mạng. Ứng dụng Smart client vừa có khả
năng làm việc offline vừa có khả năng giao tiếp với server truyền và nhận các thông

điệp.
Trong kiến trúc Smart Client, nó kết hợp được các đặc điểm tốt nhất của kiến trúc
Rich Client và Thin Client. Vậy trước hết muốn hiểu khái niệm Smart Client thì phải
tìm hiểu hai khái niệm này.

I.3.1. Khái niệm Rich Client
Trước khi hệ thống mạng phát triển, các ứng dụng Client phát triển chỉ quan tâm
đến mơi trường của máy tính thường trú như tài nguyên phần cứng, phần mềm và các
tính năng mà hệ thống cũng như hệ điều hành mang lại, mà thường là khơng quan tâm
hoặc ít quan tâm đến mơi trường khác như tài ngun của máy tính khác hoặc rất nhiều
dịch vụ được cung cấp trên mạng. Trong cấu trúc của mơ hình ứng dụng thì việc giao
tiếp giữa các ứng dụng Rich Client gặp rất nhiều khó khăn.
Có một số cơng nghệ giúp tăng khả năng giao tiếp giữa các ứng dụng Rich Client.
Ví dụ như ứng dụng hai tầng giúp rất nhiều người dùng có thể thực hiện việc truy cập
dữ liệu thông qua hệ tầng mạng và DCOM cho phép các ứng dụng có thể thực hiện
phân tán nhiều hơn. Tuy nhiên việc kết nối giữa ứng dụng lại gặp nhiều khó khăn hơn
nhiều. Như là việc xác định kích thước và độ phức tạp của tập các ứng dụng phân tán,


14
và sự liên kết chặt chẽ giữa các ứng dụng và các dịch vụ chúng sử dụng trở thành một
vấn đề lớn cần khắc phục nếu muốn duy trì được chúng.
Với ứng dụng Rich Client, ứng dụng sẽ tận dụng được khả năng xử lý và thao tác
rất tốt vì tận dụng được tài nguyên hệ thống nội tại. Hơn nữa người dùng thì có kinh
nghiệm nhiều hơn với các ứng dụng mang tính Desktop như thế này. Tuy nhiên chúng
lại rất khó khăn trong việc triển khai và duy trì. Chẳng hạn như việc một ứng dụng rất
dễ làm đổ vỡ các ứng dụng khác nếu có sự khơng tương thích về thành phần và thư
viện chia sẻ trong khi triển khai. Hiện tượng này được gọi là tính dễ vỡ của ứng dụng
(application fragility). Nếu một phiên bản ứng dụng mới khơng có sự kiểm sốt hợp lý
rất dễ gây nên hiện tượng này và dẫn đến sụp đổ tồn bộ hệ thống. Chính vì vậy khi

thay đổi hệ thống trên Server người phát triển sẽ phải đến từng máy tính để thay đổi lại
tồn bộ các ứng dụng trên máy khách cho phù hợp. Công việc này rất mất thời gian và
gặp rất nhiều khó khăn.

I.3.2. Khái niệm Thin Client
Internet cung cấp một sự lựa chọn khác, thêm vào các mơ hình Rich Client truyền
thống, nó sẽ giúp giải quyết được rất nhiều vấn đề của Rich Client trong việc triển khai
và duy trì hệ thống. Thin client có một cái tên khác là trình duyệt Web dựa trên ứng
dụng. Chúng được phát triển và cập nhật trên một máy chủ Web trung tâm, bởi vậy
chúng dễ dàng gỡ bỏ các tính năng, cập nhật cũng như triển khai các ứng dụng ở các
máy tính client. Mơ hình này cho phép các cơng ty triển khai các ứng dụng của họ một
cách hiệu quả trên một mạng lưới rộng lớn và dễ dàng quản lý được hệ thống hơn.
Tuy nhiên ứng dụng Thin Client cũng có một vài nhược điểm mà người phát triển
cần quan tâm khi lựa chọn lập trình cho hệ thống của mình.
Ln ln phụ thuộc vào một trình duyệt và trình duyệt phải kết nối mạng liên
tục tại mọi thời điểm. Điều này có nghĩa là người dùng lưu động sẽ khơng thể truy cập
vào ứng dụng nếu như nó chưa được kết nối mạng.


15
Ngồi ra có một số tính năng như drag-and-drop, undo-redo, trợ giúp… có thể
khơng thực hiện được, điều đó giảm đi tính hữu dụng của ứng dụng.
Bởi vì hầu hết các ứng dụng logic và trạng thái đều nằm hết trên server do vậy
các ứng dụng khách thường xuyên phải gửi các yêu cầu và nhận các đáp ứng từ server.
Việc xử lý logic được client đẩy sang cho Server cho nên nếu như với một số lượng lớn
các yêu cầu có thể làm chậm hệ thống hoặc xấu hơn là gây sụp đổ hệ thống.

I.3.3. Khái niệm Smart Client
Smart client là kiểu ứng dụng tận dụng và kết hợp được các đặc điểm tốt của ứng
dụng Rich Client và Thin Client.

Tận dụng sức mạnh của Client PC: ứng dụng chạy trên máy tính của người dùng
cuối (giống desktop-application)
Tận dụng kinh nghiệm người dùng: tuân theo việc người dùng đã quen với cách
thức hoạt động của các ứng dụng chạy trên windows như word, excel, outlook...
Vẫn chạy tốt dù có nối mạng hay không: giống như cách thức MS Outlook hoạt
động, nó vẫn có thể làm việc dù ko kết nối với email server. Người dùn không cần kết
nối với server cho tới khi thực sự cần gửi/nhận mail hay cập nhật lịch làm việc...
Cài đặt và cập nhật thông minh: ứng dụng tự động cập nhật thay đổi mà chỉ cần
sự cho phép của người dùng. Điều này giúp vượt qua một trong những vấn đề rắc rối
nhất từ trước tới nay của desktop-application là phải cài đặt lại từng máy client mỗi khi
có sự thay đổi.
Smart Client được thiết kế để kết hợp giữa các đặc tính tốt của Rich Client và
Thin Client. Với những lợi thế mà ứng dụng Smart Client mang lại sẽ mở ra cho các
nhà phát triển hệ thống một hướng lựa chọn công nghệ mới để áp dụng cho hệ thống.
Ứng dụng Smart Client có rất nhiều phần khác nhau và phụ thuộc vào sự phát
triển của từng doanh nghiệp, từng tổ chức. Tuy nhiên, một ứng dụng Smart Client nói
chung sẽ bao gồm một số tính năng và thành phần sau:


16
-

Sử dụng được nguồn tài nguyên của máy khách.

-

Sử dụng được nguồn tài nguyên mạng

-


Hỗ trợ làm việc online và offline.

-

Cung cấp việc cài đặt và cập nhật thông minh

-

Cung cấp mềm dẻo đến các thiết bị máy khách

I.3.3.1. Tận dụng nguồn tài nguyên phía máy khách
Thiết kế của ứng dụng Smart Client đảm bảo mang lại những lợi thế tốt trong việc
triển khai thao tác với ngôn ngữ lập trình, dữ liệu, thực thi và truy cập trong ngay máy
client. Với giao diện của ứng dụng máy bàn thân thiện và tận dụng được nguồn tài
nguyên hệ thống máy khách, Smart Client đã mang lại một lợi thế nhất định so với các
ứng dụng Thin Client thông thường. Trong dự án Smart Client, cho phép tích hợp với
các dự án của ứng dụng thông thường khác để cho phép giải quyết công việc một cách
linh hoạt và tận dụng được các lợi thế của ứng dụng Smart Client trong khi vẫn duy trì
được các dự án đã triển khai.
Như vậy với việc ứng dụng Smart Client có khả năng làm việc trên máy bàn và
tận dụng được các nguồn tài nguyên hệ thống giúp giảm bớt việc xử lý phía máy chủ.
Tận dụng được tài nguyên của từng máy khách, giao diện thân thiện giúp ứng dụng
Smart Client dễ được chấp nhận hơn với người sử dụng đã có thói quen sử dụng các
ứng dụng Desktop.
I.3.3.2. Tận dụng nguồn tài nguyên mạng
Smart Client cho phép sử dụng các dịch vụ và dữ liệu khác nhau thông qua hệ
thống mạng. Điều đó có nghĩa rằng nó cho phép sử dụng nhiều dịch vụ khác nhau truy
lục vào nhiều cơ sở dữ liệu khác nhau để phục vụ cho việc phân tán dữ liệu và dịch vụ.



17
I.3.3.3. Hỗ trợ làm việc online và offline
Smart Client hỗ trợ các tính năng giúp cho người sử dụng có thể tiếp tục công
việc khi kết nối mạng chuyển tử chế độ online sang chế độ offline. Với ứng dụng di
động sẽ giúp cho việc tối ưu hóa đường truyền vì việc kết nối để thực hiện gửi yêu cầu
và nhận u cầu có thể khơng diễn ra liên tục gây tình trạng chiếm tài nguyên đường
truyền và gây chậm mạng. Cơ chế nào cho phép Smart Client làm được như thế? Trả
lời câu hỏi này thì Smart Client dùng Data Caching trên mỗi ứng dụng trên máy khách
để lưu dữ liệu truyền đi và truyền về, điều này giúp cho việc lưu dữ liệu mềm dẻo và
nhanh hơn vì việc truy cập từ dữ liệu được thực hiện ngay trên máy khách thay vì phải
thực hiện thường xuyên thực hiện kết nối máy khách và máy chủ để thực hiện một
phiên truy cập. Ví dụ cụ thể chứng minh sự khác biệt này giữa ứng dụng Smart Client
và các ứng dụng khác: với ứng dụng Thin Client thông thường đặc điểm là phải luôn
luôn kết nối đường truyền. Khi đường truyền khơng liên tục thì tồn bộ dữ liệu lưu trữ
trên Form sẽ bị mất. Với Smart Client thì khi đường truyền bị gián đoạn, hoặc ngay cả
ứng dụng bị tắt đi thì những thơng tin được lưu trữ trên Form vẫn còn nguyên khi bật
ứng dụng trở lại. Bởi vì tồn bộ thơng tin đó được lưu trữ trong Data Caching được lưu
trong ổ cứng hoặc là bộ nhớ ngồi của máy tính Client.
I.3.3.4. Cung cấp việc cài đặt và cập nhật thơng minh
Có một số vấn đề này sinh với ứng dụng Rich Client khi cài đặt, triển khai và cập
nhật. Rất nhiều ứng dụng Rich Client có rất nhiều yêu cầu khi cài đặt và rất nhiều mã
thực thi như file DLL, file đăng ký Registry được cài đặt vào phía máy khách. Điều đó
làm tăng tính dễ vỡ của ứng dụng và khó khăn trong việc cập nhật ứng dụng.
Với ứng dụng Smart Client thì khác. Chúng được thiết kế để thuận tiện trong việc
cài đặt và cập nhật. Việc cài đặt có thể diễn ra theo nhiều cách mềm dẻo khác nhau.
Điều đó giúp chúng tránh được các lỗi thường gặp khi triển khai và cập nhật và giúp
giảm chi phí xây dựng và bảo trị hệ thống xuống mức thấp nhất.


18

Có một số cách để cài đặt ứng dụng smart client bao gồm cả việc đơn giản nhất là
sao chép mã nguồn và lưu vào trong máy của người dùng hoặc cũng có thể tải mã
chương trình từ trung tâm dịch vụ về để sử dụng hoặc có thể sử dụng một dịch vụ cài
quản lý việc cấu hình và cài đặt trên máy khách như Microsoft Systems Management
Server (SMS) của Microsoft.
Ứng dụng Smart client cũng có thể tự động cập nhật hoặc người dùng có thể kích
hoạt từng phần cài đặt đặt giống như LiveUpdate của Symantec hoặc Norton Antivirus.
Điều đó cho phép ứng dụng có thể cập nhật từng phần hoặc cập nhật theo một lộ trình
định trước tùy chọn.
I.3.3.5. Cung cấp mềm dẻo đến các thiết bị máy khách
Trong nhiều trường hợp có khi ta phải thiết kế nhiều phiên bản của Smart Client
cùng một lúc. Với sự tăng lên về số lượng và chủng loại của các thiết bị đầu cuối, yêu
cầu phải đáp ứng mềm dẻo đến các thiết bị đầu cuối là rất cần thiết nếu hệ thống muốn
phát triển. Với ứng dụng Smart Client ta có thể thiết kế tùy biến để thực hiện được điều
đó.
Smart Client cung cấp mềm dẻo và tùy biến đối với môi trường của thiết bị đầu
cuối, cho phép người sử dụng có thể cấu hình ứng dụng để hỗ trợ tốt nhất cho cách làm
làm việc của họ. Smart Client không bị hạn chế bởi máy để bàn hoặc máy cầm tay.
Smart client cũng có thể được thiết kế để thích ứng với mơi trường máy chủ. Cung cấp
các chức năng thích hợp tương ứng với lại mơi trường máy khách mà nó được cài đặt.

I.3.4. Các kiểu ứng dụng Smart Client
Tùy vào sự phát triển của các tổ chức và cá nhân mà Smart Client có sự thiết kế
và thực thi khác nhau. Cơ chế lắp ghép mềm dẻo của Smart Client cho phép thực hiện
điều đó. Tuy nhiên có thể phân ứng dụng Smart Client thành 3 loại lớn phụ thuộc vào
môi trường cư trú của chúng:
-

Ứng dụng Windows Smart Client



19
Ứng dụng loại này được xây dựng trên nền tảng Windows và máy để bàn, cung
cấp giao diện Windows Form. Ứng dụng loại này chủ yếu là các hệ thống quản lý quy
trình của một tổ chức nào đó, các ứng dụng được xây dựng trên desktop, laptop,…
phục vụ đông đảo đối tượng người dùng. Với hệ thống quản lý bệnh viện trong luận
văn cũng thuộc ứng dụng loại này. Ví dụ của ứng dụng loại này là Microsoft Outlook.
-

Ứng dụng Office Smart Client

Microsoft Office System 2003 cung cấp một nền tảng rất hữu dụng mà dựa vào
đó để dễ dàng xây dựng được các ứng dụng Smart Client. Với ứng dụng loại Office
Smart Client, ta có thể tích hợp tài nguyên dữ liệu truy nhập thông qua Web Service
với các tính năng của Word 2003, Excel 2003, InfoPath 2003... để phát triển ứng dụng.
Microsoft Office hỗ trợ XML và nó có khả năng tách dữ liệu từ một tài liệu vì
vậy nó có thể được sử dụng lại bởi các ứng dụng khác. Và bởi vì dữ liệu trong
Microsoft Office có thể diễn tả dưới cấu trúc của ngữ pháp XML cho nên nó có thể
được tích hợp với ứng dụng Smart Client.
Microsoft Office 2003 cung cấp một số tính năng để xây dựng ứng dụng Smart Client:
-

Smart tags. Được gọi là thẻ thông minh, chúng mang lại cho ứng dụng cách
để cung cấp đến người sử dụng trạng thái nội dung của dữ liệu. Ví dụ thẻ
thơng minh có thể được sử dụng để cung cấp trạng thái của tài khoản sử
dụng, hay trạng thái của đơn đặt hàng,…

-

Smart documents. Tài liệu thông minh cung cấp các phương thức để người

sử dụng tương tác với các tài liệu và nghiệp vụ trên Web Services. Tài liệu
thông minh là một mơ hình giải pháp mới cho Word 2003 và Excel 2003 bởi
vì chúng có thể hiểu được cấu trúc của XML và Task Pane. Task pane có thể
được sử dụng để hiển thị thông tin về ngữ cảnh, công việc, công cụ, bước
thực hiện tiếp theo… Người sử dụng có thể khởi tạo các hành động và cơng
việc bằng cách tác động đến task pane cho phép các giải pháp nghiệp vụ được
cấu trúc.


20
-

Microsoft Visual Studio® Tools for the Microsoft Office System. Cơng cụ
này thuộc bộ tool có thể được phát triển để tạo ra và quản lý mã nguồn của
ứng dụng Office Smart Client.

-

Microsoft Office InfoPath™ 2003. InfoPath 2003 là một ứng dụng có thể
thu thập cấu trúc dữ liệu từ người sử dụng bằng cách sử dụng các form giao
diện. InfoPath 2003 hỗ trợ XML Web Services, một giao diện form windows
và hỗ trợ các chuẩn công nghệ như WSDL và UDDI.

Tóm lại là với đặc điểm của các ứng dụng Microsoft Office có thể mã hóa và hiểu
được cấu trúc của dữ liệu cho phép các ứng dụng Smart Client có thể tích hợp và trở
thành các ứng dụng loại Office Smart Client.
-

Ứng dụng Mobile Smart Client


Ứng dụng Mobile Smart Client là các ứng dụng chạy trên các thiết bị thông minh
như Pocket PCs, Smartphones và các thiết bị khác như set-top boxes. Các ứng dụng
này sử dụng .NET Compact Framework là một phần trong bộ .NET Framework.
.NET Compact Framework có rất nhiều các tính năng của .NET Framework như
hỗ trợ XML, hỗ trợ Web Services. Ngồi ra chúng cịn hỗ trợ Windows Form dùng để
phát triển giao diện người sử dụng. Sử dụng Visual Studio .NET Smart Device
Projects, ta có thể phát triển ứng dụng loại này.

I.3.5. Lựa chọn giữa Thin Client và Smart Client
Với mỗi một dự án việc lựa chọn công nghệ rất quan trọng, nhiều khi cơng nghệ
cao chưa hẳn đã phù hợp bởi vì nhu cầu và chi phí khơng phù hợp. Vì vậy việc lựa
chọn công nghệ là rất quan trọng quyết định đến sự thành cơng của dự án. Bảng sau
trình bày về các tính năng rút gọn của Thin Client và Smart Client:
Tính năng

Thin client

Smart client

Cung cấp giao diện

Có, nhưng khó khăn trong

Có, dễ dàng phát triển,


21
windows form thân thiện

triển khai và sửa lỗi, phụ


kiểm tra và sửa lỗi.

thuộc vào trình duyệt
Có thể sử dụng tài ngun

Có nhưng chỉ có thể thơng

phần cứng của phía máy

qua thành phần COM.



khách.
Có thể tích hợp với các

Khơng



Có thể đa tuyến

Khơng



Có chức năng làm việc

Khơng




Khơng





Có. Khó hơn, phụ thuộc

ứng dụng khác trên máy
khách

Offline
Có thể thực hiện trong mơi
trường gián đoạn về đường
truyền.
Dễ dàng triển khai

vào yêu cầu của ứng
dụng.
Có thể duy trì với chi phí



Chưa biết trước. Giá

thấp và có thể thay đổi mã


thành phụ thuộc vào

nguồn ứng dụng.

yêu cầu của ứng dụng

Có thể triển khai trên một

Có, mặc dù các ứng dụng

số lượng lớn máy khách

Thin Client phức tạp vẫn yêu trên tất cả các máy

với môi trường đa dạng.

cầu cấu hình yêu cầu trình

khách hỗ trợ .NET

duyệt

Framework (bao gồm

Có, có thể triển khai

cả .NET Compact


22

Framework).

I.4. Mơ hình kết hợp giữa Web Services và Smart Client
Với các khái niệm cơ bản ban đầu về Web Services và Smart Client ở trong mục
này tôi đưa ra mơ hình kết hợp giữa Web Services và Smart Client.

Service Agent

Service Proxy

Service Agent
Message
Message
XML
Message
XML
XML

Service Agent

Service Proxy

Service Agent

Service Proxy

Service Agent

Smart Client
(Máy bàn)


Project Proxy
(Máy bàn)

Web services
(Máy chủ)

Service Agent

Data base

Hình 1.1. Mơ hình kết hợp Web Service và Smart Client

Trong mơ hình này, Smart Client là ứng dụng được cài đặt trên hệ thống máy để
bàn còn Web services được thiết kế trên server.
Ứng dụng Smart Client gửi các thơng điệp u cầu có định dạng XML đến Web
Services. Ứng dụng Web service xử lý yêu cầu, có thể thao tác với cơ sở dữ liệu để trả
kết quả về cho Client cũng bằng các thơng điệp XML.
Trong mơ hình này, tác dụng của ứng dụng Smart Client:
-

Chứa giao diện người sử dụng.

-

Thực hiện các thao tác đăng nhập và kiểm soát hệ thống.

-

Gửi yêu cầu lên máy chủ, nhận giá trị trả về và hiển thị.


Tác dụng của Web services:
-

Chứa tất cả các nghiệp vụ logic cần thiết và mang tính chất dùng chung
cũng như thao tác với hệ cơ sở dữ liệu.


23
-

Nhận yêu cầu phía máy khách.

-

Xử lý yêu cầu, thao tác với cơ sở dữ liệu.

-

Trả kết quả về cho ứng dụng Client.

Ngồi ra theo như mơ hình trong hình 1.1 thì có thêm một khái niệm là Proxy.
Proxy làm nhiệm vụ trung chuyển giữa Smart Client và Web services. Khái niệm này
sẽ được trình bày rõ hơn trong chương 3.


×