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

Báo cáo: Multiagent System in Web Service Composition

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 (990.81 KB, 31 trang )

ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI
Báo cáo môn các vấn đề hiện đại
công nghệ phần mềm
Multi-agent System in Web Service Composition
Sinh viên thực hiện : Hoàng Minh Đường
Giảng viên hướng dẫn : TS. Võ Đình Hiếu
Hà Nội, tháng 11 năm 2013
Chương 1: Giới thiệu

 ! "#$%&'(")*+,-
./0122,3&45'6"7 2&"'8
9:&;-<=>=>
?4(=@5(?&4&%A
$=3> 94B&'-C84=>?
DE+F"#84">5G"H +F"#
40I&G-J,B45K?&4&%7%
%%&=5%784=-:5K?
&4&%L!,&3&%L&L=5".
=-
M5KNO!)&5K+H=(
H2%L! "(%7H&"2
%AP &"2=%7"6 &"2'F
%@B5%7L-Q>
.85K%L!"R2.22-SLR2.
22 &T223H="&&"2B 
B0722?"/&"L B
%7*";7R2.22 B&T22?%7*
"&22U&'-:R2.22,2&"84
"75'V=>& 7K+H=(H
9:%7;&4&V?5 (BW86
G=0"L'L55.?&@&.84H8


.P'=-R2.222&5?='?5=P
XYXZX''2''X''2''XYUZX''2''U'&2 ;P5R2.
22"&6G%7I584=
%7'F,-
S84;7'22B'["&?5KNO-\=
=;7R2.22'@"&4%7>, 
%7"&'F"'22B'[">&
22&L(A-X=P.=&%A&L=584
;7]2.'22B>-^%A&L=>%%366?=
32&P^Y^-SL&T&23P3 B'_
%AL2B%7&.'22?=8-`B &
22'FL 2B":="%7=&?
FL'2''G-X=DP.=&4
G2P3 P&5&-JB
%A4+8 ,+H=RUO<">aO`bc&2]-
U=dBeP&%7'22&'&DB
=>?45%:/LG"A.-
U8K.%7P.=%'fU%AY'_465
4-gU%Ah K'_P&4.]2.'22&'
'Fai<O-U%AjP.=%A4+8
RUO-S(/"?053U%Ak-
Chương 2: Kiến thức nền tảng
1 Web Service
l Service-Oriented Architecture (SOA)
==2&&%:5
98G(?&4&L-Q84m
(L0""&'+H=%7&5
K?&4&Be;7'F?&Ln&
&;.P(?&4&-
UK,B  5K % NN^oN.p2 N22 ^&&q

UNQr`UNQo`'.2U&&N.p2Q2"q UNCXOoU&&N.p2
C22'X2O22qs 4%A; 7  
(A-<=> m;.m_G
?L"&5K=%6-QPNOZ
M5K%L!:?%=5%7G84B
e5-
l Khái niệm
M5K%L!"55%L@'F
!$%!)8&5K?
4B0G"&
=P.88'.4&mG"6P
$%4=-
Y Mục đích của SOA
Q(?&4&"=0G=>?
!%:-Q>5K%L!"n&+B.E
G4&m 4 69
=>'[B($&;
$%.P(?&4&-
h Nguyên lý hoạt động của SOA
Service
Registry
Service
Provider
Service
Consumer
• 22^2fU8'2"2'''22&?
B-t'2o'22'&2q?H&5!;'
&'22*?'F-
• 22U'&2ft'2'F'22%78.322
^2

• 22C2'=f\A"%G4'2222
^2 22U'&2>G=
P&5&"*22^2/7-
Figure 1: SOA actors
22^2'_e;4'22&&PB
 8  o    e  B    8   e      (
o2'2 2c&2q !  q22C2'=-22
U'&2B?4&'22B'_P&5&>
22C2'=-\eT7P&5& 22C2'=D
B+522^2>>;48"%7
! .?*u,'F'22  \G
='_T7>&PP&5&22U'&2-M
,+!%722^2&&( 22U'&25
"6>55L22^2n&'F'22
m5%A"%7>&o4&m 2'2'F  q
Y Web Service
l XML
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ở.
Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử
dụng các tính năng và đặc trưng của các thành phần đó để giao tiếp. XML
là công cụ chính để giải quyết vấn đề này và là kiến trúc nền tảng cho việc
xây dựng một dịch vụ Web, tất cả dữ liệu sẽ được chuyển sang định dạng
thẻ XML. Khi đó, các thông tin mã hóa sẽ hoàn toàn phù hợp với các thông
tin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác với nhau

trong một thể thống nhất.
Y Khái niệm
`!]2.oR2.22q"&(?&4&%75
5T7%AG&=L&=&-\B"&
%7&l!&&=B%7o"
]'"q-U(%AL!]2.&
2=!.n &'F.NO^ %:
=4.n'Fv<<^Ll!iQw57L
x]2.yRhUz-
h SOAP
NO^o&"2N.p2O2''^"q8&A5A
*{0G&&%:
H8 H'FiQwB8K-NO^
+!.8|G)%"&P"6P=G
) B!)lA5A
G).n8&PB&"2
A5&,B&,BG"&"2-J4B
NO^'F(u(
ILC^U-yRhUz
\B&A NO^"&=!
0G"G'22-NO^'FKiQw
G"/v<<^"&=4-<B!)
NO^.nfNO^}iQw~v<<^
POST /globalweather.asmx HTTP/1.1
Host: www.webservicex.net
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope

xmlns:xsi= " "
xmlns:xsd= " "
xmlns:soap= " " >
<soap:Body>
<GetWeather xmlns="">
<CityName>string</CityName>
<CountryName>string</CountryName>
</GetWeather>
</soap:Body>
</soap:Envelope>
<>H=";4NO^'22+2&:
5>]2.www.webserviceX.NET-•NO^3H='F
%A^N<v<<^F-`G"
=>?%:/%7!).nKiQw %7+
!.nmV <soap:Envelope></soap:Envelope> G"
;%7mV<soap:Body></soap:Body>-
j WSDL (Web Service Description Language)
R`w"!iQw&!&%"l675
.!?(>.B%L
"m"%L-^%A.%7&u
%7 .!.l&!.
!)l5.!?(-U&(">%75
7l&(u%7o!q-R`w%7&3
&5.!?(.B.8
.B!P=&%7'F5-
R`w&";.9&f& =2' &2''2
<=2 . '22 -
 Types:R`w!)G"F-
<definitions >
<types>

<xsd:schema />*
</types>
</definitions>
. Message:Q%7FG"2'22-
<definitions >
<message name="nmtoken"> *
<part name="nmtoken" element="qname"? type="qname"?/> *
</message>
</definitions>
\G!)&2''2%7'F.3?F
'22-  \4      B    &  5  L  /  !  )
&2''2-
<G&2''2%7&P>_T7;
"AB'F"-U€ 
L/&'(B'V&!)&2''2-
 Port type:R`w&F6-
<wsdl:definitions >
<wsdl:portType name="nmtoken">
<wsdl:operation name="nmtoken" /> *
</wsdl:portType>
</wsdl:definitions>
R`w!).(&&

0BT7f
• One-way:U0H

  &

  &2''2  &2''2  B  "  &2''2
H


-
• Request-response:U0H

&

&2''2F&

&2''2
9
• Solicit-response:U0F&

&2''2H

4&

&2''2
• Notification:U0F&

&2''2 &2''2B"&2''2+8-
• QTBK.50/=2f<
&2''26 +8"T-

<wsdl:definitions >
<wsdl:portType > *
<wsdl:operation name="nmtoken"
parameterOrder="nmtokens">
<wsdl:input name="nmtoken"? message="qname"/>
<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*

</wsdl:operation>
</wsdl:portType >
</wsdl:definitions>
 Binding:J!)]2.'22'57L-
Q

57.9&f
• \G&3

GG&2''2
.9&tC\&,BNO^-
• QT&

57& 55&"0 &

0
o<=2qB%7'F4&(57-<8
!).>0n&&
&(57-
2 Servicef\B'_GP,%7!)6
*]2.'22'2%A
-
<wsdl:definitions >
<wsdl:service name="nmtoken"> *
<wsdl:port />*
</wsdl:service>
</wsdl:definitions>

c Portf &0 ? (  B  !)%&


H

  7 
.&

!d&-
<wsdl:definitions >
<wsdl:service > *
<wsdl:port name="nmtoken" binding="qname"> *
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
gH=K8=n

;57>"&2-\B
&5L&

&(57-Q

0;+
&!d&.8|0?%A
;+L&&5?>

-
k Cấu trúc Web Service
Web service Structure
<%ALNO Bh;&R2.'22-
• Service Provider:`/R2.22'`2'w2oR`wq
&!&&PB822X2o%A
L22C2'=NOq-

• Service Broker:w%G4'22%78.3
22^2-U8eP&5&T722
C22'2o22U'&2NOq+!22
^2/7-<?;22X2"t2'"
`'2= `2' 12ot``1q2'2'-
• Service Requester:`/R`wm?'Fo"
'22 :'F 2'2?5 & q3
22X2-Xn'Ft``1eP&5&
22X2 22C22'2BP&8=22^2
;7-\='B G22C22'222^2
5"6>5'FNO^%A"%7
=5('F'22-
11 Multi-agent System
l AOP
w6P%LHu"H,%7+2&+%"&%L
=>&w6P%L(%7-<NN^%P
4(&=;%7.n4&‚o&"2'q&B
%ALG&‚P.=6%72
&> ON^ƒ&2]>'(!
o*"?q&‚o.H=:"Hq9&
?%4&o4&45L 4.H4
q e'=5! &T"4B%7G!)K
-UB&'(5>m&'(?
&H &P$%AL54&m?
*-<;.9&H. =>? 8 8
6 u(  T7"@-w#=5=,%7
O1 >G>$%%A
684+,
Y Agent
l Khái niệm

\== u„O2Z<H„%7'F84 B
P"&)5");H4B"K-\%
== 'F6G=D5(L;
H B%7'F,")%'
+8*&=;-<*&=; &
H&"&?&4&H&'(P
;HK%://'FH
* "m"m"&">
5&=;-U?&4&H=4
&=; A'3G" &-
Định nghĩa:O2"&??&4&B; B
e&6&%:"&%:-O2
o?&4&q3H=(%O2o%:q 
&(%7B-
Y Đặc tính
• Sự kiên trì (Persistence):J&,oU2q2=>
?%=">=5!;B?
&'(-
• Sự tự chủ (Autonomy):QTHB&> "6
LHo3.>q9:BB
=5!&Po4q-
<;"m%*8H-
• Khả năng xã hội (Social Ability):UHd%LL
;>&P&DBe%ALH
(%LL;(-
• Khả năng phản ứng và sự chủ động (Reactivity and Proactivity):
UH6%7G&BK6
"&;7(Lu%:7
-


h Multi-agent System
l Khái niệm
Định nghĩa:Q"‚2='2&"&(9&&%:
2&%:B-U2
%A"@%AL&%: L
/&;(-
Y Đặc điểm
• Khả năng tính toán hiệu quả: v28e
;A:P;%7H
2e(7/+F"#4
2-
• Độ tin cậy cao:`B42/&.
2BA50 &5>6=;
2%7"A-
• Khả năng mở rộng:v2"&3PBB>&
2&Lm.L22&
-Me=/7L;&3=>??
&4&=-
• Tính mạnh mẽ: v2B+F"#%7.
=5!m.>
II%.%A"%7%A&
F .4
• Khả năng bảo trì:`29&42 &T2"
&&"2B;>2"W.P-
• Khả năng phản ứng: v25ue
2A>6.5%7&=0&
%:P2('_(7L%
%AL=0B-
• Tính linh hoạt: U22Be
B%AL/=5&84

-Q2%::2&
%AP&?5=58
4m>&P-
• Khả năng sử dụng lại:v2Be'F"P
&T2Be>B/"4
-
Chương 3: Web Service Composition và
phương pháp sử dụng JXTA
1 Web Service Composition
l Khái niệm
S84;7'22B'["&?5KNO-
\==;7R2.22'@"&4%7>
, %7"&'F"'22B
'[">&22&L(A-
Định nghĩa:<;7R2.22;"&P+F"#5(
R2.22',9+H=">&R2.22&L-R2.
22&L%7*"&'2'22 DR2.22,9
/+H=">'22&LP%7*Web Service Composition-
<&P&*> ;"2'_*'22LR2.
22,%707c"2R`wR2.22%70
7B-<uU&'2R2.22'_+H=":*5R2.
22U&' UR2.22U&'
;      "  5      U&'2  R2.  22-  U&'2  R2.
22075u22?"5
(/;U"2-
UBY%A;7R2.22" tích hợp tĩnh  tích hợp
động:
• <;7%7")5K57'22:&
55m:&mR2.22-
• <;7%7"5K57'22:&

22%7-
Y Phân loại
S;7R2.22BH"%'f
• Loại thứ nhất:U&'222%7+H=.nG
%:%a U… †P=(%&
u!R2 <%:7= $%7"
&R2.22 ?H&5P;
7R2.22-S84;73>94 %:"6P
KH&55P+F"#&%LNO^
"-M'F%A= d?&=0
E&''22''_85'=0"L
22%707-
• Loại thứ hai: F&;7R2.
22-JH='_"&%AG;"7;7
R2.22%X^bw X^Qw RUw s
h Ví dụ minh họa
J‡A5"R2.22U&'K%&
;A'&-J&"! 
??!'fP&5&'(;5
"! P&5&=5.=u(+85(5
!8m&=.=-•'FBY8!R2.
%Y!R2.22n&P&5&'
P&5&=5.=-vR2.22=n&3!;!";
 'F-J4B@L
&('FY!B'_P&5&]2.'2
>'_6-\n&2&"'6jˆ
 K&(;7YR2.22"P&5&'P&
5&&=.=B&!"LA %7*"!<2"‚O2-
`!<2"‚O2'_*5Y!"2v2"2ƒ"
&TB&=8u"25!<2"‚O2-S6=3H=

R2.  22  2v2"    2ƒ"  ;  "    R2.  22
U&'22<2"‚O23H=;"U&'222-<u
B8=R2.22U&';"R2.22B
/57L>&22"LA-
11 Agent-Based Web Service Composition with JADE and JXTA
l Tổng quan phương pháp
<&%:^Y^&"‚2 .8P2$Be
P&5&'22/=2&;-<=>'("%7R2.'22B
e8 &R2.'22A"VE&,%7=>?
2- SP  6=  ?    5 7   R2. '22'  &'2
'22'-
S; K,=!nB.2Ol OYOh(
2-OlBl!R2.8'(1X\>('-OYB
!Y86'(1X\4'.n"Q‰-OhBh
!=0&'.n"Q‰2<=J-XH=
: 5%:/P&5&&!L?"&('
?"B2<=J BB'[-`B 
?!R2. l Y hB%7;7
&!&L&86>'%?4'
2<=J-
M‰  6  ;  7  o&'q  n&  &  ;    P&  &  '22
&'(%/7LG)'(-
\B A5;7R2.'22>O2%A
=9&.?foqe#'22 o11q+H=9!'22
o111q'22&'E&,-
l Đăng ký Service
<e#'22 2e#'22&
&ai<O.n%&'22&-S=
(%e>&ai<O-QT&&2
một định danh duy nhất (AID),&tập các mô tả của các service

có thể cung cấp danh sách languageontology&2
?.5B%AL2=-U'22%7
eB&.9&loại dịch vụ tên dịch vụ đầu vàođầu ra
languageontology?5!B&'(m
;!-
Y Xây dựng đồ thị Service
•+H=9!LL'22
/&]c"]4&e-J&.;?=
9  !  H  (  8      2  &     P&  5&  
o'2''q    &P  '      .(  '22    &P-  Q
'2''&2"&2L'22B?/
7L?2o222''qB-<;&3
> l"YY"l-<.(%70
!  5 8 2 , +!'2''' & 9!
'22B%L?=%7+H=-JG(0
! 2PP&5&2!|6
6'2''B-
h Phát hiện các service composition thỏa mãn
†P;7&'22%7
.n*='2''2-M&2F
&=>?L&&&'(&&(9
!'22 =>?%7=5G2">
9!-†=PP&5&5K&4'H=
%7flq&!5,%7P&
8= ",P&?='22&'E&, Yq=>?5
&2B'2''P&8=&
!%7=>?ŠhqH&D"mF
=>?-
Y Tối ưu phương pháp
<%Au%7B> &=>?o22'q%7

=558G'2''528
'22&&(-`'("%7=>?=5B%7&
.L5&26%722'.5'2''
BB%7&>L%:I8-<;>
> 'F>&n2Oj8!jB=0
&'.n"Q‰2&2Ok8
!k &B=092<=J2 9!
!%A%7&P%L
<(ai<O&T2=P&.'2''&
.'22=5=>?&(%-X5"&
67m2"r-Q2".W&'2''
&2 "'85?!
&B%72"-X8&2P&
8=&'2''&L &2o'2'' ""q %7‹
.-Umo2"rqB%76629u
'2''B-<;> OYB.5%'-
X'22.9&..o 2" q-N
.=&?&'22-U2"!
2&BB%7!?5-v'.
Wu25&!-X? 8
2B.!'H=f
<;>> OYB.'22%'f
<P'22 &26%7=>?
'22B+=/7L=>? 2":52
=>?L?'22/L%.!
2-M&26%7H":u'2''B B"8=u
.!B &T. 2'_&
"B9&%:(A?-\54=+=
'66.!>&P.5 2&
":&LFB5222''B-

Chương 4: Phương pháp đề xuất
1 Giới thiệu chung
<2%Aai<O%74+8> 5'22&'
?"&]c"]4&eL%:E8-J4=B)
"5'B%7=>?%&.4&m
G);7-S57%A&L
d u">& 'LG  ' '"2 
"=?.5/'22L-•'F%>(
/9&'22;5SO<'x& &'22"&
'22  ;    !   '  x& '  5  SO<L /    
"2"=?.5-M5PP&5&'_'F&
'22=Ld"%@5;+]c"]
4"&.-
S84%Aai<O"(%'("%722'-<2
%%A4+8> F5&2&'22B
%7=>? 2B'_F522'5'2''
B-S6=84+=";7824
=>? '("%722'"K='_8"L82%7F=>
?5'_F22'5'2''B-vAG %Aai<O
$%465&‡40G"
PP&5&;7-
<.= +%74+8&%A5
>%Aai<O-^%A4+8=%LL
=5(%'("%722'.n'F%%3Œ"2"
'2•-SL&T&23P3 B'_%AL2
B%7&.'22?=8-`B &22'F
L 2B":="%7=&?F
L'2''G-X=DP.=&4
G2P3 P&5&
-JB%A4+8 ,+H=RUO

<">aO`bc&2]-U=dBeP&%7
'22&'&DB=>?45
%:/LG"A.-^%A4+8
@?>>DB&'(=5&Š=
> L.%746H"‡ %A
BW">%:7"L-
11 Phương pháp đề xuất
l Giao thức đề xuất
<&"‚2'='2&= 2%7"&Y""client
agentservice agentf
• Client Agentf(%7?P&'22=>
?&P-U"22'_B"F=>?5
2'22B%7=>?&P-\5
2Be "22'_F5=>?
:645-
• Service Agentf&'22-222B
e%AL'22266G"
&P-<&T'222B22^+=B
'22&PF5"22
m'22255-
l Giao thức giữa Client Agent và Service Agent
vP%L&G"22'22
2-"223P&'222/
7 "22'_FUƒ^L2'22
2+!"'222BBe%7
=>?=-\5'222 B'_
F4\N^CN^Nb.U"2O2-
\%7" '222F^CN^Nb‹&2T
mX^bw%AU"2O2-M
6%7^CN^Nb /=A5 U"2O2'_

F=>?Cb†tb<L!-22O2"K='_
%AL=>?"22F
451\ƒNCQ-
Y Giao thức giữa các Service Agent
l Service CFP
<P3 '222'_F
Uƒ^5'22+'2''2'
B-<=> =B?5
=B .n%AL`ƒ&"‚
2  '='2&  m  t``1    $  B    +  
O2'2''-Xn= '("%722'
%A4+8='_%7&-
Y Service PROPOSE
+!%7O2'&P 2'22
=  '_  F  G  "    &P      &2''2
^CN^Nb-v2'226%7
^CN^Nb&2''2'_%7P.=53?
%L-
h Service REQUEST
M6%7''22&P 5
'2228=n&P=5
5'222 Cb†tb<'_
%7F-
Y Khởi tạo dữ liệu cho service agent
^%A4+8>%%366G"&?=
=3 B%%3?L6S2P&%:
I8>&-J&.;+54 3H=
4+8'F>&"=2'22-U
"=='_"me2 :BB
&.%7G)54"/7L=>?-

l Bảng Service Table cải tiến
22<."23H=>&&OU"%GT
&'22?-UT
=B%74"22%7'F
&G) &.6=5-
Output Action Chain Channel Hop
M2 exchange.convert Oj l
b exchange.convert OY l
Y Hoạt động của service agent
l Hoạt động lúc khởi tạo
%7uG"'22B 22
2'_FUƒ^L'2226
6'2''2'&P-
Y CFP Listenser
6%7Uƒ^u'222 '22
2B'_&+2&2FL"2'
='2''-\52"2' 26%7'_6
62'&PF.'22&P
2u F -UD2F"'2''
26 26'_FUƒ^=>?
2FG""66-gH= B+5
%:7&2uB"2''2''
& 2-J! )42' '2'' $
(%3%Aai<O-
h PROPOSE Listener

×