Anda di halaman 1dari 11

UnestudiocomparativodedosherramientasMDA:

OptimalJyArcStyler
J.GarcaMolina,J.Rodrguez,M.Menrguez,M.J.Ortn,J.Snchez
DepartamentodeInformticaySistemas,UniversidaddeMurcia
CampusdeEspinardo30071Murcia
jmolina@um.es

Resumen.Eldesarrollodesoftwaredirigidopormodelosesunreaqueest
ensuinfancia,peroyahanaparecidounbuennmerodeherramientasconla
etiquetaMDA.Enestaponenciapresentamoslosresultadosdeuntrabajoque
haconsistidoenrealizarunacomparacindelasdosherramientasMDAms
extendidas: OptimalJ y ArcStyler. Primero evaluamos cada una de ellas
medianteunanlisisdepropiedadesextradasdelaespecificacindeMDA,
desarrollando la aplicacin Pet Store con cada herramienta. Posteriormente
realizamos el estudio comparativo a partir de las mismas propiedades. La
comparacinhapuestodemanifiestoimportantesdecisionesdediseopara
unaherramientaMDA,comosonlaformadeanotarelPIM,queelPSMsea
implcitooexplcito,sunaturalezacerradaoabiertaparasoportarcualquier
tecnologaylosmecanismosparalaedicinyajustedelastransformaciones.

1Introduccin
En noviembre de 2000, OMG estableci el framework MDA (Model Driven
Architecture)[5,6]comounnuevoparadigmadecreacindesoftwareenelquelos
modelosguantodoelprocesodedesarrollo.LaideaprincipalquesubyaceenMDA
es separar la especificacin de la funcionalidad de un sistema software de los
detallessobrecmosellevaacaboenunadeterminadaplataforma,demaneraque
losdesarrolladoresescribanmodelos centradosenlalgicadelaaplicacinyde
formaautomticasegenereelcdigoconlosdetallespropiosdeunaplataforma.A
este nuevo paradigma se le ha denominado Ingeniera de Modelos o Desarrollo
DirigidoporModelos.
MDAsefundamentaenlaarquitecturadecuatrocapasdelOMG[7],enlaque
MOFesellenguajedemetamodeladoapartirdelquesepuedendefinirlenguajesde
modelado como UML. El proceso MDA se basa en transformar modelos
independientesdedetallesdeimplementacin(modeloPIM)enotrosqueaportanlos
aspectos especficos de una plataforma concreta (modelo PSM), hasta llegar al
modelo final, esto es el cdigo fuente. MOF permite definir formalmente los
lenguajes de modelado y las transformaciones entre modelos, de manera que se

puedanconstruircompiladoresdemodelos.Aligualquesucediconloslenguajes
de programacin, el desarrollo dirigido por modelos supone un nuevo paso para
aumentarelniveldeabstraccinylaautomatizacin.Tambinesposiblereconocer
enel nuevoparadigmaunaevolucindelosgeneradoresdeaplicacionesquetan
importantepapelhanjugadoenlasdosltimasdcadas.
Aunqueestclaroqueeldesarrollodesoftwaredirigidopormodelosesunrea
queestensuinfancia,yahaaparecidounbuennmerodeherramientasconla
etiqueta MDA. En este trabajo presentamos los resultados de un estudio
comparativodelasdosherramientasMDAmsextendidas:OptimalJyArcStyler[1].
Primeroseharealizadounaevaluacinindividualdecadaherramientamedianteun
anlisisdecaractersticasanlogoalempleadoen[2]paraevaluarOptimalJ.Despus
sehacontrastadolosresultadosdecadaherramienta.Elcasoprcticoelegidopara
probar las capacidades de las dos herramientas fue Pet Store [9]. Una versin
completadeldocumentoelaboradocomopartedeesteestudio[8]puedeencontrarse
enhttp://dis.um.es/~jmolina/pfc.html.
Esteartculoseorganizadelasiguientemanera.Primeropresentamosloscriterios
decomparacin.EnlasdosseccionessiguientesdescribimosbrevementeOptimalJy
ArcStyler. A continuacin presentamos el estudio comparativo y por ltimo las
conclusiones.

2CriteriosdeComparacin
Durante la fase del trabajo en la que nos ocupamos de la identificacin de las
dimensionesycriteriosdeevaluacindeherramientasMDA,tuvimosconocimiento
delapublicacindelosresultadosdeunainteresanteevaluacindelaherramienta
OptimalJ [2]. En dicho estudio se aplic una metodologa de anlisis de
caractersticasyseeligiunconjuntodepropiedadesextradasdelaespecificacin
deMDA[6].EnlaTabla1apareceunarelacindeestaspropiedadesalaqueseha
aadidoP15,P16yP17.Nuestroestudiocomparativoseharealizadoapartirde
estaspropiedades.Porlimitacionesdeespacionosedescribecadapropiedad,aunque
entendemosque sunombre yelanlisis presentado enlaSeccin5clarifican su
significado.
Tabla1.Propiedadesquesernevaluadasparacadaherramienta
Id Propiedad
P01 SoporteparaPIM
P02 SoporteparaPSM
P03
P04
P05
P06
P07
P08
P09

Permitevariasimplementaciones
IntegracindeModelos
Interoperabilidad
Definicindetransformaciones
Verificacindemodelos
Expresividaddelosmodelos
Usodepatrones

Id Propiedad
P10 Soporteparaconsistenciaincremental
P11 Soportedetransformacionesdemodelos
(PIMPIM,PSMPSM,etc.)
P12 Trazabilidad
P13 Soportedelciclodevidadedesarrollo
P14 Usodeestndares
P15 Controlyrefinamientodetransformaciones
P16 Calidaddelcdigogenerado
P17 Herramientasdesoporte

3OptimalJ
OptimalJde Compuware esunaherramientaMDAqueutilizaMOFparasoportar
estndares como UML yXMI. Se trata de unentorno de desarrollo que permite
generaraplicacionesJ2EEcompletasapartirdeunPIM.Laversinevaluadaeneste
estudio ha sido OptimalJ Professional Edition 3.0, disponible a travs de un
conveniodecolaboracindenuestrogrupoconCompuware.EnOptimalJexisten
trestiposdemodelos[4]:
Modelo del Dominio: modelo que describe el sistema a un alto nivel de
abstraccin,sindetallesdeimplementacin.CorrespondealPIMdelaaplicacin
ysuelementoprincipalesunmodelodeclasesdelnegocio.
Modelo de la Aplicacin: modelo del sistema desde el punto de vista de una
tecnologa determinada (J2EE). Contiene los PSM de la aplicacin. Se genera
automticamente a partir de un modelo del dominio y est formado por tres
modelos:modelodebasededatos,modelodeinterfazwebymodeloEJB.
ModelodeCdigo:cdigodelaaplicacin,generadoapartirdeunmodelodela
aplicacin.
OptimalJ distingue varios tipos de patrones: patrones de transformacin entre
modelos (para transformar un PIM en PSM y un PSM en cdigo) y patrones
funcionales que aplican transformaciones dentro de un modelo (por ejemplo,
refactoringconpatronesdediseoGoF).LaFigura1ilustracmoserelacionanlos
modelosdeOptimalJylastransformacionesrealizadas.

Figura1.ConexinentrelosmodelosdeOptimalJ

DelprocesodedesarrolloconOptimalJpodemosdestacar:
Generacin automtica a partir del PIM de los modelos PSM de la capa de
presentacin (web), capa de negocio EJB y base de datos, estableciendo la
conexin(puentes)entrelastrescapas,comoseveenlaFigura1.
Distincin entre bloques libres y protegidos en el cdigo para impedir la
modificacin del cdigo generado. Una nueva generacin de la aplicacin
mantieneelcdigoaadidoenlosbloqueslibres.

La interfaz web generada proporciona una navegacin por defecto para cada
objeto de negocio, que permite el mantenimiento de los datos asociados a las
clases del Modelo del Dominio. Esa interfaz es muy pobre pero existe la
posibilidaddecrearunpatrndepresentacinqueseajusteaunasnecesidades
concretas,obienmanualmentemodificarelcdigodelaaplicacin.

4ArcStyler
ArcStylerde iOSoftware esunaherramientaMDAquetambinutilizaMOFpara
soportarestndarescomoUMLyXMI,yademsJMIparaelaccesoalrepositoriode
modelos.Integraherramientasdemodelado(UML)ydesarrollo(ingenierainversa,
explorador de modelos basado en MOF, construccin y despliegue) con la
arquitecturaCARATquepermitelacreacin,edicinymantenimientodecartuchos
MDA (MDACartridge) que definen transformaciones. Tambin incluye
herramientasrelacionadasconelmodeladodelnegocioyelmodeladoderequisitos
porloquecubretodoelciclodevida.Vamosacomentarbrevementelosaspectos
msrelevantes deArcStyler eindicaremos cmoconstruir una aplicacindetres
capascomolaquesoportaOptimalJ.
ArquitecturaCARAT
Uncartuchocontieneunconjuntodereglasdetransformacinyseinstalacomoun
plugin. El lenguaje de script Jphyton es utilizado para la creacin de cartuchos.
Actualmente existen numerosos cartuchos para diferentes plataformas, como
J2EE,.NET,serviciosweb,etc.LoscartuchosutilizanPerfilesUMLparaincluiren
losmodelosaspectosespecficosdeunaplataforma,porejemplounperfilparaEJBo
Java2.Unafuncionalidadmuypotenterelacionadaconloscartuchoseslaherencia
decartuchos:siendoposibledefiniruncartuchoapartirdeotroexistente.Atravsde
cartuchos podramos definir todos los modelos de OptimalJ. En
http://dis.um.es/~jmolina/documentos/CartuchosMDA.pdf se puede encontrar una
introduccinalaarquitecturaCARATyloscartuchos.
Marcas
En la especificacin de MDA se distingue dos modos de anotar un PIM con
informacin especfica de una plataforma: Correspondencia de tipos (Model type
mapping)yCorrespondenciadeinstancias(Modelinstancemapping)[5].ArcStyler
proporcionalosdosmodosatravsdeestereotiposymarcasMDA.Lasmarcasson
anotaciones sobre elementos de un modelo que proporcionan informacin a los
cartuchosyquejuntoconlosestereotiposdirigenunatransformacin.Uncartucho
proporcionaunadefinicindelconjuntodemarcaspermitidoparaunadeterminada
plataforma.Unamarcasedefineconlasiguienteinformacin:tipodedatoasociado,
elementosdelmodeloalosqueseaplicayvalorpordefecto.Uneditorinteligentede

marcas evala las definiciones en tiempo de modelado y proporciona el soporte


apropiadoparamarcarlosmodelosparaunaplataformaespecfica.
FrameworkAccesor
Establece un proceso bien definido para elaborar la capa de presentacin de las
aplicaciones, mediante la definicin de un modelo accesor se define el flujo de
controlyelflujodedatosdelacapadepresentacindeunmodoabstracto.Enel
proceso de generacin de cdigo, el modelo Accessor se implementa para una
tecnologadeterminada.EnelcasodePetStoreutilizamoselcartuchoWebAccesor,
quegeneraficherosJSPyJavaservlets.Unmodelo Accesor incluyedostiposde
elementos:
UnaccessorjuegaelroldeunControladorenlaarquitecturaMVC,ydescribeel
flujodecontroldeunainterfazexterna.Estecomportamientosemodelaenun
diagramadeestadosextendidodeUML.
Un representer juegaelroldeuna Vista enlaarquitecturaMVC.Seusapara
describiruncomponentebsicodelainterfazdeusuario,porejemplounapgina
JSP o ASP.NET. Se modela mediante hojas de propiedades especiales
proporcionadasporArcStyler.
Ennuestraopinin,unelementoaccessorcorrespondeauncasodeusodelsistema
expresado de forma detallada y concreta. El diagrama de estados asociado a un
accessorestablecelasecuenciadeaccionesquecaracterizaaundeterminadocasode
uso.Estaanalogaresultamuyinteresanteenundesarrollodirigidoporcasosdeuso.
Paragenerarunaaplicacindetrescapassimilaralaquesehadesarrolladocon
OptimalJ, tendramos que: i) utilizar el cartucho EJB2.0 (en realidad WSL8 que
heredadeEJB);ii)tenerpresentequeenArcStylernoexisteunmodeloexplcitode
basesdedatossinoqueestimplcitoenelmodeloEJB,demodoqueWSL8genera
unatabladebasededatosporcadacomponenteEJB,ycontrolamediantemarcaslos
aspectos de la base de datos, y iii) utilizar un cartucho WebAccesor con varios
accesorsyrepresentersparaobtenerelmodeloweb.

5Estudiocomparativo
TrasevaluarOptimalJyArcStyler,medianteeldesarrollodelaaplicacinPetStore
concadaunadeellas,realizamosunavaloracinindividualquepuedeencontrarseen
[8] y una comparacin de las dos herramientas para analizar en qu medida
satisfacanlaspropiedadesdelaTabla1.Cadaunadelaspropiedadesesvaloradade
0a4(nulo,mnimo,medio,bueno,excelente)segnelgradoenqueessoportadapor
laherramienta.Presentamosaquunresumendelasconclusionesobtenidasparalas
propiedades principales. No aparecen las propiedades Interoperabilidad (P05),
Soportedeestndares(P14)yCalidaddelCdigo(P16)yaquelasdosprimerasson
claramentesatisfechas,atravsdeXMIyelsoportedeestndarescomoMOF,UML

yelrepositorioMOF,yencuantoalatercera,ambasherramientasgenerancdigode
calidadgraciasalusoextensivodepatronesdediseo.
SoporteparaPIM(P01)
Tanto OptimalJ como ArcStyler permiten crear modelos independientes de la
plataforma bastante completos. En el caso de OptimalJ, el PIM del sistema est
representadoporel ModelodeClases. Estemodelotansloincluyeundetallede
plataformaqueennuestraopininnodeberaaparecerenelPIM:laclaveprimaria
deuna clase ysurestriccin de unicidad asociada, que son aspectos propios del
modelo de base de datos. Sin embargo, ArcStyler no muestra este detalle en el
modelo,sinoqueestablecelaclaveprimariadeunaclasemedianteunamarcaenel
atributocorrespondiente.
EnArcStylernohayunPIMnicoquedirijatodoeldesarrollodelaaplicacin,
sinoquerealmentetenemosdosPIMindependientes:elmodelodeclasesquedefine
losEJByelmodeloAccessorqueaccedealasentidadesdelmodelodeclases.Como
resultadotenemosdosPIMqueestnestrechamenterelacionados.Estocontrastacon
elPIMnicodeOptimalJ,puntodepartidadetodoeldesarrolloymedianteelcual
segeneranelrestodemodelos.
Porotraparte,ArcStylerproporciona lasdosformasdeanotar unPIMquese
detallanenlaespecificacindeUMLatravsdeestereotiposymarcas.Peroaligual
queenOptimalJ,unPIMdeArcStylernoesttotalmentelibrededetallessobrela
plataformadestino.Porejemplo,siqueremosaadirunmtododebsquedadistinto
aldeclaveprimaria,debedefinirseenelPIM.Conceptualmente,deberahacersea
nivel de PSM, pues representa una operacin que slo tiene sentido para la
plataformaEJB.Noobstante,alnodisponerenArcStylerdePSMexplcitos,lanica
alternativa es definir estas operaciones en el PIM, enmarandolo con detalles
dependientesdelaplataforma.
SoporteparaPSM(P02)
El proceso tpico de desarrollo con MDA contempla como pasos principales la
transformacindeunPIMaPSMydeunoomsPSMacdigo.OptimalJsigue
fielmente este esquema, generando a partir del PIM tres tipos de PSM que
interactan entre s. Aunque estos PSM no son muy expresivos y permiten una
flexibilidad limitada, nos proporcionan un modelo intermedio entre el PIM y el
cdigo,enelquepodemosdefinirelementosespecficosdeunaplataformaqueno
tienen sentido en el PIM, como mtodos de bsqueda o mtodos home para la
plataformaEJB,rolesdeseguridadparalacapawebovistassobrelastablasdel
modelodebasededatos.
ArcStyler, por contra, carece de PSM explcitos, sino que utiliza un PIM
estereotipadoymarcasparagenerardirectamenteelcdigodelaaplicacinparauna
determinada plataforma. Como vimos en el apartado anterior, esto provoca que
algunosaspectosdelaplataformadestinodebanmodelarseenelPIM.

Permitevariasimplementaciones(P03)
Una de las claves de MDA consiste en permitir varias plataformas de
implementacin a partir de un mismo PIM. En este aspecto, existe una gran
diferenciaentrelasdosherramientas.OptimalJpermitegenerartrestiposdistintosde
PSMrelacionadosentresydirigidosagenerarunaaplicacinparala plataforma
J2EE. La nica variacin posible consiste en generar servicios web a partir del
modeloEJB,eintegrarlaaplicacinconaplicacionesexternasusandoCORBAo
serviciosweb.Endefinitiva,setratadeunaherramientacerradayelsoportepara
nuevasplataformaslodebeproporcionarelfabricante.
En el polo opuesto est ArcStyler con la arquitectura CARAT. De partida,
incorpora numerosos cartuchos MDA, cada uno de los cuales soporta una
determinadaplataforma(EJB,ServiciosWeb,.NET,JSP/Servlets,etc.).Adems,es
posiblecrearnuevoscartuchos,extendiendoalgunoexistenteopartiendodecero.
EstaestructuraabiertadeArcStylerhacequenodependaexclusivamentedelsoporte
suministrado por el fabricante, permitiendo a una empresa adaptarse a nuevas
tecnologasmediantelacreacindenuevoscartuchos.
Integracindemodelos(P04)
UnaventajadeOptimalJesquegeneraautomticamentelospuentesqueconectanlas
trescapasdelaaplicacin(web,EJBybasededatos),locualesfactiblealestar
orientada para una plataforma concreta. Con el cdigo generado obtenemos una
aplicacintotalmenteoperativaenlaquelosJSPdelainterfazwebinteractancon
losEJBdelmodelodelnegocioyestosEJBconlastablasdelabasededatos,de
formatotalmentetransparentealdesarrollador.
Sinembargo,enArcStylerestaintegracinesmscomplicada.Alpoderelegir
entre tantas implementaciones posibles, un cartucho no siempre ser capaz de
generarlospuentesadecuadosparacomunicarseconloselementosgeneradospor
otrocartucho,puestoquenecesitaconocercmointeractuarcondichoselementos.
Serresponsabilidaddecadacartuchogenerarlospuentesadecuados.Enelcasode
Pet Store hemos encontrado este problema en la comunicacin entre el modelo
WebAccessoryelmodeloEJB.
Definicindetransformaciones(P06)
La versin evaluada de OptimalJ no permite acceder a las definiciones de las
transformaciones,queestnincluidasenlosllamados patronesdetransformacin.
Noobstante,laedicinOptimalJArchitectureEditionpermitecrearnuevospatrones
detransformacinPIMPSMoPSMcdigo.
EnArcStyler,laarquitecturaCARATpermiteaccederalasdefinicionesdelas
transformaciones. Desde la misma herramienta podemos extender un cartucho
existenteymodificarloparasatisfacerciertosrequisitos.Aligualquesucedeconlos
patrones de transformacin de OptimalJ, crear un nuevo cartucho es una tarea
complicada, pero una vez construido se dispone de soporte para una nueva
plataformaypuedeaprovecharseparamltiplesproyectos.

Verificacindemodelos(P07)
OptimalJ comprueba la correccin de un modelo antes de aplicar cualquier
transformacin.DisponeparaellodeunverificadorparaPIMyotroparacadatipo
de PSM, cuyas comprobaciones estn bien documentadas en el manual de la
herramienta[4].ArcStylertambinpermiteusarverificadoresdemodelos,perono
losincorpora,sinoquecadacartuchodebeencargarsedeimplementarelverificador
desusmodelosdeentrada.Cabedestacarqueparaloscartuchosusadosennuestra
evaluacin (WebAccessor y WLS8) no hay documentacin disponible sobre las
comprobacionesquellevanacabosusrespectivosverificadores.Adems,muchos
errorespasandesapercibidosparaelverificadorysetrasladanalafasedegeneracin
decdigo,donderesultacomplicadodetectarelelementodelmodeloqueprodujoel
fallo.
Expresividaddelosmodelos(P08)
Es muy importante que los modelos incluidos en la herramienta sean lo ms
expresivos posibles. De esta manera, el desarrollador tendr mayor flexibilidad y
precisinalahoradedescribirlasdistintaspartesdelsistema.Laimportanciadeesta
propiedad queda patente al comparar el modelo web de ambas herramientas.
MientrasqueArcStylerproporcionaelmodeloAccessorypermitedisearinterfaces
grficasamedida,enOptimalJtenemosunmodelodepresentacinpocoexpresivo,
de muy alta granularidad, que no permite especificar el flujo de control de la
navegacinweb,imprescindibleparaconstruiraplicacionesamedida.Modificarla
navegacin generada por defecto es bastante complejo y requiere cambios en el
cdigofuentegeneradoobiendefinirnuestrospropiospatrones.
Usodepatrones(P09)
OptimalJutilizapatronesdeformaextensiva,tantoanivelinternodelosmodelos
(patrones de cdigo, patrones de diseo, patrones del dominio) como en la
generacindemodelos(patronesdetecnologaypatronesdeimplementacin).Sin
embargo, en ArcStyler, el uso de patrones se establece en los cartuchos. En la
documentacindeloscartuchosutilizadosapenassemencionanunospocospatrones,
comoelFrontControllerparalosAccessoroelCompactBeanparalosEJB.
Soporteparalaconsistenciaincremental(P10)
En ambas herramientas, los cambios realizados manualmente en el cdigo se
conservancuandoseregeneratodalaaplicacin,medianteladistincinentrebloques
libres y bloques protegidos. En el caso de OptimalJ tambin existe consistencia
incrementalsobreunPSMlimitadaaunpequeoconjuntodecambios.As,algunos
cambiosrealizadosenunPSMsetrasladanaotrosPSMyalPIM,porejemplo,un
cambiorealizadoenelmodelodebasededatossereflejatambinenlosmodelos
EJByWeb.

Soportedetransformacionesentremodelos(PIMPIM,PSMPSM,etc.)(P11)
Adems de las transformaciones PIMPSM y PSMcdigo las dos herramientas
ofrecen un soporte limitado para otros tipos de transformaciones. OptimalJ
proporcionalosllamadospatronesfuncionalesqueaplicantransformacionesdentro
deunmodeloyenelcasodeArcStylerlanicatransformacinencontradaconsiste
engenerarunmodelo Accessor genricoapartirdelmodelodeclases,locuales
posiblegraciasalosGenericAccessors,pertenecientesalframeworkAccessor.
Trazabilidad(P12)
OptimalJ registra todas las transformaciones realizadas por un patrn de
transformacin. Gracias a este registro, se puede conocer qu elemento del PIM
correspondeaundeterminadoelementodelPSM(clase,atributo,etc.)ysudestino
enelcdigo(ficherodecdigo,paquete,scriptdebasededatos,etc).Sinembargo,
OptimalJ no aprovecha esta informacin para actualizar cambios. En el caso de
ArcStylernoexistetalregistro.
Soportedelciclodevida(P13)yHerramientasdesoporte(P17)
OptimalJ permite controlar prcticamente todas las fases del ciclo de vida sin
necesidaddeutilizarotrasherramientas,peronoincluyesoporteparaelmanejode
requisitos,sinoquesepartedelPIM.ArcStylernoincorporaherramientasparalas
fasesdecodificacinydespliegue,yaquenodisponedeuneditordecdigopropio,
y no incluye servidores de aplicaciones, ni herramientas de construccin. No
obstante,graciasalmecanismodeextensibilidaddeArcStylerpodemosintegrarenel
entornoeditoresdecdigoexternoscomoJBuilder.Esimportantesealar,aunqueno
lohemosevaluadotodava,queArcStylerincorporaherramientasparaelmodelado
denegocioyelmodeladoderequisitoscomopasospreviosalaconstruccindel
PIM.
Controlyrefinamientodetransformaciones(P15)
ElcontroldelastransformacionesenOptimalJesbastantelimitado,ysereduceala
modificacindealgunasdelaspropiedadesdisponiblesenelcuadrodepropiedades
de determinados elementos del modelo, que pueden considerarse parmetros de
transformacin.Untipodeparametrizacinloencontramosenlosatributosdeclases
delPIM,paralosqueesposible,porejemplo,establecerlalongitudquetendrel
datoenlabasededatosoespecificarunaexpresinenJavaparaelvalorinicial.En
ArcStyler,sinembargo,sexisteunsoportemscompletoparacontrolaryajustarlas
transformaciones,graciasalasmarcasasociadasacadaelementodelmodelo.Una
granvariedaddemarcasproporcionaaldesarrolladorunagranversatilidadalahora
dedirigirelprocesodetransformacin,algoqueenOptimalJnoesposible.
LaTabla2muestraunresumendelosresultadosdelanlisisdecadaherramienta.
Tabla2.ResumendelaevaluacindelasherramientasOptimalJyArcStyler
Propiedad

OptimalJ

ArcStyler

Propiedad

OptimalJ

ArcStyler

P01
P02
P03
P04
P05
P06
P07
P08
P09

4
3
0
4
4
2
3
2
4

4
0
4
2
4
4
2
4
3

P10
P11
P12
P13
P14
P15
P16
P17

4
2
3
3
4
2
3
3

3
2
1
4
4
4
3
3

6ConclusionesyTrabajoFuturo
MDAestensuinfanciaytodavaquedamuchopormejorar,peroconherramientas
como OptimalJ y ArcStyler podemos afirmar que MDA ya es una realidad. A
continuacinresumimoslasconclusionesdenuestroestudio:
Creemos que OptimalJ refleja ms fielmente el proceso MDA, con una clara
separacin entre el PIM y los PSM, mientras que en ArcStyler el PIM se
transformadirectamenteencdigo.
MientrasquelaversinevaluadadeOptimalJestorientadaalaplataformaJ2EE,
ArcStyler es una herramienta abierta, ya que permite generar cdigo para
diferentesplataformasmediantelaarquitecturaCARAT.Sinembargo,debemos
sealarquelaversin OptimalJArchitecture Edition proporcionaunmecanismo
similaratravsdellenguajeTPL.
OptimalJesunaherramientaqueenpocashoraspermitecreardeformasencilla
unaaplicacinbsicaparalaplataformaJ2EEapartirdeunsimplemodelode
clases,generandocdigodecalidadyaplicandopatronesdediseo.Sinembargo,
tienealgunascarenciasquetodavanecesitamejorarparapermitirlaconstruccin
deaplicacionesamedida,sobre todoenrelacinalmodeladodeinterfaces de
usuario.
En ArcStyler el esfuerzo de desarrollo esmayor, ya que el programador debe
escribirelcdigodeintegracindemodelos.Sinembargo,disponedeunbuen
mecanismoparaeldiseodelasinterfacesgrficasatravsdelmodeloAccessor.
ArcStylerofrecealdesarrolladorunamayorversatilidadalahoradedescribirlos
modelos,dirigirlastransformacionesyelegirdistintasimplementaciones.
Lacomparacinhapuestodemanifiestoimportantesdecisionesdediseoparauna
herramientaMDA,comosonlaformadeanotarelPIM,queelPSMseaimplcitoo
explcito, sunaturaleza cerrada oabierta para soportar cualquier tecnologa ylos
mecanismosparalaedicinyajustedelastransformaciones.
Comotrabajofuturo,nosplanteamoselestudiodealgunosaspectosdeestasdos
herramientascomo:i)ellenguajeTPLdeOptimalJ,ii)lascapacidadesdemodelado
denegocioymodeladoderequisitosdeArcStylerydelframework Accessor para
definirunprocesodirigidoporcasosdeuso,yiii)unestudiomsprofundodela
arquitecturaCARAT.TambinestamosevaluandootrasherramientascomoMDEy
AndroMDAyrefinandoelmarcodecomparacinparacompletareltrabajorealizado

hastalafecha.PorotrapartenuestrogrupohaarrancadoelproyectoFraMEWeb,
destinadoacrearunentornoyprocesoparaeldesarrollodirigidopormodelosde
aplicacionesweb.

Referencias
1.
2.
3.
4.
5.
6.
7.
8.
9.

ButlerGroup.ApplicationDevelopmentStrategies.2003
Dept. Computer Science, King's College London, An Evaluation of Compuware
OptimalJProfessionalEditionasaMDATool.2003.
ManualesdeArcStylerVersion4.0.InteractiveObjects.2003.www.arcstyler.com/
ManualesdeOptimalJ3.0.Compuware.2003.www.compuware.com/products/optimalj/
MDAGuideVersion1.0.1.OMG.2003.
ModelDrivenArchitecture(MDA).OMG.2001.Documentoormsc/20010701.
MOFSpecification.OMG.Documentoformal/020403.
RodrguezVicente,J.IngenieradeModelosconMDA.Estudiocomparativode
OptimalJyArcStyler.Proyectofindecarrera.FacultaddeInformtica,Univ.deMurcia.
2004.
SUNMicroystems,JavaPetStore.2004.java.sun.com/developer/releases/petstore/

Anda mungkin juga menyukai