You are on page 1of 41

TRNG I HC BCH KHOA

KHOA CNG NGH THNG TIN

B MN MNG V TRUYN THNG

BO CO MN HC H PHN TN
XY DNG NG DNG JAVA WEB SERVICE TRN GRID COMPUTING

TI:

Sinh vin thc hin : Nguyn Ngc Sang 08T2 Nguyn Trng Thut 08T2 Dng Vn Sn 08T2 Nguyn nh Dng 08T2 Cn b hng dn : TS. Nguyn Tn Khi

Nng 12/2012

Xy dng ng dng java web - service trn grid computing

MC LC
CHNG I. C S L THUYT...............................................................4
I.1. Gii thiu chung..............................................................................................5 I.2. Service Oriented Architecture.........................................................................5 I.2.1. Service...................................................................................................5 I.2.2. Cc c im chnh ca service.............................................................6 I.2.3. Service Oriented Architecture................................................................6 I.2.4. Cc actor trong SOA...................................................................7 I.2.5. ch li khi s dng SOA...............................................................8 I.2.6. Thng ip (message) trong SOA.................................................8 I.3. Web Service....................................................................................................9 I.3.1. Cu trc Web service.............................................................................9 I.3.2. Simple Object Access Protocol SOAP..............................................11 I.3.3. Cc c im ca SOAP............................................................11 I.3.4. SOAP Message Structures.........................................................11 I.3.5. Web Service Description Language WSDL......................................14 I.4. Grid Service..................................................................................................15 Cc c im ca Grid service......................................................................16 I.5. Open Grid Service Architecture (OGSA)......................................................16 I.5.1. OGSA l g?.........................................................................................16 I.5.2. Open Grid Services Infrastructure........................................................18 I.5.3. Cc c tnh ca OGSI..............................................................18 I.5.4. Cc Core Service ca OGSI......................................................20 I.5.5. Data and Information Services..................................................21 I.5.6. Resource and Service Management...........................................21 I.5.7. Hin thc OGSA - Globus Toolkit 3...................................................21 I.6. Web Service Resource Framework...............................................................22 I.6.1. Tng quan v WSRF............................................................................22 I.6.2. Hin thc WSRF..................................................................................25

CHNG II. XY DNG CHNG TRNH TRN GRID COMPUTING................................................................................................26


II.1. Cu trc chng trnh..................................................................................26 II.2. Xy dng cc tp tin....................................................................................26

CHNG III. BI TON MATH SERVICE...........................................28


III.1. M t..........................................................................................................28 III.2. nh ngha giao din dch v......................................................................28 III.3. Thc thi dch v..........................................................................................32 III.3.1. Ti nguyn dch v :..........................................................................32 III.3.2. Cc php ton :..................................................................................32 III.4. 4. nh ngha vic trin khai dch v .........................................................33 III.5. Bin dch v to tp GAR ..........................................................................34 III.5.1. Chc nng ca tp GAR :..................................................................34
2

Bo co mn hc h phn tn

III.5.2. Chc nng ca cng c Ant ..............................................................35

CHNG IV. TRIN KHAI DCH V.....................................................35


IV.1. Trn server.................................................................................................35 IV.2. Trn Client :...............................................................................................37

CHNG V. KT LUN V HNG PHT TRIN...........................39


V.1. Nhng kt qu t c...............................................................................39 V.2. Nhng vn tn ti...................................................................................39 V.3. Hng pht trin..........................................................................................40

Xy dng ng dng java web - service trn grid computing

M U
Ngy nay cng ngh thng tin ng vai tr cc k quan trng v tr thnh mt phn khng th thiu trong i sng. Vic ng dng mt cch rng ri vo mi lnh vc em li hiu qu, nng sut cng vic cao. iu cng t ra cho ngnh cng ngh thng tin nhiu bi ton kh cn c gii quyt nhanh chng. V Grid Computing l mt trong nhng cng ngh gii quyt iu . N cho php tn dng nng lc x l, lu tr cng cc ti nguyn nhn ri khc cung cp mt mi trng tnh ton c nng lc x l ln, kh nng lu tr di do gii quyt cc bi ton phc tp - kh c th gii quyt c vi cc cng ngh hin hnh hoc gii quyt c nhng vi chi ph rt cao. V Globus Toolkit l b cng c gip xy dng h thng trn.
Globus Toolkit l b cng c gip xy dng cc ng dng chy trn Grid Computing. tm hiu v b cng c ny nhm chng em chn ti v Xy dng ng dng Java Web Service trn Grid Computing nghin cu v hiu thm v n. Trong qu trnh thc hin, mc d c nhiu c gng song khng trnh khi nhng thiu st, chng em rt mong nhn c s ch dn, ng gp ca qu thy c ti ca chng em ngy cng hon thin hn. ng thi, nhm chng em cng gi li cm n chn thnh n thy Nguyn Tn Khi gip chng em hon thnh ti ny. Nhm sinh vin thc hin Nguyn Trng Thut 08T2 Dng Vn Sn 08T2 Nguyn Ngc Sang 08T2 Nguyn nh Dng 08T2

CHNG I. C S L THUYT.
4

Bo co mn hc h phn tn

I.1. Gii thiu chung


Bo co cung cp nhng khi nim c bn v Service Oriented Architecture (SOA), Web service v chi tit ha Grid service. B cc ca bo co bao gm nhng phn sau: Service Oriented Architecture nh ngha SOA, cc thnh phn ca mt h thng thit k theo SOA v nhng li ch khi thit k h thng theo SOA. Web Service nh ngha Web service, cc c im chnh, cc protocol c p dng trong Web service Open Grid Service Architecture(OGSA) Web Service Resource Framework

I.2. Service Oriented Architecture


I.2.1. Service
V mt nh ngha, service l mt h thng c kh nng nhn mt hay nhiu yu cu x l v sau p ng li bng cch tr v mt hay nhiu kt qu. Qu trnh nhn yu cu v tr kt qu v c thc hin thng qua cc interface c nh ngha trc . Thng thng vic giao tip ny c thc hin trn cc interface c chun ha v s dng rng ri. Mt v d n gin ca service chnh l hot ng ca mt nh hng. Khi khch hng vo nh hng v gi thc n, khch hng ang tin hnh gi yu cu cho service phc v khch hng ca nh hng. Nhn vin nh hng nhc c yu cu ca khch, nu mn n khch hng yu cu nh hng khng c hoc ht, nhn vin nh hng s t chi hoc ngh khch hng gi mn khc. Nu nh hng c th p ng c yu cu ca khch, mn n s c ch bin v mang ra cho khch hng thng thc sau mt khong thi gian ch. y, yu cu chnh l mn n m khch hng mun thng thc, cn kt qu tr v ca service phc v nh hng chnh l t chi (nu nh hng khng p ng c yu cu ca khch) hay l mn n m khch hng cn. Mt h thng c thit k theo kiu hng service (service oriented) l mt h thng trong cc chc nng ca h thng c xy dng da trn cc service
5

Xy dng ng dng java web - service trn grid computing

c kt dnh thp. Cc service trong h thng giao tip vi nhau thng qua vic gi nhn cc thng ip (message).

I.2.2. Cc c im chnh ca service


C ranh gii r rng (Boundaries Are Explicit). Mi service c xy dng da trn cc interface chun ha c s dng rng ri.Chi tit hin thc ca mi service s khng c th hin ra bn ngoi. Mi service ch cng b mt s cc interface ca n cho user c th dng gi cc yu cu v nhn kt qu tr v. Tnh t tr (Autonomous). V mt l thuyt, mi service c tnh c lp cao, c th c build v a vo s dng m khng ph thuc vo cc service khc. Share the Schema and Contract, Not the Class. V mt trao i d liu, cc service khng truyn cc class v type. Thay vo , cc class v type s c c t hnh thc (data c c t trong schema, behavior c c t thnh cc contract ) Service Compatibility Is Based on Policy. S tng thch gia cc service c cn c vo cc policy. Tng thch v mt cu trc da trn cc c t hnh thc bao gm contract (da trn Web Service Description Language (WSDL) hoc Business Process Execution Language for Web Services (BPEL4WS)) v schema (XSD). S tng thch da trn policy cung cp kh nng phn tch cng nh m bo s tng thch gia cc service.

I.2.3. Service Oriented Architecture


Service Oriented Architecture (SOA) cung cp c ch cho php cc h thng hot ng trn cc platform khc nhau c th giao tip vi nhau. Mt h thng c xy dng theo m hnh SOA bao gm cc service tha mn cc tnh cht ca service mc . Mi service trong h thng c th c sa i mt cch c lp vi cc service khc nhm mc ch p ng mt yu cu mi t thc t.

Bo co mn hc h phn tn

I.2.4. Cc actor trong SOA


Error: Reference source not found m t cc actor tham gia trong mt h thng xy dng theo SOA. Service Provider: Cung cp stateless service phc v cho mt nhu cu no . User (service consumer) khng cn quan tm n v tr thc s m service h cn s dng ang hot ng. Serive Consumer: User s dng service c cung cp bi Service Provider Service Registry: Ni lu tr thng tin v cc service ca cc Service Provider khc nhau, Service Consumer da trn nhng thng tin ny tm kim v la chn Service Provider ph hp.

Hnh I.2.4.1.1 : SOA actors. Service Provider s ng k thng tin v service m mnh c th cung cp (cc chc nng c th cung cp, kh nng ca h thng (resource, performance), gi c dch v, ...) vo Service Registry. Service Consumer khi c nhu cu v mt service no s tm kim thng tin trn Service Registry. Ngoi chc nng h tr tm kim, Service Registry cn c th xp hng cc Service Provider da trn cc tiu ch v cht lng dch v, bu chn t cc khch hng s dng service, ... Nhng thng tin ny s h tr thm cho qu trnh tm kim ca Service Consumer. Khi xc nh c Service Provider mong mun, Service Consumer thit lp

Xy dng ng dng java web - service trn grid computing

knh giao tip trc tip vi Service Provider nhm s dng service hoc tin hnh thng lng thm (v mt gi c, resource s dng, ...)

I.2.5. ch li khi s dng SOA


S dng m hnh SOA trong vic thit k h thng mang li li ch v mt kinht cng nh k thut. Li ch kinh t o Doanh nghip c iu kin tp trung thi gian tm kim cc gii php cho cc bi ton lin quan n kinh t. o Thc y s pht trin ca h thng hin c cng nh cung cp kh nng m rng h thng trong tng lai. Li ch k thut o H thng xy dng theo m hnh SOA m bo cc service trong h thng c tnh c lp cao ( kt dnh thp) (autonomous v loose coupling). o gc nhn ngi s dng, v tr cc service c tnh trong sut (transparency), vic di di cc service n mt my tnh khc khng nh hng kh nng phc v yu cu khch hng. o Hot ng ca cc service c tnh ng, hnh vi ca cc service ty thi m, ty yu cu cn x l m c s khc nhau (late binding). I.2.6. Thng ip (message) trong SOA So vi kiu thit k Component-Based, im khc bit chnh ca SOA l cung cp kh nng giao tip gia cc thnh phn trong h thng (service) s dng thng ip (message) da trn cc chun giao tip c chun ha (HTTP, FTP, SMTP, ...). Chnh nh c im ny, h thng SOA tr nn c lp vi platform (platform independent). Cc service hot ng trn nn cc platform khc nhau vn c th giao tip vi nhau nh vo cc interface giao tip c chun ha cng tc x l mt tc v no . S dng thng ip (message) giao tip c cc li th sau: Cross-platform: thng ip (message) tr thnh ngn ng chung ca cc platform v cc ngn ng lp trnh khc nhau. iu ny m bo cc service trn cc platform khc nhau hot ng vi cu trc d liu c th ca platform .
8

Bo co mn hc h phn tn

Asynchronous communications: hot ng gi nhn thng ip c thc hin theo c ch Fire-and-Forget. Sender v Receiver khng cn phi ch thng ip tr li sau khi gi i mt thng ip. iu ny gip cho Sender v Receiver tip tc x l cng vic sau khi gi thng ip m khng cn dng thc thi ch thng ip tr li. Reliable communication: cc thng ip t Sender c th c gi n mt service trung gian c nhim v lu tr (store) cc thng ip. Service trung gian s gi (forward) thng ip cho Receiver khi Receiver c th x l yu cu tip theo. C ch Store-and-Forward ny m bo cc thng ip s khng b tht lc trong trng hp Receiver b qu ti v khng th nhn thm yu cu mi. Thread management: Vic trao i thng ip theo c ch bt ng b gip ng dng khng cn ngng thc thi ch mt tc v kt thc m c th to ra cc thread x l cc cng vic khc nhau. Remote communication: Cc thng ip lu tr thng tin v cc i tng d liu di dng c t hnh thc thay th vic phi serialization and deserialization cc i tng d liu truyn qua mng khi ng dng thc hin remote call mt ng dng khc. End-to-end security: Thng ip c th lu tr thng tin v security context ca knh giao tip. iu ny cung cp kh nng iu khin lin quan n security nh authentication and authorization.

I.3. Web Service


Web service l mt hin thc ca service s dng web protocol giao tip. Web service cung cp h thng phn mm h tr vic giao tip gia cc my tnh trn network.

I.3.1. Cu trc Web service

Xy dng ng dng java web - service trn grid computing

Hnh I.3.1.1.1 : Web service protocol stack Tng t vi SOA, c 3 actor chnh tham gia vo Web service. Service Provider: Dng Web Services Description Language (WSDL) m t dch v m mnh c th cung cp cho Service Broker (tng t vi Service Registry trong SOA). Service Broker: Lu tr thng tin v cc service c cung cp bi cc Service Provider. Cung cp chc nng tm kim h tr Service Requester (Service Consumer trong SOA) trong vic xc nh Service Provider ph hp. Thnh phn chnh ca Service Broker l Universal Discovery, Description, and Integration (UDDI) repositories. Service Requester: Dng WSDL c t nhu cu s dng (loi service, thi gian s dng, resource cn thit, mc gi ...) v gi cho Service Broker. Bng vic s dng UDDI v chc nng tm kim ca Service Broker, Service Requester c th tm thy Service Provider thch hp. Ngay sau , gia Service Requester v Service Provider thit lp knh giao tip s dng SOAP thng lng gi c v cc yu t khc trong vic s dng service.

10

Bo co mn hc h phn tn

Hnh I.3.1.1.2 : Web service actors

I.3.2. Simple Object Access Protocol SOAP


SOAP l mt protocol giao tip dng trong Web service c xy dng da trn XML. SOAP c s dng c t v trao i thng tin v cc cu trc d liu cng nh cc kiu d liu gia cc thnh phn trong h thng. S dng SOAP, ng dng c th yu cu thc thi method trn my tnh xa m khng cn quan tm n chi tit v platform cng nh cc phn mm trn my tnh .

I.3.3. Cc c im ca SOAP
Kh nng m rng (Extensible): Cung cp kh nng m rng phc v cho nhu cu c th ca ng dng v nh cung cp. Cc chc nng v bo mt, tng tin cy c th a vo phn m rng ca SOAP. Cc nh cung cp dch v khc nhau, ty vo c im h thng ca mnh c th nh ngha thm cc chc nng m rng nhm tng thm li th cnh tranh cng nh cung cp thm tin ch cho ngi s dng. C th hot ng trn cc network protocol c chun ha (HTTP, SMTP, FTP, TCP, ...) c lp vi platform, ngn ng lp trnh hay programming model c s dng.

I.3.4. SOAP Message Structures


Hnh I.3.2.2.1 M t giao tip ca mt nng dng vi mt web service c thc hin qua thng ip SOAP s dng network protocol HTTP. ng dng s c
11

Xy dng ng dng java web - service trn grid computing

t yu cu trong SOAP message v thng qua network protocol gi n cho web service. Web service s nhn v phn tch yu cu sau tr v kt qu thch hp.

Hnh I.3.4.1.1 : Messaging using SOAP Hnh I.3.2.2.1 M t cu trc mt thng ip SOAP. Mt thng ip SOAP bao gm cc thnh phn sau: Protocol Header: Cho bit thng tin v cc chun giao thc c s dng. SOAP Envelop: Thng tin chnh ca message bao gm: o SOAP Header: Cha cc SOAP header. o SOAP body: Thng tin v name v data c c t di dng XML. Ngoi ra cn c trng li c dng gi cc web service exception.

12

Bo co mn hc h phn tn

Hnh I.3.4.1.2 : SOAP message structure. Sau y l v d v SOAP message, trong message request c s dng yu cu web service thc hin method int doubleAnInteger(int numberToDouble) nhm nhn i mt s nguyn. Messge request s truyn i s 123(s nguyn cn nhn i) trong phn SOAP body: Request <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/encoding/ xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:doubleAnInteger xmlns:ns1="urn:MySoapServices"> <param1 xsi:type="xsd:int">123</param1> </ns1:doubleAnInteger> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Response
13

Xy dng ng dng java web - service trn grid computing

<?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/1999/XMLSchema-instance xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:doubleAnIntegerResponse xmlns:ns1="urn:MySoapServices" SOAP-ENV: encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="xsd:int">246</return> </ns1:doubleAnIntegerResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Message response mang thng tin kt qu tr v trong phn body. Kt qu ca php nhn i s nguyn 123 (c truyn bi message request) l 246.

I.3.5. Web Service Description Language WSDL


Vic c t chc nng, interface giao tip ca mt web service c thc hin da vo Web Service Description Language (WSDL). Vic c t ny bao gm protocol c s dng, cu trc v nh dng d liu dng giao tip... Hnh I.3.3.1.1 M t cc thnh phn c bn ca mt file WSDL dng c t mt web service. Services: Cha cc method c th c s dng thng qua cc web protocol. Ports: a ch dng kt ni n web service. Thng thng, ports c m t bng mt HTTP URL.

14

Bo co mn hc h phn tn

Hnh I.3.5.1.1 : Overview of WSDL Port Types: nh ngha mt web service, cc tc v m service cung cp v nh dng cc thng ip c s dng khi ng cc tc v ny. Operations: Mi operation c th c xem nh mt method hay mt li gi hm trong cc ngn ng lp trnh c in. Binding: ch nh port type, cc operation, SOAP binding stype (RPC/Document), SOAP protocol c dng. Message: Mi message tng ng vi mt operation v cha cc thng tin cn thit thc thi operation . Mi message c mt name duy nht v mt hay nhiu logical part. Cc logical part c phn bit vi nhau qua name v c th lu tr cc tham s cn cho operation. Element: c nh ngha trong Types. Mi element c mt name duy nht v kiu d liu. Element c dng c t d liu dng trong message. Element c th c t cc d liu n gin (string, integer) hay phc tp hn nh array, struct, ... XSD file: Cc element thng c nh ngha trong cc XML Schema Definition (XSD) file. XSD file c th trong cng file WSDL hoc file ring bit.

I.4. Grid Service

15

Xy dng ng dng java web - service trn grid computing

V mt nh ngha, Grid Service l Web Service c thay i cho ph hp vi mi trng grid.

Cc c im ca Grid service
Transient in Nature (Lifetime, Migration): i vi mi trng grid, khi c mt yu cu c gi n, mt service s c to ra p ng yu cu . Khi service p ng xong yu cu, service s b hy. i vi web service, khi nhn c mt yu cu mi, service s to ra mt thread x l yu cu . Stateful Service: Grid service l stateful, grid service cn lu tr thng tin v mi session gia consumer v provider. So vi Web Service, Grid Service s dng Service Data nhm lu tr thng tin v trang thi hin ti ca service (state information) (kt qu cui cng hay kt qu trung gian ca cc operation, thng tin v runtime ca h thng, ...) hoc thng tin v chnh service (service metadata) (system data, cc interface c h tr, gi s dng service, ...) Grid service interface c c t thng qua GWSDL (Grid WSDL). Cung cp c ch qun l thi gian sng (lifecycle management). Grid Service cung cp c ch nh ngha cc portType m rng. Mi grid service u phi tha k t portType chun GridService. Ngoi ra, mi grid service c th tha k (extend) cc portType ca h thng cung cp sn nhm tng thm tnh nng ca service.

I.5. Open Grid Service Architecture (OGSA)


I.5.1. OGSA l g?
Open Grid Services Architecture (OGSA) c pht trin bi The Global Grid Forum vi mc ch a ra kin trc chung, chun v m cho cc ng dng tnh ton li. OGSA hng n vic chun ha cc service trong ng dng li bng cch a cc interface chun cho cc service ny. Hnh di cho thy m hnh ca OGSA
16

Bo co mn hc h phn tn

Hnh I.5.1.1.1M hnh OGSA OGSA gm 3 thnh phn chnh: Open Grid Services Infrastructure, OGSA services OGSA schemas OGSA c xy dng da trn Web services. OGSA c th c trin khai trn nhiu mi trng khc nhau, giao tip vi nhau thng qua cc giao thc (protocol). Ta s tm hiu chi tit hn cc thnh phn ny trong cc phn tip theo. Web services l cng c c s dng kh ph bin tuy nhin bn thn Web services vn cn mt s nhng hn ch nh: Khi to webservice Thi gian sng ca webservice Qun l li OGSA gii quyt cc vn trn v c hin thc lp c s hng tng (OGSI). Web services tun theo cc chun OGSI c gi l Grid Service. OGSI nh ngha cc chun ca giao tip v cc hnh vi phc v cho vic m t v tm kim dch v, khi tao instance, qun l thi gian sng, nhm service

17

Xy dng ng dng java web - service trn grid computing

I.5.2. Open Grid Services Infrastructure I.5.3. Cc c tnh ca OGSI


Grid service descriptions and instances Trong m hnh Web services chun, service c to ra cng nh b hy nm ngoi phm vi ca bn thn Web services. Tuy nhin trong thc t, ng dng thng xuyn khi to service mi v khi cc tc v hon tt th Web services b hy i. OGSI cung cp mt c ch phn bit gia phn m t v phn instance ca service. Phn m t nh ngha cc interface v hnh vi ca service. Cc service instance s hin thc cc hnh vi ny. Service state, metadata, and introspection WSDL chun khng c khi nim trng thi ca service. V th OGSI a ra khi nim service data biu din siu d liu v cc trng thi. Cc thng tin ny c xem nh mt phn m t ca service v c th c truy xut t service instance. ng dng client c th yu cu service instance tr v cc thng tin ca chnh service . V d: cc interface, c t thng tin trng thi hin ti ca service, thi im kt thc ca service OGSI cung cp hai c ch truy xut trng thi ng dng: pull v push. Pull mode: OGSI cung cp tc v findServiceData kt hp vi service interface cho php client c th query thng tin trng thi ng dng. Push mode: Client ng k cc vi service thng tin trng thi mnh mong mun thng qua cc interface NotificationSource, NotificationSubscription, v NotificationSink. Khi trng thi service thay i, service s thc hin hnh vi callback thng bo cho client bit. Naming v name resolution V Grid service c khi to ng v c trng thi nn cn phi c cch thc phn bit gia cc instance ca grid service. Do ta cn phng thc t tn cho cc instance ny.

18

Bo co mn hc h phn tn

OGSI a ra c ch t tn hai mc. Mi grid instance s c gn mt Grid Service Handle(GSH) v c qun l bi HandleResolver. GSH l ton cc v duy nht tn ti trong sut thi gian sng ca instance. Client th giao tip vi service instance cng nh cc service instance vi nhau thng qua Grid Service Reference(GSR). Khng ging vi GSH, GSR c to ra, thay i, hy trong sut thi gian sng ca service instance. Hnh di minh ha c ch hot ng ca naming.

Hnh I.5.3.1.1 : C ch phn gii tn Service life cycle Mt trong nhng im khc bit chnh gia grid service v Web service l Grid service c th transient(to v hy). OGSI cung cp c ch cho php cc instance khi to, hy cng nh qun l thi gian sng ca cc instance ny. Service instance c th quy nh thi gian sng bng cc phng thc sau: Khi to ban u: khi c yu cu khi to mi mt grid service, client gi km khong thi gian sng c th ca service instance. Kt thc tng minh(Explicit termination): client ch ng gi yu cu hy grid service instance. Yu cu iu chnh thi gian sng: client c th yu cu iu chnh thi gian sng ca service instance bng cch gi thng ip keepalive n server.
19

Xy dng ng dng java web - service trn grid computing

Fault type OGSI nh ngha chun cc kiu chun cho tt c cc thng ip li c tr v bi Grid service. Service groups OGSI cung cp c ch t chc service instance theo nhm. OGSI nh ngha cc interface (WSDL portTypes). Mi loi portType a ra tp cc tc v v OGSI quy nh hnh vi c th cho cc tc v ny. Bng di lit k mt s cc portType PortType GridService HandleResolver NotificationSource NotificationSubscription NotificationSink M t Cung cp cc hnh vi chnh bao gm phn d liu v qun l thi gian sng ca service. nh x t GSH sang GSR Cho php client ng k cc thng ip notification Qun l thi gian sng v cc thuc tnh ca cc subscription. nh ngha tc v cho vic phn phi cc thng ip notification n service instance. Tc v chun to grid service instance Qun l nhm cc service instance Cho php thm hoc xa Grid service ra khi ServiceGroup

Factory ServiceGroup ServiceGroupRegistration

I.5.4. Cc Core Service ca OGSI


Core service cung cp cc dch v v phn gii tn, tm kim dch v, bo mt, chnh sch, v truyn thng ip. Cc dch v c bn: Name resolution and discovery Service domains Security Policy
20

Bo co mn hc h phn tn

Messaging, queuing, and logging Events Metering and accounting

I.5.5. Data and Information Services


Data naming and access Replication Metadata and provenance

I.5.6. Resource and Service Management


Provisioning and resource management Service orchestration Transactions Administration and deployment

I.5.7. Hin thc OGSA - Globus Toolkit 3


Phin bn Globus 3.0(GT3) ngoi vic k tha cc chc nng quan trng xy dng cc gii php gird, GT3 da trn c s h tng mi tun theo chun OGSA v hin thc cc chc nng li c nh ngha trong OGSI. GT3 bao gm cc thnh phn sau: Hin thc ton b portType c t trong OGSI. C ch bo mt: da trn GSI, cung cp cc service: m ha, authentication, and authorization. Cc service mc h thng: Amin, Logging v Monitoring. Cc service nn (Base services). User-defined services Grid Service Container. Hosting environment Hnh di minh ha m hnh ca GT3.
21

Xy dng ng dng java web - service trn grid computing

Hnh I.5.7.1.1 Kin trc GT3

I.6. Web Service Resource Framework


I.6.1. Tng quan v WSRF
OGSI cung cp mt c cu cho php pht trin, trin khai v qun l thi gian sng (lifetime management) cc dch v li. Tuy nhin, OGSI vn cn l nhiu im yu nh:
22

Bo co mn hc h phn tn

Gii quyt qu nhiu vn trong cng mt bn c t. GWSDL khng theo chun ca Web service khin cc cng c c sn trong Web service khng s dng c. S nhp nhng gia Web service khng trng thi (stateless) v Web service c trng thi (stateful). WSRF trn c s nhm li cc tc v ca OGSI ng thi s dng cc chun mi hnh thnh ca kin trc Web services nh WS-Addressing, WS-Notification gii quyt cc nhc im ca OGSI. WSRF cha tt c cc chc nng ca OGSI v ci tin OGSI ba bc sau: Gii thiu khi nim WS-Resource Tch bit gia chc nng dch v v vic kch hot dch v Dch v notification theo chun WS-Notification ca Web services. WSRF nhm li cc chc nng ca OGSI thnh nm nhm chnh sau: WS-ResourceProperties: c t cc d liu ca ti nguyn, tng t nh Grid Data Elements ca OGSI, v cc c ch cho php truy cp, xa hoc thay i cc thng tin ny. WS-ResourceLifetime: c ch kt thc mt WS-Resource; cc c t v thng tin trao i gia ngi yu cu dch v v WS-Resource nhm kt thc dch v ngay lp tc hoc l mt thi im nh sn. WS-RenewableReferences: da trn chun WS-Addressing ca Web service cp nht cc thng tin mi v a ch dch v (endpoint references) khi cc thng tin hin ti tr thnh khng hp l. WS-ServiceGroup: c t giao tip cho php mt ti nguyn tham gia vo nhm; c t cc tc v cho php ly thng tin ti nguyn ca mt thnh vin ca nhm cng nh thng tin v cc nhm. Mt nhm l mt tp cc Web services v WS-Resources ca mt lnh vc c th (domain specific). WS-BaseFault: nh ngha cc kiu chun ca li v cch s dng chng trong WSDL. WSRF tch bit gia Web services (khng trng thi) v Resource (c trng thi) v nh ra mt c ch cho vic kt hp gia hai thnh phn ny li vi nhau.
23

Xy dng ng dng java web - service trn grid computing

Hnh I.6.1.1.1 a ra mt v d v hai thnh phn can bn nht ca WSRF: Web Service cung cp mt giao tip cho php truy cp vo cc ti nguyn (resources) c trng thi (cc file).

Hnh I.6.1.1.1 : Mt Web service i din cho nhiu resources, mi resource l mt file WSRF s quy nh cch thc kt hp ngi dng t xa, thng qua giao tip Web service c th truy cp vo ti nguyn yu cu. Vic kt hp ny c m t trong Hnh 12.

24

Bo co mn hc h phn tn

Hnh I.6.1.1.2 :Kt hp gia Web service v Resources trong WSRF

I.6.2. Hin thc WSRF


WSRF c hin thc trong phin bn th 4 ca Globus Toolkit. Hnh 13 cho thy quan h gia cc phn hin thc ca WSRF.

Hnh I.6.2.1.1Hin thc ca GT4

25

Xy dng ng dng java web - service trn grid computing

CHNG II. XY DNG CHNG TRNH TRN GRID COMPUTING


II.1. Cu trc chng trnh
xy dng chng trnh websevice trn Grid computing th cn c cu trc nh sau : $EXAMPLES_DIR | |-- schema/ | | | |-- examples/ -----> WSDL files | |-- org/ | | | |globus/ | | | | | |-- examples/ |-- services/ -----> Service implementation files | |-- clients/ -----> Client implementation files Trong : Cc file trong th mc schema/example/ cha cc file WSDL m t dch v Cc file trong th mc org/globus/example/services/ cha cc file nh ngha dch v Cc file trong th mc org/globus/example/client/ cha cc file s dng dch v

II.2. Xy dng cc tp tin


Tt c cc tp tin cn thit xy dng mt chng trnh u nm trong th mc gc $EXAMPLES_DIR Ant build file
26

Bo co mn hc h phn tn

Build script Namespace mappings file Cc tp tin WSDL Th mc $EXAMPLES_DIR/schema/examples/ cha 1 th mc con cho mi giao din dch v khc nhau .Cc tp tin con cha cc tp tin WDSL v cc tp tin h tr XML Schema. Cc tp tin thc thi Cc lp thc thi dch org.globus.examples.services v c t trong gi :

Cc lp thc hin dch v c t trong gi : org.globus.examples.services.core.first Th mc t tt c cc tp tin ca dch v : Base package directory | |-- server-deploy.wsdd -----> Deployment descriptor file | |-- impl/ -----> Implementation classes | |-- config/ -----> Security configuration files Cc lp client c t trong : $EXAMPLES_DIR/org/globus/examples/clients/

27

Xy dng ng dng java web - service trn grid computing

CHNG III. Bi ton Math Service


III.1. M t
Math Service l mt dch v Web n gin c trng thi, s dng WSRF lu tr cc trng thi thng tin . N cho php ngi s dng thc hin cc php ton : Cng, tr, nhn, chia . xy dng mt dch v Web WSRF cn thc hin theo cc bc sau : nh ngha giao din dch v. Thc thi dch v. nh ngha cc tham s ca vic trin khai . Bin dch v trin khai dch v

III.2. nh ngha giao din dch v


Bc u tin vit 1 dch v Grid l nh ngha giao din dch v , mi dch v Grip c nhiu ngi dng tng tc vi dch v bng cch gi yu cu .Dch v tip nhn yu cu ngi dng, x l yu cu v tr li p ng yu cu ca ngi dng .Vic gi v p ng thng qua gi tin SOAP. Trong bi ton Math Service, giao din dch v l nhng php ton m ngi dng c th yu cu n dch v, giao din dch v thng c gi l port type (portType) c vit trong tp di dng .WSDL <?xml version="1.0" encoding="UTF-8"?> <definitions name="MathService" targetNamespace="http://www.globus.org/namespaces/examples/MathService_i nstance" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.globus.org/namespaces/examples/MathService_instance " xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WSResourceProperties-1.2-draft-01.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

28

Bo co mn hc h phn tn

<!-=========================================================== = TYPES ========================================================== ==--> <types> <xsd:schema targetNamespace="http://www.globus.org/namespaces/examples/MathService_ins tance" xmlns:tns="http://www.globus.org/namespaces/examples/MathService_instance " xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!-- REQUESTS AND RESPONSES --> <xsd:element name="add" type="xsd:float"/> <xsd:element name="addResponse"> <xsd:complexType/> </xsd:element> <xsd:element name="multi" type="xsd:float"/> <xsd:element name="multiResponse"> <xsd:complexType/> </xsd:element> <xsd:element name="divide" type="xsd:float"/> <xsd:element name="divideResponse"> <xsd:complexType/> </xsd:element> <xsd:element name="subtract" type="xsd:float"/> <xsd:element name="subtractResponse"> <xsd:complexType/> </xsd:element> <xsd:element name="getValueRP"> <xsd:complexType/> </xsd:element> <xsd:element name="getValueRPResponse" type="xsd:float"/> <!-- RESOURCE PROPERTIES -->
29

Xy dng ng dng java web - service trn grid computing

<xsd:element name="Value" type="xsd:float"/> <xsd:element name="LastOp" type="xsd:string"/> <xsd:element name="MathResourceProperties"> <xsd:complexType> <xsd:sequence> <xsd:element ref="tns:Value" maxOccurs="1"/> <xsd:element ref="tns:LastOp" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> <!-=========================================================== = MESSAGES ========================================================== ==--> <message name="AddInputMessage"> <part name="parameters" element="tns:add"/> </message> <message name="AddOutputMessage"> <part name="parameters" element="tns:addResponse"/> </message> <message name="MultiInputMessage"> <part name="parameters" element="tns:multi"/> </message> <message name="MultiOutputMessage"> <part name="parameters" element="tns:multiResponse"/> </message> <message name="DivideInputMessage"> <part name="parameters" element="tns:divide"/> </message> <message name="DivideOutputMessage"> <part name="parameters" element="tns:divideResponse"/> </message>
30

minOccurs="1" minOccurs="1"

Bo co mn hc h phn tn

<message name="SubtractInputMessage"> <part name="parameters" element="tns:subtract"/> </message> <message name="SubtractOutputMessage"> <part name="parameters" element="tns:subtractResponse"/> </message> <message name="GetValueRPInputMessage"> <part name="parameters" element="tns:getValueRP"/> </message> <message name="GetValueRPOutputMessage"> <part name="parameters" element="tns:getValueRPResponse"/> </message>

<!-=========================================================== = PORTTYPE ========================================================== ==--> <portType name="MathPortType" wsrp:ResourceProperties="tns:MathResourceProperties"> <operation name="add"> <input message="tns:AddInputMessage"/> <output message="tns:AddOutputMessage"/> </operation> <operation name="multi"> <input message="tns:MultiInputMessage"/> <output message="tns:MultiOutputMessage"/> </operation> <operation name="divide"> <input message="tns:DivideInputMessage"/> <output message="tns:DivideOutputMessage"/> </operation> <operation name="subtract"> <input message="tns:SubtractInputMessage"/> <output message="tns:SubtractOutputMessage"/> </operation>
31

Xy dng ng dng java web - service trn grid computing

<operation name="getValueRP"> <input message="tns:GetValueRPInputMessage"/> <output message="tns:GetValueRPOutputMessage"/> </operation> </portType> </definitions> File m t giao din dch v Web/Grip wsdl c cc thnh phn sau : Phn HEADER : y l phn nh ngha tn, ng dn v khng gian tn ca dch v Phn TYPES : phn ny nh ngha cc bin, kiu v thuc tnh ti nguyn Phn MESSAGES : phn nh ngha cc thng ip m ngi dng v dch v tng tc vi nhau Phn PORTTYPE : l phn nh ngha cc php ton m ngi dng v dch v tng tc vi nhau

III.3. Thc thi dch v


Lp MathService thc thi dch v : public class MathService implements Resource, ResourceProperties{} MathService thc thi 2 giao din l Resource ( m t ti nguyn dch v Grip ) v ResourceProperties (m t cc thuc tnh ti nguyn dch v Grip)

III.3.1. Ti nguyn dch v :


Gm 2 thnh phn : Value : kiu xsd: float v LastOp: kiu xsd : string /* Resource properties */ private float value; private String lastOp;

III.3.2. Cc php ton :


/* Get/Setters for the RPs */ public float getValue() { return value; }

32

Bo co mn hc h phn tn

public synchronized void setValue(float value) { this.value = value; } public String getLastOp() { return lastOp; } public synchronized void setLastOp(String lastOp) { this.lastOp = lastOp; } /* Remotely-accessible operations */ public synchronized AddResponse add(float a) throws RemoteException { value += a; lastOp = "ADDITION"; return new AddResponse(); } public synchronized MultiResponse multi(float a) throws RemoteException { value *= a; lastOp = "MULTIPLY"; return new MultiResponse(); } public synchronized DivideResponse divide(float a) throws RemoteException { value /= a; lastOp = "DIVIDE"; return new DivideResponse(); } public synchronized SubtractResponse RemoteException { value -= a; lastOp = "SUBTRACTION"; return new SubtractResponse(); } subtract(float a) throws

III.4. 4. nh ngha vic trin khai dch v


trin khai dch v trn, chng ta cn phi vit kch bn cho dch v .Cc cu hnh quan trng nht cho vic trin khai l Web Service Deployment Descriptor
33

Xy dng ng dng java web - service trn grid computing

(WSDD). N cho bit dch v s c trin khai nh th no v c nh ngha trong tp deploy-server.wsdl <?xml version="1.0" encoding="UTF-8"?> <deployment name="defaultServerConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <service name="examples/core/first/MathService" provider="Handler" use="literal" style="document"> <parameter name="className" value="org.globus.examples.services.core.first.impl.MathService"/> <wsdlFile>share/schema/examples/MathService_instance/Math_service.wsdl </wsdlFile> <parameter name="allowedMethods" value="*"/> <parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/> <parameter name="scope" value="Application"/> <parameter name="loadOnStartup" value="true"/> </service> </deployment> Cc thnh phn nh ngha bao gm :
Service name: Xc nh a ch URI ca dch v trong Grip container http://localhost:8080/wsrf/services/examples/core/first/MathService <service name="examples/core/first/MathService" provider="Handler" use="literal" style="document"> class name : xc nh lp thc thi giao din dch v <parameter name="className" value="org.globus.examples.services.core.first.impl.Math Service"/> Tp WSDL : xc nh tp nh ngha giao din dch v wsdl <wsdlFile>share/schema/examples/MathService_instance/ Math_service.wsdl</wsdlFile>

III.5. Bin dch v to tp GAR


trin khai c cc thnh phn trn vo trong Gripcontainer cng nh bin dch cc tp thc thi java, cn to tp nn GAR cha cc thnh phn trn.

III.5.1. Chc nng ca tp GAR :

34

Bo co mn hc h phn tn

Lin kt cc tp WSDL Khi to v bin dch cc lp t cc thnh phn trong tp wsdl Bin dch cc tp thc thi Java T ch cc tp li vi nhau trong 1 cu trc ng dn xc nh

III.5.2. Chc nng ca cng c Ant


Cng c ant (c trong phn mm Apache ant ci t )c chc nng bin dch vo to tp GAR t cc thnh phn trn. M hnh sau y m t chc nng ca Ant

Hnh III.5.2.1.1 : ngha ca chng trnh ant to tp GAR ./globus-build-service.sh -d org/globus/examples/services/core/first/ -s schema/examples/MathService_instance/Math.wsdl
globus-deploy-gar /usr/local/globus/dev/org_globus_examples_services_core_first.gar

CHNG IV. TRIN KHAI DCH V


IV.1. Trn server
b1: Vo ti khon globus b2: Vo th mc: export GLOBUS_LOCATION=/usr/local/globus cd /usr/local/globus/MathService b3: Chy lnh: globus-start-container -nosec

35

Xy dng ng dng java web - service trn grid computing

Sau khi trin khai dch v Math Service vo Grid container, khi ng Grid container bng lnh: globus-start-container -nosec, dch v s bt u hot ng. Nhn bit dch v hot ng bng a ch URI ca dch v:
http://192.168.1.10:8080/wsrf/services/examples/core/first/MathService

36

Bo co mn hc h phn tn

IV.2. Trn Client :


b1: Vo ti khon globus b2: source $GLOBUS_LOCATION/etc/globus-devel-env.sh cd /usr/local/globus/MathService

java -classpath ./build/stubs/classes/:$CLASSPATH org/globus/examples/clients/MathService_instance/Client b3 : Dan ng dn sau vo chng trnh client http://192.168.1.10:8080/wsrf/services/examples/core/first/MathService
Kt qu chy trn Debian

37

Xy dng ng dng java web - service trn grid computing

Kt qu chy trn Windows

38

Bo co mn hc h phn tn

CHNG V. KT LUN V HNG PHT TRIN


V.1. Nhng kt qu t c
Sau khi hc v Globus Toolkit trn Linux, nhm chng em nghin cu v Globus Toolkit trn Windows. Nhm nm c phn l thuyt v c ng dng thc hin cc thao tc c bn v phc tp trn cc my cc b. Ngoi ra, sau ln lm nhm ny, nhm chng em cng hc c mt s k nng mm nh: k nng qun l thi gian, k nng lm vic nhm, k nng lp k hoch... l nn tng cho vic thc hin n tt nghip sau ny.

V.2. Nhng vn tn ti
Cha th t vit c mt chng trnh web service chy trn mi trng

globus toolkit.
Cc cng c h tr xy vit chng trnh trn globus cn t.

Cha x l c cc vn phc tp.


39

Xy dng ng dng java web - service trn grid computing

V.3. Hng pht trin


Tm hiu cc tools xy dng chng trnh web service . Trin khai mt s ng dng ca Globus Toolkit trn Windows.

40

Bo co mn hc h phn tn

TI LIU THAM KHO

[1] Ti liu Globus Toolkit - TS. Nguyn Tn Khi. [2] http://www.toantin.org/forums/index.php/topic/1367-l%E1%BA%ADp-trinhtren-globus-toolkit/ [3] http://www.globus.org/faq.php#windows [4] http://www.wikipedia.org [5] http://wwwunix.globus.org/toolkit/docs/3.2/installation/install_config_req.html [6] http://www.ibm.com/developerworks/forums/thread.jspa? messageID=13857777 [7] Cc ngun ti liu khc.

41

You might also like