Kiến trúc hướng dịch vụ và ứng dụng SOA

46 665 3
Kiến trúc hướng dịch vụ và ứng dụng SOA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Sự phát triển của Internet đã thúc đẩy nhu cầu cộng tác, làm việc qua mạng và sử dụng các dịch vụ trực tuyến dần trở thành một nhu cầu thiết yếu trong cuộc sống của chúng ta. Điều đó đòi hỏi các ứng dụng không chỉ là những hệ thống hoạt động đơn lẻ trên một máy trạm (máy client) và chịu phụ thuộc vào một nền tảng cố định nào nữa, mà chúng phải là những hệ thống linh động giúp người dùng làm việc “mọi lúc, mọi nơi”. Điều đó đã làm nhà phát triển phải đối mặt với hàng loạt các vấn đề mới như làm sao tích hợp các thành phần phân tán lại với nhau; hay tái sử dụng những thành phần có sẵn; vấn đề triển khai và bảo trì… đang là một vấn đề làm điên đầu các nhà phát triển. Tuy nhiên, một thực tế hiện nay là phần mềm đang ngày càng trở nên phức tạp quá mức và dường như đang vượt khỏi khả năng kiểm soát của các mô hình phát triển hiện có. Nguyên nhân khiến cho hệ thống có độ phức tạp tăng cao là do sự xuất hiện của nhiều công nghệ mới tạo nên môi trường không đồng nhất, trong khi nhu cầu trao đổi, chia sẻ, tương tác giữa các hệ thống ngày càng tăng và không thể đáp ứng được trong môi trường như vậy. Cùng với đó là vấn đề lập trình dư thừa và không thể tái sử dụng gây tốn kém rất nhiều không những trong giai đoạn phát triển hệ thống mà trong cả vận hành bảo trì phần mềm. Giải pháp cho các vấn đề này là gì? “SOA” hay “Kiến trúc Hướng dịch vụ” là mô hình phần mềm không phải là mới, song đang rất phát triển hiện nay. Đây cũng được coi là giải pháp ưu việt cho các vấn đề đã đề cập ở trên. Kiến trúc này được phát triển từ đầu những năm 2000 đi đầu là IBM. Hiện nay SOA đang được ứng dụng rộng rãi với sự đầu tư nghiên cứu của rất các tập đoàn lớn như IBM, Oracle, SAP, Microsoft… Vậy thật sự SOA là gì ? Nó có thật sự hoàn hảo? Làm thế nào để triển khai SOA? Các vấn đề của hệ thống SOA là gì ? Đó cũng chính là những câu hỏi mà đề tài sẽ nghiên cứu và trả lời.

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN     KIẾN TRÚC HƯỚNG DỊCH VỤ & ỨNG DỤNG (SERVICE-ORIENTED-ARCHITECTURE) Mã số đề tài Chủ nhiệm đề tài Cố vấn khoa học : S2010-08-21 : Nguyễn Thị Dung : Th.s. Nguyễn Hồng Tân Thái Nguyên 12/2010  MỤC LỤC MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE- ORIENTED-ARCHITECTURE) 2 CHƯƠNG 2: PHÁT TRIỂN PHẦN MỀM DỰA VÀO SOA 12 CHƯƠNG 3: KẾT QUẢ THẢO LUẬN 35 40 KẾT LUẬN 41 TÀI LIỆU THAM KHẢO 42 CHỮ KÝ XÁC NHẬN 44  MỞ ĐẦU  !"#$%&'(%)#%)*+!,&* %!/&0/&1%2"&34567&8/( 59%26:;<=%2&"&<>&!6=#&/.?%<0%#@!%!51%!/&0/!?.?/ #A%2&/1&:B%2&'(&!,%2(C/*D*E!F&"&G%2<=%2H!I%2&!J4%!K%2 !7!B%2!A9*1%2*L%4M#N%515".#95O5".&4)%P6&!>/ !=!/1&6A 51%%Q%2&B*>%!%A%K(35&!,%2 !Q4%!K%2!7!B%24%!*1%22, %2RS<T%24567&U5V4,&35V%LWC/*D*+45%! !"#$% !Q*B 5X6Y!%24A9&"&6Z%*5Y%!R45:(A[&!!\ &"&!%! !0% !]%"% 496Y%!(/^!(.":;<=%2%!K%2!%! !0%&D:_%^6Z%*#$%H!(6`QA #ab*(%24516Z%*45*N%*0/&"&%! !"#$%C /.%!N%351!&?!7%%(.4 !0%55*(%2%2.&%2#@%N% !G&9 8/"5G&6<RS%2%!R*(%26R\H!FH!Q%c%2H$5:A"&'(&"&5I !a%! !"#$%!7%&DC2/.N%%!]%H!?%&!A!7!B%2&D*1 !G&9 c%2&(A 4<A:d/Z!7%&'(%!/&I%2%2!75Y9A%N%5I#RS%2H!I%2*e%2%!Z3 #A%2H!%!/&0/#(A*f3&!(:M3RL%2"&2K(&"&!7!B%2%2.&%2c%26 H!I%2!$*" G%2*R\&#A%25I#RS%2%!R6g.CT%26Y*D46Z%*4g #a%!<R!h(6H!I%2!$":;<=%22].B%Hi5#Z%!/H!I%2%!K%2#A%2 2(*A9% !"#$%!7!B%25#A%2&Q6g%!%!`QA#a !0%55CQ !" &!A&"&6Z%*%.42aj UW!(.U?%#,&RY%2<>&!6=W45I!a%! !0%55H!I%2 !Q 45Y3:A%2*(%2#Z !"#$%!7%%(.C].&k%2*R\&&A42Q !" R/67 &!A&"&6Z%**+*&g @#N%C?%#,&%.*R\& !"#$%h*0/%!K%2%c5 **0/4lmC7%%(.*(%2*R\&G%2<=%2#1%2#+6Y:*0/R %2!N%&G/&'(#Z&"&g *A%4Y%%!Rlm3#(&4)33m&#A:Anb g.!g:42ajD&D!g:!A%!QAjo5!?%A*$#$% H!(j"&6Z%*&'(!7!B%242ajD&k%2&![%!4%!K%2&]/!F 5*:p%2!N%&G/6#Q4SC !"2/.N%3%c5 Nguyễn Thị Dung  CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE-ORIENTED-ARCHITECTURE) 1.1. Kiến trúc phần mềm hiện nay ộố kiến trúc phần mềm phân tán hiện nay m1:B5I!a%!H?%#,& !]%"%*(%2:;<=%2 !f`?%%!Z!7%%(. 4ql3qm3rm36stlC"&H?%#,&%.4:5@#1%2&'(&"&!7 !B%2!RY%2*BR\%2`u%2&"&!&!A !i  !]%"%&"&*BR\%2#N%59%2C BR\%2&D!$&DH!I%22(%*>(&!J`N%%2AG%2<=%23!AX&@515". H!"&:A6Y5".&!G(G%2<=%2#A%2H!6v%*R\&!(5&!?/:;<=%2%!R51 !0%&'(G%2<=%2C RMI (Remote Method Invocation): qm451 !0%&'(`1trOt(6(4(nA#5(%<(#<r)6)4A 5)% P&'(/%64&"&!5!R67%!w#\&!A&"&4S#7/2V !RL%2!G&h d(6#Q62"#>&!A&"&G%2<=%2[%!A"% !]%"%Cqm&!A !i &!9.&"& *BR\%2#N%5I#RS%2tmOt(6(#/(4m(&!%)P#7/2V6Y*B#R\%2 &!9.#N%%%tmH!"&!I%28/(67&:;<=%22(A<7%&!/%2&'(&"& !RL%2 !G&#N%&4)%6:)#6)#Cqm&/%2&Z &!A67&#(A*f#/.%!I%22K(&"& &!RL%2#a%!*R\&6?`u%2%2I%%2K4g #a%!t(6(C x/*$5&'(H?%#,&*BR\%2 !]%"%qm4%2RS4g #a%!&!J&0% 4g #a%!&"&4S2V !RL%2!G&6a*BR\%2*R\&2V*+!7%<7%#A%25". QA&'(%DC!R%2%!R\&*$54qm&!J![&!!\ &!A&"&G%2<=%26?#N% %2I%%2Kt(6(C CORBA (Common Object Request Broker Architecture) o51&!/-%&I%2%2!7 *R\&*R(#(`@mO`y)&m(%(2)5)% #A/ P3&!A !i 2V&"& !RL%2!G&hd(6%!g%H?8/Q#Q63%!R%2H!I%2 2B%2%!Rqm3%D&D!$*R\&:;<=%2H!`N% ![(2V6`N% ![( !RL%2 !G&*R\&2V&D!$:;<=%2%2I%%2K4g #a%!H!"&%!(/3`(A2e5&Q#RS%2 !\ &Q`N%H!I%2:;<=%2%2I%%2Kt(6(C ql*R\&*>%!%2!z(h!G  { !&!$5&!A !i 4N%49&2K(?%#a%!*R\&2V45I 2Y.N/&0/*BR\%2O`y)&q)8/):l#AH)#qlPC { m12(A!G&*R\&ql<T%2*$4N%49&2K(%!/?%#a%!3 *R\&2V4O%)#%)%)#A )#(`4.#AA&A4PC x/*$5&'(ql&"&4g #a%!6N%&D!$T.&!V%%2I%%2K4g #a%!3%%Q%2 !0%&G%232(A!G&59%26&I%2%2!7*$ !"#$%56v% !F(5+%&"&[%!&!Z&'(qlC/.%!N%ql&D%!R\&*$54%D4 %2I%%2K4g #a%!&Z !Z 3#Z !G&9 3H!D!V&6&0%51*1%2k !"#$% &DH%!%2!75C2A#(&"&*BR\%2qlH!D":;<=%2C"&G%2<=%2 <(#N%ql!7%%(.*(%2<0%*6A!A"#AC DCOM (Distributed Component Object Model) rm4&I%2%2!7*1&8/.%&'(m&#A:An3%D*>%!%2!z(&"&!%! !0%&'( !0%55*R\& !]%"%8/(&"&59%25".[%!*$#/.%!I%26Y &"&!%! !0%H!"&Crm!w#\H?%B2K(&"&*BR\%26H?%B%.&D !$*R\&!(.*f4,&*(%2&!9.C"&*BR\%2rm*R\&#$%H!(`N%#A%2 &"&2D%!> !]%&!G(5+47%!8/Q%4|6E%2*S&'(*BR\%2667&*c%2H| *BR\%2C Hình 1.1: Mô hình tương tác của các đối tượng DCOM. rm5(%2*?%%!/R/*$5%!R<}#$%H!(3&! ![!Z 3[%!f% *>%!3H!I%2 !=!/1&6A*>(4|38/Q%4|H?%B!7/8/Q6<}5@#1%2C/. %!N%3&"&&I%2%2!7&'(m&#A:An&D51%!R\&*$54Y%4`>2Y!9%#N%!7 %%~%<A•:<A&!?%4R\&*1&8/.%&'(m&#A:AnC ấềả 7%%(." 4&*X4N%&"&<A(%!%2!7 %2.&%24Y%%!R2Q5&! ![ *0/R&L:@!90%23H!(!"&&D!7/8/Q&"&&I%2%2!7&D:_%3 !=&6=.N/ &0/H!"&!!%2B!L%3*" G%2B&"&!(.*f!RS%2d/.N%6%2!7 6=3H!Q %c%2[&!!\ &(A6Y&"&!7!B%2`N%%2Ab € •].<%2*R\&!7!B%2*" G%2*R\&Z&Q&"&%!/&0/*D8/Q46Z%* 6I&T%2H!DH!c%Cl@6g.51!RY%2*5Y&!A&"&<A(%!%2!7 &![%!4a5 H?5&"&2Q !" [&!!\ &"&G%2<=%2&D:_%!AX&H?!\ 6YG%2<=%2&'( &"&<A(%!%2!7 H!"&:(A&!A!F(5+%%!/&0/C #A%28/"#a%!H?!\ &!‚&&!‚%:p2X %!K%2H!DH!c%  !I%2*'H!Q%c%28/Q%4|8/.#a%!%2!7 6=  B%&! ![[&!!\  ƒ/"%!/*>%!<9%2<K47/  !/&0/6.N/&0/&'(H!"&!!%2!RS%2d/.N%!(.*f%!(%! &!D%2%!u59A#([%!&9%!#(%!4N%=&C  Z%*(%%%!`QA5gC ( !0%%!K%2H!DH!c%#N%4`‚%2/e%h&"&%2/.N%%!]%:(/  !G&9 2.%(.5w<A(%!%2!7 &I%2%2!7!I%2%&D%!/ %!K%2!7!B%2#N%&"&%%Q%2H!"&%!(/36!A9*1%2%2!7 6=H!"&%!(/C "&&I%2. !"#$% !0%55 !Q!/N&"&%!D5%!]%6N%2/H%! %2!753&DH!Q%c%2#N%&"&4z%!6&H!"&%!(/*$ !"#$%3#$%H!(68/Q% 4|&"&G%2<=%26!7!B%25`Q%!]%&!,%2H!I%2*e%2%!ZC!N5*D4 67&%]%2&Z H!DH!c%3[&!!\ &T%26Y%!(/36`QA5g%2.&%2&(A*+ 452(c%2[%! !G&9 &!A!7!B%2C  !I%24%!!A9T%26Y: !G&9 #A%2&!?%4R\& !"#$%3 &k%2%!R&L:@!90%2&'(&"&&I%2.C0/%!R&I%2.%A&k%2&D%!K%2G%2 <=%2&D:_%%!R%2H!D%]%2&Z 3H!DH?!\ !A9*1%235H!I%2!$!(.!? *R\&CZ%*[&!!\ #@%N%H!DH!c%!L%6B%Hi5!L%C  !I%2`%6K%2? *D4:H!I%2`N%6K%2&'(!7!B%2C"& !RL%2 !" ? &g%#/.%!B%2#A%267&d].<%2&"&!7!B%2 !0%55 !RL%2<v%*?%#Z%!/%!K%22Q !" H!"&%!(/*R\&4‚ 2!i 3[&!!\ C ?8/Q5wH!!(.*f68/.#a%!%2!7 6=!(..N/&0/!a&"&&I%2. !Q &!Z %!g% !"#$%%!K%2<"%B%Hi5!AX&!(.!?&"&&I%2%2!7H!I%2 !T!\ C ![%!6a6g.5&"&<A(%!%2!7 &0% !Q&D51!RY%2? &g%5Y*$ 2Q8/.?6Z%*5I#RS%2H!I%2*e%2%!Z6B&*1&!D%25X&'(:!(. *f&I%2%2!7#A%2H!%2/e%%2]%:"&!`>!9%!„ Cm(.5‚%!(.36v%&E%&D … 512Q !" *$2Q8/.?H!"A%<7%65V5XH!DH!c%%.6%D*+ *R\&#$%#$%H!(#A%2!&?CU?%#,&!RY%2<>&!6=WO)#6&)#)%)< #&!)&/#)P4&"&!? &g%*$d].<%2!7!B%2&I%2%2!7!I%2% &!A !i &"&<A(%!%2!7 g%<=%2%!K%22a*(%2&D6<}<%2!(.*f!)A .N/&0/*$!w#\&!A<A(%!%2!7 C SOA được xem như là bước phát triển tiếp theo của nghành công nghệ phần mềm. 1.2. Kiến trúc hướng dịch vụ - SOA ệ  SOA (Service Oriented Architecture) – Kiến trúc Định hướng Dịch vụ4 51&"&!? &g%!(.51 !RL%2 !" 4/g%*$!?H?6[&!!\ &"&!%! !0%H!"&%!(/3`(A2e5&"& !0%556&"&&!G&%c%2#N%24M49!%!51 !7!B%2!A%&!J%!C?%#,&#Z2B%26Y&Z/#,&&'(&"& !0%55 !RY%2*BR\%22e5%!/5A</4)C/.%!N%H!"%755A</4)#A%2 H!I%2*L%!/0%4512D !0%553!(.51`1!R67%%A*DC!(.6A *D35w5A</4)#A%251G%2<=%2451<>&!6=*R\&&/%2&Z #Q#"&@ %!/%LH!"&%!(/6&D!$#/.&g !I%28/(5I#RS%259%2CD51 &"&!%2‚%2V%351!7!B%2451g !\ %!/<>&!6=*R\&&/%2&Z #N%59%23*R\&[&!!\ 496Y%!(/*$&T%2&1%2"&!&!7%&"&"&6=%A *D!)A.N/&0/&'(H!"&!%2C m1#A%2%!K%2&"&!!$/:(405%!Z64&A451&I%2 %2!7CmX&<T!A9*1%2*R\&4%!S&I%2%2!73%!R%2H!"&!!%2&0% !Q&!/.$%*fh&!w&!J67&[&!!\ &I%2%2!7:(%267& !Q*/ &!J%!&"& !RL%2 !" !&!7%<"%3&![%!:"&!`QA#a6!(.*f*$*9 *R\&&"&4\[&!6H!Q%c%2#R@%2!%!6*" G%2C  Dịch vụ (service)4.?/B!)%&!B#A%2CD!$!$/<>&!6=%!R4 514A95A</4)!&!7%518/.#a%!%2!7 6=%A*DCm1#A%2%!K%25=& *[&!&'(42, &"&G%2<=%2&D!$U2(A? W*R\&6Y%!(/5H!I%2 &0%`?&"&&!?H†!/g`N%#A%2C$!&!7%*/*D*>%!#(51 &!/-%2(A? O<T%2*$2V!5<>&!6=P*R\&*>%!%2!z(#‡#%26*1&4g 6Y%%Q%2!7!B%236&D!$":;<=%2C!R6g.34&Z *1&(A!L% &'( !"#$%G%2<=%23&!,#V%2*?%8/.#a%!%2!7 6=6<T%22(A? &!/-%*$2, &!)*: !G&9 H†!/g`N%<RYC#h/R\%24&B4‡&'( ˆ H!"%75<>&!6=3%D2, &!A&"&<A(%!%2!7 &D!$[&!!\ &"&!%! !0% !7%&D6A&"&G%2<=%25Y6&"&!%! !0%%.&D!$*R\&&!(:M!AX&" :;<=%2#A%2%!/4z%!6&H!"&%!(/&'(&I%2.*D5H!I%2&0% !Q&!J%! :;(5+%2/e%!(. !Q"&Z/#,&49!7!B%2C D549351<>&!6=&D&"&*X&*$5:(/  Có ranh giới rõ ràng (Boundaries Are Explicit):mw:)#6&)*R\&d]. <%2<(#N%&"&2(A&!/-%!D(*+*R\&:;<=%2#1%2#+C!?!7% !&&'(5w:)#6&):pH!I%2*R\&!$!7%#(`N%%2ACmw:)#6&)&!J &I%2`B51:B&"&2(A&'(%D&!A%2RS:;<=%2&D!$<T%2*$2@&"& .N/&0/6%!g%H?8/Q#Q6C  Tính tự trị (Autonomous):5X4|!/.?35w:)#6&)&D[%!*1&4g &(A3&D!$*R\&d].<%26*R(6A:;<=%25H!I%2 !=!/1&6A &"&:)#6&)H!"&C  Share the Schema and Contract, Not the Class:5X#(A*f<K47/3 &"&:)#6&)H!I%2#/.%&"&&4(::6. )C!(.6A*D3&"&&4(::6. ) :p*R\&*X&Q!a%!!G&O<((*R\&*X&Q#A%2:&!)5(3`)!(6A#*R\& *X&Q!%!&"&&A%#(&PC  Service Compatibility Is Based on Policy:RL%2![&!2K(&"&:)#6&) *R\&&c%&G6A&"& A4&.O&![%!:"&!PCRL%2![&!65X&Z/#,&<( #N%  &"&  *X&  Q  !a%!  !G&  `(A  2e5  &A%#(&  O<(  #N%  ~)`  )#6&) r):&# A%  o(%2/(2)  O~roP  !AX&  l/:%)::  #A&)::  sd)&/A% o(%2/(2)nA#~)`)#6&):Olso…~PP6:&!)5(O•rPCRL%2 ![&!<(#N% A4&.&/%2&Z H!Q%c%2 !]%[&!&k%2%!R*Q5`QA: RL%2![&!2K(&"&:)#6&)C D%!/&"&!H!"&%!(/*$H?%B&"&<>&!6=3&!‰%2!9%<T%2&"&2(A !G&59%2&D:_%3!AX&9A512(A!G&#N%2C!R%2h%c53&"&<>&!6= •)`O~)`:)#6&)P*R\&d].<%2<(#N%%%Q%2•)`A%&0/3`Z&G%L %A&k%2&D3*+#@!%!51 !RL%2 !"  !f`?%&!A67&H?%B&"&!%! !0%&'(!7!B%26Y%!(/C!A9%!a%6~)`)#6&)#I%2&D6M 2B%2%!(/%!R%2&!,%2H!I%2 !Q451C!,%2(:pa5!$/#‡!L%6&"& ~)`)#6&)#A%2&"& !0%? !)AC Š Hình 1.2: Mô hình cơ bản của SOA.  a5&"&!2Q8/.?51:B6Z%*!)A&"&!%!a%4Z.G%2<=%245 #/%2]5CD!$D52V%%!K%2 !"`$/*D!)A&"&%2/.N%4|%!R:(/  %2<=%2 !Q5@#(H!Q%c%2&!A !i &"&G%2<=%25Y!AX&G%2 <=%2*(%2e%9&D!$:;<=%2*R\&CD&k%2 !Q&DH!Q%c%2H?%B Y&"&<>&!6=*R\&*R(#(`@&"&G%2<=%2H!"&*$9A!%!&"&<>&! 6=&(A&Z !L%!(.&E%2V4G%2<=%2f!\ C  H!"&`76&I%2%2!7H!I%2!%!6Z%*6H!Q%c%2RL%2"&#@ !%!5=&N/!)%&!BC  "&&!/-%5@ !Q*R\&!I%28/(*$&!A !i [&!!\ 2K(&"&<A(%! %2!7 C!B!\ ?%#a%!%2!7 6=2K(%!/%!&/%2&Z 3%!/*B "&!g5&![&D!$6Y&QH!"&!!%2C  !Q&!,|Y67&8/Q%4|66*Q5`QAH!Q%c%2&D!$8/Q%#>&'(!7 !B%2*$*Q5`QA[%!4%!!A9<A`(%2/.N%‚&*0/N%H!I%2`>d"A #1%6d/%2*16Y%!(/C D&"&!H!"&3%!Z%59%!67&!9!Z &"&#A&Q%#/.%!B%2Y H!Q%c%2":;<=%2&'(G%2<=%2CI%#V%2%2/.N%‚&!?H?%.&'( :p2Q8/.?*R\&`A"%4Y%66Z%*[&!!\ &k%2%!R`QA#a!7!B%2 !0% 55*(%24!"&!!G&*B6Y&"&%! !"#$%&I%2%2!7!I%2%#A%22( *A9%!7%%(.C r(#N%%2/.N%4|3!7!B%2&D%!K%2[%!&!Z&L`Q%C$&D!$ d)5di!A9*1%26d].<%2*R\&!7!B%2!a67&!$/#‡[%!&!Z&'(!7 !B%2*D%26(#E#Z8/(%#V%2C ‹  !"ấ"ủ# 1.2.3.1. Kết nối lỏng lẻo Z%*H?%B%DY51:B#%2`/1&2K(&"&5A</4)496Y%!(/CD 4A9H?%B44F%24MA6&!X&!pC"&5A</4)&D[%!&!ZH?%B4F%24MA &D 51:B#%2`/1&*R\&5IQ#‡#%2#A%2H!&"&5A</4)&D[%!H?%B&!X49 &D%!/#%2`/1&H!I%2!$`?#RY&C0/%!R5VH?%#,& !0%55*/ !RY%2*?%[%!H?%B4F%24MA 2K(&"&5A</4)CmG&*1H?%B&'(!7!B%2 Q%!!R@%2#&? *?%H!Q%c%2&!J%!:;(!7!B%2C?%B&%2&!X`(A %!N/!a&D%!/!(.*f&!J%!:;(H!&D:!(.*f%A*DdQ.#(CmG&*1 H?%Bc%2<0%H!`N%:;<=%2<>&!6=&0%`?%!/!I%2%%205*>%!&'( `N%&/%2&Z <>&!6=*$:;<=%2<>&!6=*R\&&/%2&Z C2!z(4%?/`N%:; <=%2<>&!6=`?6>#[6&!?*>%!<9%2<K47/&'(`N%&/%2&Z <>&!6=!a 8/(%!7:p&%2#@%N%&!X&!pC2R\&493%?/`N%:;<=%2<>&!6=H!I%2&0% `?5V!I%2%&!?&'(<>&!6=#RY&H!#7/2V%D!a8/(%!72K( `N%&%2&D[%!4F%24MA. ?%B4F%24MA45&!A: !=!/1&@5G&B!$/C!*D3%!K%2: !(.*f:p&DQ%!!R@%2[%!ZY!7!B%26!7!B%26v%&D!$!A9*1%2 H!&D!%! !0%%A*D`>!R!F%2CB!$/!D(: !=!/1&2, !7!B%2 4%!!A936[dQ.#(:&BC [%!H?%B4F%24MA2, 2Œ`F%!K%2#%2`/1&*/H!$%2K(%!K%2 !7!B%2*0/&/BCmw!7!B%2&D!$8/Q%4|*1&4g %!u5c%2%c%2d/Z3 H!Q%c%25@#1%26H!Q%c%2*" G%2&(AC!K%2!(.*f&*X&,%2*R\& &!)<Z/*C[%!&!ZH?%B4F%24MA*)5*?%:*1&4g 2K(`N%&/%2&Z 6 `N%:;<=%2%!R%2%D*E!F&"&2(A<7% !Q!)A&!/0%6&0%51!%! !0%#/%22(%8/Q%4|3#/%2&!/.$%.N/&0/2K(&"&!7!B%2*0/&/BC 1.2.3.2. Tái sử dụng dịch vụ l@6a&"&<>&!6=*R\&&/%2&Z #N%5I#RS%259%26*R\&*c%2H| @51%L%!Z*>%!%N%&!,%2<}#%2*R\&a5!Z.6:;<=%249C?/51 <>&!6=H!I%2&DH!Q%c%2":;<=%23%D&k%2H!I%2&0%*?%2(A<7%5IQC "&<>&!6=&D!$*R\&":;<=%249`u%2&"&!H?!\ 496Y%!(/!)A%!/ 5=&*[&!H!"&%!(/C":;<=%249&"&<>&!6=&E%2, 4A9`F%!K%2!%! !0%#T%24X 6c%2B&*16K%2&!‚&#A%2&*X3%D&E%2, *L%2Q%!D( 67&8/Q%#>C!&#(":;<=%2<>&!6=49<}<%2!L%":;<=%2!%!B • [...]... đó là kiến trúc dựa trên nền tảng Web ngày nay quá trình này vẫn tiếp tục Chúng ta đang ở thời kỳ quá độ sang mô hình tính toán dựa trên dịch vụkiến trúc hướng dịch vụ (SOA) Kiến trúc này ngày nay cũng đã đang áp dụng phát triển cho nhiều doanh nghiệp trên thế giới Nhưng để xây dựng triển khai được hệ thống SOA thì vẫn phải gặp một số vấn đề trở ngại: - Xác định dịch vụDịch vụ là... hệ thống SOA Hệ thống gồm những dịch vụ nào? Tầng dịch vụ là được lược đồ hóa ra (mapped out), chia dịch vụ ra thành các mô hình, bao gồm hệ thống SOA sơ bộ Bước 2: Thiết kế hướng dịch vụ (service-oriented design) Đây là giai đoạn có sự kết hợp chặt chẽ về sự thỏa hiệp của doanh nghiệp nguyên lý hướng dịch vụ thành quy trình thiết kế dịch vụ Trong pha này, làm cho người thiết kế dịch vụ phải đương... được mô hình hóa bao gồm các logic quy tắc cho nghiệp vụ cụ thể Trường hợp này, giống như hai tầng dịch vụ ứng dụng, bao gồm có các dịch vụ tiện ích nhân bản - Bước 2: Design applicaion services 33 Một vài các dịch vụ ứng dụng được mô hình hóa trong bước 1 có thể được trình bày thành bản thiết kế Các dich vụ có thể cung cấp thêm vào cho thiết kế Các dịch vụ ứng dụng tùy chọn sẽ cần đưa qua quá... vai trò vừa là dịch vụ sử dụng vừa là những dịch vụ cung cấp Những dịch vụ này sử dụng những dịch vụ của tầng kết nối các dịch vụ orchestration khác để kết hợp những chức năng cấp thấp hơn thành những dịch vụ hoạt động ở cấp cao hơn, có hành vi gần với những chức năng nghiệp vụ hơn 14 - - Tầng Composite Application: là các ứng dụng tổng hợp nhằm mục đích trình diễn (presentation) hiển thị thông... cung cấp dịch vụ dựa trên thông tin địa chỉ registry đã cung cấp để sử dụng dịch vụ kiểm tra thẻ tín dụng Trong phần mô tả dịch vụ kèm theo đã có tất cả các tham số cần thiết dùng để thực thi dịch vụ, bên sử dụng chỉ cần định dạng dữ liệu yêu cầu đúng theo mô tả gửi đi Nhà cung cấp dịch vụ sẽ thực thi kiểm tra thẻ tín dụng trả về một thông điếp có định dạng đúng như trong phần mô tả dịch vụ Mối... dịch vụ • đến dịch vụ hay miền dịch vụ thích hợp? Một hệ thống SOA phải có tính độc lập địa chỉ cho đối tượng sử dụng các service của hệ thống.Ngoài ra còn phải quan tâm đến vấn đề hiệu suất hoạt động của hệ thống vì việc định vị một dịch vụ là - một quá trình cũng chiếm mất nhiều thời gian Quản lý dịch vụ: • Vấn đề quản lý bảo trì các dịch vụ, việc tạo, xây dựng, theo dõi • thay đổi các dịch vụ. .. năng nghiệp vụ nào cần được cung cấp bởi một • dịch vụ? Độ mịn(granularity) của một dịch vụ thế nào là tốt? Việc xác định dịch vụ quyết định đối tượng cung cấp dịch vụ một cách thích hợp, hiệu quả là giai đoạn quan trọng đầu tiên trong một giải pháp hướng dịch vụ Trong thực tế nhiều chức năng nghiệp vụ tương tự nhau có thể được cung cấp bởi nhiều hệ thống - trong một tổ chức Phân bổ dịch vụ : • Ta... sẻ phân bố trong nhiều ứng dụng khác nhau Kết hợp các dịch vụ: • Làm sao để có thể tạo ra các dịch vụ tổng hợp • Nhu cầu kết hợp nhiều dịch vụ để đáp ứng được yêu cầu phức tạp từ đối tượng sử dụng là có thực Vấn đề là làm sao kết hợp các dịch vụ này một cách hiệu quả, theo những qui trình với những rằng - buộc phức tạp Định tuyến dịch vụ: • Làm sao để chuyển một yêu cầu từ một đối tượng sử dụng dịch. .. kiến trúc này Thực ra, tên gọi kiến trúc định hướng giao tiếp” thích hợp hơn cho SOA Dịch vụ module phần mềm nghiệp vụ được truy cập thông qua giao tiếp, thường theo cách thức yêu cầu - đáp trả Ngay cả với yêu cầu dịch vụ một chiều thì nó vẫn là yêu cầu trực tiếp có chủ đích từ một phần mềm này đến một phần mềm khác Một tương tác định hướng dịch vụ luôn bao hàm một cặp đối tác: nguồn cung cấp dịch. .. sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin về cách sử dụng biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm nhận những thông tin được yêu cầu khi sử dụng Web Service Những thông tin về Web Service được sử dụng công bố lên mạng sử dụng giao thức này Nó sẽ kích hoạt các ứng dụng . Thị Dung : Th.s. Nguyễn Hồng Tân Thái Nguyên 12/2010  MỤC LỤC MỞ ĐẦU 1 CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE- ORIENTED-ARCHITECTURE) 2 CHƯƠNG 2: PHÁT TRIỂN PHẦN MỀM DỰA VÀO SOA. g%<=%2%!K%22a*(%2&D6<}<%2!(.*f!)A .N/&0/*$!w#&!A<A(%!%2!7 C SOA được xem như là bước phát triển tiếp theo của nghành công nghệ phần mềm. 1.2. Kiến trúc hướng dịch vụ - SOA ệ  SOA (Service Oriented Architecture). *A%4Y%%!Rlm3#(&4)33m&#A:Anb g.!g:42ajD&D!g:!A%!QAjo5!?%A*$#$% H!(j"&6Z%*&'(!7!B%242ajD&k%2&![%!4%!K%2&]/!F 5*:p%2!N%&G/6#Q4SC !"2/.N%3%c5 Nguyễn Thị Dung  CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE-ORIENTED-ARCHITECTURE) 1.1. Kiến

Ngày đăng: 24/04/2014, 00:13

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • CHƯƠNG 1: TỔNG QUAN VỀ KIẾN TRÚC HƯỚNG DỊCH VỤ (SERVICE-ORIENTED-ARCHITECTURE)

    • 1.1. Kiến trúc phần mềm hiện nay

      • 1.1.1. Một số kiến trúc phần mềm phân tán hiện nay

      • 1.1.2. Vấn đề phát sinh, nguyên nhân và giải pháp

      • 1.2. Kiến trúc hướng dịch vụ - SOA

        • 1.2.1. Khái niệm

        • 1.2.2. Nguyên lý SOA

        • 1.2.3. Tính chất của SOA

          • 1.2.3.1. Kết nối lỏng lẻo

          • 1.2.3.2. Tái sử dụng dịch vụ

          • 1.2.3.3. Quản lý chính sách

          • 1.2.3.4. Tự động dò tìm và ràng buộc động

          • 1.2.3.5. Khả năng tự hồi phục

          • 1.2.4. Lợi ích của SOA

          • 1.2.5. Ưu nhược điểm của SOA

          • CHƯƠNG 2: PHÁT TRIỂN PHẦN MỀM DỰA VÀO SOA

            • 2.1. Mô hình hoạt động và kiến trúc chi tiết của hệ thống

              • 2.1.1. Mô hình tổng thể của SOA

              • 2.1.2. Mô hình giao tiếp bằng thông điệp (message) trong SOA

              • 2.1.3. Kiến trúc phân tầng chi tiết

              • 2.2. SOA và ứng dụng Web Service

                • 2.2.1. Giới thiệu về Web service

                • 2.2.2. SOA và Web service trong vấn đề tích hợp hệ thống

                • 2.2.3. Cấu trúc và chi tiết các thành phần của Web service

                  • 2.2.3.1. XML - eXtensible Markup Language

                  • 2.2.3.2. SOAP (Simple Object Access Protocol)

                  • 2.2.3.3. WSDL (Web Service Discription Language)

Tài liệu cùng người dùng

Tài liệu liên quan