You are on page 1of 5

WICC 2012 577

Metodologa
AGIL para el desarrollo SaaS
Susana Chavez1, Adriana Martn2, Nelson Rodrguez3, Mara Murazzo4, Adriana
Valenzuela5
Departamento e Instituto de Informtica - F.C.E.F. y N. - U.N.S.J.
Complejo Islas Malvinas. Cereceto y Meglioli. 5400. Rivadavia. San Juan
1 schavez@iinfo.unsj.edu.ar 2arianamartinsj@gmail.com 3nelson@iinfo.unsj.edu.ar
4marite@unsj-cuim.edu.ar 5franciscaadriana.valenzuela@gmail.com

Resumen Sin embargo, las empresas confan en el


El Software como Servicio (SaaS) ciclo de vida gil para el desarrollo de
entrega software y datos como un sus productos.
servicio sobre internet usualmente por Palabras clave: SaaS, Desarrollo Agil,
medio de un browser que corre del lado Cloud Computing.
del cliente sin tener que instalarlo en
este dispositivo. Esto permite que una Contexto
sola copia del software este ejecutando El presente trabajo se encuadra dentro
en un ambiente uniforme de sistema del rea de I/D Innovacin en Sistemas
operativo y de hardware estrictamente de Software, y se enmarca dentro del
controlado por los desarrolladores. Esta proyecto de investigacin Implantacin
caracterstica es de fundamental de un ambiente de Cloud Computing
importancia dado que ellos pueden para integracin de recursos, el cual
mejorar el software y el hardware tiene como unidades ejecutoras al
subyacente siempre y cuando no se viole Departamento e Instituto de Informtica
la interface de programas de aplicacin de la FCEFyN de la UNSJ. Los trabajos
(API) de lado del cliente. iniciados en el citado proyecto tienden al
La supremaca de SaaS, de poder desarrollo de aplicaciones sobre Cloud
actualizar solo una copia del software, se Computing, poniendo mayor nfasis en
alinea perfectamente con el ciclo de vida la interoperabilidad e integracin de
del software gil. Las empresas SaaS diferentes SaaS.
compiten normalmente lanzando nuevos
aspectos que aseguren que sus clientes
no las abandonaran por otras empresas
Introduccin
que pueden ofrecer mejores servicios. En los ltimos tiempos se ha dado un
Las metodologas giles estn explosivo crecimiento de SaaS que ha
revolucionando la manera de producir impulsado el fortalecimiento de las
software, y a la vez generando un amplio plataformas con muchas herramientas
debate entre sus seguidores y quienes productivas. Esto les ha permitido a los
por escepticismo o convencimiento no desarrolladores tener la posibilidad de
las ven como alternativa para las crear sus aplicaciones de manera
metodologas tradicionales.[1] completa.

2012 XIV Workshop de Investigadores en Ciencias de la Computacin


WICC 2012 578

Los frameworks de programacin y de Computing provee el hardware para la


testeo para SaaS y Cloud Computing escalabilidad y almacenamiento para
(CC) son dramticamente mas SaaS.
productivas e incluso, muchas Afortunadamente en la actualidad se
aplicaciones del lado del cliente pueden cuenta con Cloud Computing pblicos
ser adaptadas a dispositivos mviles que permite desplegar las aplicaciones
con capacidades HTTP, CSS y SaaS a un costo bajo, e incluso, sin costo
JavaScript. alguno para el periodo de aprendizaje y
Es primordial, elegir metodologas de pruebas.
desarrollo que permitan explotar al
mximo las bondades expresadas Lneas de investigacin y
anteriormente. Una alternativa, es la
elegida por este grupo de trabajo, que desarrollo
pretende estudiar mtodos y estrategias La supremaca de SaaS, de poder
giles y el mecanismo de como usarlas actualizar solo una copia del software, se
para construir aplicaciones SaaS en el alinea perfectamente con el ciclo de vida
menor tiempo posible, que cumplan con del software Agil.
los requisitos de verificacin y de El ciclo de vida Agil involucra:
validacin del software. Esto es Que todos los participantes
verificar que el software rena las (usuarios, clientes, grupo de
especificaciones establecidas y validar mantenimiento, desarrolladores,
que lo diseado haga lo que el cliente operadores y administradores)
quiere. trabajar en conjunto y
Ruby[5] y Rails[6] demuestran que los continuadamente para especificar los
lenguajes de programacin en grandes requerimientos y los test.
ideas pueden entregar productividad a Mantener un prototipo de trabajo
travs del reuso de software. Por un lado mientras se desarrollan nuevos
la comunidad Rails ha creado un set de aspectos generalmente cada dos
herramientas completas, elegantes y muy semanas (iteracin) y chequear con
transparentes para soportar Agile[7] y los participantes para decidir que se
XP, por otro lado Ruby que agregar la prxima vez y validar
constantemente permite refinar e que el sistema actual es lo que ellos
inventar herramientas que soporten el realmente quieren
testeo y adems ayudan a producir Una iteracin en el ciclo de vida se
aplicaciones elegantes. puede ver grficamente[2]:
Un proyecto SaaS requiere de la
infraestructura de las IT para lograr
comunicacin, que les permita a los
clientes interactuar con los servicios,
escalabiliad, en que el servicio pueda
agregar nuevos usuarios rpidamente y
dependebilidad, en que la comunicacin
y el servicio estn continuamente
disponibles, es decir, todos los das las
24 horas. Sin dudas, internet provee la
comunicacin para SaaS y Cloud

2012 XIV Workshop de Investigadores en Ciencias de la Computacin


WICC 2012 579

Ruby porque es un lenguaje de


programacin dinmico Open Source
enfocado en la simplicidad y la
productividad. Incluye: administracin
de memoria automtica, tipeo dinmico.
Adems soporta importantes aspectos
que fortalecen la productividad basado
en el reuso incluido mix_ins y meta
programacin que permite a los
programas ruby sintetizar el cdigo en
tiempo de ejecucin.

Rails porque es un entorno para el


desarrollo de aplicaciones Web con base
Dada la popularidad de SaaS, varias de datos. La cooperacin de estos dos
empresas, afortunadamente, han artefactos ha dado surgimiento a lo que
desarrollado muchos frameworks de se conoce en la actualidad como
programacin que ofrecen sus aportes: Desarrollo Web Ruby On Rails. Su
principal objetivo es el de facilitar el
Framework Lenguaje desarrollo de aplicaciones Web con muy
Programacin SaaS Programacin
poco cdigo y mnima configuracin.[4]
Common Language
Active Server Pages. ASP
Runtime. CLR
Ruby On Rails.
Construido sobre un clster separado de
Django Python
libreras, el framework Rails administra
almacenamiento y retorno de bases de
Enterprise Java Beans.
datos, plantillas HTML, y todo el trabajo
Java
EJB de capa intermedia para conectar los
datos subyacentes a pginas Web y
JavaServer Pages. JSP Java formularios de entrada que se despliegan
y actualizan. Rails ha crecido en
Rails Ruby popularidad, ganando una slida y
amplia reputacin como herramienta de
Sinatra Ruby desarrollo [4].

Spring Java RESULTADOS Y OBJETIVOS


Resultados Obtenidos
Zend PHP Se han publicado siete (7) trabajos de
investigacin en diferentes Congresos y
Es de profundo inters para este grupo Jornadas, y tres (3) trabajos de
de investigacin trabajar con la divulgacin: un trabajo en el Symposium
plataforma de desarrollo que ofrece Internacional. La computadora contra el
Ruby on Rails, porque la demanda de los estigma de la discapacidad. Montevideo.
usuarios de la web marca una tendencia 2009[26], otro trabajo en el Workshop
de requerimientos cambiantes, de Investigadores en Ciencias de la
dinmicos y adems elegantes. Computacin 2010 [16], otro en el

2012 XIV Workshop de Investigadores en Ciencias de la Computacin


WICC 2012 580

WICC 2011 [35], dos (2) trabajos en el aprobaron tres (3) tesinas de tecnicatura
Congreso Argentino de Ciencias de la sobre el tema de lengua de seas, dos de
Computacin 2010 [17] [18], otro en ellas sobre plataforma mvil y la otra
Per [19] otro en V Seminario implementando servicios Web. Por otro
Internacional De legados y Horizontes lado tambin se han aprobado 3 (tres)
para el Siglo XXI, 2010, organizado tesinas de licenciatura sobre Cloud
por RUEDA [19], y otro en el 1 Computing, sobre distintas tecnologas
Seminario Argentina Brasil de como Windows Azure y Google App
Tecnologas de la Informacin y la Engine, una de las cuales se integra con
Computacin [24]. Los tres trabajos de una plataforma mvil con el OS
divulgacin son citados en [21] [22] Android. Adems se encuentra en
[23]. Tambin se ha desarrollado una desarrollo y se proyectan dos de
tesina en Windows Azure, otra con licenciatura y otra de tecnicatura, y se
Google AppEngine, otra sobre Eye OS, espera realizar alguna tesis de maestra y
y tres basadas en aplicaciones para aumentar el nmero de publicaciones.
lengua de seas. Por otro lado tambin se prev la
divulgacin de varios temas investigados
Resultados Esperados por medio de cursos de postgrado y
El objetivo del grupo de trabajo en esta actualizacin o publicaciones de
lnea de investigacin es aplicar la divulgacin.
metodologa Agil y la plataforma Ruby
on Rails para desarrollar una aplicacin REFERENCIAS
SaaS completa que ser desplegada [ 1]
sobre cloud computing. Esto permitir http://www.willydev.net/descargas/prev/
evaluar la potencialidad enunciada de las TodoAgil.Pdf.
distintas herramientas elegidas para el [2] Armando Fox, David Patterson
desarrollo, apoyados fundamentalmente Engineering long-lasting Software,
en la promesa de los clouds pblicos que 2012
ofrecen parte de sus plataformas sin [4] Metodologas giles de desarrollo: el
costos, para aprender y formarse. caso Ruby on Rails Soto-Amaya 2007.
[5] http://www.ruby-lang.org/es/
FORMACION DE RECURSOS [6] http://rubyonrails.org/documentation
HUMANOS [7] http://agilemethodology.org/
El proyecto marco sobre el que se [16] Murazzo, Rodrguez. "Mobile
realizan las investigaciones comenz Cloud Computing". WICC 2010.
recin en 2010, a pesar de ello ya se han Calafate. Mayo 2010.
realizado publicaciones y trabajos de [17] Murazzo, Milln, Rodrguez,
divulgacin en los cuales se han Segura, Villafae. Desarrollo de
desarrollado en colaboracin con aplicaciones para Cloud Computing.
becarios y alumnos avanzados, como CACIC 2010. Morn. Oct. 2010.
[16] [17] [18] [19] [20] [21] [22] [18] Murazzo, Rodrguez, Milln,
[23][24] [26] [35] . Segura y Villafae."Plataformas
Se desarroll una beca de investigacin Educativas Implementadas Con Cloud
de alumno avanzado sobre Mobile Cloud Computing". XVI Congreso Argentino
Computing y se est desarrollando otra de Ciencias de la Computacin CACIC
sobre orquestacin en servicios Web. Se 2010, Workshop de Tecnologas

2012 XIV Workshop de Investigadores en Ciencias de la Computacin


WICC 2012 581

Informticas Aplicadas a la Educacin. Ciencias de la Computacin y Sistemas


Morn. Oct. 2010. de Informacin. Rosario. Mayo 2011.
[19]Murazzo, Rodrguez. "Una
propuesta para el desarrollo de
aplicaciones para Mobile Cloud
Computing". Congreso Internacional de
Computacin y Telecomunicaciones
COMTEL 2010, Lima, Per. Oct. 2010.
[20] Milln, Murazzo, Rodrguez."
Plataformas Educativas Implementadas
Con Mobile Cloud Computing". V
Seminario Internacional De legados y
Horizontes para el Siglo XXI,
organizado por RUEDA. Tandil. Sep.
2010.
[21] Rodrguez, Murazzo, Ene. "Cloud
Computing". X Workshop de
investigadores en
Ciencias de la Computacin y Sistemas
de Informacin. San Juan. Mayo 2009.
[22] Murazzo, Segura.y Villafae.
"Cloud Computing Con Windows
Azure". 2 Jornadas de Actualizacin
Informatica. San Juan junio de 2010.
[23] Rodrguez, Villafae. "Cloud
Computing". 2da Jornadas organizadas
por CASETIC (Cmara de Empresas de
Software). San Juan. Oct. 2010.
[24] Nelson R. Rodrguez, Mara A.
Murazzo, Cecilia di Sciacio.
"Integracin de Computacin mvil con
Cloud Computing". 1 Seminario
Argentina Brasil de Tecnologas de la
Informacin y la Computacin; bajo el
lema "Las TIC como oportunidad de
integracin". Rosario Nov. 2011.
[26] Valenzuela, F.A, Agero, H.E,
Aballay, J.: Integracin de la Lengua de
Seas en aplicaciones para usuarios
sordomudos. Symposium Internacional.
La computadora contra el estigma de la
discapacidad. Montevideo. ( 2009)
[35] Rodrguez, Chavez, Martin,
Murazzo, Valenzuela. "Interoperabilidad
en Cloud Computing". XII Workshop de
investigadores en

2012 XIV Workshop de Investigadores en Ciencias de la Computacin

You might also like