Full text
In e acci´on O ien ada a Aspec os en En o nos
Mul io ganizacionales∗
Ra ael Co chuelo†Jos´eA.P´e ez‡An onio Ruiz–Co ´es§
Abs ac
Un o una ely, cu en p oposals ha ocus on sepa a ion o conce ns assume ha ob-
jec s in e ac by means o objec -o ien ed me hod calls, which implies ha hey embed
in e ac ions wi h o he s in o hei unc ional code. This makes hem dependen on his
in e ac ion model, and makes i difficul o euse hem in a con ex in which ano he
in e ac ion model is mo e sui ed. In his pape , we show ha unc ionali y can be
desc ibed sepa a ely om he in e ac ion model used, which helps enhance eusabil-
i y o unc ional code and coo dina ion pa e ns. In o de o show ha i is easible,
we adap ed he mul ipa y in e ac ion model o he con ex o Mul i-O ganisa ional
Web-Based Sys ems and de eloped a class amewo k o build business objec s whose
pe o mance a es compa ably o a handmade implemen a ion; he de elopmen ime,
howe e , dec eases significan ly.
Keywo ds:Aspec o ien a ion, in e ac ion models, mul ipa y in e ac ions.
Resumen
Po desg acia, las p opues as ac uales de sepa aci´on de aspec os asumen que los obje os
in e ac ´uan median e in ocaci´on de m´e odos, lo que implica que ienen que embebe
las in e acciones den o del c´odigo uncional. Es o los hace dependien es de es e mod-
elo de in e acci´on y hace di ´ıcil eu iliza los en un con ex o en el que o o modelo de
in e acci´on sea m´as adecuado. En es e a ´ıculo mos amos que la uncionalidad puede
se desc i a de o ma independien e al modelo de in e acci´on usado, lo que mejo a la
acilidad de eu ilizaci´on del c´odigo uncional y los pa ones de coo dinaci´on. Pa a
demos a que es iable, hemos adap ado el modelo de in e acci´on en e m´ul iples pa -
icipan es al con ex o de los sis emas mul io ganizacionales basados en la web y hemos
desa ollado un amewo k de clases que pe mi e cons ui obje os de negocio cuyo
endimien o es compa able al de una implemen aci´on a esanal; el iempo de desa -
ollo, po el con a io, se educe de o ma muy significa i a.
Palab as cla e:O ien aci´on a aspec os, modelos de in e acci´on, in e acciones mul i-
pa i as.
∗Es e abajo es ´a sub encionado po la Comisi´on In e minis e ial de Ciencia y Tecnolog´ıa de Espa˜na
(TIC2000-1106-C02-01)
†Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
‡Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
§Depa amen o de Lenguajes y Sis emas In o m´a icos. Escuela T´ecnica Supe io de Ingenie os In-
o m´a icos. Uni e sidad de Se illa, Espa˜na. e–mail: [email p o ec ed]
1 In oducci´on
Los sis emas dis ibuidos se conside an hoy en d´ıa piezas cla e en el desa ollo de sis emas
mul io ganizacionales. Muchas compa˜n´ıas pun e as se han dado cuen a de que In e ne es
mucho m´as que una zona de comp as y en as y o ece innume ables posibilidades de iun-
a en el mundo de la web. Con o me In e ne se asien a, las compa˜n´ıas es ´an encon ando
nue as o mas de saca pa ido a las capacidades que o ece y exis e una demanda c ecien e
de amewo ks [14, 15, 16] pa a cons ui sis emas mul io ganizacionales basados en la web
(MOWS, Mul i-O ganisa ional Web-based sys ems) [11, 12] a unos p ecios azonables. Es os
amewo ks desc iben gene almen e los MOWS como colecciones de componen es que im-
plemen an un conjun o de obje os de negocio que encapsulan un p o ocolo sem´an ico pa a
ealiza una unidad de abajo l´ogico: ans e i dine o, p ocesa una ac u a, ac ualiza
el egis o de un clien e, e c´e e a. Desde un pun o de is a abs ac o, los obje os de ne-
gocio modelan ac o es y da os eales, po lo que pe mi en mejo a la comunicaci´on en e
desa ollado es y clien es y ayudan a educi los cos es de desa ollo [17].
En eo ´ıa, los p og amado es s´olo ienen que p eocupa se po la uncionalidad que p o-
po cionan. Po desg acia, es a isi´on es muy idealis a pues o que los obje os de negocio
deben p eocupa se de aspec os ales como la sinc onizaci´on, la pe sis encia o la eplicaci´on
y en a as ocasiones es ´an aislados den o de un sis ema. Es deci , cons i uyen la pa e
uncional de un p o ocolo sem´an ico y deben abaja con o os pa a consegui un obje-
i o com´un. La sepa aci´on de aspec os ha sido p esen ada como una he amien a muy
p ome edo a pa a mejo a la modula idad, acilidad de comp ensi´on y de eu ilizaci´on del
c´odigo uncional. De hecho, es a es la pied a angula del nue o pa adigma de p og amaci´on
o ien ada a aspec os (AOP) [13, 23, 25].
Desde los p ime os abajos en es a ma e ia, la sinc onizaci´on [25], la dis ibuci´on [25, 36],
la segu idad [37], la coo dinaci´on [1, 32], la pe sis encia [24] o la eplicaci´on [5] han sido con-
side ados aspec os cla os que se pueden a a usando lenguajes espec´ı icos. Po desg acia,
ninguna de las p opues as o ien adas a aspec os ac uales log an sepa a la uncionalidad
de la in e acci´on con o os obje os en un sis ema, es deci , el mecanismo median e el cual
dos o m´as obje os en an en con ac o y pueden desa olla conjun amen e una pa e del
abajo. Tal y como mos amos en la secci´on 5, las p opues as ac uales es ´an basadas en
a iaciones del modelo de in e acci´on cl´asico de paso de mensajes y embeben las llamadas a
m´e odos en el c´odigo uncional de los obje os, lo que impide a los desa ollado es adap a su
c´odigo con acilidad si el modelo de in e acci´on debe se cambiado. Adem´as, los p o ocolos
sem´an icos suelen es a codi icados den o del c´odigo uncional, lo que hace di ´ıcil ambi´en
su eu ilizaci´on en escena ios simila es [1, 21].
M´as all´a de la comunicaci´on pun o a pun o, exis en o os muchos modelos de in e -
acci´on [28], algunos de los cuales ambi´en p opo cionan mecanismos de sinc onizaci´on y
coo dinaci´on. Cada uno iene sus p opias en ajas e incon enien es, de o ma que no exis e
ning´un modelo de in e acci´on uni e salmen e acep ado, sino un amplio abanico de posi-
bilidades. Po lo an o, pa ece azonable que exis an lenguajes o ien ados a aspec os que
a en el p oblema de la in e acci´on. Es os lenguajes mejo a ´ıan la acilidad de eu ilizaci´on
del c´odigo uncional y de los pa ones de coo dinaci´on. Adem´as, pe mi i ´ıan a los p og a-
mado es decidi qu´e modelo de in e acci´on se adap a mejo a sus necesidades, lo que iene
un e ec o di ec o sob e la acilidad de comp ensi´on, de man enimien o y e oluci´on. Adem´as,
es a ecnolog´ıa pa a la in e acci´on de obje os debe ´ıa se aplicada de o ma au om´a ica de
o ma que los obje os de negocio sean an eu ilizables como esul e posible [1, 21].
Es a mo i aci´on es ´a a alada po esul ados p e ios de in es igaci´on de o os au o es.
En [27], po ejemplo, se indica que g an pa e de la e oluci´on, eu ilizaci´on e in eg aci´on
del so wa e es de na u aleza inespe ada. No obs an e, es o no es necesa iamen e debido a
un pob e dise˜no, sino al hecho de que la ecnolog´ıa cambia de una o ma an ´apida que
es imposible p edeci los caminos a a ´es de los que e oluciona ´a. Selecciona un modelo
de in e acci´on adecuado es una decisi´on impo an e pues o que la misma uncionalidad
encapsulada en una clase pod ´ıa se in eg ada de una o ma m´as simple en un escena io
usando paso de mensajes, pe o espacios de uplas en o o. Po lo an o, ene una o ma de
cambia el modelo de in e acci´on mien as se p ese a la uncionalidad, pa ece azonable.
Has a donde alcanza nues o conocimien o, la sepa aci´on en e uncionalidad e in e -
acci´on es algo nue o e inno ado que no ha sido a ado has a aho a en el con ex o de la
o ien aci´on a aspec os. En es e a ´ıculo demos amos que la idea es iable p esen ando un
modelo de in e acci´on pa a MOWS denominado Open Mul ipa y In e ac ion Model yun
amewo k de clases que pe mi e implemen a nues as ideas de o ma muy e ec i a. El
es o del abajo se o ganiza como sigue: en la secci´on 2 demos amos que nues a idea
puede i m´as all´adelain ocaci´on de m´e odos y p esen amos el modelo de in e acci´on al
que aludimos p e iamen e; en la secci´on 3 p esen amos el amewo k de clases que hemos
dise˜nado pa a implemen a la p opues a; en la secci´on 4 demos amos que el desa ollo de
un MOWS puede bene icia se del uso de nues o amewo k y lo e aluamos eniendo en
cuen a el endimien o y el iempo de desa ollo; en la secci´on 5 analizamos el abajo de
o os au o es y concluimos que ninguno de ellos in en a sepa a el modelo de in e acci´on de
o os aspec os; inalmen e, p esen amos nues as conclusiones en la secci´on 6.
2 Un modelo de in e acci´on de al o ni el pa a MOWS
Un MOWS se puede e como un sis ema compues o de a ios obje os de negocio de g ano
g ueso que esiden en di e en es o ganizaciones y necesi an coope a ecuen emen e. Las
p imi i as clien e/se ido como el paso de mensajes o la llamada a p ocedimien os emo os
son el es ´anda indus ial de ac o pa a la in e acci´on en e obje os en es e con ex o. Po
desg acia, las soluciones basadas en es as p imi i as son di ´ıciles de lle a a cabo en un
MOWS en el que a ios obje os ienen que coope a simul ´aneamen e pa a llega a cabo
una a ea [19]. Ejemplos habi uales son la ans e encia de dine o de una cuen a a o a
median e un caje o au om´a ico ( es obje os), el pago de impues os a a ´es de la Red
(el con ibuyen e, la Hacienda p´ublica y la F´ab ica Nacional de Moneda y Timb e en el
caso de Espa˜na), il ado en el come cio elec ´onico (un clien e, un sis ema de il ado y
di e sos p o eedo es de se icio), e c´e e a. La ecnolog´ıa ac ual p opo ciona se ido es de
ansacciones pa a ag upa in e acciones indi iduales, pe o no exis e una cla a sepa aci´on
en e el p oblema a soluciona y la ecnolog´ıa subyacen e o el p o ocolo necesa io pa a
coo dina los obje os in oluc ados en una ansacci´on.
La mayo pa e de los m´e odos de an´alisis o dise˜no o ien ados a obje os econocen la
necesidad de coo dina a a ios obje os al mismo iempo u ilizando di e en es ´e minos:
diag amas de obje os [4], modelos de p ocesos [6], conexiones de mensaje [7], g a os de
colabo aci´on [38], diag amas de escena io [33] o colabo aciones [35]. Recien emen e, es a
necesidad ambi´en ha sido iden i icada en el campo de las sociedades mul iagen es [3, 26].
El modelo de in e acci´on subyacen e es, sin emba go, llamado a m´e odos en odos los casos,
lo que signi ica que los dise˜nado es a´un ienen que descompone colabo aciones complejas
en secuencias de llamadas.
Po desg acia, los lenguajes de p og amaci´on ac uales no o ecen un sopo e adecuado
que pe mi a a a ios obje os in e ac ua simul ´aneamen e, aunque se ha lle ado a cabo una
g an can idad de in es igaci´on en es e campo [28]. Ja aSpaces [20] es una de las p opues as
m´as ac uales. P opo ciona mecanismos median e los cuales un obje o puede ecupe a o
in oduci o os obje os en un espacio de uplas compa ido, lo que pe mi e desa olla
p o ocolos sem´an icos en o ma de lujos de obje os que se mue en a a ´es de uno o a ios
espacios de uplas. Ja aSpaces es pe ec o pa a aquellas aplicaciones en las que los lujos
de abajos son adecuados, pe o no es su icien e en gene al, p incipalmen e en el campo de
los MOWS o las aplicaciones de come cio elec ´onico en pa icula . La az´on es que muchos
p oblemas en es e con ex o p ecisan de a ios obje os que coope en simul ´aneamen e y
ans o ma es as colabo aciones en lujos de abajo no es nada sencillo.
Po ejemplo, supongamos que deseamos dise˜na un sis ema de a je as de d´ebi o [34].
Es e sis ema se compone de a ios pun os de en a, a ios o denado es que ienen las cuen-
as de los endedo es y las de los clien es; el obje i o es dise˜na un obje o de negocio que
sea esponsable de ans e i dine o de una cuen a de un clien e a una cuen a de un ende-
do a a ´es de un pun o de en a cada ez que el p ime o usa su a je a de d´ebi o. Con
Ja aSpaces, po ejemplo, es ela i amen e sencillo desa olla una soluci´on pa a esol e es e
p oblema, pe o end ´ıa dos incon enien es undamen ales: p ime o, la ansacci´on comple a
se puede e como una in e acci´on que coo dina a es obje os, pe o es e modelo de in e -
acci´on lle a a una soluci´on en la que es necesa io descompone es e e en o en a ias llamadas
am´e odos que deben se coo dinadas median e un p o ocolo espec´ı ico; adem´as, es e p o o-
colo puede se eu ilizable en si uaciones simila es, pe o la sepa aci´on con Ja aSpaces no es
su icien e, po lo que no se pueden eu iliza con acilidad [23].
2.1 Nues a p opues a
Sob e la base de la discusi´on p e ia, queda cla a la necesidad de con a con un modelo de
in e acci´on capaz de coo dina la acci´on conjun a de a ios obje os. Pa a dise˜na es e modelo
pa imos del Modelo de In e acci´on en e M´ul iples Pa icipan es [18], que es muy adecuado
pa a cap u a la esencia de es os p oblemas. P opo ciona un al o g ado de abs acci´on
que pe mi e igno a po comple o cu´al es la o ma en que a ios obje os se sinc onizan
simul ´aneamen e o in e cambian in o maci´on. Es o, adem´as, ab e las pue as a una mayo
acilidad de adap aci´on de las aplicaciones pues o que los algo i mos u ilizados quedan a
un ni el de abs acci´on meno y pueden se cambiados con acilidad sin a ec a al sis ema
dise˜nado.
Es e modelo ha a a´ıdo la a enci´on de un buen n´ume o de in es igado es que se han
cen ado en aspec os de implemen aci´on [9, 19, 39]. No obs an e iene a ios de ec os que
di icul an su aplicaci´on a los MOWS: el modelo no iene en cuen a la exis encia de obje os
pasi os, los obje os deben se conocidos en iempo de compilaci´on y ienen que ene acceso
al es ado local de o os obje os pa a pode comunica se con ellos. Es a es la az´on po la
que hemos desa ollado una e si´on a anzada del mismo a la que nos e e imos como Open
Mul ipa y In e ac ion Model (OMIM).
Pa a sopo a OMIM, hemos dise˜nado un lenguaje llamado CAL [8] y un conjun o de
algo i mos que pe mi en implemen a lo [29, 30, 31]. En las secciones siguien es esumi-
mos el abajo que lle amos hecho; en la secci´on 3, p esen amos el amewo k que hemos
desa ollado pa a implemen a lo.
2.2 Sopo e ling¨u´ıs ico
En es a secci´on desc ibimos CAL some amen e median e el ejemplo del sis ema de a je as
de d´ebi o p esen ado p e iamen e. Es e p oblema se puede desc ibi ´acilmen e u ilizando
nues o modelo pues o que ealmen e se puede educi a una in e acci´on ipa i a en e un
pun o de en a, una cuen a de clien e y una cuen a de endedo . La igu a 1 mues a una
desc ipci´on del sis ema en CAL que analizamos en las secciones siguien es.
2.2.1 Desc ipci´on de in e acciones
Las in e acciones se de inen usando la siguien e sin axis:
in e ac ion nomb e[obje os
pa icipan es]( anu as)
whe e pe misos de lec u a/esc i u a
Cada una iene un nomb e di e en e, algunos pa icipan es, algunas anu as y un conjun o
de pe misos de lec u a/esc i u a.
in e ac ion ans e [Poin O Sales pos; Accoun sou ce, des ]
( loa sum; boolean app o al) whe e
pos w i es sum, eads app o al;
sou ce w i es app o al, eads sum;
des eads app o al, sum;
beha iou Poin O Sales equi es
in e ace IPoin O Sales;
{
*[
Wai Fo Sale();
ans e [pos!sel , sou ce!Ge Cus ome Accoun (), des !Ge Me chan Accoun ()]
{
sum = Ge P ice();
Repo Resul (app o al);
}
]
}
beha iou Accoun equi es
in e ace IAccoun ;
{
*[
ans e [sou ce!sel ]
{
app o al = Au ho ise Paymen (sum);
[app o al →Cha ge(sum);];
}
[]
ans e [des !sel ]
{
[app o al →Pay In(sum);];
}
]
}
Figu e 1: Una desc ipci´on en CAL del sis ema de a je as de d´ebi o.
En el ejemplo en la igu a 1 se ha de inido una in e acci´on ipa i a denominada ans e
que pe mi e in e ac ua a un obje o que in e p e a el papel pos y dos cuen as que in e p e an
los papeles sou ce ydes . Es a in e acci´on se con ie e as´ı en el canal median e el cual pueden
coo dina sus ac i idades pa a consegui ans e i ondos desde la cuen a o igen (sou ce)
has a la cuen a des ino (des ) median e el pun o de en as (pos).
Las in e acciones ienen un es ado local que se compone de a ias anu as. ans e ,po
ejemplo, iene dos anu as denominadas sum yapp o al. La p ime a se u iliza pa a almacena
la can idad de dine o a ans e i y la segunda es un indicado de si la cuen a o igen iene
saldo su icien e como pa a ans e i esa can idad a la cuen a des ino. Es as anu as dan
in e ace IPoin O Sales {
oid Wai Fo Sale();
loa Ge P ice();
oid Ge Cus ome Accoun ();
OID Ge Me chan Accoun ();
oid Repo Resul (boolean done);
}
in e ace IAccoun {
oid Cha ge( loa sum);
oid Pay In( loa sum);
boolean Au ho ise Paymen ( loa sum);
}
Figu e 2: In e aces eque idas po los compo amien os en la igu a 1.
luga a un es ado local que simula el es ado global empo al del modelo de in e acci´on en e
m´ul iples pa icipan es b´asico [19]. La di e encia m´as impo an e es que un obje o ya no
necesi a ene acceso al es ado local de o os pa a ob ene la in o maci´on que necesi a.
Los pe misos de lec u a/esc i u a indican qu´e pa icipan e puede lee o esc ibi cada
anu a. En nues o ejemplo, el pun o de en a es esponsable de almacena la suma a
ans e i en la anu a sum, mien as que an s´olo necesi a lee la anu a app o al pa a mos a
el mensaje ap opiado en la pan alla; la cuen a que in e p e a el papel sou ce puede lee la
anu a sum pa a decidi si puede ans e i la suma indicada y esc ibe en la anu a app o al
pa a almacena su decisi´on; inalmen e, la cuen a des ino puede lee ambas anu as, pe o no
iene pe miso pa a esc ibi en ninguna de ellas.
Un obje o puede o ece pa icipaci´on en una o m´as in e acciones al mismo iempo.
En cada o e a debe indica qu´e papel quie e in e p e a y puede es ablece es icciones
sob e qu´e o os obje os deben in e p e a los es an es papeles. Una in e acci´on se puede
ejecu a siemp e y cuando exis a un conjun o de obje os que es ´e de acue do en in e acciona .
Gene almen e nos e e imos a esa in e acci´on y el conjun o de obje os que la pueden ejecu a
como una habili aci´on.
Dado que es necesa io ga an iza la exclusi´on mu ua, un obje o no puede ejecu a m´as de
una in e acci´on al mismo iempo. No obs an e, como un obje o puede o ece pa icipaci´on
en di e sas in e acciones al mismo iempo, puede encon a se en m´as de una habili aci´on.
Po es a az´on, cuando dos o m´as habili aciones compa en obje os, no pueden ejecu a se
al mismo iempo. El conjun o de habili aciones que no se pueden ejecu a se dice que son
echazadas.
2.2.2 Desc ipci´on de los compo amien os
Como hemos is o, los obje os pa icipan es en una in e acci´on deben in e p e a papeles
conc e os en ella. La sin axis que u ilizamos pa a desc ibi los es la siguien e:
beha iou nomb e
equi es in e aces
{
desc ipci´on de compo amien o
}
Cada desc ipci´on equie e que los obje os sob e los que se aplica implemen en un con-
jun o de in e aces. En el ejemplo de la igu a 1 se han mos ado dos compo amien os:
Poin O Sales, que desc ibe el la o ma en que se compo an los pun os de en a, y Accoun ,
que desc ibe el compo amien o de las cuen as banca ias, ya sea como deudo as o como
ac eedo as. Poin O Sales equie e la in e az IPoin O Sales desc i a en la igu a 2. Las ope a-
ciones de es a in e az pe mi en a un obje o espe a a que se p oduzca la siguien e en a
(Wai Fo Sale) y ob ene su impo e (Ge P ice), as´ı como ob ene e e encias a las cuen as
del clien e y el endedo (Ge Cus ome Accoun ,Ge Me chan Accoun ) y mos a un mensaje
en pan alla con los esul ados de la ope aci´on (Repo Resul ). De mane a simila , Accoun
equie e la implemen aci´on de una ope aci´on pa a e i a dine o de una cuen a (Cha ge),
pa a ing esa dine o en ella (Pay In) o pa a au o iza un pago (Au ho ise Paymen ).
Las ope aciones eque idas po un compo amien o son aqu´ellas cuya ejecuci´on se coo -
dina median e in e acciones mul ipa i as. Pa a modela la o ma en que un pun o de en a
y dos cuen as coope an u ilizamos ins ucciones de la o ma I[pa icipan lis ]{comm s a },en
donde Ies el nomb e de una in e acci´on, la lis a en e co che es iden i ica los obje os que se
desea hace pa icipa en la in e acci´on y comm s a es una lis a de ins ucciones de comu-
nicaci´on que in oluc a las anu as de la in e acci´on I. Los pa icipan es en la in e acci´on se
indican median e exp esiones de la o ma ole!id, lo que signi ica que el papel ole debe se
in e p e ado po el obje o iden i icado po id.Laexp esi´on ole!sel se u iliza pa a indica
que el papel ole se ´a in e p e ado po el obje o que ejecu a la ins ucci´on de in e acci´on. Si
no se indica nada pa a un papel, se asume que cualquie obje o puede in e p e a lo.
Po lo an o, el compo amien o de un pun o de en a se puede esumi as´ı: es un bucle
in ini o en el que p ime o espe a a que comience una nue a ope aci´on de en a y en onces
in en a ejecu a la in e acci´on ans e jun o a los obje os que modelan la cuen a del clien e
y del endedo . Si se llega a ejecu a es a in e acci´on, el pun o de en a ejecu a en onces su
c´odigo de comunicaci´on, que consis e en almacena la suma a ans e i en la anu a sum y
mos a un mensaje en su pan alla. El compo amien o Accoun ambi´en consis e en un bucle
in ini o en el que la pa icipaci´on en la in e acci´on ans e se o ece an o como cuen a de
o igen como de des ino de la ans e encia. Si se ejecu a la in e acci´on en la que in e p e a
el p ime papel, en onces comp ueba si puede a on a el ca go, almacena el esul ado en
la anu a app o al y ac ualiza su saldo con enien emen e. Si se ejecu a la o a in e acci´on,
en onces simplemen e lee la anu a app o al y ac ualiza el saldo.
E iden emen e, una in e acci´on mul ipa i a e asa la ejecuci´on de un obje o que in en a
lee una anu a has a que ha ecibido un alo po pa e de o o pa icipan e. Es deci , un
pun o de en a que in en a ejecu a la ins ucci´on Repo Resul (app o al), es e asado en
su ejecuci´on has a que la cuen a o igen de la ans e encia esc ibe su decisi´on en la anu a
app o al. Po lo an o, las ins ucciones de comunicaci´on se ejecu an en una egi´on c ´ı ica
en la que no pueden p oduci se condiciones de ca e a.
2.2.3 Aplicaci´on de compo amien os a clases
Los pa ones de compo amien o son abs ac os po que desc iben c´omo un obje o que imple-
men a un conjun o de ope aciones puede coope a con o os. Es as ope aciones son ambi´en
abs ac as y, a menudo, necesi an se adap adas an es de aplica un compo amien o sob e
una clase conc e a.
CAL p opo ciona un mecanismo simple pa a adap a ope aciones que se mues a en la
igu a 3. En es e ejemplo, el compo amien o Accoun ha sido aplicado sob e una clase Ja a
llamada bankAccoun . Si se ija, es a clase no p opo ciona las ope aciones que equie e el com-
po amien o, aunque no es di ´ıcil adap a las. Po ejemplo, la ope aci´on Au ho ise Paymen (sum)
se puede adap a ´acilmen e median e la exp esi´on ge Balance() ≥sum.
Es a adap aci´on nos pe mi e esc ibi compo amien os comple amen e abs ac os y e-
u ilizables. Es o es impo an e pues o que en o os lenguajes o ien ados a aspec os como
COOL [25], RIDL [25] o Aspec J [22], los aspec os hacen e e encia a las clases sob e las
que se aplican po nomb e, lo que p o oca dependencias en e ellos y hace di ´ıcil eu iliza
los p ime os.
class bankAccoun {
p i a e loa balance;
public oid upda eBalance( loa sum) {balance += sum; }
public boolean ge Balance() { e u n balance; }
}
map beha iou Accoun on o class bankAccoun whe e
Cha ge(sum) = upda eBalance(-sum);
Pay In(sum) = upda eBalance(+sum);
Au ho ise Paymen (sum) = (ge Balance() ≥sum);
Figu e 3: Aplicaci´on del compo amien o Accoun sob e la clase bankAccoun .
3 Nues o amewo k
Hemos dise˜nado un amewo k de clases que o ece odos los se icios necesa ios pa a im-
plemen a CAL1Nues os obje i os p incipales a la ho a de dise˜na lo ue on los siguien es:
1. Debe ´ıa se ex ensible de o ma que se pudie an inco po a en ´el nue os middlewa es
y algo i mos de coo dinaci´on de una o ma simple. Es o mejo a las posibilidades de
elecci´on del dise˜nado a la ho a de p oduci la e si´on inal de sus obje os de negocio.
2. Debe ene en cuen a la exis encia de obje os pasi os y a a los adecuadamen e. El
modelo de in e acciones en e m´ul iples pa icipan es adicional asume que odos los
obje os son ac i os y cuen an con su p opio hilo de ejecuci´on, lo que no suele se cie o
en el con ex o de los MOWS.
3. Debe pe mi i in eg a o os aspec os o ogonales con acilidad.
La igu a 4 mues a una o og a ´ıa de un sis ema en ejecuci´on que ilus a la a qui ec u a
de nues a p opues a. Se compone de los elemen os siguien es:
El ga ekeepe :Es uno de los elemen os m´as impo an es pues o que es esponsable de
a eas como las pol´ı icas de segu idad, ac u aci´on, gene a y ges iona los UUID,
localiza los coo dinado es de in e acci´on, e c´e e a.
Coo dinado es de in e acci´on: Son esponsables de de ec a qu´e in e acciones es ´an ha-
bili adas y de a bi a en e aqu´ellas que son con lic i as, es deci , compa en obje os.
Rep esen an es: Los obje os del usua io se conside an en idades ex e nas al amewo k
que u ilizan ep esen an es pa a in e ac ua . Es o pe mi e es ablece una cla a sepa-
aci´on en e la uncionalidad y los de alles de coo dinaci´on, aunque ambi´en simpli ica
el dise˜no del amewo k ya que ´es e s´olo iene que a a con los ep esen an es. Es o
signi ica que los obje os de usua io puede ene uncionalidad pu a o han podido se
p e iamen e mezclados con o os aspec os. Po ejemplo, un obje o que enga es ic-
ciones de sinc onizaci´on y de pe sis encia puede se implemen ado u ilizando COOL
[25] y la p opues a de [5], pe o es os de alles son i ele an es pa a el amewo k.
Ges o es de comunicaci´on: Son los esponsables de ges iona la comunicaci´on en e los
obje os que pa icipan en una misma in e acci´on, es deci , pe mi en la comunicaci´on,
1Es e amewo k es ´a disponible solici ´andolo a los au o es. En ´ıe una ca a elec ´onica a jp[email p o ec ed]
si desea ob ene una copia.
O
2
Coo dinado
de
in e acción
Ges o de
comunicación
Rep esen an e
Obje o de
negocio
I
2
O
1
I
1
O
3
Ga ekeepe
Reposi o io
He amien a de
adminis ación
Figu e 4: La a qui ec u a de nues a soluci´on.
ienen en cuen a los allos que se puedan p oduci , e c´e e a. Dado que es posible que
exis an a ias ocu encias de la misma in e acci´on ejecu ´andose simul ´aneamen e, cada
una de ellas iene su p opio ges o de comunicaciones.
A p ime a is a, pod ´ıa pa ece que el ga ekeepe es un cuello de bo ella, pe o es o no
es as´ı. La az´on es que la uncionalidad que o ece se u iliza s´olo cuando apa ecen nue os
obje os o in e acciones en el sis ema o cuando un obje o necesi a localiza las e e encias a
los coo dinado es esponsables de las in e acciones en las que pa icipan. Tambi´en debemos
indica que nada nos impide c ea a ios ga ekeepe s que se ejecu an concu en emen e,
educiendo de es a o ma el impac o de una ca´ıda o allo del sis ema. Sin emba go, dado
que odas las copias del componen e en ejecuci´on son uncionalmen e equi alen es en e s´ı,
solemos e e i nos al mismo como “el ga ekeepe ”.
Tambi´en es in e esan e menciona que ene ep esen an es pa a los obje os de usua io
no signi ica ine iciencia pues o que esiden en el mismo espacio de memo ia que los obje os
que ep esen an. Adem´as, sepa a los aspec os de coo dinaci´on de los obje os de negocio en
iempo de ejecuci´on ambi´en dibuja una cla a l´ınea de sepa aci´on en e la uncionalidad que
encapsulan y la o ma en que in e ac ´uan con o os. Es o acili a la cons ucci´on de wea e s
pues o que los ep esen an es se pueden implemen a ´acilmen e usando una colecci´on de
pa ones de dise˜no a la que de o ma colec i a se le suele hace e e encia como Role Objec
Pa e n [15]. Es o ayuda a man ene sepa ados los dis in os con ex os en los que un obje o
puede pa icipa y acili a el man enimien o de los mismos.
La igu a 5 mues a el aspec o del amewo k que hemos dise˜nado. F´ıjese en que nues o
dise˜no es lo su icien emen e gene al como pa a acomoda con acilidad di e sos middlewa es
o algo i mos de coo dinaci´on o de comunicaci´on p opues os en la bibliog a ´ıa, en e ellos
los nues os [30, 29]. El dise˜nado puede de es a o ma decidi cu´al es la mejo o ma de
implemen a sus obje os de negocio: si odos los obje os conocen aqu´ellos con los que an
a in e ac ua se puede u iliza un algo i mo cl´asico como el de Bag odia e al. [2] o los de
Co chuelo e al. [9, 10]; en caso con a io se ´a p eciso u iliza los algo i mos de P´e ez e al.
[30, 29].
[19] N. F ancez and I. Fo man. In e ac ing p ocesses: A mul ipa y app oach o coo dina ed dis-
ibu ed p og amming. Addison–Wesley, 1996.
[20] E. F eeman, S. Hup e , and K. A nold. Ja aSpaces P inciples, Pa e ns, and P ac ice.
Addison–Wesley Longman, June 1999.
[21] S. F ølund and G. Agha. A language amewo k o mul i-objec coo dina ion. In O. Nie s asz,
edi o , P oceedings o he Eu opean Con e ence on Objec -o ien ed P og amming ECOOP’93,
pages 346–360, Kaise slau e n, Ge many, 1993. Sp inge –Ve lag.
[22] G. Kiczales, E. Hilsdale, J. Hugunin, M. Ke sen, J. Palm, and W.G. G iswold. An o e iew o
Aspec J. In P oceedings Eu opean Con e ence on Objec -O ien ed P og amming ECOOP’01,
olume 2072 o Lec u e No es in Compu e Science, pages 327–353. Sp inge -Ve lag, 2001.
[23] G. Kiczales, J. Lamping, A. Mendheka , C. Maeda, C. Lopes, J. Loing ie , and J. I win.
Aspec -o ien ed p og amming. In P oceedings o he Eu opean Con e ence on Objec -O ien ed
P og amming ECOOP’97, pages 220–242. Lec u e No es in Compu e Science, Sp inge –Ve lag,
1997.
[24] K. Liebhe he . F om ansience o pe sis ence in objec -o ien ed p og amming: Pa e ns and
a chi ec u es. ACM Compu ing Su eys, 28A(4):39–41, Decembe 1996.
[25] C.V. Lopes. D: A Language F amewo k o Dis ibu ed P og amming. PhD hesis, Xe ox Palo
Al o Resea ch Cen e , 1998.
[26] J. Odell, H.V.D. Pa unak, and B. Baue . Rep esen ing agen in e ac ion p o ocols in UML. In
P. Cianca ini and M. Woold idge, edi o s, P oceedings o he 22nd In e na ional Con e ence on
So wa e Enginee ing ISCE’01, numbe 1957 in LNCS, pages 121–140. Sp inge –Ve lag, June
2001.
[27] H. Osshe and P. Ta . Using mul idimensional sepa a ion o conce ns o ( e)shape e ol ing
so wa e. Communica ions o he ACM, 44(10):43–50, 2001.
[28] G. Papadopoulos and F. A bab. Coo dina ion models and languages. In Ad ances in Compu -
e s, olume 46. Academic P ess, 1998.
[29] J. A. P´e ez, R. Co chuelo, D. Ruiz, and M. To o. An o de –based, dis ibu ed algo i hm o
implemen ing mul ipa y in e ac ions. In Coo dina ion Models and Languages. P oceedings o
he 5 h In e na ional Con e ence COORDINATION 2002., Lec u e No es in Compu e Science,
pages 250–257, Yo k, Uni ed Kingdom, 2002. Sp inge .
[30] J.A. P´e ez, R. Co chuelo, D. Ruiz, and M. To o. A amewo k o aspec –o ien ed mul ipa y
coo dina ion. In Wo king Con e ence on Dis ibu ed Applica ions and In e ope able Sys ems
DAIS’01, page To appea , K akow, Poland, 2001. Kluwe Academic Publishe s.
[31] J.A. P´e ez, R. Co chuelo, D. Ruiz, and M. To o. An enablemen de ec ion algo i hm o open
mul ipa y in e ac ions. In Applied Compu ing 2002. P oceedings o he 2002 ACM Symposium
on Applied Compu ing, pages 378–384, Mad id, Spain, Ma ch 2002. ACM P ess.
[32] M. Pin o, L. Fuen es, M.E. Fayad, and J. M. T oya. Sepa a ion o coo dina ion in a dynamic
aspec -o ien ed amewo k. In P oceedings o he Fi s In e na ional Con e ence on Aspec -
O ien ed So wa e De elopmen AOSD’01, Enschede, The Ne he lands, Ap il 2002.
[33] T. Reenskaug, P. Wold, and O.A. Lehne. Wo king Wi h Objec s. The OO am So wa e Engi-
nee ing Me hod. Manning Publica ions Co., Augus 1995.
[34] A. Ruiz-Co ´es, R. Co chuelo, J.A. P´e ez, A. Du ´an, and M. To o. An aspec –o ien ed ap-
p oach based on mul ipa y in e ac ions o speci ying he beha iou o a sys em. In P inci-
ples, Logics, and Implemen a ions o High-Le el P og amming Languages PLI’99. Wo kshop on
Objec -O ien ed Speci ica ion Techniques o Dis ibu ed Sys ems and Beha iou s, pages 56–65,
Pa is, F ance, 1999.
[35] J. Rumbaugh, I. Jacobson, and G. Booch. The Uni ied Modeling Language Re e ence Manual.
Objec Technology Se ies. Addison Wesley Longman, Reading, Massachusse s, 1999.
[36] A.R. Sil a, P. Sousa, and J.A. Ma ques. De elopmen o dis ibu ed applica ions wi h sepa-
a ion o conce ns. In P oceedings o he 1995 Asia-Paci ic So wa e Enginee ing Con e ence
APSEC’95. IEEE P ess, 1995.
[37] J. Viega and D. E ans. Sepa a ion o conce ns o secu i y. In P. Ta , A. Finkels ein, W. Ha -
ison, H. Nusibeh, H. Osse , and D. Pe y, edi o s, P oceedings o he Wo kshop on Mul i-
Dimensional Sepa a ion o Conce ns in So wa e Enginee ing a ICSE’00, 2000.
[38] R. Wi s-B ock and B. Wilke son. Designing Objec -O ien ed So wa e. P en ice–Hall, Augus
1990.
[39] A.F. Zo zo and R.J. S oud. A dis ibu ed objec -o ien ed amewo k o dependable mul i-
pa y in e ac ions. ACM Sigplan, 34(10):435–446, Oc obe 1999.