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

Hệ thống thông tin quản lý Thương mại điện tử

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 (865.52 KB, 27 trang )

4/29/2014


TIỂU LUẬN
Môn: Hệ thống thông tin quản lý
D10HTTT2
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Thương mại điện tử.
Giảng viên: Phạm Thế Quế
Sinh viên: Kim Nguyệt Hà
Lớp: D10HTTT2
1

Mục Lục
SEMANTIC WEB 3
Chương 1: Tổng quan về Semantic Web 4
1.1 Sự ra đời của Semantic Web 4
1.2 Semantic Web là gì? 5
1.3 Semantic Web mang lại những gì? 6
1.3.1 Máy có thể hiểu được thông tin trên Web. 6
1.3.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn 6
1.3.3 Dữ liệu liên kết động 6
1.3.4 Hỗ trợ công cụ tự động hóa 6
1.4 Kiến trúc của Semantic Web 6
1.4.1 Kiến trúc phân tầng của Semantic Web 6
1.4.2 Vai trò của các tầng trong Semantic Web. 7
Chương 2: Các ngôn ngữ Semantic Web 12
2.1 XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng 12
2.2 DTDs và XML Schema. 13
2.3 RDF – Biểu diễn về dữ liệu. 13
2.4 RDF Schema – Định nghĩa RDF vocabulary. 13


2.5 DAML + OIL (DARPA Agent Markup Language + Ontology Interence Layer) 14

TÌM HIỂU VỀ CÔNG NGHỆ WEB SERVICE 15
Chương 1: Giới thiệu về ứng dụng phân tán 17
1.1 Giới thiệu về ứng dụng phân tán. 17
1.1.1 Khái niệm hệ phân tán 17
1.1.2 Mô hình hệ thống phân tán 18
1.1.3 Các vấn đề nảy sinh trong hệ thống phân tán 18
1.2 Các hệ thống phân tán. 18
1.2.1 RMI (Remote Method Invocation) 18
1.2.2 DCOM (Distribited Component Object Model) 19
1.2.3 CORBA (Common Object Request Broker Architecture) 19
Chương 2: Giới thiệu Web Service 20
2.1 Giới thiệu về Web Service. 20
2

2.1.1 Khái niệm Web Service 20
2.1.2 Hoạt động của Web Service 21
2.2 Đặc điểm của Web Service. 21
2.2.1 Đặc điểm 21
2.2.2 Ưu và nhược điểm của Web Service 22
2.3 Các thành phân của Web Service. 22
2.3.1 XML (eXtensible Markup Language) 22
2.3.2 WSDL (Web Service Desctiption Language) 23
2.3.3 SOAP (Simple Object Access Protocol) 24












3































Hệ thống thông tin quản lý
SEMANTIC WEB
4

Chương 1. Tổng quan về Semantic Web
1.1 Sự ra đời của Semantic Web.
Thế hệ web đầu tiên bắt đầu với những trang HTML thủ công, thế hệ thứ hai đã tạo nên
một bước cho máy thực hiện và thường là các trang HTML động. Các thế hệ web này mang ý
nghĩa cho con người thao tác trực tiếp ( đọc , duyệt , điền vào mẫu). Thế hệ web thứ ba được gọi
là “Semantic Web ” , mang mục đích là thông tin sẽ do máy xử lý. Điều này trùng khớp với quan
điểm của Tim Berners-Lee đã mô tả trong cuốn sách gần đây nhất của ông “Weaving the Web”
[Berners-Lee, 1999]. Semantic Web sẽ làm cho các dịch vụ thông minh hơn ví dụ như môi giới
thông tin, tác nhân tìm kiếm, bộ lọc thông tin v.v. Những dịch vụ thông minh trên hệ thống web
giàu ngữ nghĩa sẽ như thế chắc hẳn sẽ vượt trội hơn những phiên bản sẵn có hiện tại của các dịch
vụ này, mà chỉ giới hạn về chức năng.



Hình 1-1. Sự hình thành và phát triển của Semantic Web.


5


1.2 Semantic Web là gì?
Semantic Web được phát triển bởi Tim- Berners Lee, cha đẻ của WWW, URIs, HTTP
và HTML. Theo Ông, ‘‘ Web ngữ nghĩa là sự mở rộng của Web hiện tại, cho phép người
dùng có thể truy tìm, phối hợp, sử dụng lại và trích lọc thông tin một cách dễ dàng và
chính xác ’’. (Tim- Berners Lee, XML-2000).


Hình 1-2. Đề xuất đầu tiên về WWW của Tim Berners – Lee năm 1989

Semantic Web là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử
lý dễ dàng bởi các máy tính ở phạm vi toàn cầu. Nó được xem là cách mô tả thông tin rất hiệu
quả trên World Wide Web, và cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu.
Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ liệu một cách có ngữ
nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được. Semantic Web còn cung cấp một môi
trường chia sẻ và xử lý dữ liệu một cách tự động bằng máy tính.


6

1.3 Semantic Web mang lại những gì?
1.3.1 Máy có thể hiểu được thông tin trên Web.
Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành chỉ cho con người đọc chứ
không dành cho máy hiểu. Semantic Web sẽ cung cấp ý nghĩa cho máy hiểu. Ví dụ như:
 The Beatles là một ban nhạc nổi tiếng của Liverpool.
 John Lennon là một thành viên của The Beatles.
 Bản nhạc “Hey Dude” do nhóm The Beatles trình bày.
Những câu như thế này có thể hiểu bởi con người nhưng làm sao chúng không thể được
hiểu bởi máy tính.
Semantic Web là tất cả những gì về cách tạo một Web mà cả người và máy có thể hiểu.
Người dùng máy tính sẽ vẫn có thông tin trình bày theo cách trước đây, nhưng đối với máy

tính, Semantic Web là ánh sáng soi rọi vào màn đêm của Web hiện hành. Bây giờ, máy không
phải suy luận dựa vào ngữ pháp và các ngôn ngữ đánh dấu (Markup Language) nữa vì cấu trúc
ngữ nghĩa của văn bản (text) thực sự đã chứa nó rồi.
1.3.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn.
Với Semantic Web, việc tìm kiếm sẽ dễ dàng nếu mọi thứ được đặt trong ngữ cảnh. Ý
tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng được biết đến.
Mục tiêu của Semantic Web là phát triển các tiêu chuẩn và kĩ thuật để giúp máy hiểu nhiều
thông tin trên Web hơn, để chúng tìm ra các thông tin dồi dào hơn, tích hợp, duyệt dữ liệu, và
tự động hóa các thao tác.
Với Semantic Web, chúng ta không những nhận được những thông tin chính xác hơn khi
tìm kiếm thông tin từ máy tính, mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác
nhau, biết so sánh các thông tin với nhau.
1.3.3 Dữ liệu liên kết động.
Với Semantic Web, chúng ta có thể kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa
với bất kì nguồn dữ liệu nào.
1.3.4 Hỗ trợ công cụ tự động hóa.
Ngoài ra, chúng còn cung cấp các loại dịch vụ tự động từ nhiều vùng khác nhau: từ gia đình
và các thư viện kĩ thuật số cho đến các dịch vụ kinh doanh điện tử và dịch vụ sức khỏe.v.v.
Semantic Web còn cung cấp các phương tiện để thêm các thông tin chi tiết lên Web nhằm
hỗ trợ sự tự động hóa cho các dịch vụ.
1.4 Kiến trúc của Semantic Web.
1.4.1 Kiến trúc phân tầng của Semantic Web.
Semantic Web là một tập hợp/ một chồng (stack) các ngôn ngữ. Tất cả các lớp của
Semantic Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất.
7


Hình 1-4. Kiến trúc phân tầng của Semantic Web

 Tầng Unicode & URI:

 Unicode: là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao tiếp
trên tất cả các quốc gia.
 URI (Uniform Resource Identifier): là kí hiệu nhận dạng Web đơn giản.
 Tầng XML: cùng với các định nghĩa về namespace và schema (lược đồ) bảo đảm rằng
chúng ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML
khác.
 Tầng RDF và RDFchema (RDFS): tạo các phát biểu (statement) để mô tả các đối tượng
với những từ vựng và định nghĩa của URI, và các đối tượng này có thể được tham
chiếu đến bởi những từ vựng và định nghĩa của URI ở trên. Đây cũng là lớp mà chúng
ta có thể gán các kiểu (type) cho các tài nguyên và liên kết. Và cũng là lớp quan trọng
nhất trong kiến trúc Semantic Web .
 Tầng Ontology :
Ontology Vocabulary Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và
RDFS, cung cấp biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ
lập luận.
 Tầng logic: Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có mục
đích là để máy có thể lập luận được. Mà cơ sở lập luận chủ yếu dựa vào logic.
 Tầng Proof: Tầng này đưa ra các luật để suy luận. Cụ thể từ các thông tin đã có ta có
thể suy ra các thông tin mới.
 Tầng Trust: Đảm bảo tính tin cậy của các ứng dụng trên Semantic Web.
 Tầng Digital Signature: được dùng để xác định chủ thể của tài liệu (vd: tác giả của
một tài liệu hay một lời tuyên bố).


8

1.4.2 Vai trò của các tầng trong kiến trúc Semantic Web
a. Tầng định danh tài nguyên – URI.
URI - Uniform Resource Identifier, URI đơn giản chỉ là một định danh Web giống như các
chuỗi bắt đầu bằng “http” hay “ftp” mà bạn thừơng xuyên thấy trên mạng. Bất kỳ ai cũng

có thể tạo một URI, và có quyền sở hữu chúng vì vậy chúng đã hình thành nên một công
nghệ nền tảng lý tưởng để xây dưng một hệ thống mạng toàn cầu thông qua đó. Thật sự thì
mạng chỉ là một nơi mà bất kỳ thứ nào có một URI thì cũng được xem là ở trên mạng.
Khi sử dụng URI, chúng ta có thể dùng cùng một cách đặt tên đơn giản để đề cập đến
các tài nguyên dưới các giao thức khác nhau: HTTP, FPT, GOPHER, EMAIL,
Một dạng thức quen thuộc của URI là URL - Uniform Resource Locator. Một URL là một
địa chỉ cho phép chúng ta thăm một trang Web, như: Nếu
click vào nó, URL sẽ bảo máy tính nơi để tìm thấy .
Mặc dù thường được đề cập đến như URL, nhưng URI cũng được đề cập đến như các
khái niệm trong Semantic Web để chỉ các resource . Ví dụ, chúng ta có một quyển sách với
tiêu đề “Machine Learning”, URI của nó như sau:

URI là nền tảng của Semantic Web. Trong khi mọi thành phần khác của Web gần như có
thể được thay thế nhưng URI thì không. URI liên hệ các thành phần của Web lại với nhau.
Để định danh các thành phần trên Web, chúng ta sử dụng bộ định danh. Bởi vì chúng ta
sử dụng một hệ thống đồng bộ về định danh và cũng bởi vì mỗi thành phần được định
danh được xem như là một tài nguyên, nên chúng ta gọi những bộ định danh này là “Các
Bộ Định Danh Tài Nguyên” hay URIs. Chúng ta có thể gán URI cho bất cứ thứ gì, và bất cứ
thứ gì có URI đều có thể biểu diễn trên Web.
Một nguyên tắc chung để tạo các URI là bắt đầu với một trang Web. Trang mô tả đối tượng
được định danh và giải thích rằng URL của trang là URI cho đối tượng đó.

b. Tầng XML và XML Schema.
XML là một mở rộng của ngôn ngữ đánh dấu cho các các cấu trúc tài liệu bất kỳ, trái với
HTML, là một loại ngôn ngữ đánh dấu chỉ dành cho các loại tài liệu siêu liên kết. Một tài liệu
XML bao gồm một tập các thẻ đóng và thẻ mở được lồng vào nhau, ở đó mỗi một thẻ có
một cặp các thuộc tính và giá trị. Phần cốt yếu của tài liệu XML là bộ từ vựng của các thẻ và
sự kết hợp được cho phép thì không cố định, nhưng có thể được xác định thông qua mỗi
ứng dụng XML.
XML cho phép người dùng thêm cấu trúc tùy ý cho các tài liệu của họ nhưng không đề

cập gì đến ý nghĩa của các cấu trúc. Tên các tag không cung cấp ý nghĩa. Semantic Web chỉ
dùng XML cho mục đích cú pháp.

c. Tầng RDF và RFD Schema.
RDF (Resource Description Framework) là một “bộ khung” được sử dụng để mô tả các
nguồn tài nguyên trên Internet. RDF là một thành phần quan trọng của Semantic Web,
được đặt trên XML, RDF sử dụng cú pháp của XML để biểu diễn thông tin. Ngôn ngữ XML
dùng để biểu diễn thông tin trong RDF được gọi là RDF/XML. Thông qua định dạng này, các
thông tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính cũng như các
hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau.
9

Mô hình cơ bản của RDF gồm ba đối tượng sau:
 Tài nguyên (Resources): là tất cả những gì được mô tả bằng biểu thức RDF.
 Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính chất
của tài nguyên.
 Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau:
 Subject: địa chỉ hay vị trí tài nguyên muốn mô tả.
 Predicate: xác định tính chất của tài nguyên.
 Object: có thể là một giá trị nguyên thủy hoặc cũng có thể là một tài nguyên.
Mỗi một phát biểu (subject, predicate, object) còn gọi là một bộ ba ( triple).
Ví dụ: Xét phát biểu sau:
“Sơn có anh là Minh”
Phát biểu trên được phân ra thành các phần sau:
Subject sơn
Predicate có anh
Object Minh
 Đồ thì RDF
Một tập hợp các RDF Triple được gọi là một đồ thị RDF (RDF Graph).


Hình 1-4-2.c1. Mối quan hệ giữa các thành phần trong triple.

Ví dụ:

Hình 1-4-2.c2. Mô hình bộ ba triple
 Namespace.
Namespace là một tập các tên (name), được định danh bởi các URI, được sử dụng trong
các tài liệu XML như các element type và attribute name.
 Literal.
Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi Bất cứ cái gì
có thể biểu diễn bởi một giá tri Literal cũng có thể được biểu diễn dưới dạng một URI.
 Kiểu dữ liệu có cấu trúc.
10

 RDF Container: RDF sử dụng một số phần tử đặc biệt để xây dựng các danh sách,
gọi là các “bộ chứa” (RDF Container). Ba phần tử chính được dùng để mô tả các
nhóm là rdf:Bag, rdf:Seq và rdf:Alt.
 RDF Collection: RDF collection cho phép khai báo một tập hợp đóng. Cấu trúc của
RDF Collection tương tự như một danh sách, có phần tử đầu (rdf:first), phần tử kế
(rdf:rest)và phần tử cuối(rdf:nil).
RDFS được sử dụng để định nghĩa các nguồn tài nguyên và các lớp. Trong RDF, tất cả
mọi thứ đều được coi là các nguồn tài nguyên, bản thân các lớp cũng là các nguồn tài
nguyên, nhưng bên trong nó cũng có thể là tập hợp các nguồn tài nguyên khác.
RDF/RDFS trước đây được coi là một thành phần cốt yếu để biểu diễn nội dung trong
Semantic Web. Tuy nhiên, chúng không đủ mạnh để mô tả thông tin một cách chi tiết. Cụ
thể hơn, chúng không có các ràng buộc cục bộ giữa domain và range, các ràng buộc tồn
tại, tập hợp, các thuộc tính bắc cầu nghịch đảo, đối xứng… (các thuộc tính liên quan đến
logic), và đặc biệt là chúng không có chuẩn ngữ nghĩa nên khó hỗ trợ cho suy diễn, lập
luận.
d. Tầng Ontology và ngôn ngữ OWL

Ontology cung cấp một bộ từ vựng chung dùng để mô tả một lĩnh vực nghĩa là một loại
đối tượng hay khái niệm hiện hữu, cùng với các thuộc tính và quan hệ giữa chúng và lời đặc
tả cho nghĩa của những từ trong bộ từ vựng.
 Các kiến trúc của Ontology.
Trong môi trường mở như Web, các ontology được phát triển và bảo trì một cách
độc lập trong môi trường phân tán. Do đó hai hệ thống có thể sử dụng hai ontology
khác nhau để mô tả cho hai domain tương tự nhau, vấn đề này được gọi là không
thống nhất ontology. Có ba kiến trúc cơ bản nhằm giải quyết vấn đề này, đó là:
ontology đơn, đa ontology, và ontology phức hợp.
 Vai trò của Ontology.
 Chia sẻ sự hiểu biết chung giữa các ứng dụng và con người.
 Cho phép sử dụng lại tri thức.
 Đưa ra các giả thiết rõ ràng về miền.
 Phân tách tri thức lĩnh vực với tri thức thao tác.
 Phân tích tri thức lĩnh vực. Phân tích hình thức của các khái niệm, cần thiết
cho việc tái sử dụng và mở rộng Ontology.
 Các thành phần của Ontology.
 Các cá thể (Individuals): Các cá thể là các thành phần cơ bản, nền tảng của
một Ontology.
 Các lớp (Classes): các lớp là các nhóm, tập hợp các đối tượng trừu tượng.
Chúng có thể chứa các cá thể, các lớp khác, hay là sự phối hợp của cả hai.
 Các thuộc tính (Properties): các đối tượng trong Ontology có thể được mô
tả thông qua việc khai báo các thuộc tính của chúng. Mỗi một thuộc tính
đều có tên và giá trị của thuộc tính đó. Các thuộc tính được sử dụng để lưu
trữ các thông tin mà đối tượng có thể có.
11

 Các mối quan hệ (Relation): Một mối quan hệ là một thuộc tính có giá trị là
một đối tượng nào đó trong Ontology.
 Ngôn ngữ OWL

OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để mô tả
các hệ cơ sở tri thức. OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ
liệu trên Internet thông qua những mô hình dữ liệu gọi là “Ontology”. OWL biểu diễn ý
nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để
đảm bảo phù hợp với quá trình xử lý bởi các phần mềm.

e. Tầng logic.
Sẽ tốt hơn nếu có hệ hiểu những khái niệm cơ bản (subclass, inverse ), sẽ tốt hơn nếu
chúng ta có thể khai báo các nguyên tắc logic và cho phép máy tính suy diễn (bằng cách suy
luận) bằng cách dùng những nguyên tắc này.
Ví dụ: một công ty quyết định rằng nếu người nào bán hơn 100 sản phẩm, thì họ là
thành viên của Super Salesman Club. Một chương trình thông minh hiện nay có thể hiểu
luật này để tạo một diễn dịch đơn giản “Jonh đã bán 102 sản phẩm, vì thế John là thành
viên của Super Salesman Club”.

f. Tầng Proof.
Tầng proof cũng cần thiết để cung cấp các thông tin cho các agent tự động. Một cách
tự nhiên, chúng ta có thể kiểm tra các kết quả được suy luận bởi các Agent. Tuy nhiên, điều
này đòi hỏi sự dịch thuật các cơ cấu suy luận nội tại của agent thành ngôn ngữ thể hiện
proof thống nhất.














12

Chương 2. Các ngôn ngữ Semantic Web
Ngôn ngữ biểu diễn dữ liệu và tri thức là một khía cạnh quan trọng của Semantic Web. Có nhiều
ngôn ngữ cho Semantic Web, hầu hết những ngôn ngữ này dựa trên XML hay sử dụng XML làm cú
pháp. Một số ngôn ngữ sử dụng RDF và RDFschema.

Hình 2: Các tầng ngôn ngữ trên Web.

2.1 XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng.
XML là một đặc tả cho các tài liệu (document) mà máy tính đọc được. Đánh dấu (Markup) có
nghĩa là các chuỗi ký tự nào đó trong tài liệu có chứa thông tin chỉ ra vai trò nội dung của tài liệu.
Markup mô tả sơ đồ (layout) dữ liệu của tài liệu (document) và cấu trúc logic. Markup làm thông
tin tự mô tả tùy vào cảm nhận. Markup được mô tả dưới dạng các từ trong dấu ngoặc nhọn hay
còn gọi là tag. Ví dụ <name> hay <h1>, về khía cạnh này, XML giống như HTML. Tuy nhiên, tính
mở rộng của ngôn ngữ chỉ ra sự khác biệt quan trọng và cũng là đặc điểm chính của XML. XML
thực sự là một siêu ngôn ngữ mô tả dữ liệu (metalanguage), là một cơ cấu cho phép biểu diễn
các ngôn ngữ khác một cách chuẩn hóa. Nói cách khác XML chỉ cung cấp định dạng dữ liệu cho tài
liệu (document) được cấu trúc, không có đặc tả từ vựng (vocabulary) thực sự. Vì vậy XML phổ
biến toàn cầu, chúng ta có thể tạo những ngôn ngữ đánh dấu (markup) mà chúng tùy ý sử dụng
cho các kiểu tài liệu không giới hạn - đây là chuẩn đang phổ biến. Bên cạnh nhiều ngôn ngữ riêng
biệt, một số ngôn ngữ chuẩn được định nghĩa trong XML (còn gọi là các ứng dụng XML).
Các thực thể (entity) markup chính trong XML là các đơn vị (element). Chúng thông thường
bao gồm một tag mở và một tag đóng. Ví dụ <person> và </person>. Các element có chứa các
element khác hay text. Nếu 1 element không có nội dung, nó có thể được viết ngắn gọn như
<person/>. Các element nên được xếp lồng nhau, tag mở và tag đóng của element con phải nằm
trong tag mở và tag đóng của element cha. Mỗi XML document phải có chính xác một root

element.
XML không ngụ ý giải thích rõ ràng về dữ liệu. Thông qua tên của tag mà ý nghĩa của đoạn
XMtrên trở nên rõ ràng đối với cảm nhận của chúng ta, nhưng nó không được mô tả một cách
hình thức. Chỉ có giải thích hợp lý là mã XML chứa các thực thể (entity), các thực thể con và giá trị
được đặt tên. Mỗi XML document thiết lập một cây có nhãn và thứ tự. Tóm lại chúng vừa là điểm
13

mạnh vừa là điểm yếu của XML. Chúng ta có thể mã hóa bất kỳ kiểu cấu trúc dữ liệu nào theo
một cú pháp không rõ ràng, nhưng XML không đặc tả sử dụng dữ liệu và ngữ nghĩa (semantic)
của chúng. Các nhà phát triển sử dụng XML để trao đổi dữ liệu phải thỏa thuận trước về từ vựng,
cách sử dụng và ý nghĩa.

2.2 DTDs và XML Schema
DTDs - Document Type Definitions (định nghĩa kiểu tài liệu) và XML Schemas (lược đồ XML)
mô tả tên của các element, attribute (thuộc tính) và việc sử dụng các element & attribute trong
document (tài liệu), dù cả hai không đặc tả ý nghĩa của tài liệu.
Các DTD chỉ cung cấp một luật cấu trúc đơn giản, chúng mô tả các element được phép xếp
lồng vào nhau, các giá trị có thể có của element và những nơi text (văn bản) được phép. Ví dụ
một DTD có thể ra luật mỗi element (đơn vị) Person phải có một attribute (thuộc tính) name và
có thể có một element con được gọi là phone, những nội dung của chúng phải là dạng text (văn
bản). Cú pháp của DTD trông khá bất tiện, nhưng nó thực sự rất đơn giản.
Các XML Schema là bản nâng cấp của DTD. XML Schema có nhiều thuận lợi hơn DTD. Trước
tiên, cơ cấu XML Schema cung cấp ngữ pháp phong phú cho việc mô tả cấu trúc các element. Ví
dụ, chúng ta có thể đặc tả chính xác các thể hiện của element con, chúng ta có thể đặc tả giá trị
mặc định và đặt các element vào trong một nhóm được lựa chọn, điều này có nghĩa là một trong
các element của nhóm được phép ở tại một nơi cụ thể. Kế đến XML Schema cung cấp kiểu dữ
liệu.
Sự khác biệt cuối cùng đối với DTD là các luật XML Schema dùng XML như cú pháp mã hóa,
làm đơn giản hóa các công cụ phát triển vì cả luật cấu trúc (Structure Prescription) và đặc tả tài
liệu (prescribed documents) sử dụng cùng cú pháp. Các nhà phát triển đặc tả XML Schema tìm

thấy điểm này bằng cách sử dụng một tài liệu XML Schema để định nghĩa lớp (class) của các XML
Schema document. Sau cùng, vì một XML Schema rescription (luật) là một ứng dụng XML, nó phải
tuân theo các luật cho cấu trúc của nó, mà các luật này được định nghĩa bởi một XML Schema
prescription. Tuy nhiên, cách định nghĩa đệ qui này khá rối.

2.3 RDF - Biểu diễn dữ liệu về dữ liệu.
XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó về dữ liệu. Như
tên gọi , RDF là một mô hình để biểu diễn dữ liệu về "Mọi thứ trên Web". Mọi thứ ở đây chính là
các tài nguyên trong RDF vocubulary (từ vựng). Mô hình dữ liệu cơ sở của RDF thì đơn giản, bên
cạnh tài nguyên (resources), RDF còn chứa thuộc tính (properties) và câu phát biểu (statements).
Một property là một khía cạnh, tính chất, thuộc tính, hay mối liên hệ mô tả cho một tài nguyên.
Một statement bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc
tính cho tài nguyên đó. Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị mang tính
nghĩa đen (literal value) hay dạng text tùy ý (free text).

2.4 RDF Schema - Định nghĩa RDF vocabulary.
Cơ bản, RDF Schema là một hệ thống kiểu đơn giản cho RDF. Nó cung cấp một cơ cấu để xác
định các thuộc tính có miền giá trị cụ thể và các lớp tài nguyên để chúng ta áp dụng cho những
thuộc tính này.
14

Mô hình cơ bản ban đầu trong RDF Schema là các định nghĩa lớp và lớp con (class & subclass),
thuộc tính và thuộc tính con (property & subproperty), domain và range của các statement - để
giới hạn các kết hợp có thể có giữa các lớp và thuộc tính, và các trình bày kiểu (để khai báo một
tài nguyên như một thực thể của một lớp cụ thể). Ban đầu, chúng ta có thể xây dựng một lược đồ
(schema) cho một miền giá trị cụ thể.
RDF Schema khá đơn giản so với các ngôn ngữ biểu diễn tri thức khác. RDF Schema cũng
không cung cấp chính xác ngữ nghĩa (semantic). Tuy nhiên, sự bỏ sót này một phần là do có chủ
ý. W3C thấy trước và chủ trương mở rộng xa hơn đối với RDF Schema.
Do đặc tả RDF Schema cũng là một kiểu metadata, chúng ta có thể dùng RDF để mã hóa

chúng. Điều này chính xác với những gì thể hiện trong đặc tả RDF Schema document. Hơn thế
nữa, đặc tả cung cấp một RDF Schema document để xác định các thuộc tính và các lớp được mô
tả.
2.5 DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer)
DAML+OIL là ngôn ngữ đánh dấu ngữ nghĩa cho tài nguyên Web, được xây dựng dựa trên các
chuẩn của W3C như RDF, RDF Schema, và mở rộng những ngôn ngữ này với các mô hình nguyên
thủy phong phú hơn.
DAML+OIL cung cấp các mô hình nguyên thủy (primitive) thông thường được tìm thấy trong
các hệ thống dựa trên frame (Frame là hệ thống biểu diễn tri thức được giới thiệu bởi Marvin
Minsky, được sử dụng làm phương tiện chính nhằm biểu diễn vùng tri thức (domain knowlegde),
là một cấu trúc để biểu diễn một khái niệm hay tình huống. Gắn liền với frame là vài kiểu thông
tin như thông tin định nghĩa, thông tin mô tả và cách sử dụng frame).
DAML+OIL có kế thừa giá trị từ các kiểu dữ liệu XML Schema, có ngữ nghĩa trong sáng và
được định nghĩa tốt.
DAML+OIL kế thừa RDF và RDFS bằng cách thêm nhiều sự hỗ trợ cho kiểu dữ liệu và ngữ
nghĩa. Những thúc đẩy này có thể thấy thông qua việc bổ sung nhiều thuộc tính và class.
Property (Thuộc tính): DAML thêm một “thuộc tính kiểu dữ liệu” nguyên nhằm giới hạn các
kiểu dữ liệu được định nghĩa trong XML Schema hay các kiểu dữ liệu người dùng định nghĩa, ví
dụ: float number, integer, . Trong DAML, một thuộc tính có thể có nhiều range, điều này mang
lại sự uyển chuỵển cao. Hơn thế nữa, DAML cho phép khai báo một thuộc tính unique, ví dụ, có
hai thực thể với cùng giá trị. Đây là một hàm của một “daml:UniqueProperty” nguyên .Chúng ta
cũng khai báo mối liên hệ giữa 2 thuộc tính mà chúng tương đương bởi vừ
“daml:samePropertyAs” hay “daml:equivalentTo”.








15































Thương mại điện tử
Tìm hiểu về công nghệ
Web Service
16

Mở đầu
Ngày nay cùng với sự phát triển mạnh mẽ của môi trường Internet, các ứng dụng
triển khai trên nền Web ngày càng được phát triển rộng rãi và phong phú. Trong nền
kinh tế thị trường hiện nay, chuyển đổi dữ liệu, thông tin đang là một nhu cầu thiết yếu
cho sự phát triển và tồn tại của các doanh nghiệp. Web Service được coi là một công
nghệ mang đến cuộc cách mạng trong cách thức hoạt động của các dịch vụ B2B
(Business to Business) và B2C (Business to Customer). Giá trị cơ bản của Web Service
dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy nhập đối với hệ
thống đóng gói và hệ thống kế thừa. Web Service ra đời đã mở ra một hướng mới cho
việc phát triển các ứng dụng trên Internet giải quyết vấn đề chuyển đổi dữ liệu trong
quy trình thương mại của các doanh nghiệp. Web Service kết hợp sử dụng nhiều công
nghệ khác nhau cho phép các ứng dụng được viết bằng các ngôn ngữ khác nhau, chạy
trên các nền tảng khác nhau có chuyển đổi dữ liệu thông qua môi trường mạng Internet.
Các công nghệ mà web Service sử dụng như XML, SOAP,WSDL,UDDI.


















17

Chương 1. Giới thiệu về ứng dụng phân tán
Công nghệ Web Service đã thay đổi diện mạo và cách thức hoạt động của Ứng dụng phân tán
cũng như giải quyết khó khăn của ứng ụng phân tán trước đây là vấn đề với Firewall và Proxy
Server. Chúng ta sẽ tìm hiểu khái quát ứng dụng phân tán để hiểu hơn về web service.
1.1 Giới thiệu về ứng dụng phân tán.
1.1.1 Khái niệm hệ phân tán.
- Hệ phân tán là một hệ thống các thành phần (máy tính) xử lý phân tán và giao tiếp
nhau qua một cơ sở hạ tầng truyền thông chung.
- Phân loại Hệ phân tán bao gồm:
 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.
- Mục tiêu của hệ phân tán:
 Giảm rủi ro và chi phí phát triển:
+ Chi phí phát triển những hệ thống xử lý lớn là rất tốn kém và có thể vượt
quá khả năng của nhiều tổ chức.
+ Việc tập trung tất cả thông tin tại một nơi là nguy cơ tiềm tàng về mất mát
dữ liệu khi có sự cố xảy ra.
 Sở hữu thông tin: Thông tin có thể ở nhiều dạng, nhiều nguồn, và thuộc sở hữu
của nhiều tổ chức khác nhau. Việc gom hết tất cả thông tin về một nơi là bất khả
thi. Do đó việc phân tán thông tin là cần thiết.
 Độ an toàn: Đối với những dữ liệu quan trọng và nhạy cảm. nhu cầu bảo mật

thông tin được đưa lên hàng đầu. đồng thời dữ liệu phải được truy xuất dễ
dàng. Bởi vậy, việc dữ liệu được chia nhỏ thành nhiều phần và phân tán nhiều
nơi đáp ứng vấn đề bảo mật và truy xuất dễ dàng.
- Đặc trưng cơ bản của hệ phân tán:
 Kết nối người sử dụng vào chia sẻ tài nguyên: giải quyết bài toán chia sẻ tài
nguyên trong hệ thống.
 Tính trong suốt: ẩn dấu sự rời rạc và nhược điểm nếu có của hệ thống với người
sử dụng và nhà lập trình ứng dụng.
 Tính nhất quán: Hệ phân tán cho phép chạy những ứng dụng khác nhau trên
nhiều máy khác nhau thành một hệ thống duy nhất.
 Tính mở: hệ phân tán nhằm cung cấp các dịch vụ theo quy tắc chuẩn mô tả cú
pháp và ngữ nghĩa.
 Tính uyển chuyển: Khả năng thay đổi tùy theo quy mô hệ thống cao.
 Tính chịu lỗi.






18

1.1.2 Mô hình hệ thống phân tán.

Hình 1-1-2. Mô hình ứng dụng phân tán.

1.1.3 Các vấn đề nảy sinh trong hệ thống phân tán
- Các hệ điều hành khác nhau sẽ hỗ trợ những kiểu dữ liệu khác nhau. Đôi khi các kiểu
dữ liệu không tương thích 100% trên các nền tảng hệ điều hành khác nhau. Khi phát
triển ứng dụng phân tán chúng ta cần chú ý đến việc hòa hợp dữ liệu trên các môi

trường.
- Các thành phần của một ứng dụng phân tán thường ở nhiều nơi khác nhau trên
mạng do đó khả năng phát sinh lỗi cao hơn bình thường.
- Nếu server lưu trạng thái của client, khi client bị ngừng đột ngột, hệ thống cần có
biện pháp thông báo cho server và thu hồi tài nguyên bị chiếm giữ cũng như dữ liệu
đang gửi đi.
- Dữ liệu hệ phân tán thường được gửi qua lại nhiều node trên mạng, do đo bảo mật
là vấn đề quan trọng cần giải quyết.
- Vấn đề đồng bộ thời gian của client và server cũng rất quan trọng.

1.2 Các hệ thống phân tán.
1.2.1 RMI (Remote Mothod Invocation).
- Được Sun đưa ra.
- Là một cơ chế cho phép một đối tượng đang chạy trên máy ảo java này triệu gọi các
phương thức tồn tại trên máy ảo java khác.
- Cơ chế hoạt động: Thiết lập kết nối Client – Server:
 Server: cung cấp dịch vụ RMI.
 Client: triệu gọi các phương thức trên đối tượng của dịch vụ do server cung cấp
- Được tích hợp sẵn trong java.


19

1.2.2 DCOM (Distribited Component Object Model).
- Được Microsoft đưa ra.
- Hoạt động dựa trên giao thức TCP-IP, thông qua việc gửi thông tin dưới dạng nhị
phân (binary).
- Giao tiếp thông qua việc thiết lập Client-Server

1.2.3 CORBA (Common Object Request Broker Architecture)

- Được OMG (Object Management Group) đưa ra nhằm tạo nên một hệ phân tán
vượt qua nhiều vấn đề về tính tương kết (interoperabiity) với việc tích hợp các ứng
dụng mạng.
- CORBA là một hệ phân tán mở, độc lập nền tảng và độc lập ngôn ngữ.

 Hạn chế các hệ thống phân tán trên.
- Firewalls: các hệ thống trên khi hoạt động ở những mạng được che chắn bởi
firewall đều phải được sự cho phép của những người quản trị firewall để
được ra ngoài. Đây là một lỗ hổng bảo mật tiềm tàng và khó chấp nhận bởi
nhiều tổ chức.
- Sự phối hợp các giao thức: các mô hình trên đều có đặc điểm và dựa trên các
giao thức tầng dưới khác nhau. Việc xây dựng chương trình chuyển đổi qua
lại giữa các tầng với nhau dẫn đến việc mất mát thông tin và các tầng khác
nhau có thể không thể cùng làm việc được với nhau.





















20

Chương 2. Web Service.
2.1 Giới thiệu về Web Service.
2.1.1 Khái niệm Web Service.
Theo định nghĩa của W3C (World Wide Web Consortium), Web Service là một hệ thống
phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính
khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả bằng
XML.
Web Service là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các
chức năng và đưa ra các thông tin người dùng yêu cầu. Một dịch vụ Web được tạo nên
bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn
thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông
tin từ dịch vụ Web khác. Nó bao gồm các mô đun độc lập cho hoạt động của khách hàng và
doanh nghiệp và bản thân nó được thực thi trên server.
Web Service mô tả một cách thức chuẩn để tích hợp các ứng dụng dựa trên nền tảng
Web, sử dụng các chuẩn mở XML (Extensible Markup Language), SOAP (Simple Object
Access Protocol), WSDL (Web Services Description Language) và UDDI (Universal
Description Discovery and Integration) thông qua giao thức Internet.


Hình 2-1-1. Mô hình ứng dụng của Web Service.



2.1.2 Hoạt động của Web Serivce

Một ứng dụng web Service bao gồm 2 phần: Client và Server giao tiếp với nhau qua giao
thức HTTP.
21

- Client gửi yêu cầu qua các lời gọi hàm thông qua HTTP Request đến Server.
- Server gửi các kết quả được thực thi các ở các hàm thông qua HTTP Response.
Mô hình hoạt động của ứng dụng Web Service gồm 3 thành phần chính:
- UDDI register: Công cụ giúp nhà phát triển Web Service công bố những thông tin về
Web Service của mình cho cộng đồng các nhà phát triển ứng dụng. Người dùng sẽ
dựa vào các thông tin này để sử dụng Web Service trong ứng dụng riêng của mình
tạo thành một hệ phân tán.
- Web Service: chứa các giao thức SOAP định dạnh dữ liệu, tài liệu WSDL định nghĩa
các hàm trong Web Service, SML để xây dựng ứng dụng phân tán.
- Application Client: sử dụng Web Service xây dựng ứng dụng riêng cho mình.
Cách thức hoạt động của ứng dụng Web Service có thể được mô tả như sau:












Hình 2-1-2. Mô hình hoạt động của Web Service
Đầu tiên Application Client cần truy vấn đến các mẫu tin UDDI theo một thông tin nào
đó (ví dụ: tên, loại,…) để xác định Web Service cần tim. Khi đã xác định được Web Service

cần cho ứng dụng, Client có thể lấy thông tin về địa chỉ của tài liệu WSDL của Web Service
này dựa trên mẫu tin UDDI. Tài liệu UUDI sẽ mô tả cách thức liên lạc với Web Service, định
dạng của gói tin truy vẫn và phản hồi. Dựa vào những thông tin này Client có thể tạo các gói
SOAP tương ứng để liên lạc với Server.
2.2 Đặc điểm của Web Service.
2.2.1 Đặc điểm.
- Web Service cho phép Client và Server tương tác được với nhau ngay cả trong
những môi trường khác nhau.
Application
SOAP Client
SOAP processor
WSDL
Discrete
business
logic
UDDI registry
Web Service
HTTP request
HTTP response
22

- Web Service liên lạc với thế giới bên ngoài dùng thông điệp XML gửi trực tiếp qua
Web protocols
- Một Web Service bao gồm có nhiều mô-đun và có thể công bố lên mạng Internet.
- Một ứng dụng Web Service khi được triển khai sẽ hoạt động theo mô hình client-
server. Nó có thể được triển khai bởi một phần mềm ứng dụng phía server ví dụ như
J2EE, Microsoft.Net…
2.2.2 Ưu và nhược điểm của Web Service
a) Ưu điểm.
- Khả năng vượt firewall: Web Service hoạt động trên nên HTTP nên sử dụng port 80,

là port mà firewall cho phép
- Hoạt động trên đa môi trường: Web Service dựa trên công nghệ XML được hỗ trợ
bởi tất cả các hệ điều hành kể cả môi trường di động.
- Tính linh hoạt, dễ chuyển đổi: Web Service chỉ bao gồm các hàm nên việc thay đổi
dễ dàng và giảm chi phí đường truyền do truyền dữ liệu không kèm định dạng
HTML.
- Web Service cung cấp khả năng hoạt động rộng lớn với các ứng dụng phần mềm
khác nhau chạy trên những nền tảng khác nhau.
- Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa trên văn
bản (text), giúp các lập trình viên dễ dàng hiểu được.
- Nâng cao khả năng tái sử dụng.
- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến
trình/chức năng nghiệp vụ đóng gói trong giao diện Web Service.
- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ
thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động,
phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp
khác.
b) Nhược điểm.
- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web Service, giao diện
không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao
thức cho việc vận hành.
- Có quá nhiều chuẩn cho Web Service khiến người dùng khó nắm bắt.
- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật của Web Service.
2.3 Các thành phần của Web Service.
Web Service được các thành phần cấu thành nên : XML, SOAP, WSDL.
2.3.1 XML ( eXtensible Markup Language).
Web Service là sự kết hợp của nhiều thành phần khác nhau và dùng các đặc trưng của
các thành phần này để giao tiếp với nhau. Để giải quyết vấn đề giao tiếp các thành phần,
web service sử dụng XML là thành phần chính để giao tiếp giữa các thành phần với nhau

và là kiến trúc nền tảng để xây dựng web service.
a) Khái niệm XML.
- Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu.
- Là một ngôn ngữ mô tả văn bản với cấu trúc do người dùng định nghĩa.

23

b) Đặc điểm
- XML là một ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng và platform.
- Cho phép các máy tính truyền cấu trúc dữ liệu giữa hệ thống không đồng nhất.
- Về hình thức: XML có cấu trúc giống HTML nhưng không tuân theo một đặc tả quy
ước như HTML. HTML định nghĩa các thành phần được hiển thị như thế nào, còn
XML lại định nghĩa các thành phần chứa cái gì.
- Các thẻ XML không được định nghĩa trước mà do người lập trình tự định nghĩa
c) Cấu trúc XML
Một tài liệu XML bao gồm 2 phần:
- Cấu trúc logic: định nghĩa các phần tử, các thuộc tính, các kiểu dữ liệu…
- Cấu trúc vật lý: chứa dữ liệu và các phần tử chứa dữ liệu như text, image, media…
d) Ví dụ về XML.
<?xml version=”1.0” encoding=”UTF-8” ?>
<Employer>
<name>trần văn an</name>
<old>25</old>
</Employer>
2.3.2 WSDL ( Web Service Desctiption Language)
a) Khái niệm
- WSDL là một ngôn ngữ dựa trên XML để định nghĩa Web Service.
- WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML bao gồm các
thông tin:
+ Tên service.

+ Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web service.
+ Loại thông tin bao gồm thao tác, tham số, những kiểu dữ liệu.
b) Thành phần
Một WSDL bao gồm 2 thành phần chính:
- Phần giao diện: mô tả giao diện và giao thức kết nối.
- Phần thi hành: mô tả thông tin để truy xuất web service
c) Cấu trúc của WSDL














Service
implementation
Service interface
import
Service
Port
import
types
messages

PortTypes
binding
24

- WSDL định nghĩa các phần tử cơ bản như sau:
+ Phần tử types: định nghĩa kiểu dữ liệu cơ bản cho thông điệp trao đổi giữa
Client- Server.
<definitions targetNamespace=”…” name=”…”>
<type>
<xsd:schema>
</type>
</definitions>
+ Phần tử Message: định nghĩa thông điệp được gửi đi và hồi đáp. Mỗi thông điệp
có thể bao gồm một hoặc nhiều phần. <wsdl:message name=”…”>
<wsdl:documentation…/>?
<part name=”…” element=”…”? type=”…”?/>
<wsdl:message>
+ Phần tử portTypes: định nghĩa cách mà thông điệp được gửi và nhận như thế
nào.
<wsdl:definitions…>
<wsdl:portType name=”…”>
<wsdl:operation name=”…” …/>*
</wsdl:portType>
</wsdl:definitions>
+ Phần tử binding: Định nghĩa cách thức truy cập web Service thông qua các giao
thức bên dưới. Mỗi phần tử binding sẽ mô tả cách thức liên kết một portType
vào 1 protocol nhất định. Web Service hỗ trợ bao nhiêu protocol thì phải xây
dựng bấy nhiêu phần tử binding.
<binding name=”…” type=”…”>
<soap:binding transport= type=”…”/>

<operation name=”…”>
<soap:operation soapAction=””/>
<input>
<soap:body use=”literal”/>
</input>
<ouput>
<soap:body use=””literal”/>
</ouput>
</operation>
</binding>
2.3.3 SOAP (Simple Object Access Protocol)
a) Khái niệm.
- SOAP là giao thức được dùng để truyền dữ liệu qua Internet trong môi trường phân
tán.
- SOAP có thể được sử dụng cùng các giao thức khác như HTTP/HTTPS, FTP,…
b) Đặc trưng của SOAP.
- SOAP được thiết kế đơn giản và dễ mở rộng.
- Tất cả các message SOAP đều được mã hóa sử dụng XML.

×