Tải bản đầy đủ (.docx) (19 trang)

Tiểu luận môn điện toán lưới và đám mây CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN

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 (459.47 KB, 19 trang )

Tiểu Luận: “Điện toán lưới và đám mây”
LỜI NÓI ĐẦU
Ngày nay, lĩnh vực công nghệ thông tin và viễn thông ngày càng phát triển, đòi hỏi nhu cầu
về xử lí thông tin ngày càng cao, nhanh hơn nhiều lần tốc độ phát triển của tài nguyên phần cứng
và phần mềm. Có nhiều vấn đề đặt ra mà các hệ thống tập trung thông thường không đáp ứng
được, do tốc độ xử lí còn hạn chế. Xây dựng một hệ thống phân tán có khả năng xử lí đồng thời
một bài toán trên nhiều máy tính là một hướng giải quyết khả thi và đã được chứng minh tính hữu
dụng. Hệ thống phân tán còn tạo nhiều thuận lợi trong việc chia sẻ thông tin trên toàn thế giới
Trong bài luận này sẽ trình bày về mơ hình điện toán phân tán. Ngoài ra bài tiểu luận cũng sẽ
trình bày về công nghệ WCF đươc sử dụng trong lập trình phân tán và ứng dụng vào bài toán thực
tiễn Internet Banking của ngân hàng.
Tiểu Luận: “Điện toán lưới và đám mây”
MỤC LỤC
Tiểu Luận: “Điện toán lưới và đám mây”
I. KHÁI NIỆM ĐIỆN TOÁN PHÂN TÁN
1. Theo dòng lịch sử
Các hệ thống máy tính lớn của những năm 1960 và thập niên 1970, như hệ thống IBM System/360,
hiếm khi liên lạc với nhau. Một trong những chức năng chính của một máy tính lớn là nó sẽ cung cấp
cho bạn tất cả mọi thứ cần thiết để thực hiện các khả năng tính toán cho một doanh nghiệp. Khi thông
tin liên lạc được yêu cầu, dữ liệu được chuyển từ tape này sang một hệ thống khác. Theo thời gian, yêu
cầu truy cập thời gian thực giữa các hệ thống trở nên cần thiết, đặc biệt là khi số lượng các hệ thống
trong một tổ chức ngày càng lớn. Yêu cầu thời gian thực này đặc biệt rõ ràng hơn trong các thị trường
tài chính, ngân hàng, chứng khoán
Ban đầu, việc truy cập thời gian thực đã được thực hiện thông qua lập trình socket thường được viết
bằng ngôn ngữ assembly hoặc C, lập trình socket là phức tạp và đòi hỏi một sự hiểu biết sâu sắc về các
giao thức mạng cơ bản. Theo thời gian, các giao thức như Network File System (NFS) và File Transfer
Protocol (FTP) càng đem đến sự phức tạp cho lập trình socket. Các công ty như Tibco đã phát triển
phần mềm trung gian "middleware " được thiết kế để tạo điều kiện truyền tin và giao tiếp giữa các
máy chủ. Cuối cùng, khả năng tạo ra ứng dụng phân tán trở nên khả thi thông qua sự phát triển của
triệu gọi phương thức đối tượng từ xa (RPC)
2. Đinh nghĩa điện toán phân tán:


2.1) Tính toán phân tán
Là một khuôn mẫu lập trình chú trọng vào việc thiết kế các hệ thống phân tán có các tính chất:
chịu lỗi, xuyên dụng, mở rộng được, mở. Khuôn mẫu này là kết quả tự nhiên của việc dùng máy
tính để lập nên các mạng máy tính
Distributed computing : Bao gồm nhiều thành phần phần mềm được chạy trênnhiều máy
tính,nhưng như chạy mộthệ thống duy nhất. Các máy tính đang ở trong một hệ thống phân phối
có thể được thể chất gần nhau và nối với nhau bằng một mạng nội bộ, hoặc chúng có thể cách xa
về mặt địa lý và được nối với nhau bằng một mạng diện rộng.
Một hệ thống phân phối có thể bao gồmbất kỳ số lượng cấu hình nào chẳng hạn như máy tính
lớn, máy tính cá nhân, máy trạm, máy tính mini….Mục đích của tính toán phân tán là làm như
như trong một máy tính duy nhất.
Tính toán phân tán là tính toán song song được phân quyền, sử dụng hai hay nhiều máy tính liên
lạc với nhau qua một mạng để hoàn tất một nhiệm vụ hoặc mục tiêu chung. Các loại phần cứng,
ngôn ngữ lập trình, hệ điều hành và các tài nguyên khác được sử dụng có thể rất đa dạng.
2.2) Định nghĩa về hệ phân tán
Định nghĩa 1: Hệ phân tán là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng
máy tính và được cài đặt phần mềm hệ phân tán.
Định nghĩa 2: Hệ phân tán là một hệ thống có chức năng và dữ liệu phân tán trên các trạm (máy
tính) được kết nối với nhau bởi một mạng máy tính.
Định nghĩa 3: Hệ phân tán là một tập các máy tính độc lập giao tiếp với người dùng như một hệ
thống thống nhất, toàn vẹn.
Như vậy, có thể nói : Hệ phân tán = mạng máy tính + phần mềm hệ phân tán.
3
Tiểu Luận: “Điện toán lưới và đám mây”
II. CÁC VẤN ĐỀ TRONG ĐIỆN TOÁN PHÂN TÁN
1. Mục tiêu của hệ phân tán.
1.1) Kết nối người sử dụng và tài nguyên
Giải quyết bài toán chia sẻ tài nguyên trong hệ thống (resource sharing).
1.2) Tính trong suốt
Ẩn giấu sự rời rạc và những nhược điểm nếu có của hệ phân tán đối với người sử dụng (end-

user ) và những nhà lập trình ứng dụng (application programmer).
Theo tiêu chuẩn ISO cho hệ phân tán ISO / IS / 10746 tên là "Open distributed processing
reference model" 1995 đã cụ thể hóa tám dạng trong suốt:
Trong suốt truy cập (Access transparency): che giấu sự khác biệt về cách biểu diễn và cách
truy cập tài nguyên.
Trong suốt về vị trí (Location transparency): che giấu vị trí của tài nguyên. Hai dạng trong
suốt vừa trình bày được gọi chung là trong suốt mạng (network transparency).
Trong suốt di trú (Migration transparency): che giấu khả năng chuyển vị trí của tài nguyên.
Trong suốt về việc định vị lại (Relocation transparency): che giấu việc di chuyển của tài
nguyên khi đang được sử dụng.
Trong suốt nhân bản (Replication transparency): che giấu tình trạng tình trạng sử dụng bản sao
của tài nguyên.
Che giấu sự che sẻ tài nguyên tương tranh (Concurency transparency).
Trong suốt sự cố (Failure transparency): che giấu lỗi hệ thống nếu có.
Trong suốt khả năng di chuyển tài nguyên (Persistence transparency): che giấu việc di chuyển
tài nguyên từ bộ nhớ ngoài vào bộ nhớ trong và ngược lại.
1.3) Tính mở (Openness).
Hệ phân tán được gọi là mở nếu nó cung cấp các dịch vụ theo các quy tắc chuẩn mô tả cú
pháp và ngữ nghĩa của dịch vụ đó.
Thông thường trong hệ phân tán các dịch vụ thường đặc tả qua các giao diện bằng ngôn ngữ
đặc tả giao diện (Interface Definition Language- IDL). Vì thế chỉ quan tâm đến cú pháp. Nó
cho phép các dịch vụ khác nhau cùng chung sống. Nếu các giao diện của hệ phân tán được đặc
tả đầy đủ và đúng đắn.
Xét hai khái niệm của hệ phân tán là khái niệm liên tác (Interroperability) và khái niệm
4
Tiểu Luận: “Điện toán lưới và đám mây”
chuyển mang (portability).
Liên tác: các cài đặt của các hệ thống hoặc thành phần hệ thống từ các nhà sản xuất khác nhau
có thể làm việc với nhau thông qua liên tác.
Chuyển mang: nhờ chuyển mang mà một ứng dụng được phát triển cho hệ phân tán A có thể

thực hiện không cần thay đổi gì trên một hệ phân tán B khác, với điều kiện được cài đặ cùng
giao diện như A
1.4) Tính co giãn (Scalability)
Một hệ phân tán được gọi là có tính co giãn nếu nó thích nghi với sự thay đổi quy mô của hệ
thống. Thể hiện trên các khía cạnh sau:
- Dễ bổ sung người sử dụng và tài nguyên hệ thống
- Khi hệ thống thay đổi quy mô về mặt địa lý dẫn đến sự thay đổi về vị trí địa lý của người sử
dụng và các tài nguyên.
- Hệ thống có thay đổi quy mô về quản trị.
Nếu hệ phân tán có tính co giãn thường ảnh hưởng đến hiệu năng của hệ thống (hiệu năng của
hệ thống là hiệu quả năng lực hoạt động của đối tượng).
Có ba giải pháp phổ dụng để giải quyết vấn đề co giãn của hệ phân tán:
- Ẩn giấu
- Phân tán: phân nhỏ thành phần hệ thống và phân bố chúng trên phạm vi của hệ thống (quản
lý phân cấp). Ví dụ DNS xác định theo cách phân cấp miền lớn thành các miền con. Với
phương pháp này sẽ giải quyết được vẫn đề khi thêm người dùng hay tài nguyên vào hệ thống.
- Nhân bản: nhân bản một thành phần nào đó của hệ thống. Ví dụ tài nguyên dữ liệu đặt tại các
vị trí khác nhau trong hệ thống.
2. Phân loại
Trước đây, hệ phân tán được chia thành ba loại : hệ điều hành hệ phân tán, cơ sở dữ liệu hệ
phân tán và các hệ thống tính toán hệ phân tán.
Ngày nay, hệ phân tán được phân chia như sau:
- Hệ phân tán mang tính hệ thống: hệ điều hành phân tán.
- Hệ phân tán mang tính ứng dụng: các hệ thống truyền tin phân tán.
3. Các mô hình điện toán phân tán
Sự phát triển của Internet và sức mạnh của máy tính , mạng tốc độ cao
cũng như các hàng hóa chi phí thấp đang dần thay đổi cách con người
tính toán. Điện toán phân tán đã trở thành một thành phần cần thiết
của kỷ thuật điện toán trong nhiều thập kỷ . Điện toán phân tán bao gồm một
tập hợp các quá trình hợp tác xử lý để giải quyết một bài toán . Công nghệ thông tin và truyền

thông (ICT) đã cách mạng hóa điện toán phân tán vào thực tiễn.
Ngày nay, mạng xã hội đại diện cho một bước đệm trong quá trình sử dụng Internet để các cá
nhân có thể liên kết với nhau về thông tin và văn hóa. Hầu hết các trang web xã hội được thực
hiện trên các hệ thống tính toán phân tán khổng lồ được vận hành và quản lý tập trung trong
các trung tâm dữ liệu (data center) . Tuy nhiên , xu hướng của một hệ thống có khả năng mở
rộng là hướng tới việc sử dụng điện toán peer-to -peer , utility, cluster, and jungle . Điện toán
tiện ích (utility computing) về cơ bản là điện toán lưới và điện toán đám mây
5
Tiểu Luận: “Điện toán lưới và đám mây”
3.1) Peer to Peer Computing
Mạng ngang hàng (tiếng Anh: peer-to-peer network), còn gọi là mạng đồng đẳng, là một
mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng
thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm
như các mạng thông thường. Mạng đồng đẳng có nhiều ứng dụng. Ứng dụng thường
xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu, hoặc
để truyền dữ liệu thời gian thực như điện thoại VoIP.
Một mạng đồng đẳng đúng nghĩa không có khái niệm máy chủ và máy khách, nói cách
khác, tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng vai
trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng.
3.2) Cluster Computing
Một cụm máy tính bao gồm một tập hợp các máy tính độc lập được kết nối với nhau thông qua mạng
máy tính, cùng hợp tác với nhau để hoạt động như một máy tính tích hợp duy nhất. Các thành phần
trong cluster được quản lý trong cùng domain. Các thành phần của cluster kết nối với nhau thông qua
mạng cục bộ.
6
Tiểu Luận: “Điện toán lưới và đám mây”
3.3) Grid Computing
Grid là một loại hệ thống phân tán, bố trí song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập
hợp các nguồn tài nguyên độc lập và rải rác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt
động, chi phí và yêu cầu về chất lượng dịch vụ của người sử dụng.

Điện toán mạng lưới (ĐTML) có nghĩa là tất cả hoặc một phần của một nhóm máy tính, máy chủ
và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize) thành một cỗ máy tính lớn.
Vì ĐTML giải phóng những khả năng tính toán không được sử dụng vào một thời điểm bất kỳ,
chúng có thể cho phép các doanh nghiệp tăng cường rất nhiều về tốc độ, sức mạnh xử lý thông tin
và sự liên kết, thúc đẩy các quy trình tính toán mật độ cao. Trong khi đó, chi phí vẫn sẽ được giữ ở
mức thấp vì ĐTML có thể được xây dựng từ chính hạ tầng hiện có, góp phần đảm bảo sự huy
động tối ưu các khả năng tính toán.
Điện toán mạng lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như các nguồn xử lý,
băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn đồng nhất, cho phép người
sử dụng và các ứng dụng truy cập thông suốt vào các tính năng điện toán rộng lớn. Giống như
người lướt web xem một nội dung thống nhất qua web, người sử dụng ĐTML cũng nhìn thấy một
máy tính ảo cực lớn duy nhất.
Điện toán lưới (grid computing) sử dụng tập hợp các tài nguyên máy tính có hoạt động giống máy
chủ (server), thông qua mạng tốc độ cao để đáp ứng công việc tính toán.
Có thể hình dung môi trường tính toán lưới tương tự như mạng lưới điện. Các trạm phát điện phân
bổ rải rác, liên kết với nhau qua mạng lưới điện để chia tải và bổ sung nguồn điện cho nhau khi
cần thiết. Khách hàng sử dụng điện không cần quan tâm đến nguồn gốc trạm phát. Việc sử dụng
điện có lúc nhiều (giờ cao điểm) lúc ít, có khách hàng dùng nhiều và khách hàng dùng ít, mạng
lưới điện sẽ thực hiện việc điều phối thích hợp.
Trong tính toán lưới, các máy tính đóng vai trò giống như những trạm phát điện. Người dùng có
thể truy cập tới máy tính ảo có đủ năng lực xử lý đáp ứng nhu cầu của mình. Máy tính ảo này có
thể bao gồm nhiều nguồn tài nguyên tính toán không đồng nhất (phần cứng máy tính và hệ điều
hành khác nhau), tuy nhiên người dùng không nhận biết các tài nguyên cụ thể này, cũng giống như
người dùng điện không nhận biết nguồn điện phát sinh từ đâu.
7
Tiểu Luận: “Điện toán lưới và đám mây”
3.4) Cloud Computing
Mô hình Điện toán đám mây là mô hình điện toán với sự cân bằng động và các tài nguyên ảo hóa
được cung cấp như dịch vụ trên mạng Internet.
Trong Điện toán đám mây, người sử dụng truy cập các dịch vụ tính toán từ nhà cung cấp nào đó

“trong đám mây” mà không cần phải có các kiến thức và kinh nghiệm về công nghệ đó cũng như
không quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó.
Cloud Computing ra đời để giải quyết các vấn đề sau:
-Vấn đề về lưu trữ dữ liệu:
Dữ liệu được lưu trữ tập trung ở các kho dữ liệu khổng lồ. Các công ty lớn như
Microsoft, Google có hàng chục kho dữ liệu trung tâm nằm rải rác khắp nơi trên thế giới. Các
công ty lớn này sẽ cung cấp các dịch vụ cho phép doanh nghiệp có thể lưu trữ và quản lý dữ liệu
của họ trên các kho lưu trữ trung tâm.
-Vấn đề về sức mạnh tính toán:
Có 2 giải pháp chính:
o Sử dụng các siêu máy tính (super-computer) để xử lý tính toán.
o Sử dụng các hệ thống tính toán song song, phân tán, tính toán lưới (grid computing).
Vấn đề về cung cấp tài nguyên, phần mềm:
Cung cấp các dịch vụ như IaaS (infrastructure as a service), PaaS (platform as a service), SaaS
(software as a service).
8
Tiểu Luận: “Điện toán lưới và đám mây”
3.5) Jungle Computing
Là sự kết hợp tính toán tài nguyên không đồng nhất, phân bậc , và phân tán. Trong nhiều
lĩnh vực nghiên cứu khoa học, các chuyên gia buộc phải vào sử dụng đồng thời nhiều điện
toán cụm, lưới, đám mây, máy tính cá nhân…Vì vậy điện toán rừng được giao cho giải
quyết việc sử dụng hệ thống máy tính đa dạng, phân tán và hiệu suất không đồng đều để
đạt được hiệu suất cao nhất
III. CÔNG NGHỆ LẬP TRÌNH PHÂN TÁN WCF
1. Khái niệm
WCF là công nghệ nền tảng nhằm thống nhất nhiều mô hình lập trình giao tiếp được hỗ trợ trong
.NET 2.0 thành một mô hình duy nhất. Vào tháng 11 năm 2005, .NET 2.0 được Microsoft
phát hành trong đó có cung cấp các hàm API riêng biệt cho các liên lạc dựa trên SOAP để
tối đa hoá sự làm việc giữa các nền tảng sử dụng Web Services, đồng thời .NET 2.0 còn cung cấp các
API để tối ưu việc liên lạc dựa trên mã nhị phân giữa các ứng dụng chạy trên hệ thống Windows gọi là

.NET Remoting, các API cho các giao dịch phân tán, và API cho liên lạc dị bộ. WCF thống nhất các
API này thành một mô hình duy nhất nhằm đáp ứng mô hình lập
trình hướng dịch vụ.WCF có thể sử dụng các bản tin SOAP giữa hai tiến trình, do đó làm cho các ứng
dụng dựa trên WCF có thể làm việc với các tiến trình khác thông qua việc giao tiếp sử dụng bản tin
SOAP. Khi một tiến trình WCF liên lạc với một tiến trình không là WCF, các bản tin SOAP được mã
hoá trên cơ sở XML, nhưng khi nó liên lạc với một tiến trình WCF khác, bản tin SOAP có thể được tối
ưu hoá dựa trên mã hoá nhị phân.
9
Tiểu Luận: “Điện toán lưới và đám mây”
2. Kiến trúc của WCF
Hình sau mô tả các lớp chủ yếu trong kiến trúc của Windows Communication
2.1) Các contracts
Các contract trong WCF cũng giống như các hợp đồng/hiệp định mà bạn ký trong đời
sống thật. Một hợp đồng bạn ký có thể chứa các thông tin như kiểu công việc bạn sẽ làm, và những
thông tin mà bạn muốn đưa ra cho các bên khác. WCF contract cũng chứa các thông tin tương tự như
vậy. Contract định nghĩa các đặc tả trong hệ thống bản tin.Thông thường có các loại contract sau:
- Contract dữ liệu mô tả các tham số cho các bản tin mà một dịch vụ có thể
tạo ra hay sử dụng. Các tham số bản tin được định nghĩa bằng các tài liệu sử dụng ngôn ngữ đặc tả
XML Schema (XSD), điều này cho phép các hệ thống hiểu XML có thể xử lý
tài liệu dễ dàng. Các dịch vụ khi liên lạc với nhau có thể không cần đồng ý với nhau về các kiểu,
nhưng cần đồng ý về contract dữ liệu, nghĩa là đồng ý về các tham số và các kiểu trả về.
- Contract bản tin định nghĩa các phần có trong bản tin sử dụng các giao
thức SOAP, và nó cho phép điều khiển sâu hơn tới các phần trong bản tin khi có yêu cầu sự chính xác
như vậy.
- Contract dịch vụ đặc tả chi tiết các phương thức của dịch vụ, và được
phân phối như là một giao diện trong các ngôn ngữ lập trình như Visual Basic hay Visual C#. Có thể
hình dung về contract dịch vụ một cách gián tiếp như sau: „Đây là các kiểu dữ liệu của các bản tin của
tôi, đây là nơi tôi cung cấp, và đây là các giao thức mà tôi có thể liên lạc”
- Các chính sách và các kết nối (bindings) mô tả các điều kiện cần có để
giao tiếp với một dịch vụ. Các chính sách sẽ bao gồm cả các yêu cầu về bảo mật và các

điều kiện khác cần phải có khi kết nối với một dịch vụ.
2.2) Runtime service
Lớp dịch vụ thực thi chứa các hành xử sẽ xảy ra trong quá trình thực hiện của dịch vụ,
nghĩa là các hành xử thực thi của dịch vụ. Ta sẽ thấy một số các hành xử như sau:
- Throttling behavior: Điều khiển luồng nhằm quy định xem có bao nhiêu
bản tin được xử lý
- Error behavior: Hành xử lỗi quy định những hành động khi lỗi xảy ra
trong hệ thống
- Metadata behavior: Hành xử với các siêu dữ liệu quy định xem làm thế
10
Tiểu Luận: “Điện toán lưới và đám mây”
nào và khi nào thì các siêu dữ liệu được đưa ra bên ngoài dịch vụ
- Instance behavior: Hành xử thực thể quy định xem có bao nhiêu thực thể
của dịch vụ đó được chạy
- Transaction behavior: Hành xử giao dịch cho phép việc rollback các
giao dịch nếu xảy ra lỗi
- Message inspection: Kiểm tra bản tin đem lại cho dịch vụ khả năng kiểm
tra tất cả hay một số phần của bản tin
- Dispatch behavior: Khi một bản tin được xử lý bởi nền tảng WCF, dịch
vụ Dispatch behavior xác định xem bản tin được xử lý như thế nào.
- Concurrency behavior: Hành xử đồng thời xác định xem việc xử lý thế
nào với việc đa luồng của mỗi dịch vụ hay mỗi thực thể của dịch vụ. Hành xử này giúp
cho việc điều khiển số lượng luồng có thể truy nhập tới một thực thể của dịch vụ.
- Parameter filtering: Khi một bản tin được đưa tới một dịch vụ, sẽ xảy ra
một số hành động dựa trên nội dung phần đầu đề của bản tin. Phần lọc tham số sẽ thực
hiện lọc các đầu đề bản tin và thực hiện các hành động đặt sẵn dựa trên việc lọc đầu đề
bản tin.
2.3) Message
Lớp bản tin là tập hợp các kênh. Mỗi kênh là một thành phần xử lý bản tin theo một cách nào đó. Một
tập các kênh thường được gọi là ngăn xếp kênh. Các kênh làm việc trên bản tin và trên đầu đề của bản

tin. Lớp này khác với lớp thực thi dịch vụ chủ yếu bởi sự khác nhau trong việc xử lý nội dung bản tin.
Có hai kênh khác nhau là kênh vận chuyển (transport channel) và kênh điều khiển
(control channel).
- Kênh vận chuyển phụ trách việc đọc và ghi các bản tin từ mạng (network)
hoặc từ một số điểm giao dịch bên ngoài)
- Kênh điều khiển thực hiện xử lý bản tin theo giao thức, thông thường làm
việc bằng cách đọc và ghi thêm các đầu đề cho bản tin.
2.4) Host and activation
Nhìn một cách tổng thể thì một dịch vụ thực chất là một chương trình. Cũng giống như
các chương trình khác, một dịch vụ cần phải chạy trong một tệp thực thi. Dịch vụ này thường được gọi
là dịch vụ tự chứa.
Các dịch vụ còn có thể được chứa, hoặc chạy trong một tệp thực thi được quản lý bởi
một agent bên ngoài như IIS hay Windows Activation Services (WAS). WAS cho phép WCF được
kích hoạt một cách tự động khi phân phối tới một máy tính có chạy WAS.
3. Các tính năng của WCF
3.1) Transaction
Một giao dịch là một đơn vị của công việc. Một giao dịch đảm bảo chắc chắn rằng mọi thứ diễn ra
trong giao dịch thành công ha y thất bại đều là kết quả tổng thể. Ví dụ, nếu một giao dịch chứa ba
mục công việc cần thực hiện, trong quá trình thực hiện giao dịch, một trong số các mục đó bị thất bại,
khi đó cả ba mục sẽ là thất bại. Giao dịch chỉ thành công khi cả ba mục công việc đều thành công.
Giao dịch thường thấy trong các thao tác với cơ sở dữ liệu.WCF cho phép đưa vào việc xử lý giao
dịch như trên với các liên lạc. Nhà phát triển có
thể nhóm các liên lạc với nhau thành các giao dịch. Ở mức doanh nghiệp, tính năng này cho phép bạn
thực hiện các công việc giao dịch qua các nền tảng khác nhau.
3.2) Host
WCF cho phép các dịch vụ được chứa trong một số lớn các môi trường khác nhau, như Windows NT
Services, Windows Forms, và ứng dụng console, cũng như ở trên IIS (Internet Information
Server) và WAS (Windows Activation Services).Chứa ứng dụng trên IIS còn có thêm các lợi điểm
khác là dịch vụ có thể nhận các ưu điểm của rất nhiều tính năng có sẵn trên IIS, ví dụ IIS có thể điều
khiển một cách tự động việc bắt đầu hay kết thúc một dịch vụ.

3.3) Bảo mật
11
Tiểu Luận: “Điện toán lưới và đám mây”
Bảo mật là tính năng không thể thiếu trong WCF nói riêng và trong liên lạc nói chung. Trong WCF,
tất cả mọi thứ từ các bản tin tới các client hay server đều phải xác thực và WCF có tính năng để đảm
bảo rằng các bản tin không bị lẫn trong quá trình vận chuyển. WCF bao gồm việc đảm bảo tính toàn
vẹn và bảo mật của bản tin.WCF còn cho phép bạn tích hợp ứng dụng của bạn với cơ sở hạ tầng bảo
mật sẵn có, bao gồm cả các chuẩn bên ngoài môi trường Windows bằng cách sử dụng các bản tin
SOAP bảo mật.
IV) Áp dụng công nghệ phân tán WCF vào phần mềm Internet Banking
1. Mục tiêu ứng dụng
Ngày nay theo xu thế phát triển của xã hội giao dịch trực tuyến trở thành nhu cầu căn bản trong
cuộc sống đăc biệt trong lĩnh vực ngân hàng và tài chính. Việc phát triển các sản phẩm internet
banking giúp người dùng dễ dàng thực hiện các giao dịch truy vấn thông tin, truy vấn lịch sử giao
dịch, chuyển khoản, thanh toán hóa đơn… trong hệ thống.
2. Ứng dụng WCF
2.1) Tạo lớp có phần hướng dịch vụ cho dịch vụ WCF khi thêm vào các thuộc tính cho giao diện
hướng đối tượng
[ServiceContract]
public interface Interface
{

[OperationContract]
DataSet GetBankAccountByCustCode(string CustCode);
[OperationContract]
DataSet GetBankAccountByBankAccount(string BankAccountNo);
[OperationContract]
int CanLogin(string CustCode, string Pass);
}
2.2) Service Endpoints (Các điểm cuối dịch vụ)

Các client chỉ có thể truy nhập tới dịch vụ và sử dụng các thao tác của dịch vụ thông qua các điểm
cuối dịch vụ. Điểm cuối dịch vụ có thể được định nghĩa thông qua mã nguồn hoặc thông qua tập tin
cấu hình.
Một dịch vụ có thể có một hay nhiều điểm cuối, mỗi điểm cuối có một địa chỉ (address), một binding,
và một contract dịch vụ.
Định nghĩa điểm cuối bằng tệp tin cấu hình:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="MetaDataBehavior">
<serviceMetadata httpGetEnabled="true"
httpGetUrl="http://localhost:8000/BankSavingService"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="MetaDataBehavior" name="BankSavingService.Object">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="" name="ep1"
contract="BankSavingService.Interface"/>
12
Tiểu Luận: “Điện toán lưới và đám mây”
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="ep2"
contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/BankSavingService"/>
</baseAddresses>
</host>

</service>
</services>
</system.serviceModel>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add name="EBanking"
connectionString="Server=MINHNGA;uid=sa;pwd=mssql2008;Database=EBanking;Application
Name=BankSavingService"/>
</connectionStrings>
</configuration>
3. Giao diện, chức năng phần mềm
3.1) Server: là một web service
- Chạy web service
13
Tiểu Luận: “Điện toán lưới và đám mây”
3.2) Client : là ứng dụng dạng application. Gồm các chức năng
3.2.1) Kiểm tra đăng nhập
Nếu đăng nhập thành công thì màn hình Ebanking hiện lên:
3.2.2) Kiểm tra thông tin tài khoản: họ tên, địa chỉ, số điện thoại, các loại tài khoản (thường,
credit), kiểm tra số dư khả dụng(đối với tài khoản thường)
, hạn mức tín dụng (đối với tài khoản credit)
Chọn Chức năng/ Thông tin tài khoản, màn hình thông tin hiện lên:
14
Tiểu Luận: “Điện toán lưới và đám mây”
Một khách hàng có thể có nhiều tài khoản: tài khoản thường, tài khoản credit được cấp hạn mức
sử dụng
3.2.3) Chuyển khoản online từ tài khoản (thường, credit) sang cùng tài khoản của cùng khách
hàng hay tài khoản của khách hàng khác

Chọn Chức năng/ Chuyển khoản, màn hình chuyển khoản hiện lên:
3.2.4) Thanh toán hóa đơn điện, internet
Chọn Chức năng/ thanh toán hóa đơn, màn hình Thanh toán hóa đơn hiện lên:
Chọn sồ tài khoản, nhập mã khách hang, số hóa đơn. Nhấn xác nhận để server kiểm tra có hóa đơn
như yêu cầu mà chưa thanh toán sẽ hiện lên màn hình đồng ý thanh toán. Ngoài ra hệ thống có thể
kiểm tra và sẽ thông báo nếu : không tồn tại hóa đơn này, hoặc hóa đơn này đã thanh toán
15
Tiểu Luận: “Điện toán lưới và đám mây”
Nhấn xác nhận để server kiểm tra có hóa đơn như yêu cầu mà chưa thanh toán sẽ hiện lên màn
hình đồng ýđể khách hàng thanh toán
Trường hợp đã thanh toán nhưng khách hàng tiếp tục thanh toán sẽ báo lỗi
Trường hợp không tồn tại hợp đồng cần thanh toán
16
Tiểu Luận: “Điện toán lưới và đám mây”
3.2.5) Lịch sử giao dịch: dòng tiền tăng giảm do chuyển khoản hay thanh toán.
Chọn Chức năng/ Lịch sử giao dịch, màn hình lịch sử giao dịch hiện lên:
4. Kết quả đạt được
-Xây dựng một hệ thống phân tán cho nhiều người sử dụng, có thể phát triển chạy trên nhiều nền
tảng
- Sử dụng web service sẽ chạy máy chủ trên nền Internet chứ không phải là các máy tính cá nhân,
do vậy có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet. Người sử dụng có thể làm
việc với các dịch vụ thông qua bất kỳ loại máy nào có hỗ trợ web service và có truy cập Internet,
kể cả các thiết bị cầm tay. Do đó các web service sẽ làm Internet biến đổi thành một nơi làm việc
chứ không phải là một phương tiện để xem và tải nội dung.
Điều này cũng sẽ đưa các dữ liệu và các ứng dụng từ máy tính cá nhân tới các máy phục vụ của
một nhà cung cấp dịch vụ web. Các máy phục vụ này cũng cần trở thành nguồn cung cấp cho
người sử dụng cả về độ an toàn, độ riêng tư và khả nǎng truy nhập.
-Về chức năng phần mềm:
+Kiểm tra đăng nhập
+Kiểm tra thông tin tài khoản: họ tên, địa chỉ, số điện thoại, các loại tài khoản (thường,

credit), kiểm tra số dư khả dụng(đối với tài khoản thường)
, hạn mức tín dụng (đối với tài khoản credit)
17
Tiểu Luận: “Điện toán lưới và đám mây”
+Chuyển khoản online từ tài khoản (thường, credit) sang cùng tài khoản của cùng khách hàng
hay tài khoản của khách hàng khác
+Thanh toán hóa đơn điện, internet
+Lịch sử giao dịch: dòng tiền tăng giảm do chuyển khoản hay thanh toán.
V) Xu hướng hiện nay
- Điện toán đám mây - công nghệ của thời đại mới : là mô hình dịch vụ trong đó các tài
nguyên như: hardware, platform (OS, DB, Middleware,…), software được chuyển giao và sử
dụng theo yêu cầu thông qua môi trường internet. Thay vì mua tài nguyên thì khách hàng sẽ
thuê và trả phí theo mức độ sử dụng của mình
-WCF là một công nghệ của Microsoft , nó hướng dến các ứng dụng SOA, tuy nhiên điểm
mạnh của nó không phải là giao tiếp Client/Server hay qua nhiều giao thức.Tuy nhiên mỗi
công nghệ điều có các điểm mạnh riêng, trong đó linh động nhất vẫn là Web Services, do
vậy để hợp nhất sức mạnh của các công nghệ nói trên, Microsoft cho ra đời WCF không
những dễ dàng hơn trong việc triển khác các ứng dụng hướng dịch vụ và điều quan trọng là
nó có thể tương tác được với tất cả các công nghệ, và trích xuất ra nhiều tiêu chuẩn khác
nhau, chính vì vậy các ứng dụng được xây dựng trên các công nghệ cũ vẫn có thể chung
sống và tương tác với các công nghệ mới mà cụ thể là Web Services.
- Ngày nay với sự phát triển của các hệ thống ảo hóa phục vụ ứng dụng đám mây, các ứng
dụng hướng dịch vụ sẽ ngày càng phong phú, do đó nhu cầu giao tiếp giữa hệ thống với các
hệ thống đám mây là rất cao, đòi hỏi sự tin cậy và bảo mật. Chính vì vậy Web Services
cũng đã hỗ trợ thêm một giao thức nữa là REST nhằm mục đích trao đổi dữ liệu an toàn
hơn giữa các hệ thống. Ngoài ra có thế có thể sử dụng WCF để giao tiếp trong điện toán
đám mây
KẾT LUẬN
Điện toán phân tán đã kết nối người sử dụng, tài nguyên và đồng thời giải quyết bài toán
chia sẻ tài nguyên trong hệ thống. Một cách lý tưởng thì hệ thống này có khả năng chịu lỗi tốt

hơn và mạnh hơn nhiều hệ thống tổ hợp máy tính độc lập khác. Ngày nay, các Web Service trở
thành những giao thức chuẩn của các hệ thống phân tán.
TÀI LIỆU THAM KHẢO
[1] Slides bài giảng môn ‘‘Điện toán lưới và đám mây’’, PGS.TS.Nguyễn Phi Khứ
18
Tiểu Luận: “Điện toán lưới và đám mây”
[2] Brijender Kahanwal, Tejinder Pal Singh, The Distributed Computing Paradigms: P2P, Grid,
Cluster, Cloud, and Jungle
[3] Một số hướng dẫn sử dung dịch vụ internet banking của ngân hang Đông Á, VietComBank
19

×