Thứ Bảy, 15 tháng 3, 2014

Sánh lược đồ cho khám phá dịch vụ WEB


LINK DOWNLOAD MIỄN PHÍ TÀI LIỆU "Sánh lược đồ cho khám phá dịch vụ WEB": http://123doc.vn/document/1040849-sanh-luoc-do-cho-kham-pha-dich-vu-web.htm


3

CHƯƠNG 1: DỊCH VỤ WEB VÀ KHÁM PHÁ DỊCH VỤ WEB


1.1 Dịch vụ web
Một kiến trúc của dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple
Object Access Protocol), WSDL (Web Service Description Language) và
UDDI (Universal Description, Discovery, and Integration). Giao tác UDDI sử
dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu
cầu một dịch vụ Web. Các thông điệp SOAP được gửi đi chính xác bởi HTTP
và TCP/IP.
1.1.1 Các thành phần của dịch vụ web: XML, WSDL, UDDI, SOAP
1.1.1.1 Thành phần XML (eXtensible Markup Language)
Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử
dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu
B2B. Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML
nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại
định nghĩa những thành phần đó chứa cái gì. Với XML, các thẻ có thể được lập
trình viên tự tạo ra trên mỗi trang web và được chọn là định dạng thông điệp
chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở.
Mỗi tài liệu XML bao gồm một prolog, một số các phần tử (element) và một
epilog (tùy chọn).
Prolog bao gồm một khai báo XML và các tham chiếu đến các tài liệu
bên ngoài.
Các phần tử XML có thể có một số thuộc tính giống như HTML. Các
thuộc tính cung cấp thêm thông tin về một phần tử, thông tin này không phải là
một phần dữ liệu. Một thuộc tính là một cặp tên – giá trị bên trong thẻ mở của
phần tử:
4

1.1.1.2 Thành phần WSDL (Web Service Description Language)
WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của
XML, bao gồm các thông tin:
+ Tên dịch vụ
+ Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ
Web
+ Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao
diện của dịch vụ Web cộng với tên cho giao diện này).
1.1.1.3 Thành phần UDDI (Universal Description, Discovery, and Integration)
Cấu trúc UDDI :
Trang trắng - White pages: chứa thông tin liên hệ và các định dạng chính
yếu của dịch vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng…
Những thông tin này cho phép các đối tượng khác xác định được dịch vụ.
Trang vàng - Yellow pages: chứa thông tin mô tả dịch vụ Web theo những
loại khác nhau. Những thông tin này cho phép các đối tượng thấy được dịch vụ
Web theo từng loại với nó.
Trang xanh - Green pages: chứa thông tin kỹ thuật mô tả các hành vi và
các chức năng của dịch vụ Web.
Loại dịch vụ - tModel: chứa các thông tin về loại dịch vụ được sử dụng.
1.1.1.4 Thành phần SOAP (Simple Object Access Protocol)
Cấu trúc một thông điệp theo dạng SOAP
Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao
gồm các phần tử sau:
Phần tử gốc - envelop: phần tử bao trùm nội dung thông điệp, khai báo
văn bản XML như là một thông điệp SOAP.
Phần tử đầu trang – header: chứa các thông tin tiêu đề cho trang, phần tử
này không bắt buộc khai báo trong văn bản. Header còn có thể mang những dữ
5

liệu chứng thực, những chứ ký số, thông tin mã hóa hay cài đặt cho các giao
dịch khác.
Phần tử khai báo nội dung chính trong thông điệp – body: chứa các thông
tin yêu cầu và thông tin được phản hồi.
Phần tử đưa ra các thông tin về lỗi – fault: cung cấp thông tin lỗi xảy ra
trong qúa trình xử lý thông điệp.
1.2 Khám phá dịch vụ web
Để có thể thành công với dịch vụ Web cần phải quan tâm đến khá nhiều
vấn đề, bao gồm việc triển khai, giám sát và tích hợp hệ thống.
Giám sát (monitoring)
Xác định đường đi dữ liệu (Data routing)
Triển khai (Deployment)
Quản lý (Management)
Cấu hình và quản lý phiên bản (Configuration and version management)
Bảo mật (Security)
Các phương pháp khám phá dịch vụ web
Việc tìm kiếm các thao tác dịch vụ web tương tự là kết nối lỏng lẻo được
liên quan tới ba vấn đề sánh khác: sánh tài liệu văn bản, sánh lược đồ, sánh các
thành phần phần mềm.
Sánh tài liệu văn bản: Việc sánh và phân loại các tài liệu là một vấn đề
lớn trong việc trích rút thông tin.
Sánh lược đồ: Cơ sở dữ liệu chung được xem xét đối với vấn đề tự động
hóa của việc sánh các lược đồ [17].
Sánh các thành phần phần mềm: Việc sánh các thành phần phần mềm
được xem như là việc quan trọng đối với việc tái sử dụng phần mềm [9].
1.3 Kết luận chương
Dịch vụ Web hiện tại đang được tích hợp với nhiều hệ thống ứng dụng
trong tất cả các lĩnh vực bởi khả năng phát triển và giảm độ phức tạp của hệ
6

thống, đặc biệt là đối với các dịch vụ B2B. Với dịch vụ Web, các doanh nghiệp,
khách hàng và cả đối tác kinh doanh có thể dễ dàng hoạt động và gắn kết với
nhau. Việc xây dựng một dịch vụ Web cần phải quan tâm đến nhiều yếu tố:
kiến trúc, chức năng và các tiến trình nghiệp vụ của hệ thống, ngôn ngữ sử
dụng… Do đó, với một dịch vụ Web, việc giao tiếp và truyền nhận dữ liệu trở
nên dễ dàng và hiệu quả hơn, đồng thời đem lại chi phí thấp hơn và tăng cường
những khả năng giao tiếp thời gian thực, kết nối với mọi người trên khắp thế
giới. Bản chất của nền tảng công nghệ này là kiến trúc hướng dịch vụ và sự
phát triển của dịch vụ Web có tương lai rất khả quan.

















7

CHƯƠNG 2: KỸ THUẬT SÁNH LƯỢC ĐỒ CHO KHÁM PHÁ DỊCH VỤ
WEB

2.1 Khảo sát đặc trưng của các dịch vụ web
Có 4 giai đoạn chính để xây dựng một dịch vụ Web là xây dựng, triển
khai, tiến hành và quản lý.
Giai đoạn xây dựng: bao gồm phát triển và chạy thử ứng dụng dịch vụ
Web, xây dựng các chức năng và định nghĩa dịch vụ.
Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và
triển khai mã thực thi của dịch vụ Web.
Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những
người dùng muốn sử dụng dịch vụ.
Quản lý: quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập
nhật thông tin mới, sửa lỗi khi nó xảy ra.
Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:
a. Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung
cấp (sử dụng ngôn ngữ Java chẳng hạn).
b. Tạo WSDL cho dịch vụ
c. Xây dựng SOAP server
d. Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm
thấy và truy xuất.
e. Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết
nối với SOAP server
f. Xây dựng ứng dụng phía client (như sử dụng Java) và sau đó gọi thực
hiện dịch vụ thông qua việc kết nối tới SOAP server.
Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ, bắt đầu tạo
nên một dịch vụ Web và cung cấp dịch vụ trên Internet.
8

2.2 Kỹ thuật sánh lược đồ
Các phương thức sánh lược đồ đã được đề xuất ở [20]. Phương thức đầu
tiên là sự nỗ lực để xác định sự tương tự ngữ nghĩa giữa các yếu tố của hai lược
đồ. Bởi vậy công việc khảo sát cần bắt đầu với các kỹ thuật tương tự ngữ nghĩa
mà nó đã được sử dụng để sánh giữa hai lược đồ.
2.2.1 Định nghĩa kỹ thuật sánh lược đồ
Kỹ thuật sánh lược đồ có thể được hình thức hóa như sau: “Cho hai lược
đồ, S
1
và S
2
, tìm kiếm các thành phần tốt nhất giữa lược đồ S
1
và lược đồ S
2
.
Việc khám phá tất cả các thông tin sẵn có trong các lược đồ, các nguồn thể
hiện dữ liệu và các nguồn từ vựng”.
2.2.2 Biểu đồ truyền thống
Sánh lược đồ truyền thống được xây dựng dựa trên ý tưởng mà có hai
lược đồ cần phải sánh với nhau. Khi số lượng lớn hơn 2 thì việc sánh được thực
hiện trong mỗi cặp với nhau. Vấn đề chính trong sánh lược đồ truyền thống cho
phép độ tương tự tương ứng giữa các thành phần trong hai lược đồ input
Định nghĩa 1: Một ánh xạ là một tập của các ánh xạ thành phần, mỗi
trong số chúng chỉ định các thành phần cụ thể của bất kỳ lược đồ input tương
ứng. Công thức xây dựng như sau: cho hai lược đồ S
1
và S
2
một ánh xạ được
viết như sau


1 2
, , ,
T k
M M M M
 , trong đó M
i
đại diện cho một ánh xạ như một
biến nhị phân. Ví dụ:
1 2
i i
G G

, sao cho
1
1
i
G S

,
2
2
i
G S


1
j
i
G

.
2.2.3 Biểu đồ Holistic
Việc sánh lược đồ là việc khám phá ngữ nghĩa tương ứng giữa các thuộc
tính trong các lược đồ khác nhau dựa trên nền tảng của việc tìm kiếm và trao
đổi dữ liệu thông qua các nguồn thông tin.
Cách tiếp cận Holistic tạo ra một lược đồ trong thực tế. Việc xây dựng
này dựa trên “nội dung ngang hàng với nhau” giữa các lược đồ. Dựa trên nội
dung thông tin, việc sánh Holistic sẽ có nhiều lợi ích chẳng hạn như độ chính
9

xác sẽ tỷ lệ với số nguồn thông tin đầu vào. Như ví dụ trong cách tiếp cận MGS
và DCM, cả hai đều là phương pháp thống kê mà lợi ích thu được từ các quan
sát với cách tiếp cận Holistic việc sánh lược đồ đại diện cho hai phương pháp.
2.2.4 Kiến trúc hệ thống sánh
Do việc phổ biến rộng rãi của việc sánh lược đồ đưa đến sự hình dung giải
pháp chung, phù hợp đối với các ngôn ngữ lược đồ khác nhau và các miền ứng
dụng chẳng hạn như một giải pháp có tiềm năng cao được phát triển, do đó việc
trích rút các yêu cầu để phát triển một vài giải pháp đặc biệt để đạt được mục tiêu
này cần một sự linh hoạt vào tùy chỉnh trong kiến trúc. Trong đó có thể dễ dàng
hơn trong việc mở rộng để hỗ trợ ngôn ngữ lược đồ mới, hoặc miền ứng dụng.
2.2.5 Phân loại các cách tiếp cận sánh
Cách tiếp cận sánh được chia làm bốn giai đoạn sánh:cây với cây (giữa
các tập hợp của các nút automic của hai lược đồ cây), các bộ phận với các bộ
phận, giữa tập hợp của các nút trên các bộ phận của hai nút automic, nút tới nút
giữa tập hợp của các từ trong các nhãn của hai nút giữa các từ với các từ (giữa
các từ kép của hai từ).
Bao gồm các giải thuật sánh sau:
o Giải thuật sánh với trọng số lớn nhất
o Giải thuật sánh với trọng số cực đại có thứ tự
o Giải thuật sánh lược đồ tổng thể
2.3 Kỹ thuật sánh lược đồ cho khám phá dịch vụ web
2.3.1 Giới thiệu về tìm kiếm dịch vụ web
Việc tìm kiếm các thao tác dịch vụ web tương tự là kết nối lỏng lẻo được
liên quan tới ba vấn đề sánh sau: sánh tài liệu văn bản, sánh lược đồ, sánh các
thành phần phần mềm
o Sánh tài liệu văn bản: việc sánh và phân loại các tài liệu là một vấn đề
lớn trong việc trích rút thông tin.
10

o Sánh lược đồ: Là cơ sở dữ liệu chung được xem xét đối với vấn đề tự
động hóa của việc sánh các lược đồ [12,13], thông qua đó nó xác định ngữ
nghĩa của các lược đồ và đề xuất các thao tác sánh dựa trên chúng.
o Sánh các thành phần phần mềm: việc sánh các thành phần phần mềm
được xem như là việc quan trọng đối với việc tái sử dụng phần mềm [9].
2.3.2 Thao tác sánh dịch vụ web
2.3.2.1 Mô hình hóa bằng lược đồ cây
Dựa trên hai định nghĩa:
Định nghĩa 1: một dịch vụ Web là bộ ba ws = (TpSet, MsgSet, OpSet),
trong đó TpSet là một tập các kiểu dữ liệu; MsgSet là một tập các bản tin biến
đổi thành kiểu dữ liệu định nghĩa trong TpSet; OpSet = {op
I
(input
i
,output
i
) | i =
1,2,…,n} là một tập các thao tác, trong đó input
i
và output
i
là các tham số
(thông điệp) cho việc trao đổi dữ liệu giữa các thao tác dịch vụ Web.
Định nghĩa 2: Mỗi thao tác dịch vụ Web là một hàm MIMO (multi-input-
multi-output – nhiều dữ liệu vào và nhiều dữ liệu ra) có dạng
1 2 1 2
: , , , , ,
i j
f s s s t t t
 trong đó
i
s

j
t
là kiểu dữ liệu tương ứng với đặc tả trong
lược đồ XML. Gọi
f
là một phụ thuộc và
/
i j
s t
là một thuộc tính phụ thuộc.
2.3.2.2 Hiệu chỉnh khoảng cách cây
Bao gồm các thao tác hiệu chỉnh cơ bản như sau:
- Thay đổi: Để thay đổi nhãn của một nút thành nút khác
- Xóa: Để xóa một nút (tất cả các nút con của nút được xóa b trở thành
các nút con của nút cha a)
- Chèn: Để chèn một nút ( Một chuỗi tuần tự liên tiếp giữa các nút con,
anh, chị, em của nút a trở thành nút con của nút b)
Một số ràng buộc  để nó là một khoảng cách metric đó là:
(i) (a b)

0; (aa) = 0
(ii) (a b)= (ba); và
11

(iii) (a c) ≤ (ab) + (bc).
Việc mở rộng  đối với chuỗi S như sau
1
( ) ( )
i S
i
i
S S
 




. Công thức
khoảng cách giữa
1
T


2
T

được xác định như sau:

1 2
( , ) min ( ) |
T T S S
 
 là một
chuỗi thao tác hiệu chỉnh
1
T

thành
2
T

.
Việc định nghĩa  tạo ra

cũng là một khoảng cách metric.
Ánh xạ
Cho
1
T


2
T
là hai cây với N
1
và N
2
là các nút tương ứng, việc đánh thứ tự
đối với mỗi cây T[20] có nghĩa rằng nút thứ i của cây T trong thứ tự được đưa
ra. Các thao tác hiệu chỉnh đưa ra một ánh xạ là một đồ thị đặc biệt của những
gì mà các thao tác hiệu chỉnh được áp dụng đối với mỗi nút trong hai cây.
Việc định nghĩa một bộ (M,
1
T
,
2
T
) là một ánh xạ từ
1
T

đến
2
T

trong đó M
là bất kỳ một tập hợp nào đó của một cặp các số nguyên (i,j) thỏa mãn:
(1) 1≤ i ≤ N
1,
1≤ j ≤ N
2
;
(2) Đối với một cặp bất kỳ (i
1
, j
1
) và (i
2
, j
2
) trong M. Nếu:
(a) i
1
= i
2
nếu và chỉ nếu j
1
=j
2

(b)


1 1
T i
là cây bên trái của cây


1 2
T i
nếu và chỉ nếu


2 1
T j
là cây bên trái
của cây


2 2
T j
(thứ tự các nút anh, chị, em được bảo toàn ).
(c)


1 1
T i
là một cây cha của cây


1 2
T i
nếu và chỉ nếu cây
2
T
[j
1
] là một cây
cha cây
2
T
[j
2
] (tính chất tổ tiên được bảo toàn).
Việc sử dụng M thay vì tập (M,
1
T
,
2
T
) nếu không có sự nhầm lẫn gì thì ta
sẽ sử dụng M thay cho bộ đó.
Cho M là một ánh xạ từ
1
T
T
2
cho I và J là các tập của các nút trong
cây
1
T

2
T
tương ứng và nó không thuộc bất kỳ đường thẳng nào trong M. Từ đó,
có thể định nghĩa hàm chi phí M như sau:
1 2 1 2
( , )
( ) ( [i] T[j]) ( [i] ) ( [j]).
i j M i I j J
M T T T
   
  
     
  
(2.1)
12

2.3.2.3 Mô hình chi phí cho lược đồ cây
Định nghĩa như sau:


Trong đó

bao gồm một thao tác sửa đổi cây, weight(n) chỉ là trọng số
của node n, wd(node
1
, node
2
) và sd(node
1
, node
2
) cho biết sự chênh lệch của
trọng số và ngữ nghĩa giữa node
1
và node
2
.



là trọng số của wd và sd,
thỏa mãn
1
 
 
. W(T
1
,T
2
) được định nghĩa như sau: W(T
1
,T
2
) = weight(T
1
) +
weight(T
2
) trong đó weight(T
i
) là tổng trọng số của tất cả các node cây
T
i
(i=1,2), wd(node
1
,node
2
) được định nghĩa như sau:


Trong đó và
2 2
node T


2.3.2.4 Chuyển đổi lược đồ cây XML
Định nghĩa 4: Tên tên node của một node thường là một chuỗi các từ móc
xích với nhau, với chữ cái đầu tiên của mỗi từ là chữ in hoa (ví dụ, Việt Nam).
Một tập các từ đó được coi là một nhóm từ. Sử dụng
( )
n

để biểu diễn một
nhóm từ của node n.
Định nghĩa 5: Hai nhóm từ
1
( )
n


2
( )
n

được coi là giống nhau chỉ khi
chúng có cùng các từ. Hai node được coi là khác nhau nếu chúng có nhóm từ
khác nhau. Nhóm từ phản ánh ngữ nghĩa của mỗi một node.
Định nghĩa 6: Coi cấp độ (n) là cấp của node n trong cây lược đồ T.
Trọng số của node n được định nghĩa với hàm trọng số:
Trọng số (n) = 2
độ sâu cây lược đồ (T) – mức (n)
với mọi nT
 






     
 
 
1 2
1 2
1 2
1 2 1 2
/ , , if = insert n
/ , , if = delete n
ost
wd node , ,
,
weight n W T T
weight n W T T
c
node if relabels
sd node node node to node



 









 

(2.2)
 
1 2
1 2
1 2
weight(node ) - weight(node )
wd node ,
W(T ,T )
node 
(2.3)

Không có nhận xét nào:

Đăng nhận xét