kien truc huong_dich_vu

266
ĐẠI HC QUC GIA THÀNH PHHCHÍ MINH TRƯỜNG ĐẠI HC KHOA HC TNHIÊN HBO THANH 0112030 NGUYN HOÀNG LONG 0112141 NGHIÊN CU KIN TRÚC HƯỚNG DCH V(SERVICE-ORIENTED ARCHITECTURE) NG DNG LUN VĂN CNHÂN TIN HC GIÁO VIÊN HƯỚNG DN TH.S TRN MINH TRIT Thành phHChí Minh - 2005

Upload: duy-vong

Post on 25-Jun-2015

75 views

Category:

Documents


3 download

TRANSCRIPT

  • 1. I HC QUC GIA THNH PH H CH MINH TRNG I HC KHOA HC T NHIN H BO THANH 0112030 NGUYN HONG LONG 0112141 NGHIN CU KIN TRC HNG DCH V (SERVICE-ORIENTED ARCHITECTURE) V NG DNG LUN VN C NHN TIN HC GIO VIN HNG DN TH.S TRN MINH TRIT Thnh ph H Ch Minh - 2005

2. I HC QUC GIA THNH PH H CH MINH TRNG I HC KHOA HC T NHIN H BO THANH 0112030 NGUYN HONG LONG 0112141 NGHIN CU KIN TRC HNG DCH V (SERVICE-ORIENTED ARCHITECTURE) V NG DNG Chuyn ngnh: CNG NGH PHN MM LUN VN C NHN TIN HC GIO VIN HNG DN: TH.S TRN MINH TRIT Thnh ph H Ch Minh - 2005 3. NHN XT CA GIO VIN HNG DN .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. 4. NHN XT CA GIO VIN PHN BIN .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. 5. Li cm n Chng em chn thnh cm n Khoa Cng Ngh Thng Tin, trng i Hc Khoa Hc T Nhin, i hc Quc gia Tp. H Ch Minh to iu kin thun li cho chng em trong qu trnh hc tp v thc hin ti tt nghip. Chng em xin ni ln lng bit n su sc i vi Th.S Trn Minh Trit. Chng em xin chn thnh cm n Thy lun quan tm, tn tnh hng dn chng em trong qu trnh hc tp, nghin cu v thc hin ti. Chng em xin chn thnh cm n qu Thy C trong Khoa Cng Ngh Thng Tin tn tnh ging dy, trang b cho em nhng kin thc qu bu trong sut qu trnh hc tp v thc hin ti. Chng em cng xin gi lng bit n n thy c v bn b trong lp gip , ng vin tinh thn chng em rt nhiu trong sut qu trnh thc hin lun vn ny. Chng em nh mi cng n gia nh chm sc, ng vin v to mi iu kin thun li cho chng em hon thnh tt lun vn ny. Mc d c gng hon thnh lun vn trong phm vi v kh nng cho php nhng chc chn s khng trnh khi nhng thiu st, knh mong nhn c s gp v tn tnh ch bo ca qu Thy C v cc bn. Mt ln na, xin chn thnh cm n v mong lun nhn c nhng tnh cm chn thnh ca tt c mi ngi. Tp. H Ch Minh, thng 7 nm 2005 H Bo Thanh - Nguyn Hong Long 6. Trang i Mc lc TUChng 1 TNG QUANUT .....................................................................................................1 TU1.1UT TUThc trng hin tiUT .......................................................................................................1 TU1.2UT TUPhn tch, nh gi mt s m hnh kin trc phn tn hin tiUT .................................3 TU1.3UT TUCc vn pht sinh, nguyn nhn v bin php khc phcUT ......................................6 TUChng 2 GII THIU V KIN TRC HNG DCH V (SERVICE- ORIENTED ARCHITECTURE)UT ..........................................................................................10 TU2.1UT TUKin trc hng dch v l g ?UT ................................................................................ 10 TU2.2UT TUBn nguyn tc chnh ca h thng SOAUT ................................................................. 11 TU2.2.1UT TUS phn nh ranh gii rch ri gia cc dch vUT ........................................................ 11 TU2.2.2UT TUCc dch v t hot ngUT .............................................................................................. 12 TU2.2.3UT TUCc dch v chia s lc UT .......................................................................................... 12 TU2.2.4UT TUTnh tng thch ca dch v da trn chnh schUT ....................................................... 12 TU2.3UT TUCc tnh cht ca mt h thng SOAUT ....................................................................... 12 TU2.3.1UT TULoose couplingUT .............................................................................................................. 12 TU2.3.2UT TUS dng li dch vUT ....................................................................................................... 14 TU2.3.3UT TUS dng dch v bt ng bUT ........................................................................................ 14 TU2.3.4UT TUQun l cc chnh schUT ................................................................................................. 14 TU2.3.5UT TUCoarse granularityUT ......................................................................................................... 15 TU2.3.6UT TUKh nng cng tcUT......................................................................................................... 17 TU2.3.7UT TUT ng d tm v rng buc ngUT .............................................................................. 17 TU2.3.8UT TUT hi phcUT ................................................................................................................... 18 TU2.4UT TULi ch ca SOAUT ........................................................................................................ 19 TU2.5UT TUMt s m hnh trin khai SOAUT ................................................................................ 23 TU2.6UT TUKin trc phn tng chi tit ca SOAUT ....................................................................... 26 TU2.6.1UT TUTng kt niUT .................................................................................................................. 26 TU2.6.2UT TUTng orchestrationUT ........................................................................................................ 27 TU2.6.3UT TUTng ng dng tng hpUT ............................................................................................... 28 TUChng 3 XY DNG H THNG SOAUT .........................................................................31 TU3.1UT TUNhng thch thc khi xy dng h thng SOAUT ....................................................... 31 TU3.2UT TUXy dng h thng SOAUT ........................................................................................... 34 TU3.2.1UT TUGii thiu bi tonUT ........................................................................................................ 34 TU3.2.2UT TUMt s khi nimUT .......................................................................................................... 35 TU3.2.3UT TUCc bc xy dng h thng SOAUT ............................................................................... 38 TU3.3UT TUTrin khai SOA trong thc tUT.................................................................................... 46 TU3.3.1UT TUCc c trng chnh v kinh doanhUT .............................................................................. 47 TU3.3.2UT TUCc c trng chnh v cng nghUT ............................................................................... 48 TU3.3.3UT TUCc chun mUT................................................................................................................ 50 TU3.3.4UT TUKin trc hng dch v v Thng mi in t theo yu cuUT ................................... 50 7. Trang ii TUChng 4 SOA V VN BO MTUT ...........................................................................52 TU4.1UT TUCc thch thc v bo mt trong h thng SOAUT ...................................................... 52 TU4.1.1UT TUt vn UT ..................................................................................................................... 52 TU4.1.2UT TUCc vn bo mt lin quan cn quan tmUT ................................................................ 53 TU4.2UT TUGii thiu v kin trc bo mt hng dch vUT ........................................................ 55 TU4.2.1UT TUMt s yu cu t ra ca kin trcUT .............................................................................. 55 TU4.2.2UT TUKhi nim v kin trc bo mt hng dch v SOSA (service-oriented security architecture)UT ................................................................................................................. 58 TU4.2.3UT TUKin trc bo mt hng dch v SOSAUT ...................................................................... 60 TU4.3UT TUGii thiu mt s chun v bo mt trong XMLUT ..................................................... 65 TU4.3.1UT TUWS-SecurityUT .................................................................................................................. 66 TU4.3.2UT TUXML-SignatureUT ............................................................................................................. 67 TU4.3.3UT TUXML-EncryptionUT .......................................................................................................... 67 TU4.3.4UT TUXML Key Management Specification:UT ........................................................................ 67 TU4.3.5UT TUSecurity Assertion Markup Language (SAML)UT ........................................................... 67 TU4.4UT TUKhai thc tnh nng bo mt web service ca b th vin WSE (Web Services Enhancements)UT ..................................................................................................... 68 TU4.4.1UT TUNhng tnh nng chnh ca b th vin WSEUT ............................................................. 68 TU4.4.2UT TUKin trc ca WSEUT ....................................................................................................... 71 TUChng 5 SOA V VN TCH HPUT ..........................................................................73 TU5.1UT TUGii thiu v Enterprise Application IntegrationUT ..................................................... 73 TU5.1.1UT TUHin trngUT ...................................................................................................................... 73 TU5.1.2UT TUMt s l do khin cc t chc doanh nghip phi quan tm n vn tch hp (xt v mt nghip v)UT ....................................................................................................... 74 TU5.1.3UT TUCc vn k thut gp phi trong tch hp h thngUT ................................................. 75 TU5.1.4UT TUCc yu cu cho mt gii php tch hpUT ...................................................................... 76 TU5.1.5UT TUVic tch hp c th c p dng nhiu tng khc nhauUT ........................................ 76 TU5.2UT TUPhn tch mt s k thut tch hp s dng MiddlewareUT ......................................... 78 TU5.2.1UT TUKhi nim middlewareUT .................................................................................................. 78 TU5.2.2UT TUCc sn phm Middleware s dng trong tch hp h thngUT ...................................... 78 TU5.3UT TUSOA v web service gii quyt vn tch hp nh th noUT .................................. 82 TU5.3.1UT TUCng ngh XML v web serviceUT .................................................................................. 82 TU5.3.2UT TUWeb services integration (WSI) v Service-oriented integration (SOI)UT ...................... 84 TU5.4UT TUng dng SOA v web service tch hp cc h thng c xy dng trn .NET v J2EEUT .............................................................................................................. 87 TU5.5UT TUng dng SOA v web service trong vic tch hp cc h thng cUT ...................... 90 TUChng 6 SOA V QUN L TIN TRNH NGHIP VUT ................................................95 TU6.1UT TUMt s khi nim c bn v Qun l tin trnh nghip vUT ....................................... 95 TU6.1.1UT TUTin trnh nghip vUT ...................................................................................................... 95 TU6.1.2UT TUQun l tin trnhUT .......................................................................................................... 96 TU6.1.3UT TUH qun l tin trnh:UT .................................................................................................... 97 TU6.2UT TUQun l tin trnh, SOA v Web ServiceUT ................................................................. 98 TU6.2.1UT TUQun l tin trnh, SOA v Web Service c kt hp th noUT .................................. 99 TU6.2.2UT TUPhn tch mt v d kt hp Qun l tin trnh, SOA v web serviceUT ....................... 102 8. Trang iii TU6.3UT TUThit k tin trnhUT .................................................................................................... 108 TU6.3.1UT TUOrchestration v ChoreographyUT .................................................................................. 108 TU6.3.2UT TUCc yu cu k thut khi thit k tin trnhUT ................................................................ 110 TU6.3.3UT TUGii thiu mt s ngn ng c t tin trnhUT .............................................................. 112 TUChng 7 NG DNG SOA SUITEUT ...........................................................................125 TU7.1UT TUGii thiuUT ................................................................................................................. 125 TU7.1.1UT TUng dng SOA SuiteUT .............................................................................................. 125 TU7.1.2UT TUCc thnh phn ca SOA SuiteUT .................................................................................. 126 TU7.2UT TUServiceBusUT ............................................................................................................... 126 TU7.2.1UT TUVai tr chc nng ca ServiceBusUT ............................................................................. 126 TU7.2.2UT TUServiceBus v c s tri thcUT ....................................................................................... 129 TU7.2.3UT TUCc thnh phn ca ServiceBus:UT ................................................................................ 130 TU7.2.4UT TUC ch hot ng ca ServiceBusUT .............................................................................. 134 TU7.2.5UT TUServiceBus tch hp vi IISUT ........................................................................................ 136 TU7.3UT TUBpelEngineUT .............................................................................................................. 136 TU7.3.1UT TUKin trc ca BpelEngineUT ........................................................................................... 136 TU7.3.2UT TUCc bc trin khai mt business process trong BpelEngineUT .................................... 144 TUChng 8 THNH PHN BPEL DESIGNER CA SOA SUITEUT ...................................145 TU8.1UT TUGii thiuUT ................................................................................................................. 145 TU8.2UT TUChc nngUT ................................................................................................................ 145 TU8.2.1UT TUTo mi, chnh sa, thit k mt tin trnhUT ................................................................ 145 TU8.2.2UT TUChc nng kt xut tin trnh ra file nhUT .................................................................... 145 TU8.2.3UT TUChc nng trin khai mt tin trnh mi ln serverUT ................................................... 146 TU8.3UT TUThit k ci tUT ........................................................................................................ 146 TU8.3.1UT TUCu trc chng trnhUT ................................................................................................. 146 TU8.3.2UT TUGiao din chng trnhUT ............................................................................................... 147 TU8.4UT TUHng dn s dngUT ................................................................................................. 164 TU8.4.1UT TUThit k mt tin trnhUT ................................................................................................ 164 TU8.4.2UT TUTrin khai mt tin trnhUT ............................................................................................. 169 TUChng 9 NG DNG SOA THIT K MT S TIN TRNHUT ..............................170 TU9.1UT TUTin trnh dch t ng a ngn ngUT ...................................................................... 170 TU9.1.1UT TUM tUT ........................................................................................................................... 170 TU9.1.2UT TUS UT ........................................................................................................................... 171 TU9.1.3UT TUM t lung x lUT ........................................................................................................ 172 TU9.2UT TUTin trnh thu thp thng tin t bn ngoiUT .............................................................. 172 TU9.2.1UT TUM tUT ........................................................................................................................... 172 TU9.2.2UT TUS UT ........................................................................................................................... 173 TU9.2.3UT TUM t lung x lUT ........................................................................................................ 173 TU9.3UT TUTin trnh chm thi t ng qua mngUT ................................................................... 174 TU9.3.1UT TUM tUT ........................................................................................................................... 174 TU9.3.2UT TUS UT ........................................................................................................................... 175 TU9.3.3UT TUM t lung x lUT ........................................................................................................ 176 9. Trang iv TUChng 10 Kt lunUT .......................................................................................................177 TU10.1UT TUMt s kt qu t cUT .......................................................................................... 177 TU10.2UT TUHng pht trinUT ..................................................................................................... 178 TUTi liu tham khoUT ..........................................................................................................180 TUPh lc AUT TUC T NGN NG BPEL V1.1UT ............................................................182 TUA.1UT TUnh ngha mt tin trnh nghip v (business process)UT ........................................ 182 TUA.1.1UT TUCu trc ca mt tin trnh nghip v:UT ....................................................................... 182 TUA.1.2UT TUChu k sng ca mt tin trnh nghip vUT ................................................................. 187 TUA.2UT TUPartner, Partner Link Type, v Partner LinkUT .......................................................... 189 TUA.2.1UT TUPartnerUT ......................................................................................................................... 189 TUA.2.2UT TUPartner Link TypeUT ....................................................................................................... 190 TUA.2.3UT TUPartner LinkUT................................................................................................................. 190 TUA.3UT TUX l d liuUT ............................................................................................................ 191 TUA.3.1UT TUBiu thcUT ..................................................................................................................... 191 TUA.3.2UT TUVariable (bin)UT ............................................................................................................ 193 TUA.4UT TUPhp gnUT .................................................................................................................. 195 TUA.5UT TUCc x l c bnUT ...................................................................................................... 197 TUA.5.1UT TUCc thuc tnh c s ca mi x lUT ............................................................................ 197 TUA.5.2UT TUCc thnh phn c s ca mi x lUT .......................................................................... 198 TUA.5.3UT TUGi mt phng thc ca Web Service (Invoke)UT ...................................................... 198 TUA.5.4UT TUCung cp cc phng thc ca Web ServiceUT ............................................................. 200 TUA.5.5UT TUCp nht ni dung ca binUT ........................................................................................ 201 TUA.5.6UT TUBo li (signaling fault)UT .............................................................................................. 201 TUA.5.7UT TUWaitingUT ........................................................................................................................ 202 TUA.5.8UT TUKhng lm g cUT .......................................................................................................... 202 TUA.6UT TUCc x l c cu trc (structure activity)UT ............................................................... 203 TUA.6.1UT TUSequenceUT ..................................................................................................................... 203 TUA.6.2UT TUSwitchUT .......................................................................................................................... 204 TUA.6.3UT TUWhileUT ........................................................................................................................... 205 TUA.6.4UT TUPickUT .............................................................................................................................. 206 TUA.6.5UT TUFlowUT ............................................................................................................................. 207 TUA.7UT TUScopeUT ....................................................................................................................... 215 TUA.7.1UT TUX l d liu data v Partner LinkUT ............................................................................. 216 TUA.7.2UT TUX l li trong tin trnh nghip vUT ............................................................................ 216 TUA.7.3UT TUCompensation handlerUT ................................................................................................ 217 TUA.7.4UT TUX l liUT ...................................................................................................................... 219 TUA.7.5UT TUX l s kinUT ............................................................................................................... 221 TUPh lc BUT TUSOA V WEB SERVICESUT .......................................................................225 TUB.1UT TUKin trc Web servicesUT ........................................................................................... 225 TUB.2UT TUCc t trng ca Web servicesUT .............................................................................. 227 TUB.2.1UT TULoosely coupledUT .......................................................................................................... 227 TUB.2.2UT TUTnh ng giUT .............................................................................................................. 227 10. Trang v TUB.2.3UT TUContractedUT ................................................................................................................... 227 TUB.2.4UT TUGiao thc chunUT .......................................................................................................... 227 TUB.2.5UT TUT nh nghaUT .............................................................................................................. 228 TUB.2.6UT TUTm kim v triu gi ngUT ........................................................................................ 228 TUB.3UT TULi ch ca Web servicesUT ........................................................................................ 228 TUB.4UT TUSOAPUT ....................................................................................................................... 230 TUB.5UT TUWSDLUT ...................................................................................................................... 231 TUB.6UT TUUDDIUT ....................................................................................................................... 234 TUB.7UT TUMt s chun Web services miUT ............................................................................. 238 TUB.8UT TUSOA v Web ServiceUT .............................................................................................. 238 TUPh lc CUT TUNH DNG CC FILE TRONG PROJECT BPEL DESIGNERUT ............243 11. Trang vi Danh sch hnh TUHnh 1-1 Tch hp dng im ni imUT ...................................................................................2 TUHnh 1-2 Cc thnh phn ca i tng CORBAUT ...................................................................4 TUHnh 1-3 M hnh tng tc ca i tng EJBUT ......................................................................5 TUHnh 1-4 M hnh tng tc ca cc i tng DCOMUT ..........................................................6 TUHnh 1-5 Thc trng c s h tng IT ca hu ht cc t chc hin nay.UT ...............................8 TUHnh 2-1 S cng tc trong SOAUT ..................................................................................... 10 TUHnh 2-2 - Tnh cht loose-couplingUT ........................................................................................ 13 TUHnh 2-3 Cc i tng fine-grainedUT .................................................................................... 16 TUHnh 2-4 Cc i tng coarse-grainedUT ................................................................................ 16 TUHnh 2-5 Cc mc granularityUT .......................................................................................... 17 TUHnh 2-6 - M hnh service registryUT ......................................................................................... 23 TUHnh 2-7 M hnh service brokerUT .......................................................................................... 24 TUHnh 2-8 M hnh service busUT ............................................................................................... 25 TUHnh 2-9 M hnh service bus phn tnUT ................................................................................ 25 TUHnh 2-10 Kin trc phn tng ca h thng SOAUT ............................................................... 26 TUHnh 2-11 Mt cng thng tin cung cp thng tin trong mt vng nhn duy nhtUT .............. 29 TUHnh 2-12 Cc portlet truy xut d liu t nhiu ngun khc nhau c cung cp di dng dch vUT ..................................................................................................................... 29 TUHnh 3-1 - Cc bc cn thc hin khi trin khai mt h thng SOA.UT ................................... 35 TUHnh 3-2 Phn r domain thnh mt dy cc vng chc nng lin quanUT ............................. 38 TUHnh 3-3 S s dng ca h thng bn hngUT ................................................................... 39 TUHnh 3-4 S cc use case v quy trnh nghip vUT ............................................................ 39 TUHnh 3-5 V d v m hnh goal-serviceUT ............................................................................... 41 TUHnh 3-6 Cc use case nghip v c gn trn h thng conUT ........................................ 43 TUHnh 3-7 Phn b dch vUT ...................................................................................................... 44 TUHnh 3-8 Mu c t thnh phnUT ........................................................................................... 45 TUHnh 3-9 Chn la mt gii php thc thi thch hp.UT ........................................................... 46 12. Trang vii TUHnh 3-10 S tng quan v thng mi in t theo yu cuUT ......................................... 46 TUHnh 4-1 Kin trc bo mt hng dch v (SOSA)UT ............................................................ 60 TUHnh 4-2 Cu trc phn tng ca Standard-based Security Info Exchange Platform.UT ......... 61 TUHnh 4-3 Security Token Service.UT ......................................................................................... 63 TUHnh 4-4 Cc tng k thut bn di ca mt h thng bo mt.UT ........................................ 66 TUHnh 4-5 Xc nhn s mt thng ip.UT ................................................................................. 69 TUHnh 4-6 M ha mt thng ipUT .......................................................................................... 69 TUHnh 4-7 iu phi thng ip SOAP.UT ................................................................................. 70 TUHnh 4-8 C ch s dng b lc ca WSEUT ........................................................................... 72 TUHnh 5-1 Vai tr c bn ca middleware.UT ............................................................................ 78 TUHnh 5-2 C ch hng iUT ..................................................................................................... 79 TUHnh 5-3 C ch Publish/SubscribeUT ...................................................................................... 80 TUHnh 5-4 - Remote Procedure CallUT ........................................................................................... 80 TUHnh 5-5 Distributed Object ModelUT ...................................................................................... 81 TUHnh 5-6 S dng web service trong vn tch hp.UT ......................................................... 83 TUHnh 5-7 Web services integration (WSI)UT............................................................................. 85 TUHnh 5-8 Service-oriented integration (SOI)UT ........................................................................ 86 TUHnh 5-9 S khc nhau gia kin trc .NET v J2EEUT .......................................................... 88 TUHnh 5-10 Vai tr ca WSDL trong lin kt cc h thng.UT .................................................. 89 TUHnh 5-11 WSDL m t cch cc thng ip SOAP c x lUT ......................................... 89 TUHnh 5-12 Dch v ha mt CORBA serverUT ......................................................................... 92 TUHnh 6-1 Minh ha mt tin trnh nghip vUT ........................................................................ 95 TUHnh 6-2 Cc thnh phn ca mt h thng qun l tin trnh nghip vUT ........................... 97 TUHnh 6-3 Thc trng khng ng nhtca cc h thng doanh nghip.UT ........................... 99 TUHnh 6-4 Tng dch v da trn m hnh SOA vi cng ngh Web ServiceUT .................... 100 TUHnh 6-5 Tng tin trnh nghip v s dng tng dch vUT .................................................. 100 TUHnh 6-6 Cc h thng BPM khi khng c tng servicesUT................................................... 101 TUHnh 6-7 V d v cc h thng c cn c service ha.UT ................................................. 103 TUHnh 6-8 M hnh d liu, dch v v tin trnh.UT ................................................................ 103 13. Trang viii TUHnh 6-9 Xy dng cc service n vUT ................................................................................ 105 TUHnh 6-10 Xy dng cc dch v tch hp.UT ......................................................................... 106 TUHnh 6-11 Xy dng cc tin trnh nghip vUT ..................................................................... 107 TUHnh 6-12 Cung cp cc tin trnh nghip v cho ngi dng.UT ......................................... 108 TUHnh 6-13 S khc nhau gia orchestration v choreography.UT .......................................... 109 TUHnh 6-14 Tin trnh cung cp kh nng ti s dng.UT ........................................................ 111 TUHnh 6-15 Tin trnh c nh ngha bng WSFLUT........................................................... 112 TUHnh 6-16 S lung trong WSFLUT ................................................................................... 113 TUHnh 6-17 S tng th trong WSFLUT ............................................................................... 113 TUHnh 6-18 Lin kt gia cc x l trong WSFLUT ................................................................. 114 TUHnh 6-19 Mt v d v cc lung thng ip trong tng tc gia cc serviceUT ............... 115 TUHnh 6-20 Minh ha Web Service Cherography InterfaceUT ................................................. 116 TUHnh 6-21 Mt tin trnh c m t bng WSCIUT .............................................................. 117 TUHnh 6-22 Mt tin trnh c t bi ngn ng BPELUT ......................................................... 119 TUHnh 6-23 Mu x l WP2 v WP3UT .................................................................................... 120 TUHnh 6-24 Mu x l WP4 v WP5UT .................................................................................... 121 TUHnh 6-25 Mu x l WP8UT .................................................................................................. 122 TUHnh 6-26 Mu giao tip CP1 v CP2UT................................................................................. 123 TUHnh 6-27 Mu giao tip CP4UT.............................................................................................. 124 TUHnh 7-1 Cc thnh phn ca SOASuiteUT ............................................................................. 126 TUHnh 7-2 Mi trng trao i thng ip SOAP ca serviceBUSUT ..................................... 127 TUHnh 7-3 Lin kt gia ServiceBus v WSE MessagingUT .................................................... 127 TUHnh 7-4 Qui trnh x l thng ip ca serviceBUS.UT ....................................................... 135 TUHnh 7-5 S kin trc ca BpelEngine.UT ......................................................................... 137 TUHnh 7-6 To cc i tng activity implementation.UT ........................................................ 139 TUHnh 7-7 S iu phi thng ip ca engineUT................................................................ 141 TUHnh 7-8 S phn cp ca cc x l.UT.............................................................................. 143 TUHnh 8-1 Cu trc th mc dng trin khai mt tin trnh BPELUT ...................................... 169 TUHnh 9-1 Tin trnh dch t ngUT......................................................................................... 171 14. Trang ix TUHnh 9-2 Tin trnh thu thp thng tin v dch t ngUT ...................................................... 173 TUHnh 9-3 Tin trnh chm thi t ngUT ................................................................................. 175 TUHnh B-1 Mt SOAP Operation n ginUT ........................................................................... 231 TUHnh B-2 Cu trc thng ip SOAPUT .................................................................................. 231 15. Trang x Danh sch cc thut ng v khi nim Service Consumer : ngi s dng dch v y c th l mt ng dng, mt dch v hoc l cc module phn mm khc yu cu s dng dch v. y l thc th thc thi qu trnh nh v dch v thng qua service registry, lin kt vi dch v v thc thi cc chc nng ca dch v. Ngi s dng dch v thc thi chc nng dch v bng cch mt gi yu cu theo ng dnh dng c m t trong hp ng. Service provider : nh cung cp dch v y l mt dch v chp nhn v x l nhng yu cu t ngi s dng dch v. N c th l mt h thng mainframe, mt thnh phn hoc cc dng phn mm khc x l yu cu dch v. Nh cung cp gi hp ng ln service registry nhng ngi s dng dch v c th truy cp n n. Service Registry : service registry l th mc trn mng cha tt c cc dch v ng k. Service registry chp nhn v lu tr cc hp ng gi n t nh cung cp dch v v cung cp cc hp ng ty theo yu cu ca ngi s dng dch v. Service contract : mt hp ng (contract) l mt c t v cch thc bn s dng dch v trao i lin lc vi bn cung cp dch v. N ch r ra nh dng yu cu v p tr ca dch v. Distributed computing : mt dng tnh ton trong d liu v ng dng c phn tn trn nhiu my hoc h thng tch bit nhng li c lin kt v tch hp thng qua cc dch v mng v chun tch hp m chng c th thc thi chc nng nh trong mt mi trng thng nht. Enterprise application : mt sn phm phn mm c thit k tch hp cc h thng my tnh bn trong doanh nghip li vi nhau. Mc tiu l tch hp cc x l nghip v chnh (v d nh bn l, kim ton, ti chnh, qun l nhn s, tn kho v sn xut). Enterprise application c dng rng ri trong 16. Trang xi bi cnh cn lin h cht ch vi nh cung cp, vi i tc kinh doanh v vi khch hng. Loose coupling: y l mt khi nim trong tch hp ng dng. Hai thnh phn trao i thng tin khng kt ni trc tip vi nhau m qua mt thnh phn trung gian c c t r rng t trc. Cc thnh phn tham gia phi m bo mt c ch ng ngha chung cc thng ip cha bn trong chng mt ng ngha t m t chnh mnh. Tight coupling : ngc li vi loose coupling. Interface : thnh phn giao tip. Coarse-grained : m t mc gom nhm x l ca mt thnh phn x l thng tin. Cc thnh phn c tnh coarse-grained thng truyn nhn v x l theo tng khi d liu c thng tin ng cnh ln v s ln trao i thng tin trong mt giao tc l t. Xem Hnh 2-4 hiu r hn. Fine-grained : ngc li vi coarse-grained. Cc thnh phn c tnh fine- grained truyn nhn v x l theo tng n v nh v c ng cnh ngm nh, cn nhiu ln trao i thng tin trong mt giao tc dn n tng bng thng s dng v ko di thi gian hi p. Xem hnh Hnh 2-3 hiu r hn. Legacy system : cc h thng ng dng c ci t t trc nhng vn cn c s dng. Thng thng y l nhng h thng s dng cng ngh li thi nhng vn quan trng v cn hot ng tt. y l thnh phn nn tng cung cp x l cho cc dch v hot ng cp cao hn. Granularity : khi nim m t phc tp ca tin trnh hoc dch v. Granularity c chia lm hai loi l fine-grained v coarse-grained. Khi nim granularity c hiu mt cch tru tng khng phn bit hai loi trn v ty ng cnh m c cnh hiu khc nhau. Interoperability : kh nng cng tc, trao i thng tin gia cc h thng phn tn 17. Trang xii Orchestration : s kt hp, iu phi hot ng ca nhng Web Service theo mt quy trnh mong mun. Chereography : tng t nh orchestration nhng ch tp trung vo quan h gia cc thnh phn dch v vi nhau theo m hnh peer-to-peer. Middleware : Khi nim middleware dng m t phn mm lin kt cc phn mm khc li vi nhau. BPEL : Business Process Execution Language, mt ngn ng XML c thit k nhm cho php kt hp cc x l trn mt mi trng tnh ton phn tn li vi nhau theo mt lung x l hoc quy trnh nghip v c cu trc nh trc. 18. Trang xiii M U Ngy nay, cng ngh thng tin ang l nn cng ngh mi nhn trong chin lc pht trin kinh t, xy dng t nc ca hu ht cc quc gia. Cc sn phm cng ngh thng tin v ang c ng dng rng ri trong mi lnh vc ca i sng kinh t, x hi v hu ht u em n nhng gi tr thit thc. i tng phc v ch yu ca ngnh cng ngh thng tin hin nay chnh l cc t chc, cc c s doanh nghip,... Nhu cu ng dng cc sn phm ca ngnh cng ngh mi nhn ny h tr tin hc ha cc qui trnh nghip v, m vn t trc n nay ch c thc hin mt cch th cng, ang ngy tr nn mt nhu cu cp thit. Cc sn phm dng ny u c chung cc c im l phc tp ln, chi ph sn xut v bo tr cao, mc c th cn ty thuc vo ln ca t chc cng nh l phc tp ca cc qui trnh nghip v cn x l. Vi s pht trin ca internet v vi xu th hi nhp chung ca ton th gii, cc t chc, cc c s doanh nghip cn bt tay, phi hp hot ng v chia s ti nguyn vi nhau nng cao hiu qu hot ng. Lc ny cc sn phm s c phc tp ln hn, t ko theo cc vn lin quan nh chi ph sn xut, chi ph qun l v bo tr. Bn cnh , ngnh cng ngh phn mm cn phi i mt vi cc kh khn trong xu th mi nh vn an ninh bo mt, vn ti s dng v m rng cc h thng sn c, vn v s khng tng thch gia cc h thng khc nhau ca nhiu t chc gii quyt cc vn trn, nhiu gii php c nghin cu v ng dng. Nhng hu ht cc gii php ny khng gii quyt cc kh khn mt cch trit v kt qu t c cng khng nh mong i. Hin nay, mt gii php mi ang c cng ng cng ngh thng tin rt quan tm, l Kin trc hng dch v (Service-oriented Architecture - SOA). Gii php ny bc u c ng dng trong mt s d n v u em li nhng kt qu kh quan. V ngi ta tin rng SOA c th gii quyt tt nhng thch thc nu trn, v s 19. Trang xiv l xu th trong tng lai. Th th Kin trc hng dch v l g? Cch gii quyt vn cng nh l nhng li ch t c ca kin trc ny nh th no? y chnh l do chng em thc hin ti NGHIN CU KIN TRC HNG DCH V (SERVICE-ORIENTED ARCHITECTURE) V NG DNG Mc tiu ca ti ti s tp trung vo tm hiu cc vn sau: Nghin cu cc c s l thuyt ca kin trc hng dch v (SOA) thng qua vic tm hiu khi nim v kin trc hng dch v, cc tnh cht cng vi nhng li ch t c ca h thng SOA. Tm hiu cc vn lin quan n xy dng h thng SOA, bao gm nhng thch thc gp phi, nhng nguyn tc thit k v cc bc cn thc hin khi trin khai h thng SOA. ng dng SOA trong xy dng kin trc bo mt hng dch v. Tm hiu mt s chun bo mt trong XML v khai thc tnh nng bo mt web service ca b th vin lp trnh WSE (Web Services Enhancements). Tm hiu v nhu cu v cc thch thc gp phi trong vic tch hp h thng. T , ng dng SOA v Web service gii quyt vn tch hp. Tm hiu khi nim v tin trnh nghip v, qun l tin trnh, mi quan h ca tin trnh nghip v trong h thng SOA. Xem xt cc nguyn tc thit k v kho st mt s ngn ng c t tin trnh nghip v. Xy dng ng dng SOASuite nhm h tr trong vic thit k, xy dng v trin khai h thng kin trc hng dch v. ng dng cung cp mi trng linh hot qun l cc dch v c trong h thng da trn c ch thng ip. Ngoi ra, SOASuite cn cung cp mi trng pht trin cho php ngi dng 20. Trang xv c th thit k, xy dng v thc thi v qun l cc tin trnh nghip v t nhng web services c xy dng sn thng qua cc thao tc ko th m khng cn vit m lnh x l. Ni dung lun vn Ni dung ca lun vn c trnh by gm: Chng 1: trnh by, phn tch v mt s kh khn ca ngnh cng ngh phn mm hin nay. T gii thiu mt s m hnh kin trc phn tn c xy dng gii quyt cc kh khn trn nh l CORBA, EJB, DCOM. Chng 2: gii thiu khi nim v kin trc hng dch v SOA, cc nguyn tc cng nh l tnh cht ca h thng SOA; phn tch mt s li ch t c v kho st mt s m hnh ca kin trc hng dch v. Chng ny cng trnh by v kin trc phn tng ca h thng SOA. Chng 3: trnh by cc vn lin quan n vic xy dng h hng SOA, bao gm phn tch cc thch thc gp phi v xem xt qui trnh cc bc nn thc hin khi trin khai h thng SOA. Chng 4: trnh by v cc kh khn gp phi trong vic bo v h thng SOA. T xem xt, phn tch mt gii php l m hnh kin trc bo mt hng dch v. Chng ny cng gii thiu mt s chun bo mt trong XML nh WS-Security, XML-Signature, XML-Encryption, XML Key Management Specification, SAML v b th vin WSE (Web Services Enhancements) h tr lp trnh bo mt web services. Chng 5: trnh by v phn tch v nhu cu v mt s kh khn gy tr ngi trong vn tch hp h thng. Qua xem xt mt s gii php c s dng trong tch hp, bao gm gii php s dng cc sn phm middleware v gii php ng dng SOA v Web services: Web Service Integration (WSI) v Service-Oriented Integration (SOI). Sau , xem xt c th gii php ng dng 21. Trang xvi SOA v Web services trong tch hp cc h thng xy dng trn nn .NET v J2EE v trong ti s dng li cc h thng c. Chng 6: trnh by mt s khi nim lin quan v qun l tin trnh. Phn tch mi quan h kt hp gia qun l tin trnh, SOA v Web services. Xem xt cc vn lin quan n thit k tin trnh nghip v. Ngoi ra, chng ny cng s gii thiu v mt s ngn ng c t tin trnh hin ang c s dng ph bin, nh l Web Service Flow Language (WSFL), XLANG, Web Service Choreography Interface (WSCI) v Business Process Execution Language For Web Service (BPEL4WS) Chng 7: gii thiu tng qut v ng dng SOASuite. Trnh by v hai thnh phn ServiceBus v BpelEngine. ServiceBus cung cp mi trng qun l cc dch v da trn c ch thng ip v BpelEngine cung cp mi trng trin khai v thc thi cho cc tin trnh nghip v. Chng 8: gii thiu v thnh phn th ba ca SOASuite, b cng c BpelDesigner cung cp mi trng trc quan h tr ngi dng xy dng, thit k cc tin trnh nghip v Chng 9: gii thiu mt s mu tin trnh c thit k bng b cng c BpelDesigner. Chng 10: trnh by mt s kt lun v hng pht trin ca ti. 22. Trang 1 Chng 1 TNG QUAN Ni dung ca chng 1 trnh by v mt s kh khn ca ngnh cng ngh phn mm hin nay. T gii thiu, phn tch cc u khuyt im ca mt s m hnh kin trc phn tn c xy dng gii quyt cc kh khn trn nh l CORBA, EJB, DCOM 1.1 Thc trng hin ti Phn mm ngy nay ang ngy cng tr nn phc tp v dng nh ang vt khi kh nng kim sot ca cc m hnh pht trin phn mm hin c. Albert Einstein ni :Mi vic nn thc hin theo cch n gin n mc c th , mt thc trng ng bun l c rt nhiu h thng phn mm c xy dng vi kin trc qu phc tp, chi ph pht trin v bo tr cao, c bit l vi cc h thng phn mm cao cp. Hng chc nm qua, nhiu kin trc phn mm c xy dng v trin khai nhm gii quyt cc vn ny. Th nhng phc tp phn mm vn c tip tc tng v dng nh tr nn vt qu kh nng x l ca cc kin trc truyn thng. Nguyn nhn khin cho phc tp ca cc h thng phn mm khng ngng tng cao nh th l do s xut hin ca nhiu cng ngh mi to nn mi trng khng ng nht, trong khi nhu cu v trao i, chia s, tng tc gia cc h thng khng th p ng c trong mt mi trng nh vy. Lm sao c th dung ha c nhng cch bit gia ci c v ci mi? Cc h thng c (legacy systems) cn c s dng li thay v phi g b v thay mi bi v chi ph thc hin li t u chc chn s cao hn vic chi ph chuyn i ci c rt nhiu ln. Vn ny lin quan n mt khi nim v cng l mt thch thc m cc t chc phi i mt, l tch hp h thng (Enterprise Architecture Integration - EAI). Hin cc d n dng ny ang c rt nhiu t chc quan tm n, vi mc u t v chi ph ang dn u so vi cc dng d n khc. 23. Trang 2 Mt nguyn nhn khc cng gp phn dn n tnh trng kh khn nh th chnh l vn lp trnh d tha v khng th ti s dng. Hy xt mt v d, mt ngn hng c nhiu chi nhnh khc nhau mi chi nhnh c mt h thng tch bit v cn kt ni vi cc h thng khc ca ngn hng phc v khch hng c hiu qu hn. Gi s rng cc h thng ny u c thit k rt tt. Th nhng cc h thng ny c xy dng trong nhng khong thi gian khc nhau, trong nhng d n c lp v khc nhau. Thng thng chc nng ly s liu thng k ti khon b lp li trong mi h thng ATM, mi chi nhnh v trong h thng lu tr ti khon, v ngay c khi ngi dng truy cp vo cng mt ti khon trong cng mt c s d liu. By gi nu ngn hng cn pht trin mt h thng cung cp dch v gi tin hay cho vay tin qua mng tng cht lng phc v cho cc khch hng. H thng mi ny s c xy dng th no? Nu gii php chn xy dng li h thng mi, th li tip tc mc li sai lm trc : d tha, khng ng nht Cn nu chn gii php l s dng li cc chc nng sn c, th ta phi i mt vi chuyn thit lp cc mi lin kt vi ton b cc h thng trc. Hu nh mi t chc u phi i mt vi vn tch hp v nhiu l do, c bit l trong th trng ngy nay, s thay i lun din ra vi tc chng mt; c th l m rng thm chi nhnh, mt h thng bn hng mi, hoc ch n gin l cn kt ni cc h thng c sn. Nu c n h thng ng dng cn c kt ni trc tip vi nhau, th cn n*(n-1) kt ni, hoc l interface. Hnh 1-1 Tch hp dng im ni im 24. Trang 3 Tng t, nu c thm mt h thng ng dng th (n+1) cn c tch hp thm vo h thng, th n i hi 2*n interface mi, bao gm c vic thu thp su liu , kim th, v bo tr. Theo nh Hnh 1-1 trn th 5 ng dng i hi 20 kt ni trc tip, mt ng dng th 6 tch hp thm vo s yu cu thm 10 kt ni mi! T hn na, m ngun ca cc ng dng c phi c chnh sa thm vo cc kt ni, t ko theo chi ph kim th, bo tr. Nhng vn trc cha gii quyt, m nay cc t chc li phi i mt vi nhng thch thc mi: p ng nhanh chng cc s thay i, gim chi ph pht trin, tng tnh tng thch v kh nng ti s dng,... Tt c to nn mt p lc nng n i vi cc nh pht trin phn mm. 1.2 Phn tch, nh gi mt s m hnh kin trc phn tn hin ti Ba kin trc phn tn ph bin nht hin ny l CORBA, DCOM v EJB. Cc kin trc ny l s m rng ca cc h thng hng i tng bng cch cho php phn tn cc i tng trn mng. i tng c th c khng gian a ch bn ngoi ng dng, hoc mt my khc vi my cha ng dng trong khi vn c tham chiu s dng nh mt phn ca ng dng. CORBA Common Object Request Broker Architecture: CORBA c nh ngha bi Object Management Group (OMG), l mt kin trc phn tn m, c lp nn tng v c lp ngn ng. CORBA Component Model (CCM) l mt ci tin ng k nhm nh ngha cc m hnh thnh phn so vi CORBA. N nh ngha ra quy trnh thit k, pht trin, ng gi, trin khai v thc thi cc thnh phn phn tn. CCM nh ngha khi nim Ports cho cc thnh t. Cc port ny c s dng kt ni cc thnh phn c sn vi nhau, to cc h thng phn tn phc tp hn. Mi thnh phn CCM c mt i tng Home chu trch nhim qun l chu k sng ca i tng v c trin khai bn trong mt trnh cha (container). 25. Trang 4 u im ca CORBA l cc lp trnh vin c th chn bt k ngn ng, nn tng phn cng, giao thc mng v cng ngh pht trin m vn tho cc tnh cht ca CORBA. Tuy nhin CORBA s mt nhc im l n l ngn ng lp trnh cp thp, rt phc tp, kh hc v cn mt i ng pht trin c kinh nghim. Ngoi ra cc i tng CORBA cng kh c th ti s dng. Hnh 1-2 Cc thnh phn ca i tng CORBA EJB - Enterprise Java Bean: Kin trc EJB l mt kin trc thnh t bn pha my ch dng cho vic pht trin v trin khai cc ng dng phn tn hng i tng c va v ln. Kin trc EJB c 3 tng vi tng u tin l tng trnh din, tng th hai l tng x l nghip v, v tng th ba l cc ti nguyn nh c s d liu my ch. Truyn thng gia cc i tng EJB thng qua Remote Method Invocation (RMI). Cc client khng bao gi tng tc trc tip vi cc bean. Thay v vy chng s s dng cc phng thc c nh ngha trong cc interface Remote v Home. Mi bean tn ti bn trong trnh cha, chu trch nhim vic to th hin mi, lu tr d liu v cc qun l khc. Trnh cha s triu gi cc phng thc callback ca mi th hin bean khi c s kin tng 26. Trang 5 ng. Khng ging nh CCM, EJB khng nh ngha cc port kt ni trc tip gia cc thnh phn lin quan bi v mi bean bn trong trnh cha l mt thc th c lp khng c bt k rng buc no bn ngoi. EJB l mt kin trc tt cho vic tch hp cc h thng v n c lp nn tng nhng n cng gp vn l n khng phi l mt chun m, kh nng giao tip vi cc chun khc vn cn hn ch. Hnh 1-3 M hnh tng tc ca i tng EJB DCOM Distributed Component Object Model: DCOM l mt m hnh phn tn d trin khai vi chi ph thp, h tr tigh coupling gia cc ng dng v h iu hnh. M hnh Component Object Model (COM) nh ngha cch thc cc cc thnh phn v client lin lc trao i vi nhau trn cng mt my. DCOM m rng COM bng cch s dng cc giao thc mng chun khi cn trao i d liu vi my khc trn mng. DCOM h tr kt ni gia cc i tng v nhng kt ni ny c th c thay i lc ang chy. Cc i tng DCOM c trin khai bn trong cc gi nh phn cha cc m lnh qun l chu k sng ca i tng v vic ng k i tng. DCOM mang n nhiu u im nh tnh n nh, khng ph thuc v tr a l, qun l kt ni hiu qu v d dng m rng, l mt la chn tt cho cc doanh nghip s dng cng ngh ca Windows chy cc ng dng c yu 27. Trang 6 cu cao v s chnh xc v n nh. Tuy nhin, cc cng ngh ca Microsoft c mt nhc im ln l chng b gii hn trn nn tng Windows. Hnh 1-4 M hnh tng tc ca cc i tng DCOM Cc kin trc trn u hng n vic xy dng mt h thng hng dch v tuy nhin chng vn cn gp phi mt s vn . u tin l chng tighly coupled, ngha l kin trc trin khai ci t bn pha nh cung cp dch v v pha s dng dch v phi ging nhau. iu ny ng ngha vi kh khn mi khi c s thay i t mt trong 2 pha bi v mi thay i cn c nh gi, ln k hoch v sa cha c 2 pha. Tip n nhng chun trn a phn l chun ng, chng hu nh khng th kt hp, hot ng vi chun khc. V d nh bt i tng Java trao i d liu trc tip vi mt i tng DCOM l khng th. Cui cng cc i tng ca cc m hnh trn l fine grained, ngha l lng thng tin gia trong mi ln thc hin giao dch l t, v c thc hin nhiu ln dn n chim dng bng thng s dng v tng thi lng p tr d liu. 1.3 Cc vn pht sinh, nguyn nhn v bin php khc phc Ngy nay p lc t ln cc doanh nghip ngy cng ln: gim chi ph u t c s h tng, khai thc c hiu qu cc cng ngh c sn, phi c gng phc v yu cu ca khch hng ngy cng tt hn, p ng tt cc thay i nghip v, kh nng tch 28. Trang 7 hp cao vi cc h thng bn ngoi Nguyn nhn chnh ca mi kh khn trn l: s khng ng nht v s thay i. Hu ht cc doanh nghip ngy nay u s hu nhiu h thng, ng dng, vi nhng kin trc khc nhau, xy dng vo nhng khong thi gian khc nhau v da trn nhng cng ngh khc nhau. Vo nhng nm 1990, cc doanh nghip chn gii php trn gi, mua hn mt vi gi phn mm ln vi nhng module c tch hp sn thay v c gng sa v kt hp chng vi nhau, bi v lc by gi kt hp cc sn phm t nhiu nh cung cp khc nhau thc s l mt cn c mng. Ngy nay, cc doanh nghip khng th chi tr nh vy, v mt gii php trn gi thng khng linh hot v c gi thnh cao. Cc doanh nghip quay li tm kim nhng gii php kt hp nhng ng dng c sao cho tho mn nhu cu, nhng ng dng gii quyt phn vic ca mnh, sau ch vic tng hp thng tin tr v. Trong qu trnh kt hp chc chn s gp nhng kh khn nh: Khng kh nng qun l quy trnh nghip v Tn chi phi tch hp S lng ln nh cung cp v khch hng, l cha k cc i th cnh trnh, cc quy trnh nghip v phc tp S lng ln cc ng dng cn kt hp v qun l nh Enterprise Resource Planning (ERP), Supply Chain Management (SCM), v Product Data Management(PDM) . Qu nhiu nh dng d liu Vn bo mt Trong khi nhng thay i vn lin tc xy ra Ton cu ho dn n tnh cnh tranh khc lit i hi phi rt ngn quy trnh sn phm tng u th cnh tranh vi cc i th. Nhu cu v yu cu khch hng thng xuyn thay i nhanh chng nhm cho ra cc sn phm c tnh cnh tranh lin tc xut hin trn th trng. Ci tin cng ngh dn n thay i cc thnh phn lin quan 29. Trang 8 Hnh 1-5 Thc trng c s h tng IT ca hu ht cc t chc hin nay. a phn nhng kh khn trn l bt ngun t mt trong ba nguyn nhn: phc tp, khng linh hot v khng bn vng. Phc tp: Ngy nay mi doanh nghip cng ngh thng tin c nhiu h thng loi khc nhau v lm vic theo nhng cch khc nhau. Cc cng ty pht trin phn mm phi thu nhng nhm nhn vin giu kinh nghim, c kh nng trn nhiu lnh vc khc nhau pht trin, trin khai v qun l cc ng dng v h thng m bn thn chng khng thng nht vi nhau. Thm vo l vic nng cp ri rm, tch hp cng vi nhu cu v bo mt ngy mt tng lm gia tng tnh phc tp cho nhng vn vn kh gii quyt vi cc doanh nghip. Khng linh hot: cng vi s phc tp l tnh cng nhc trong chnh sch, chin lc pht trin, cng nh l c s h tng ca cc cng ty. Hu nh cng ty no cng c nhng ng dng c sn m kh nng cp, kh kt hp hot ng hoc t hn, khng th thay th. Vn tch hp v th tr nn tn km v kh khn hn. Khng bn vng: tri ngc vi s cng nhc ni trn l s khng bn vng i cng vi kh nng tht bi v nhng vn khc i km. Cc phng php tip 30. Trang 9 cn truyn thng trong vic xy dng cc h thng phn mm thng dn n mt m hn n cc gii php lp ghp, tch hp. Kt qu l mi khi c thay i v quy trnh nghip v hoc yu cu th cc cng ty phi chp nhn pht trin nhng d n nng cp tn km hoc l hy v thay th hn cng ngh khng ph hp. Ri ro cng lc cng tng ln vi s ph thuc chng cho gia cc thnh phn , h thng c sn. Chnh v vy cc doanh nghip cn mt cch tip cn mi gii quyt vn mi trng khng ng nht v tc chng mt ca s thay i trong khi phi xoay s vi ngun ngn sch hn hp v nn kinh t kh khn. May mn thay, vn c mt cch tip cn gii quyt kh ton din mi kh khn nu trn v n c trin khai trong thc t. Cch tip cn gi l kin trc hng dch v Service- oriented Architecture (SOA). 31. Trang 10 Chng 2 GII THIU V KIN TRC HNG DCH V (SERVICE-ORIENTED ARCHITECTURE) Ni dung ca chng 2 trnh by v c s l thuyt ca m hnh SOA, bao gm: khi nim v kin trc hng dch v (SOA), nhng c trng v ch li t c ca m hnh kin trc ny. Ngoi ra, chng ny cng s i su vo tm hiu cc tng kin trc bn trong ca m hnh SOA 2.1 Kin trc hng dch v l g ? Kin trc hng dch v (Service-oriented architecture) l mt hng tip cn vi vic thit k v tch hp cc phn mm, chc nng, h thng theo dng module, trong mi module ng vai tr l mt dch v c tnh loose coupling, v c kh nng truy cp thng qua mi trng mng. Hiu mt cch n gin th mt h thng SOA l mt tp hp cc dch v c chun ho trn mng trao i vi nhau trong ng cnh mt tin trnh nghip v. Trong SOA c ba i tng chnh, minh ha trong Hnh 2-1 Hnh 2-1 S cng tc trong SOA 32. Trang 11 Nh cung cp (service provider) dch v cn cung cp thng tin v dch v ca mnh cho mt dch v lu tr thng tin dch v (service registry). Ngi s dng (service consumer) thng qua service registry tm kim thng tin m t v dch v cn tm v sau l xy dng knh giao tip vi pha nh cung cp. SOA cung cp gii php gii quyt cc vn tn ti ca cc h thng hin nay nh: phc tp, khng linh hot v khng n nh. Mt h thng trin khai theo m hnh SOA c kh nng d m rng, lin kt tt. y chnh l c s v nn tng cho vic tch hp, ti s dng li nhng ti nguyn hin c. Tht ra, t tng v mt h thng SOA khng phi l mi. Comnon Object Request Broker Architecture (CORBA) v m hnh Distributed Component Object Model (DCOM) ca Microsoft hay nh Enterprise Java Bean (EJB) ca Java ca cung cp tnh nng ny t lu. Tuy nhin nhng cch tip cn hng dch v ny vn cn gp phi mt s vn kh khn ( phn tch trn). SOA khng ch l mt ci tin ng k gip gii quyt nhng yu im ca cc cng ngh trc m cn em n nhiu u im ni tri hn ( xem li ch ca SOA mc 2.4 ). 2.2 Bn nguyn tc chnh ca h thng SOA 2.2.1 S phn nh ranh gii rch ri gia cc dch v Cc dch v thc hin qu trnh tng tc ch yu thng qua thnh phn giao tip. Thnh phn giao tip ny s qui nh v nhng nh dng thng ip s dng trong qu trnh trao i : thng ip no s c chp nhn v thng ip no s khng c x l. V y chnh l cch duy nht cc i tng bn ngoi c th truy cp thng tin v chc nng ca dch v. Ta ch cn gi cc thng ip theo cc nh dng c nh ngha trc m khng cn phi quan tm n cch x l ca dch v nh th no (mi trng thc thi, ngn ng lp trnh...). iu ny t c do s tch bit gia thnh phn giao tip v thnh phn x l trong kin trc ca dch v . 33. Trang 12 2.2.2 Cc dch v t hot ng Cc dch v cn phi c trin khai v hot ng nh nhng thc th c lp m khng l thuc vo mt dch v khc. Dch v phi c tnh bn vng cao, ngha l n s khng b sp khi c s c. thc hin iu ny, dch v cn duy tr y thng tin cn thit cho qu trnh hot ng ca mnh c th tip tc hot ng trong trng hp mt dch v cng tc b hng; v trnh cc cuc tn cng t bn ngoi (nh gi thng ip li, hay gi thng ip t) bng cch s dng cc k thut v an ton, bo mt... y chnh l ngha ca khi nim loose coupling service m ta cp trong nh ngha SOA. 2.2.3 Cc dch v chia s lc Cc dch v nn cung cp thnh phn giao tip ca n (interface) ra bn ngoi, v h tr chia s cc cu trc thng tin, cc rng buc d liu thng qua cc lc d liu (schema) chun (c lp ngn ng, c lp h nn.). Nh th h thng ca ta s c tnh lin kt v kh nng d m rng. 2.2.4 Tnh tng thch ca dch v da trn chnh sch iu ny ngha l, mt dch v khi mun tng tc vi mt dch v khc th phi tha mn cc chnh sch (policiy) v yu cu (requirements) ca dch v nh l m ha, bo mt... thc hin iu ny, mi dch v cn phi cung cp cng khai cc yu cu, chnh sch . 2.3 Cc tnh cht ca mt h thng SOA 2.3.1 Loose coupling Vn kt ni (coupling) m ch n mt s rng buc gia cch module vi nhau. C hai loi coupling l ri (loose) v cht (tight). Cc module c tnh loose coupling c mt s rng buc c m t r rng trong khi cc module c tnh tight coupling li c nhiu rng buc khng th bit trc. Hu nh mi kin trc phn mm u 34. Trang 13 hng n tnh loose coupling gia cc module. Mc kt dnh ca mi h thng nh hng trc tip n kh nng chnh sa h thng ca chnh n. Kt dnh cng cht bao nhiu th cng c nhiu thay i lin quan cn chnh sa pha s dng dch v mi khi c thay i no xy ra. Mc coupling tng dn khi khi bn s dng dch v cng cn bit nhiu thng tin ngm nh ca bn cung cp dch v s dng dch v c cung cp. Ngha l nu bn s dng dch v bit v tr v chi tit nh dng d liu ca bn cung cp dch v th quan h gia hai bn cng cht. Ngc li, nu bn s dng dch v khng cn bit mi thng tin chi tit ca dch v trc khi triu gi n th quan h gia hai bn cng c tnh loose coupling. SOA h tr loose coupling thng qua vic s dng hp ng v lin kt (contract and binding). Mt ngi s dng truy vn n ni lu tr v cung cp thng tin dch v (registry) ly thng tin v loi dch v cn s dng. Registry s tr v tt c nhng dch v thoi tiu chun tm kim. T by gi ngi dng ch vic chn dch v m mnh cn, v thc thi phng thc trn theo m t dch v nhn c t registry. Bn s dng dch v khng cn ph thuc trc tip vo ci t ca dch v m ch da trn hp ng m dch v h tr. Hnh 2-2 - Tnh cht loose-coupling Tnh loose coupling gip g b nhng rng buc iu khin gia nhng h thng u cui. Mi h thng c th t qun l c lp nhm tng hiu sut, kh nng m rng Messages Agreements Programming Language Object Model Application Server Database Operating System Database Operating System Programming Language Object Model Application Server Application 1 Application 2 35. Trang 14 v kh nng p ng cao. Nhng thay i ci t cng c che du i. Loose coupling em n s c lp gia bn cung cp v bn s dng nhng n i hi cc interface phi theo chun v cn mt thnh phn trung gian qun l, trung chuyn yu cu gia cc h thng u cui. 2.3.2 S dng li dch v Bi v cc dch v c cung cp ln trn mng v c ng k mt ni nht nh nn chng d dng c tm thy v ti s dng. Nu mt dch v khng c kh nng ti s dng, n cng khng cn n interface m t. Cc dch v c th c ti s dng li bng cch kt hp li vi nhau theo nhiu mc ch khc nhau. Ti s dng li cc dch v cn gip loi b nhng thnh phn trng lp v tng vng chc trong ci t, n cn gip n gin ho vic qun tr. Thc ra ti s dng dch v li d dng hn ti s dng thnh t hay lp. Nhng dch v c dng chung bi tt c cc ng dng ca mt h thng SOA gi l nhng shared infrastructure service. 2.3.3 S dng dch v bt ng b Trong phng thc triu gi dch v bt ng b, bn gi gi mt thng ip vi y thng tin ng cnh ti bn nhn. Bn nhn x l thng tin v tr kt qu v thng qua mt knh thng ip, bn gi khng phi ch cho n khi thng ip c x l xong. Khi s dng kt hp thng ip dng coarse-grained vi mt dch v chuyn thng ip, cc yu cu dch v c th c a vo hng i v x l vi tc ti u. Do bn gi khng phi ch cho n khi yu cu c x l xong v tr v nn khng b nh hng bi vic x l tr v li khi thc thi cc dch v bt ng b. Trn l thuyt mt h thng SOA c th h tr gi v nhn c thng ip ng b v bt ng b. 2.3.4 Qun l cc chnh sch Khi s dng cc dch v chia s trn mng, ty theo mi ng dng s c mt lut kt hp ring gi l cc policy. Cc policy cn c qun l cc p dng cho mi dch v c khi thit k ln khi trong thi gian thc thi. 36. Trang 15 Vic ny tng kh nng to ra cc dch v c c tnh ti s dng. Bi v cc policy c thit k tch bit, v ty vo mi ng dng nn gim ti a cc thay i phn mm. Nu khng s dng cc policy, cc nhn vin pht trin phn mm, nhm iu hnh v nhm nhm h tr phi lm vic vi nhau trong sut thi gian pht trin ci t v kim tra nhng policy. Ngc li , nu s dng policy, nhng nhn vin pht trin phn mm gi ch cn tp trung vo quy trnh nghip v trong khi nhm iu hnh v nhm h tr tp trung vo cc lut kt hp. 2.3.5 Coarse granularity Khi nim granularity trong dch v c th hiu theo hai cch. u tin, n c hiu trong phm vi ton b kin trc ci t ca dch v. Th hai, n c hiu trong phm vi tng phng thc ca tng interface trin khai. Mc granularity cng c hiu mc tng i. V d, nu mt dch v ci t tt c chc nng ca mt h thng ngn hng, chng ta xem n l coarse-grained. Nu n h tr ch chc nng kim tra th tnh dng, chng ta li xem n l fine-grained. Trc khi c kin trc thnh t v dch v, cc h thng phn tn ch yu da trn tng phn tn i tng. Nhng h thng phn tn i tng cha bn trong n nhiu i tng fine-grained trao i thng tin vi nhau qua mng. Mi i tng c nhng rng buc vi nhiu i tng khc bn trong h thng. Do truy cp n mt i tng phi qua nhiu trung gian m hiu qu t c khng cao nn khuynh hng thit k h thng phn tn i tng ang dn chuyn sang thit k cc coarser-grained interface. Hnh 2-3 minh ha mt h thng phn tn i tng vi nhiu mi lin kt. Cng vi kch thc v phc tp ca h thng ngy cng tng, nhng rng buc ny tr nn ngy cng kh qun l. Hiu sut cng gim tng ng s lng cc kt ni trung gian. Kh nng bo tr cng gim khi s lng rng buc gia nhng i tng ngy mt tng. Khi mt i tng cn c thay i interface, n c th nh hng n mt lng ln nhng i tng phn tn khc. Nhn vin pht trin phi bin dch v trin khai li ton b i tng b thay i v nhng i tng lin quan vi chng. 37. Trang 16 Mt h thng da trn qun l cc truy cp n i tng bn trong dch v thng qua mt s coarse-grained interface nh Hnh 2-4. Mt dch v c th c ci t nh mt tp nhng i tng fine-grained nhng bn thn nhng i tng li c s dng trc tip qua mng. Trong khi mt service c ci t nh nhng i tng c mt hoc nhiu i tng coarse-grained hot ng nh nhng facades phn tn th nhng i tng ny li c th c s dng qua mng v cho php truy cp n cc i tng su bn trong. Tuy nhin cc i tng bn trong service by gi s trao i trc tip vi nhau trong cng mt my ch khng phi trn mng. Hnh 2-3 Cc i tng fine-grained Hnh 2-4 Cc i tng coarse-grained 38. Trang 17 Mc d nhng service ni chung h tr coarser-grained interface hn cc h thng phn tn i tng v cc h thng hng thnh t, th vn hm cha bn trong n cha mt mc granularity no , nh hnh Hnh 2-5. Hnh 2-5 Cc mc granularity 2.3.6 Kh nng cng tc Kin trc hng dch v nhn mnh n kh nng cng tc (Interoperability), kh nng m cc h thng c th giao tip vi nhau trn nhiu nn tng v ngn ng khc nhau. Mi dch v cung cp mt interface c th c triu gi thng qua mt dng kt ni. Mt kt ni gi l interoperable cha bn trong n mt giao thc v mt nh dng d liu m mi client kt ni n n u hiu. Interoperability is achieved bng cch h tr cc giao thc v nh dng d liu chun ca dch v v cc client. K thut ny t c bng cch nh x mi tnh cht v ngn ng qua mt c t trung gian. c t trung gian s chu trch nhim nh x gia nh dng ca d liu kh kt (interoperable) n nh dng d liu ty thuc vo nn tng h thng. V d Web Service l mt c t trung gian cho giao tip gia cc h thng, JAX-RPC v JAXM chuyn i tng dng Java thnh SOAP. 2.3.7 T ng d tm v rng buc ng SOA h tr khi nim truy tm dch v (service discovery). Mt ngi s dng cn n mt dch v no c th tm kim dch v da trn mt s tiu chun khi cn. Ngi s dng ch cn hi mt registry v dch v no tho yu cu tm kim. V d, mt h thng chuyn khong (consumer) yu cu mt registry tm tt c cc dch v c kh nng kim tra th tn dng. Registry tr v mt tp cc entry tho yu cu. Cc 39. Trang 18 entry cha thng tin v dch v, bao gm c ph giao dch. Bn s dng s chn mt dch v c ph giao dch thp nht trong danh sch cc dch v tr v, kt ni n nh cung cp dch v da trn thng tin registry entry s dng dch v kim tra th tn dng. Trong phn m t dch v km theo c tt c cc tham s cn thit dng thc thi dch v, bn s dng ch cn nh dng d liu yu cu ng theo m t cung cp v gi i. Nh cung cp dch v s thc thi kim tr th tn dng v tr v mt thng ip c nh dng ng nh trong phn m t dch v. Mi rng buc duy nht gia bn cung cp v bn s dng l bn hp ng c cung cp bi registry trung gian. Mi rng buc ny l rng buc trong thi gian chy ch khng phi rng buc trong lc bin dch. Tt c thng tin cn thit v dch v c ly v v s dng trong khi chy. V d trn cho thy cch bn s dng triu gi dch v mt cch ng. y l mt th mnh ca SOA. Vi SOA, bn s dng dch v khng cn bit nh dng ca thng ip yu cu v thng ip tr v,cng nh a ch dch v cho n khi cn. 2.3.8 T hi phc Vi kch c v phc tp ca nhng ng dng phn tn ngy nay, kh nng phc hi ca mt h thng sau khi b li tr thnh mt yu t quan trng. Mt h thng t hi phc (self-healing) l mt h thng c kh nng t hi phc sau khi b li m khng cn s can thip ca con ngi. tin cy (reliability) l mc o kh nng mt h thng x l tt nh th nao trong tnh trng hn lon. Trong kin trc hng dch v, cc dch v lun c th hot ng hay ngng bt k lc no, nht l i vi nhng ng dng tng hp t nhng t nhiu dch v ca nhiu t chc khc nhau. tin cy ph thuc vo kh nng ph hi ca phn cng sau khi b li. H tng mng phi cho php cc kt ni ng t nhiu h thng khc nhau kt ni n trong khi chy. Mt kha cnh khc nh hng n tin cy l kin trc m da trn ng dng c xy dng. Mt kin trc h tr kt ni v thc thi ng khi chy s c kh nng t phc hi hn mt h thng khng h tr nhng tnh nng trn. 40. Trang 19 Thm vo , bi v nhng h thng da trn dch v yu cu s tch bit gia interface v ci t, nn c th c nhiu ci t khc nhau cho cng mt interface. Nu mt th hin service no khng hot ng th mt th hin khc vn c th hon tt giao dch cho khch hng m khng b nh hng g. Kh nng ny ch c c khi client ch tng tc vi interface ca dch v ch khng tng tc trc tip ci t ca dch v. y l mt trong nhng tnh cht c bn ca cc h thng hng dch v. 2.4 Li ch ca SOA Ni n SOA l ni n tit kim- c tit kim chi ph ln thu c gi tr nhiu hn t cc h thng c sn. Hn cng phi c l do hng trm tp on ch n SOA nh mt gii php tch hp nhm gim gi thnh ca mt n mt cch rt n tng. S dng li nhng thnh phn c sn Mt trong nhng li ch r rng nht ca SOA l n gip cc cng ty thu c gi tr nhiu hn bng cch s dng li nhng ti nguyn sn c; kt qu l gim chi ph cho phn kin trc v tch hp. Ngoi ra n cn gip gim chi ph mua phn mm mi. Thi gian vit chng trnh ly d liu t my ch trc y c tnh bng thng th by gi ch cn tnh bng pht ! Li ch ca vic s dng li c th chia lm 2 phn : Li ch t vic s dng li nhng thnh phn nhm gim tnh d tha. Li ch t vic s dng li nhng thnh phn c sn khi thit k cung cp mt chc nng mi. u tin nh ni, nhiu phn mm doanh nghip pht trin thnh nhng nhm phn mm tch bit (funtional silos), thng thng l tng ng vi mi n v kinh doanh. V d mt cng ty bn l c th c mt nhm phn mm cho h thng phn phi, mt nhm phn mm cho h thng lu kho v mt nhm phn mm cho nhng chc nng lin kt. Thng thng nhng nhm phn mm ny c pht trin trn nhiu nn tng khc nhau, s dng nhiu ngn ng lp trnh khc nhau v 41. Trang 20 thng c nhiu tnh nng lp li gia chng. Mt h thng SOA cho php cc cng ty trnh tnh trng lp d tha, to ra nhng n th dch v chia s gia cc ng dng. Trong mt h thng SOA, ch cn thay i duy nht mt phin bn ca dch v cn c thay i v ch cn kim th mt ln, s dng nhng k nng tng ng vi nhng k nng dng pht trin dch v. Li ch r rng nht l gim chi ph bo tr phn mm. Ngoi ra iu ny cn gip doanh nghip chu trch nhim nhiu hn vi nhng thay i v v mt nghip v v cho php doanh nghip cp nht nhng tnh nng ca n nhanh hn. Bng cch phn r mt ng dng thnh nhng n th dch v nghip v, sau cho nhng dch v ny lin kt li vi nhau, cc h thng by gi c th s dng li c cc thnh phn c sn, gim chi ph pht trin tng phn c lp cho mi tnh nng mi cha c. Thay v phi thay i , vi SOA ta ch cn to ra cc cu ni lin h gia nhng h thng v ng dng khc nhau, thay v chnh sa hoc xy dng li t u. Bi v c a phn cc dch v mi s dng li nhng dch v sn c nn chi ph pht trin cc thnh phn mi c gim n mc ti thiu. Ngha l : Cc cng ty c th trin khai nhng tin trnh x l mi nhanh hn rt nhiu. Chi ph dnh cho pht trin v kim th gim ng k Gim ri ro khi dch v tm ngng hot ng Li ch cui cng ca vic ti s dng thng kh nhn thy, l s dng nhng thnh phn c sn trc mi khi c th th mi khi c li xy ra ta c th gii hn vo khu vc c nhng thnh phn ang c pht trin. Nh ri ro v li phn mm gim i v tng cht lng dch v. Gim chi ph pht trin v kim th, v trnh cng vic trng lp l mt trong nhng li ch m SOA mang li. Nhng quan trng vn l li ch t vic tng kh nng kinh doanh. Nu nhng nhn t ny c nh gi ng mc th li ch mang li l rt ng k. 42. Trang 21 Gii php ng dng tng hp cho doanh nghip Cng vi v d trn, SOA mang n kh nng tng hp mt lp cc ng dng mi bng cch kt hp chc nng t nhng h thng c sn, cung cp cho ngi cui nhng chc nng lin kt. y mt s tin trnh c c th c kt hp vi nhau bn trong mt cng thng tin (portal) gip cho ngi dng cui ch cn truy cp mt ln m vn c thng tin v hng lot sn phm ca doanh nghip. Loi kt hp ny c th kh khn nu khng s dng SOA v n i hi vic tch hp phc tp, n lc lp trnh v kim th. Nhng vi SOA , mt ng dng tng hp c th c tng hp d dng, bt k s khc nhau v a l hoc cng ngh pht trin cc dch v . iu ny cho php doanh nghip phn ng nhanh theo yu cu, gim chi ph n mc ti thiu v tng sc mnh tho mn yu cu ca ngi dng cui hiu qu hn. Tnh loose coupling gip tng tnh linh hot v kh nng trin khai ci t Li ch k tip n t tnh loose coupling ca SOA, trong pha triu gi dch v khng cn quan tm n a ch hoc cng ngh nn tng ca service. N mang n kh nng linh hot cao v nhiu li ch khc. Trong mt h thng SOA ta triu gi dch v thng qua cc interface theo mt dng thc chun nn gip lp trnh vin trnh c vic phi lp li cng vic to mi cc service c kh nng hiu tt c nhng cng ngh c s dng bi tng dch v trong h thng. Th hai, trong trng hp cn kt ni vi cc i tc thng mi th nhng dch v c tnh loose-coupling, nhng interface chun cng em li nhiu li ch hn. Vi mt h thng SOA, tht d dng khi cung cp mt lot nhng dch v ra bn ngoi cho mt i tc no s dng. Nh tnh c lp a ch v cng ngh ca SOA, i tc kia khng cn quan tm n dch v c ci t nh th no, v nh cc dch v theo chun giao tip nn i tc ch cn mt lng thng tin nh va s dng dch v. Tng t cho iu ngc li, nu i tc xy dng mt h thng SOA th vic em s dng chc nng mt s dch v ca h vo s dng bn trong h thng ca mnh cng tr nn d dng v nhanh chng. c tnh ny ca SOA ha hn tng hiu sut v t ng ho. 43. Trang 22 Cui cng mt li ch m tnh loose coupling mang li l tng kh nng trin khai. Nh phn tch trn, nhng thnh phn c tnh loose coupling c th c triu gi m khng cn bit chng c ci t nh th no m ch cn bit cch thc triu gi chng thng qua mt interface chun. V vy ch cn bc nhng thnh phn s dng interface ng dng thnh dng dch v, ta c mt n th thnh phn c s dng trong h thng SOA nh nhng dch v bnh thng khc. Thch ng vi nhng thay i trong tng lai Cc phng php tip cn truyn thng trong quy trnh pht trin phn mm c th m t ngn gn l ngi dng m t h cn g cng ty pht trin phn mm trin khai h thng theo yu cu. Quy trnh ny i khi gp kh khn khi gp nhng tnh hung thay i khng nh trc. Vi SOA, cng ty pht trin phn mm c th to nn nhng quy trnh nghip v uyn chuyn, phc tp bin i ty theo yu cu v theo thi gian thc. H tr a thit b v a nn tng. SOA cung cp mt tng giao tip tru tng t cc nn tng bn di. iu ny cho php h tr nhiu loi thit b u cui khc nhau bao gm c nhng trnh duyt v thit b di ng nh pager, in thoi di ng, PDA v cc thit b chuyn dng khc s dng cng mt chc nng m vn c thng tin tr v ty theo dng thit b. Tnh c lp cng ngh ny gip cho cc cng ty tit kim chi ph rt nhiu nht l khi phi x l vi v s cng ngh hin ang c s dng. Tng kh nng m rng v kh nng sn sng cung cp. Nh tnh c lp a ch ca SOA, ta c th tng kh nng m rng bng cch thm nhiu th hin (instance) ca mt service. Cng ngh chia ti (load-balancing) s t ng tm v nh tuyn yu cu n th hin service thch hp. Tng t, SOA c th chuyn tip ni dung yu cu n mt th hin khc khi cn,nh tng kh nng sn sng phc v. 44. Trang 23 Cn nhn mnh l li ch m SOA mang li khng phi l t m l rt n tng. Thc t gi tr kinh t m SOA mang li ln n ni cc tp on trn th gii ang suy xt xem lm th no chuyn ton b cc kin trc phn mm c sn ca h thnh SOA. 2.5 Mt s m hnh trin khai SOA Chng ta s tho lun v ba m hnh trin khai chnh ca SOA l : service registy, service broker v service bus. Service registry : y l m hnh truyn thng nh v v lin kt cc dch v trong mt h thng SOA. (xem hnh Hnh 2-6) . M hnh service registry v c bn ch cn cc chun Web services thng thng l SOAP, WSD v UDDI. Vn ln nht ca m hnh ny l cc lin kt dch v l kt ni tnh v phi nh ngha trong thit k, iu ny lm cho m hnh tr nn cng nhc. C mt cch ci tin lm cho m hnh ny linh hot hn l tm kim, nh v cc dch v khi chy. UDDI h tr nhiu cu hnh khc nhau cho cng mt dch v cung cp bi nhiu nh cung cp dch v khc nhau. iu ny cho php chia ti v tng tnh tin cy bi v service directory c th tm kim mt dch v no trn tt c cc nh cung cp dch v hin c . Hnh 2-6 - M hnh service registry 45. Trang 24 Service broker : Mt b trung gian lm vic gia dch v cung cp v dch v tiu th. Trong m hnh c bn, tt c nhng thng ip u c trung chuyn qua service broker. Dch v ny c th lm nhiu chc nng nh nh tuyn da trn d liu thng ip, x l li, chuyn i thng ip, chia ti v lc thng tin. N cng c th cung cp dch v bo mt, chuyn i giao thc, lu vt v cc dch v hu ch khc. Tuy nhin, service broker l ni c th xy ra hin tng nghn c chai v l im d b hng hc. M hnh broker phn tn l mt bc ci tin mi, mi nn tng dch v c mt broker cc b cho php giao tip vi mt service broker trung tm v giao tip trc tip vi cc service broker cng cp cc nn tng dch v khc. Hnh 2-7 M hnh service broker 46. Trang 25 Service bus : y l m hnh ra i sau nht trong 3 m hnh nhng n c s dng trong cc sn phm thng mi large-scale (nh IBM, BEA). Service bus cng l m hnh c tnh loose coupling nht trong cc m hnh, trong cc dch v khng kt ni trc tip vi nhau. i khi cc service bus kt ni vi nhau thnh mt mng cc service bus. Hnh 2-8 M hnh service bus Hnh 2-9 M hnh service bus phn tn 47. Trang 26 2.6 Kin trc phn tng chi tit ca SOA tng thp nht, tng kt ni (connectivity), nhng dch v c m hnh ho da trn nhng ng dng enterprise bn di. Tng ny cha cc dch v nh ly thng tin chi tit sn phm hoc cp nht thng tin khch hng , chng tng tc trc tip vi cc h thng phi dch v bn di. Cc dch v ny l c trng cho mi ng dng enterprise. Pha bn trn tng kt ni l mt s dch v orchestration c thm vo to ra cc dch v tht s x l nhng chc nng nghip v c lp da trn nhng ng dng enterprise bn di. Nhng dch v ny cn gi l nhng dch v tng hp (composite service). Trn cng ca tng service orchestration l cc ng dng tng hp s dng cc service and cung cp giao din c th cho ngi s dng. Hnh 2-10 Kin trc phn tng ca h thng SOA 2.6.1 Tng kt ni Mc ch ca tng kt ni l kt ni n cc ng dng enterprise hoc ti nguyn bn di v cung cp chng thnh dng nhng dch v. Tng ny l tng chuyn giao tip vi cc nh cung cp, hot ng nh mt b chuyn i (adapter) gia cc ng dng phi dch v v mng cc dch v khc. Ty vo ng dng c th no m b chuyn i tng ng c s dng. 48. Trang 27 V c bn, tng ny c th dng thc hin kt ni n cc h c s d liu. Nhng ngn ng lp trnh hin i cung cp nhng tp hm API cho php truy cp n hu ht c s d liu thng dng. Vi cc ng dng enterprise th li khc, v mi nh cung cp cung cp tp hm API khc nhau. 2.6.2 Tng orchestration Tng orchestration cha cc thnh phn ng vai tr va l nhng dch v s dng va l nhng dch v cung cp. Nhng dch v ny s dng nhng dch v ca tng kt ni v cc dch v orchestration khc kt hp nhng chc nng cp thp hn thnh nhng dch v hot ng cp cao hn, c hnh vi gn vi nhng chc nng nghip v thc hn. Simple composite service : l nhng dch v n thun kt hp nhng li triu gi n cc dch v bn di, hot ng nh mu mt tin. Chng gip n gin ho qua trnh tng tc vi cc dch v cp thp v che du tnh phc tp ti ngi s dng cc dch v tng cao. Process service: l nhng dch v nh ra mt tin trnh kt ni nhng dch v cp thp hn. iu ny rt hu dng khi thit k cc dch v kt ni n nhiu h thng enterprise bn di sau thc thi nh mt tin trnh. V d dch v Submit New Order c th c xem nh mt process service thc hin tng tc vi c s d liu khch hng ly thng tin chi tit v khch hng, quyt nh da trn thng tin ti khon ca khch hng, tng tc h thng lu kho v h thng ti chnh hon tt yu cu t hng. Bi v process service c nhng c tnh gn vi quy trnh nghip v ca doanh nghip nn hin c rt nhiu n lc chun ho cch thc nh ngha ra chng. WS- BPEL (Web Service Business Process Execution Language) l tn c t chc OASIS chn cho chun ny. Cho n thng 5 nm 2004, chun ny vn c lin tc cp nht c th m t nhiu process a dng vi mc phc tp ngy cng cao. 49. Trang 28 Data service : l nhng dch v cung cp d liu thu thp t nhiu ngun d liu tch bit khc nhau. Trong nhiu trng hp d liu cng tn ti trn nhiu ng dng v c s d liu khc nhau. V d thng thy l thng tin v khch hng. Doanh nghip thng lu tr thng tin khch hng trong h thng t hng, h thng ti chnh v h thng CRM. Mi h thng ch cha mt phn d liu trong ton b d liu v khch hng. Data service thng khng c xem nh mt dch v orchestration m n chu trch nhim tng tc trc tip vi nhng c s d liu bn di thng qua nhng phng thc truy cp phi dch v (non-service oriented accesss) nh JDBC hoc J2CA. Chng cung cp d liu t nhng ng dng c lp v kt hp d liu t nhiu ngun khc nhau. Data service thng s dng mt s ngn ng truy vn v c ch m t khc xc nh quan h gia nhng lc d liu (data schema). Cc cng ngh ph bin hin nay l SQL, XSLT v Xquery trong XQuery v XSLT l hai cng ngh thun v vic truy vn d liu trong bi cnh Web Service v chng x l v kt xut d liu dng XML. 2.6.3 Tng ng dng tng hp D liu truyn qua li gia nhng dch v cui cng cng nh hng n ngi s dng theo nhiu dng giao din khc nhau. Tng ny c xem l tng tch hp cui cng ca qu trnh tch hp. 50. Trang 29 Hnh 2-11 Mt cng thng tin cung cp thng tin trong mt vng nhn duy nht Hnh 2-12 Cc portlet truy xut d liu t nhiu ngun khc nhau c cung cp di dng dch v 51. Trang 30 Tng ng dng tng hp l tng n thun s dng cc dch v, n cung cp cc ng dng cho ngi dng cui. Nh tnh linh hot ca SOA v c tnh ca cc dch v c tng hp t tng orchestration, cc ng dng tng hp c kh nng biu din mi loi thng tin t mi ngun thng tin, thm ch cn cho php ngi s dng gi thng tin tng hp m thng tin s c phn phi li cho cc h thng bn di. Bn cht ca giao din l kh xy dng. Chng cng kh c chia thnh tng thnh phn logic tng tc vi nhau theo dng chun ho. i khi c gng phn r mt thnh phn giao din thnh nhng phn nh li lm mt b cc cht ch v kh s dng hn l ng dng gc. Tng ng dng tng hp chia lm hai tng nh hn l Portal v tng Portlet. Mt Portlet c nh ngha nh mt ng dng chy trong mt ca s thnh phn trong mt ng cnh ln hn vi s tch bit r rng gia Portlet v ng cnh ca n. Portlet l thnh phn cung cp v s dng dch v . C iu l dch v chng cung cp l mt dng dch v giao din c bit c thit k c bit c s dng bi mt b UI Framework consumer (mt Portal). Mi portlet s dng mt s dch v lin quan ca tng orchestration bn di v cho php ngi s dng gi thng tin b sung. Cng ngh web hin nay nh Java Server Faces (JSF) v ASP.NET u h tr xy dng portlet. Portal l mt b khung tch hp s dng cc Porlet, trang b cho chng mt v ngoi thng nht v th hin thnh mt giao din hon chnh cho ngi dng cui. Kin trc hng dch v tht s em n nhng li ch to ln. Th nhng t c nhng li ch ny ta phi xy dng v trin khai thnh cng h thng SOA. Chng 3 s trnh by v cc vn ny. 52. Trang 31 Chng 3 XY DNG H THNG SOA Chng 3 s trnh by cc vn lin quan n vic xy dng v trin khai h thng SOA trong thc t mt cch hiu qu, bao gm phn tch cc thch thc gp phi v xem xt qui trnh cc bc nn thc hin khi xy dng h thng SOA. 3.1 Nhng thch thc khi xy dng h thng SOA Nhng li ch t c ca mt h thng SOA qu r rng. Th nhng vic trin khai mt h thng SOA khng phi l iu d dng. Trong thi gian qua, chng ta chng kin cc s thay i cc m hnh tnh ton trong cc t chc. T m hnh tnh ton tp trung (mainframe) sang cc m hnh phn tn client/server, ri sau l cc kin trc da trn nn tng Web bi pht trin ln mnh ca Internet. V nay, qu trnh ny vn cn tip tc. Chng ta ang thi k qu sang m hnh tnh ton da trn dch v v kin trc hng dch v (SOA). Vi mi s chuyn i u c nhng tho lun, tranh ci, kinh nghim; c nhng ngi dn ng v nhng ngi ni bc; c nhng ngi chin thng v nhng ngi tht bi; c nhng h thng vn hnh hiu qu v nhng h thng b v Ln ny cng s khng c g khc. Ta s xem xt cc vn m s gy nhiu tr ngi cho trong qu trnh trin khai cc h thng SOA. Phn ny s trnh by thch thc m mt t chc s phi i mt tng ng vi cc pha trong mt d n trin khai thc t. Xc nh dch v Dch v l g? Chc nng nghip v no cn c cung cp bi mt dch v? mn (granularity) ca dch v th no l tt? Vic xc nh dch v v quyt nh i tng cung cp dch v mt cch thch hp, hiu qu l giai on quan trng v u tin trong mt gii php 53. Trang 32 hng dch v. Trong thc t, nhiu chc nng nghip v tng t nhau c th c cung cp bi nhiu h thng trong mt t chc. Phn b dch v Ta nn t dch v v tr no trong h thng? Cc dch v thng hot ng da trn cc thc th nghip v. Cc i tng ny c lu v qun l trong h thng. V tr ca cc thc th ny cng l v tr tt nht t dch v. Tuy nhin, bi c tnh ca mt h thng phn tn nn cc i tng ny c phn b ri rc nhiu v tr v c th c tnh trng mt i tng c qun l nhiu ni. V th, ng b d liu gia cc h thng tr nn l mt yu cu quan trng. Trong mi trng nh th th dch v s c t u? Xc nh min dch v Lm sao gom nhm cc dch v thnh cc min lun l (logic domain)? Vic phn loi, gom nhm cc dch v thnh cc min lun l s n gin ha kin trc h thng bi s gim c s lng cc thnh phn cn xy dng. Ngoi ra, vic nh ngha cc min lun l nh th cng nh hng n nhiu kha cnh khc ca kin trc h thng nh cn bng ti (load balancing), iu khin truy cp (access control), s phn chia theo chiu su hay chiu rng cc x l nghip v. Tuy nhin, iu kh khn nht l lm sao t c ng nht quan im ca cc n v, cc b phn k thut v tnh hp l ca mt min to ra. ng gi dch v Lm sao c th bao bc cc chc nng sn c ca h thng c vo trong mt dch v? Nu h thng khi c thit k quan tm v h tr vn tch hp vi cc h thng mi th vn ny s d dng hn. Tuy nhin, khi cc h thng c ny trc y c xy dng nh the m hnh kn, ng gi (monolithic) trong cha ton b cc thng tin v nguyn tc v qui trnh 54. Trang 33 x l th nay, khi c tch hp, cc thng tin ny cn c chia s v phn b trong nhiu ng dng khc nhau. Service orchestration: Lm sao c th to ra cc dch v tng hp (composite service)? Nhu cu kt hp nhiu dch v p ng c nhiu yu cu phc tp t i tng s dng l c thc. Vn l lm sao kt hp cc dch v ny mt cch c hiu qu, theo nhng qui trnh vi nhng rng buc phc tp. nh tuyn dch v Lm sao chuyn mt yu cu t mt i tng s dng dch v n dch v hay min dch v thch hp? Mt h thng SOA phi c tnh c lp a ch cho i tng s dng cc service ca h thng. Ngai ra cn phi quan tm n vn hiu sut hot ng ca h thng v vic nh v mt dch v l mt qu trnh cng chim nhiu thi gian. Qun l dch v Vn qun l v bo tr cc dch v, vic to xy, theo di v thay i cc dch v nh th no cho c hiu qu? Chuyn i thng ip chun dch v Lm sao la chn mt chun nh dng thng ip trao i gia cc chun? Lm sao c th xy dng mt chun nh dng d liu m mi h thng u c kh nng hiu v x l. Ngoi cc kh khn trn mi t chc vi mi c th ring ca mnh c th s phi i din vi cc vn khc trong qu trnhtrin khai h thng 55. Trang 34 3.2 Xy dng h thng SOA 3.2.1 Gii thiu bi ton Phn ny s gii thiu cc giai on cn tin hnh trin khai mt h thng SOA t hiu qu cao. trnh by vn mt cch trc quan hn, ta s thc hin xy dng mt gii php tng th cho bi ton Bn hng qua mng M t bi ton: Khch hng (customer) s truy cp vo website ca i l (retailer) xem qua cc mt hng v t hng cc sn phm in t nh l TV, u DVD v video camera. i l chuyn yu cu (order) n cho b phn th kho (warehouse) x l. Nu ngun hng trong kho di mc cho php th yu cu b sung hng (replenishment order) c gi n nh sn xut (manufacturer). Nh sn xut khng gii quyt ngay yu cu b sung hng, m c th sau mt khong thi gian no khi sn xut lng hng. 56. Trang 35 3.2.2 Mt s khi nim Phn ny s gii thiu cc phng php xc nh cc services theo phng php top-down (xut pht t cc yu cu nghip v) v bottom-up (xut pht t thc trng ca h thng hin c). C th hn, s trnh by mt s k thut cng nh l m t cc bc cn tin hnh xy dng hay chuyn i mt h thng sn c theo m hnh SOA. Phng php ny bao gm 7 bc chnh c th hin Hnh 3-1. Cc bc ny khng nht thit phi c thc hin mt cch tun t v tuyn tnh, m quy trnh c th c iu chnh bng cch quyt nh cc bc no cn c thc hin song song, v s rng buc gia cc bc l nh th no ty vo cc c trng ca h thng c th cn trin khai. Hnh 3-1 - Cc bc cn thc hin khi trin khai mt h thng SOA. Chng ta s i theo qui trnh t trn xung (theo nh trong Hnh 3-1). Vi cc bc m song song nhau th trong thc t c th tin hnh cng mt lc. Mt s khi nim cn quan tm : 57. Trang 36 Min nghip v (Business domain): L mt min hay mi trng trong din ra hot ng tng tc (nh trao i ti nguyn) gia cc tc nhn nghip v (economic agents), nh l mua bn, sn xut, dch v ... Tin trnh nghip v: L mt hot ng thc hin trong qu trnh qun l nghip v mt cch th cng hay t ng. Mi tin trnh u cn d liu u vo v cho ra mt kt qu khi kt thc. Ty thuc vo phc tp m mt tin trnh c th l mt tc v n gin hay l mt th tc phc tp Tin trnh con: L mt tin trnh c thc hin nh mt phn ca tin trnh khc. Tin trnh con c th c tru tng ha che du chi tit bn trong v c th ha th hin y quy trnh thc hin bn trong. S nghip v s dng: Tp trung hn vo m t cc qui trnh x l, cn cc vn lin quan n k thut, cch ci t ch c m t mt cch tng qut, tru tng, nh l ch nu ln nhng d nh (intentions). S h thng: Trong s h thng m t r rng nhng quyt nh (decisions) lin quan n ci t, trin khai, k thut, v d nh trong khi m t s s dng cc thut ng nh system, report, screen...) H thng con: Mt h thng s c chia thnh nhiu h thng con chu trch nhim v mt hay mt nhm chc nng ca h thng. H thng con s c xy dng nh nhng thnh phn c lp c th s dng li. Thnh t: Mt h thng gm nhiu thnh phn, v mt thnh phn m nhim vic thc thi mt nhm chc nng c lin quan ca h thng. Mt thnh phn s cha nhiu dch v v cung cp cc dch v ny ra bn ngoi nh l thnh phn giao tip. 58. Trang 37 Thnh phn nghip v: Thnh phn nghip v l mt thnh phn ci t ca mt chc nng hay qui trnh nghip v. Thnh phn nghip v c xy dng nh nhng thnh n v c lp v c kh nng ti s dng ca h thng. Mt vi v d ca thnh phn nghip v nh: qun l danh mc hng ha, qun l thanh ton, qun l t hng v tnh thu Thnh phn k thut: thnh phn k thut thc thi cc chc nng k thut trong c s h tng ca h thng (nh security component , scheduling component), c lp vi cc chc nng nghip v. Value-chain : L khi nim nhm ch cc loi hot ng nghip v c thc hin vi mc ch nng cao li nhun ca doanh nghip, bao gm cc hot ng nh thu thp nguyn vt liu, sn xut, phn phi sn phm, marketing, chm sc khch hng.... Vng chc nng: L khi nim dng m t mt b phn chu trch nhim cho mt nhm cc chc nng c lin quan nh l v khch hng, sn xut, phn phi sn phm, lu tr kho Top-down : trong xy dng mt h thng SOA, th phng php top-down l phng php m im xut pht ca n s l t cc yu cu nghip v xc nh cc yu cu chc nng, cc tin trnh v tin trnh con, cc trng hp s dng (use cases) tin ti vic xc nh cc thnh phn h thng (components), cc dch v Bottom-up : phng php ny s da trn vic phn tch tnh trng, cc ti nguyn ca h thng hin c v s ti s dng li nhng thnh phn ny trong vic xy dng cc dch v mi. 59. Trang 38 3.2.3 Cc bc xy dng h thng SOA 3.2.3.1 Phn r domain giai on ny ta c th s dng k thut top-down phn r domain (ton b qui trnh nghip v)