• Nenhum resultado encontrado

3. CORBA C OMMON O BJECT R EQUEST

3.7. I NTERFACE DE S ERVIÇOS D INÂMICA

A D I I f or n ec e um m ec a n ism o q u e p oss ib ilita a o s c lie n t e s a in voc aç ã o d e o p e r aç õ es em o bj ec tos s em q ue p ar a ta l se j a n ec es s ár io o c ó d ig o p a ra a g e r aç ã o d o s tu b p or p ar t e d o c om p ila d or ID L .

A D SI ( Dy n am ic Sk e le t o n I n t er f ac e ) f or n ec e um m ec a n ism o sem e lh a n t e s o br e o OR B ( F igu ra 1 7) . Atr a v és d e la o OR B p o de in voc ar um a im p lem en t aç ã o d e um o b j ect o em t em po d e ex ec uç ã o p a ra o q u a l nã o ex ist e sk e le t on .

F i g u r a 1 7 - I n t e r f a c e d e S e r v i ç o s D i n â m i c a .

A im p lem e nt aç ã o d e u m o bj ec t o n ã o d is t ing ue um a ch am a d a via ske le t o n o u via D SI . A id e ia p o r d e tr ás d a D SI é a in vo c a çã o d e t o d as a s im p lem en t aç õ es d e o bje c t os via a m esm a o per aç ã o g e ra l.

C om o ca ra ct er ís t ic as im p or ta n t es d a D SI p o d em s er e n um er a d as as s e g u int es [ Pop e - 19 9 7] [ Co rt és - 1 9 98 ] :

 Um s er vid o r q u e u t ilize es t e m é t o d o d e ac ess o , p o d e ve r re d u zid o d e f orm a s ub st a nc ia l o n úm er o d e s ke le t o ns e s t át ic os a s up o rt ar .  C a p ac id a d e d e c om un ic aç ã o c om o u tr os O R Bs , on d e a D SI do

s er vid or ac t ua r ia c om o c lien t e d o O R B on d e es t á loc a liza d o o o b j ect o d est in o .

 Po d e re ce b er in voc aç õe s d in âm ic as e e st á t ica s .

 Pe rm it e a liga çã o em t em p o d e ex ec uç ã o c om um o bje ct o p ar a o q u a l n ã o ex ist e sk e let on .

3.8. REPOSITÓRIO DE INTERFACES

O I R ( I nt er f ac e R ep osit o ry ) é um a b as e de d a d o s on - lin e d e d ef in iç õ es de o b j ect os . É p or t a nt o o c om p on e n t e d o O RB q u e f o r ne ce a rm a ze n am e n to p e rs is t e nt e d as d ef in iç õ es d as in te rf ac es (g e r e e f o rn ec e ac es so a um a c o lecç ã o d e d ef in iç õ es d e o bj ect os es p ec if ic ad o s em ID L) ( F igu r a 1 0) .

Pa r a q ue um O R B pr oc ess e c or re ct am e nt e os p e d id os d e ver á te r ac es s o às d ef in iç õ es d os o bj ec t os qu e p or e le s ã o u t iliza d o s. As d ef in iç õ es de o bj ec t os p o d em s er d is p on ib iliza d a s a o O R B d e d ua s m a ne ir as d is t in ta s:

At r a vés d a inc or p or aç ã o d as d ef in iç õe s em r o t in as s t u b ( p or e x em p lo o c ód ig o qu e m ap e ia s u br o t in as n um a d et erm in a da lin g u a g em em pr o t oc o lo s de c om u n ic aç ã o).

 C om o o bj ect os ac e d ido s atr a vés d o I R.

Em pa rt ic u lar , o OR B p o d e u t iliza r a s d ef in içõ e s d e o bje ct os m a nt id a s n o IR p a r a int e rp re t ar e m an ip u la r os va lor es f orn e c id os n o p e d id o c om o f im d e [ Orf a li - 1 9 9 8] :

 C om u n ic ar c om ou tr as im p lem en t aç õ es OR B d is t int as .  Ve r if ic ar os p ar âm e tr os d o p e d ido .

 D is p on ib iliza r o bj ec to s a u t o - d escr it ivos .

 D is p on ib iliza r m e t ad a do s pa ra c lie n t es e f e rram en t as .

Os c lie n t es p or s u a vez s o lic it am os s er viç os d o IR p ar a:  N a ve g aç ã o na lis t a d e in t e rf ac es .

 F ac ilit ar a ins t a laç ã o e d ist r ib u iç ã o d os o bj ect o s.

Um a ve z q u e a in t erf ac e p a ra a d ef in iç ã o d o o bj ec t o m a n t ida n o rep o s itó r io d e in t erf ac es é pú b lica , a inf orm aç ão m a n t id a n o re p os it ór io po de t am bém s er ut iliza d a p e lo s c lien t e s e s er viç os .

O I R u t iliza m ó d u los com o f orm a d e a gr u pa r a s in t erf ac es e p erm ite n a ve g a r a t r a vés d e t a l a gr u p am e nt o u t iliza n d o n om e s . Os m ó d u los po d em c o nt er c o ns t an t es , ty pe d e fs , e xc e pç õ es , d ef in iç õ es d e in t e rf ac e s e o utr os m ó d u los ( F igu ra 1 8) .

 Um Módulo define um agrupamento lógico de interfaces.  Uma Interface define a interface do objecto.

 Uma Operação define um método numa interface de um objecto.  Uma Constante define um a constante.

 Uma Excepção define as excepções que podem ser devolvidas por um a o p er aç ã o.

 Uma Typedef define os tipos de nomes que fazem parte de uma d ef in iç ã o I D L .

Um O R B p o d e t e r ac ess o a m ú lt ip los IR s. Com o s e ve r if ica n a F igu r a 1 9, a m esm a in t erf ac e Do c e s t á ins t a la da em do is r e p os it ó r io s d if er e nt es , um a na SoftCo, Inc. , que vende Doc objects, e um a na Customer, Inc., que c om pr a D oc Ob je ct s d a S of tC o. . A So ft C o d á à in te rf ac e em q u e st ã o o id e n t if ic a d or d o s e u r ep o s itó r io ( R e p os it or yID ) . O c lie n te tam b ém t em a su a in t e rf ac e D oc c om o m esm o R e po s it or yI D d o I R d a S o ft Co ., d e t a l f orm a q u e o O R B d o c lie nte s a b e q ue e st as in te rf ac es s ã o a m esm a p o d e n d o e s t ab e lec er a c om u n ica ç ã o e n tr e OR Bs.

F i g u r a 1 9 - U t i l i z a ç ã o d e R e p o s i t o r y I D s p a r a e s t a b e l e c e r a c o r r e s p o n d ê n c i a e n t r e I R s .

3.8.1. IDENTIFICADORES DE REPOSITÓRIO

Os R e p os ito ry IDs sã o id e n t if ic a d or es g lo ba is q u e id en t if ic am un ivo c am en t e c om p on e n t es e r es pe c t ivas in t erf a ce s a tr a vés d e d if e re n t es O R Bs e r e p os itó r ios. Os R e p os it ory ID s sã o s tr in gs g e r a da s a u t om at ic am en t e p e lo s is t em a e sã o u t iliza d a s p ar a m a n t er a co n s is t ên c ia d a s c o n ve n ç õ es d e n om e s u t iliza d a s e n tre r ep os it ór ios , n ã o pe rm it ind o c o lis õ es ( de n om es). Es t es I Ds p o d em t am b ém s er u t iliza d o s p ar a f a ze r a r e p lic aç ã o d e c ó p ias d o s m et a d a d os a tr a vés d e m ú lt ip lo s r e p os itó r ios , p oss ib ilita n d o de s t a f orm a a m a n u te nç ã o d a inf orm aç ã o n um e st a d o d e in t e gr id a d e e n tr e r e pos it ór ios . O f o rm at o d o I D é um n om e s eg u id o p o r d o is po n t os (: ) e os c a rac t er es d e a c or d o com o f orm a t o em ca us a ; I D L, DC E UU I D e LO C AL .

F

O RM AT O

IDL

O R e p os it ory ID c o ns ist e em tr ês c om p o n e nte s se p ar a d os p o r d o is p o n t o s ( ": ")

 O 1 º com p o n e nt e é o nom e d o f orm a t o, "ID L ".

 O 2 º com p o n e nt e é um a lis t a de id e n t if ic ad o r es s e p ar a d os p e lo c ar ac t er "/ ".

O 3 º c om p o n en t e é c on s tr uí d o a p ar t ir d os núm er os m a jor e m in or v ers io n , n o f o rm a t o d ec im a l s ep a ra d os p or po n t o ( ". ") .

Ex em p lo: Um ex em p lo vá lid o p a ra o R e po s ito ry I D p ar a a in te rf ac e Cat n o m ó du lo M yA ni ma ls é - I D L :D o g Ca t I nc/ M yAn im a ls /C a t/ : 1 .0 . N es t e ca s o a d e s ig na çã o DogCatInc é um prefixo único que identif ica um a o r g a n iza ç ã o. Po d em tam bém s er ut iliza d o s c om o p ref ix os IDs I nt er n e t o u o u t ro q u a lqu er n om e de s d e q u e s eja ú n ic o .

F

O RM AT O

DCE

UUID

O f orm at o DC E - UU I D ( D is tr ib ut e d C om m u n ic at io n Env ir o nm e n t - U n iv ers a l U n iq u e I d e nt if ier ) d o R e p os it ory ID in ic ia- se c om os c ara c t er es "D C E: " s e g u id os pe lo U U I D, um p o nt o e o n úm er o c orr es p o n d en t e à m in o r v ers io n em d éc im a l.

Ex em p lo: DC E: 7 0 0 dc 51 8 - 0 11 0 -1 1c e -a c8f - 0 80 0 0 9 0 b 5 d 3e : 1

F

O RM AT O

LOCAL

O f o rm at o L OC AL do R e p os it ory I D in ic ia- se c om os c ar act e re s "LO C AL : " s e g u ido s p or um a str in g a rb itr ár ia . Os IDs no f orm a t o L OC AL n ão p o d em s er u t iliza d o s f or a de um d e te rm in a d o r ep o s itó r io p ar a o q u a l f oram d ef in id os , e n ã o n ec ess it am d e es t ar d e a c ord o c om n e n h um a c o n ve n ç ã o em p ar t ic u la r .

3.9. AD APT ADORES DE OBJECTOS

Um O A ( O b jec t Ad ap t e r ) c om pr e e n d e a in t e rf a c e e ntr e o O R B e a im p lem en t aç ã o d o obje c t o. É a in t erf a ce pr in c ip a l q u e as im p lem en t a çõ es d e o b j ect os u t ilizam p ara a c e de r a f u nç õ es d o O R B. Os O As sup o r tam as s e g u int es f u nç õ es [Orf a li - 1 9 9 6] :

 R e g ist o d as im p lem en t a çõ es d e o bj ect os n o R e p os it ór io de Im p lem e n ta çõ es . O R ep o s itó r io d e Im p lem e n ta ç õ es f u nc io na com o o lo c a l o n d e s ã o g u a r da d as d e f orm a p ers is t e nt e as im p lem en t aç õ es d os ob j ec to s. Es t e re p os it ór io é g er id o p e lo O A.  I n st a nc i aç ã o d e n o vos o b j ec t os em tem p o de e x ec uç ã o . O O A é

r es p o ns á ve l pe la c r ia ç ã o d e ins t â nc ias d e o bj ec t os c ujas im p lem en t aç õ es se e nc o n tr em n o R e p os itó r io d e Im p lem e nt aç õ es .  G er aç ã o e ge st ã o de r ef e rê nc ias d e o bje c t os . O O A a tr ib ui

r ef er ê nc ias (I Ds ú n ic os) a o s n o vos o bj ec to s q u e c r ia .

 D ivu lg a çã o d e o bj ec t os s er vid or es . O O A pod e d ivu lg ar os s er viç os q u e d is p o n ib iliza n o OR B.

 M a n ip u laç ã o d e c h am a d a s de c lien t es . O O A é r es po ns á ve l p or d ir ig ir as c ham a d as dos c lie nt es p ar a o sk e let o n a pr o pr ia do .

 En via r as c h am ad as p a r a o m é to d o a pro p r ia d o . O O A es t á im p lic it am e n t e e n vo lvid o n a in vo c aç ã o d o m ét o d o em c au sa . Por e x em p lo, o O A po d e es t ar e n vo lvido n a ac t ivaç ã o da im p lem en t aç ã o d o obj ec t o.

Ex is t em m u it os p o t en cia is t ip os d e a d a p t a do re s d e o bj ec t os , n om e ad am e n te, a d a p t a d or es d e âm b it o g e r a l, p ar a a int e gr açã o d e b a s es d e d ad os ( OO D A - O b jec t Or ie nt e d D a ta ba s e Ad a p te r ) , p ar a a in t e gr aç ã o d e b ib lio t eca s ( LO A - L ib r ary Ob jec t Ad a pt er ) e o u tr os . A ar q u it ec t ur a C OR BA d ef in e a p e n as o BO A, m as r ec on h ec e a n e ce ss ida d e p ar a a ex is t ê nc ia d es t es ou tr os t ip os de a d a p t a d or es [ M o wb r a y - 1 9 9 5 ].

3.9.1. AD APT ADOR DE OBJECTOS BÁSICOS

O BO A ( Bas ic O b jec t Ad a p t er ) é um o bj ect o cr ia d o d ir ec tam e n t e p e lo OR B q u e p o d e se r in voc ad o d a m esm a f o rm a q u e o u t ro q u a lq u er o b j ec to , d is p o n ib iliza n d o o p e r aç õ e s às q u a is os s er vid o r es p o d em ac ed e r, p o d e n d o em d et e rm in a d as c irc u ns t â nc ias c h am ar t am bém im p lem e n ta ç õ es de o b j ect os . F u nc ion a t am b ém c om o in t erf a ce c om o n ú c le o d o O R B e s ke le t o ns r ec or re n d o a in te rf ac es p ar t ic u lar es , o q ue sig n if ica q u e o BO A é e s p ec if ico a c ad a O R B [ Orf a li - 1 9 9 8 ] . É p or t an t o um a in t erf ac e p la n e ad a p a r a es t ar am p lam e n t e d isp o n í vel e s u po rt a r um a am p la va r ie d ad e d e im p lem e nt aç ões c om u ns d e o bje ct os .

Q u a n d o o p e d id o d e um c lie nt e es p ec if ic a um s er vid or in act ivo , o BO A ac t iva a u t om a t ic am en t e o pr oc ess o s e r vido r. A p r im e ir a r es p o ns a b ilid a d e d o s er vid or é r e g is t ar a su a im p lem en t aç ã o n o BO A. O BO A g u ar d a es t e r e g is t o p a r a o u t iliza r n um f utu r o p e d id o d o o bje ct o . Ap ó s um o bj ec t o s er a c t iva do e s t e p o d e r ec e b er p ed id o s d os c lie nt es u t iliza n d o o m é t o d o c a llb a ck do sk e le t on .

O BO A d is p o n ib iliza os s e gu in t es m e ca n ism os [ Orf a li - 1 9 9 6] :  G er aç ã o e in t er pr e ta ção d e r ef e r ên c ia s d e o bje c t os.  Ac t ivaç ã o e d es ac t ivaçã o d e im p lem e n ta ç õe s.  Au t e n t ic aç ã o d o c lie nte q u e f a z a c ham a d a .  I n vo c aç ão d e m é t o do s a tr a vés d e sk e let o ns .  R e g ist o de im p lem en t aç õ es no IR .

A F ig u r a 2 0 m os tr a a es tr u tu r a b ás ic a d o BOA e a lg um as d as it er açõ e s e n tr e o BO A e um a im p lem en t a çã o d e um o bj ec to . O BO A in ic ia um pr o gram a p ar a f or ne ce r a im p lem en ta ç ã o d o o bje ct o ( 1 .) . A im p lem e n ta çã o do o bj ec to n o t if ic a o BO A q u e a s u a in ic ia liza ç ã o f o i t e rm ina d a ( a im p lem en t a çã o d o o b j ect o e st á p r on t a) e q u e e s t á pr e p ar a da p a r a r ec e be r p e d ido s ( 2 .). Q u a n do a im p lem e n ta çã o d o ob j ec to r ec e b e o pr im e ir o p ed id o o o bj ec t o é a c t iva d o ( 3 .) . Em p ed id os s ub s e q ue n t es , o BO A c ham a o m é t od o a p r o pr ia do u t iliza n d o o sk e let o n (4 . ). Em q u a lq u er a lt ura , a im p lem en t aç ã o p od e a ce d er a s er viç os BO A ta is c om o cr iaç ã o d e o bj ec t os, d es ac t ivac a o, e tc. ( 5 .) .

F i g u r a 2 0 - E s t r u t u r a e o p e r a ç ã o d o B O A .

A

C T I V AÇ Ã O E

D

ES AC T I V AÇ Ã O DE

I

M P LEM EN T AÇ Õ E S

Ex is t em d o is t ipo s d e a c t ivaç õ es q u e o BO A n e c ess it a r e a liza r c om o p ar t e d a in vo c aç ã o d e o p er aç õe s . A pr im e ir a é a ac t iva ç ã o da im p lem en t açã o , a qu a l o c orr e q u an d o n e nh um a im plem e n ta çã o do o bj ec t o est á d is p on í ve l p ar a m a n ip u lar o p e d id o. A s e gu n d a é a ac t iva ç ã o d o o bj ec t o , a qu a l oc or r e q u a n d o ne n h um a ins tâ n c ia d o obj ec t o e stá d isp o n í ve l p ar a m an ip u la r o p e d id o .

A a c t ivaç ã o d e um a da d a im p lem e n t aç ão r eq u e r a c o or d e n aç ã o en t r e o BO A e o s pr o gr am as qu e co n t êm a im p lem e nt aç ão . O t erm o s e r vido r é u t iliza d o c om o se n d o um a en t ida d e ex ec u tá ve l ( pr oc ess o ou t hr ea d ) q u e o BO A p o de in ic iar n um s ist em a e s p ecíf ic o . O BOA in ic ia a ac t ivid ad e p e la im p lem en t aç ã o, in ic ian d o o s er vid o r a pr op r ia d o, pr o v a ve lm e nt e p o r um m ec a n ism o d e o p er aç ão d e p e n d e nt e d o s is t em a. A im p lem e nt a çã o in ic ia liza - s e a s i pr ó pr ia , n ot if ic a n d o o BO A q u e es t á pr e p ar a da p a r a m a n ip u lar p e d id os a t r a vés d a c ham ad a à s o p er aç õ es im p l_ is _r e ad y o u o b j_ is _r e a dy . En t r e o t em p o d e arr an q u e d o pr o gr am a , at é à in d ic aç ã o q ue e st á p r o nt o , o BO A n ã o p e rm it e q u e o u t ro s p e d id os s ej am e n via d o s p ar a o s er vido r . D e po is d iss o , a tr a vés d os sk e le to ns , o BO A j á p o d e rá f a ze r as c h am a da s a os m ét o d os da s im p lem e nt a ç õe s.

A p o lí t ic a d e ac t ivaç ão d e sc re ve a s re g ra s q u e um a d a d a im p lem e nt aç ão s e g u e q u an d o há m ú lt ip lo s o bj ect os o u im p lem e n t aç õ es ac t ivas . Ex istem q u a tr o p o lít ic as q u e to d a s a s im p lem e nt açõ e s do BO A s u po rt am pa r a a a c t ivaç ã o d e im plem e nt a ç õe s:

 Se r vid or p ar t ilh a d o , on d e m ú lt ip los o bj ect o s a ct ivos , de u m a d a da im p lem en t aç ã o, p ar t ilham o m esm o s e r vido r.

 Se r vid or n ã o p ar t ilh a do , o n d e som e n t e um d a d o o bj ec to , de um a im p lem en t aç ã o, a ca d a m om e n t o p o d e es t ar ac t ivo n um s er vid or .  Se r vid or -p o r-m ét o d o, o n d e c ad a in voc aç ão d e um m ét o d o é

im p lem en t a da p or um s er vid or . Q u a n do o m ét o d o t erm in a , o s er vid or é t am b ém t erm in ad o .

 Se r vid or p ers is t e nt e , o n d e o s er vid or é ac t iva d o p or a lg o ex t er ior a o BO A. Ass um e -s e qu e um s e r vido r pe rs is te n t e é p ar t ilh a d o por m ú lt ip los o bj ect os ac t ivo s .

Os t ipo s d e act iva çã o d e im pl em e n ta çõe s de scr it os s ão ilus tr a d os na F ig ur a 2 1.

F i g u r a 2 1 - P o l í t i c a s d e a c t i v a ç ã o d e i m p l e m e n t a ç õ e s .

Documentos relacionados