You are on page 1of 68

Model Driven
Architecture
• Ruby on Rails
• Administración
de Proyectos

Software Guru CONOCIMIENTO EN PRÁCTICA


No.19 • Febrero-Abril 2008 • www.sg.com.mx

[ CASO DE ESTUDIO ]
CMMI a través de
MoProSoft

Y LA PILA
ES Para ...
Averigua quienes se pusieron
las pilas en los Premios SG
México. $65 MXN

[ Tutorial ]
Noticias • Eventos • Fundamentos • UML • Infraestructura • Carrera • Biblioteca SAP NetWeaver
// CONTENIDO

directorio
Dirección Editorial
Pedro Galván

Dirección de Operaciones
Mara Ruvalcaba

Coordinación Editorial
Sonia Sánchez

Editorial Arte y Diseño


David Gutiérrez, Oscar Sámano

Consejo Editorial
Jorge Valdés - PMI; Francisco Camargo,
Luis Daniel Soto - Microsoft; Ralf Eder, Raúl
Trejo, Guillermo Rodríguez, ITESM-CEM;
Hanna Oktaba, UNAM-AMCIS; Luis Cuellar,
Softtek; Luis Vinicio León, e-Quallity - ITESO,
Emilio Osorio.
Hemos iniciado un nuevo año, algunos encuesta para detectar los productos con
de ustedes ya habrán iniciado una nueva die- mayor preferencia entre los usuarios, para Colaboradores
ta o habrán disminuído la dósis de cafeína du- recolectar estos datos, abrimos un wiki en Kentaro Takahasi, Fernando Moreira,
rante el día. Algunos otros se preguntarían ¿y el que ustedes libremente podían expresar Luciano Petricelli, Peter Coffee, Enrique Flores,
Valerio Adrián Anacleto, Carlos Ortega,
la revista Software Guru? ¿Dónde está? sus propuestas, y nosotros obtener a tra-
Charlie Macías, Sergio Orozco, Ariel García,
vés de su participación los resultados que
Susana Tamayo, José Luis Flores,
Nos unimos al inicio de año y de los cambios, se muestran en el artículo correspondien- Claudia N. González, Eduardo Olivares.
aquellos que nos brindarán la oportunidad te. No solamente eso, el equipo de SG hace
no solamente de crecer, sino también de un pequeño reconocimiento a tan solo, Fotografía
mantener con ustedes el conocimiento que una pequeña muestra de las personalida- Gabriel González
nuestros colaboradores siempre están dis- des destacadas en el mundo de las Tecno-
puestos a plasmar en letras. logías de la Información. Hemos escogido Ventas
la pila como símbolo de los Premios SG, ya Claudia Perea, Natalia Sánchez
¿Y qué tiene de nuevo? Bueno, para darte que conllevan poder y energía.
una ayudadita, te diremos que a partir de Marketing y RP
este número nos extendemos a más pági- Para los gustosos de la administración Dafne Vidal
nas de contenido. de proyectos, tenemos una nueva sec-
Circulación y Suscripciones
ción que estamos seguros será de su
Daniel López
Como también te has dado cuenta, hemos completo agrado e interés.
cambiado los periódos de publicación, ra- Administración
zón por la cuál en enero no estuvimos en Sabemos que no todos pudieron asistir a Araceli Torres
circulación impresa. A partir de este mes SG’07 Conferencia y Expo, pero que están
nos tendrás en tu casa cada trimestre. Pero interesados en saber ¿cómo estuvo el even- Contacto
no te preocupes, es un cambio para bien. to? Bueno, no tienen que preguntarle más info@softwareguru.com.mx
al amigo o compañero de trabajo que pudo +52 55 5239 5502
Este cambio en la publicación, brinda a todo asistir, aquí encontrarán una pequeña rese-
SG Software Guru es una publicación bimestral
el equipo de Software Guru la oportunidad ña de los pormenores del congreso. editada por Brainworx S.A. de C.V., Malinche no.
de trabajar en nuevos proyectos que tam- 6, Col. El Parque, C.P. 53398, Naucalpan, México.
bién serán benéficos para todos ustedes, Los invitamos a disfrutar junto con nosotros, Queda prohibida la reproducción total o parcial
del contenido sin previo aviso por escrito de los
sabemos que serán de su completo agrado este número, que da el banderazo de inicio a editores. Todos los artículos son responsabilidad de
y conforme se estén horneando les estare- una nueva etapa para esta, nuestra revista. sus propios autores y no necesariamente reflejan el
mos informando sobre ellos. punto de vista de la editorial. Reserva de Derechos
al Uso Exclusivo: 04-2004-090212091400-102.
¡Nos vemos en SG’08! Certificado de licitud de título: 12999. Certificado
Una vez contestadas las interrogantes, po- de licitud de contenido:10572. ISSN: 1870-0888.
demos hablar del contenido de este primer Registro Postal: PP15-5106. Se imprimió en enero de
2008 en El universal, Compañía Periodística Nacional.
número del 2008. Como recordarán, hace — Equipo Editorial
Distribuido por Comercializadora Alieri y Sepomex.
algunos meses se realizó una pequeña

02 FEB-ABR 2008 www.sg.com.mx


contenido
feb-abr 2008

18 EN PORTADA

Premios SG
Un reconocimiento a las mejores herra-
mientas y personas de la industria.

Productos
LO QUE VIENE 12
Sync Framework y SyncFeed, NetBeans
6.0, Amazon SimpleDB, Mercurial.

tutorial 14
Instalando el ambiente de SAP NetWeaver
CE 7.1 SR3.

NOVEDADES 18
Force.com

Columnas Prácticas
Tejiendo Nuestra Red 08 Tendencias en Software 48 CASO DE ESTUDIO 32
por Hanna Oktaba por Luis Daniel Soto CMMI por Medio de MoProSoft
A través de este caso, conoceremos la experiencia
Mejora Continua 10 Cátedra y Más 50 al momento de implantar MoProSoft en la obten-
por Luis Cuellar por Raúl Trejo ción de nivel dos de CMMi.

Prueba de Software 30 Tierra Libre 60 ADMINISTRACIÓN DE PROYECTOS 34


por Luis Vinicio León por Emilio Osorio No Todo son Ceros y Unos
Conozcamos las habilidades que complementan la
tarea de administrar un proyecto.

En Cada Número ARQUITECTURA 36


MDA
Noticias y Eventos 04 INFRAESTRUCTURA 56 En este artículo vemos las bases de la arquitec-
tura dirigida por modelos, y su propuesta para el
FUNDAMENTOS 52 CARRERA 62 desarrollo de software.

Paralelismo 54 BIBLIOTECA 64 PROGRAMACIÓN 40


Aprendiendo Ruby y Rails
Presentamos la segunda parte de este tutorial,

20
con ella terminamos los conceptos básicos e
introductorios del lenguaje.

UML 46
Uso de UML en Aplicaciones Web
Reseña de SG’07 La flexibilidad de UML permite extender y
enriquecer el significado de sus elementos.
Aprendamos a usar la extensión WAE .

www.sg.com.mx FEB-ABR 2008 03


// NOTICIAS

PMI Capítulo México se reactiva


Durante el 2007, el Capítulo México del PMI (Project
Management Institute) mostró cambios significativos
en su estructura y forma de trabajo. Desde el 2006 el
capítulo cambió de mesa directiva y generó un plan de
reactivación, que durante el 2007 obtuvo excelentes
acciones como: lanzamiento de un nuevo sitio web, lan-
zamiento de un boletín mensual, organización de ciclos
de conferencias, organización de eventos enfocados en
la dirección de proyectos, y la generación de un Progra-
ma de Reconocimientos, entre otras.

Entre las actividades a observar en el 2008, están la par-


ticipación en un proyecto para estandarizar la disciplina
de PMI y la organización del Primer Congreso Nacional
de Dirección de Proyectos. Para mayor información visita:
www.pmimexico.org

Cutter Summit 2007


El pasado mes de octubre, se llevó a cabo la Segunda Edición
del CUTTER SUMMIT América Latina, encuentro de Expertos
en Tecnologías de Información. A partir de un formato orien-
tado hacia el debate y la generación de conocimiento al más
alto nivel, se llevó a cabo la discusión de los temas en los que
hoy las organizaciones de nuestro país están centrando sus
esfuerzos; en lo que a Tecnologías de Información se refiere,
desde una óptica objetiva y sobre todo, libre de la influencia
de cualquier proveedor de la Industria de TI.

Séptimo aniversario GLIB


El pasado 15 de diciembre, en la ciudad de Irapuato, Guanajuato
se llevó a cabo la celebración del séptimo aniversario del grupo
linuxero del bajío. El evento se realizó en las instalaciones del
Hotel Holiday Inn, el cual tuvo como objetivo difundir el uso y
desarrollo de GNU/Linux y el Software Libre mediante un ciclo
de conferencias que año con año el grupo de usuarios organiza,
no solamente como una forma de celebrar su aniversario, sino
también como medio de difusión sobre el movimiento hacia las
personas vecinas a la región.

Por la noche, se realizó un Barcamp como actividad comple-


mentaria del evento, en el que los asistentes hablaron de dife-
rentes temas en un ambiente de camaradería, finalizando así la
celebración de aniversario del grupo.

04 FEB-ABR 2008 www.sg.com.mx


// EVENTOS

19 al 22 de Febrero 2008 4 al 6 de Marzo 2008


CONSOL 2008 Compushow 2008
Universidad Autónoma de la Ciudad de México, Campus Cintermex, sala B, Monterrey, Nuevo León
Tezonco, Ciudad de México Info: www.compushow.com.mx
Info: www.consol.org.mx

21 de Febrero 2008 5 al 6 de Marzo 2008


IDC Enterprise Mobility Conference 2008 4° Conferencia Anual de IT Service Management
Centro Banamex, Ciudad de México WTC, Ciudad de México
Info: www.idc-eventos.com Info: www.pinkelephant.com

21 de Febrero 2008 5 al 6 de Marzo 2008


Reunión mensual del PMI Capítulo México Cutter Enterprise Architecture Summit
Hotel Crowne Plaza, Ciudad de México JW Marriot, Ciudad de México
Info: www.pmimexico.org Info: www.cutter.com.mx/easummit

26 de Febrero 2008 6 al 8 de Marzo 2008


Tendencias 2008 SISCTI 33
Centro Banamex, Ciudad de México ITESM Campus Monterrey, Monterrey, Nuevo León
Info: www.expocomm.com.mx/tendencias.htm Info: www.siscti.com

27 al 29 de Febrero 2008 13 de Marzo 2008


Linux World 2008 IDC Business Process Optimization &
Centro Banamex, Ciudad de México Management Conference 2008
Info: www.linuxworldexpo.com.mx Centro Banamex, Ciudad de México
Info: www.idc-eventos.com
27 al 29 de Febrero 2008
Expo Comm 2008 13 de Marzo 2008
Centro Banamex, Ciudad de México Reunión mensual del PMI Capítulo México
Info: www.expocomm.com.mx Hotel Crowne Plaza, Ciudad de México
Info: www.pmimexico.org
3 al 7 de Marzo 2008
SD West 2008 16 y 17 de Abril 2008
Santa Clara Convention Center, Santa Clara, CA Gartner Enterprise Integration Summit
Info: www.sdexpo.com Centro Banamex, Ciudad de México
Info: www.gartner.com/mx/appint

XX Congreso Nacional y VI Congreso Foro Nacional de Integradoras de TI


Internacional de Informática y 2007
Computación ANIEI 2007 El pasado mes de noviembre se realizó el primer Foro Nacional
Del 24 al 26 de octubre de 2007, se llevó a cabo la vigésima de Integradoras de Tecnologías de Información 2007, en las ins-
edición del Congreso Nacional y sexta edición del Congreso talaciones del Centro del Software en la ciudad de Guadalajara.
Internacional de Informática y Computación, organizado por El objetivo fue reunir a representantes de las principales integra-
la Asociación Nacional de Instituciones de Educación en Infor- doras y clusters de TI de México. Los representantes coincidieron
mática, con sede en la Universidad Autónoma de Chihuahua. en que vincular esfuerzos a nivel nacional es el único camino para
Dentro del congreso se llevó a cabo la premiación del Certa- lograr que México tenga una verdadera posición competitiva en
men Nacional de Tesis. el mercado global de las TI.

Empresas recientemente evaluadas en CMMI:


Empresa Evaluación Fecha Lead Appraiser
Kernel CMMI 2 septiembre 2007 Viviana Rubinstein, Liveware
Innevo CMMI 3 enero 2008 Jorge Boria, Liveware

www.sg.com.mx FEB-ABR 2008 05


// INDUSTRIA

CANIETI
Tecnología e Innovación como Habilitadores de la Competitividad

brado consultor que asesora a los gobiernos de países como Mala-


sia, Hong Kong y Corea del Sur.
• Educación y Capacitación del Capital Humano, a cargo del Dr. Jose Enri-
que Villa Rivera, Director General del Instituto Politécnico Nacional.

La convención, no solamente estuvo formada por conferencias, el


programa también estuvo formado por “paneles” que permitieron el
intercambio de opiniones de diferentes personalidades en una mis-
ma presentación, permitiendo que los presentes tuvieran opiniones
de diferentes puntos de vista. Además, como parte de las activida-
des del evento, se realizó el III Encuentro Nacional de Negocios per-
mitiendo la relación directa entre los diferentes representantes de
las PyME’s y los tomadores de decisiones de los grandes empresas
que estuvieron presentes en ella.

Durante la convención se inauguraron las oficinas de CANIETI en esta


Uno de los paneles de discusión durante la Convención de CANIETI ciudad de Mérida, lo cual es resultado de una alianza con el Consejo
de la Industria de TI en Yucatán, conocido por sus siglas como CITI.
La Cámara Nacional de la Industria Electrónica, de Telecomunica- Platicando con los directivos de este organismo, nos enteramos de
ciones y Tecnologías de la Información (CANIETI), cuyo principal que en Yucatán se percibe una oportunidad importante para conver-
propósito es el lograr el desarrollo competitivo de la Industria con tirse en un centro proveedor de servicios de TI para organizaciones
sentido gremial y responsabilidad social, es uno de los organismos en el estado de Florida en Estados Unidos, lo cual se facilita debido
que más impulsa nuestra industria a lo largo de todo el país e in- a la cercanía geográfica.
cluso en el exterior. Por ello es importante que nos mantengamos
al tanto de sus acciones, iniciativas en curso y perspectiva para el Actividades y perspectiva para 2008
futuro próximo. Recientemente tuvimos oportunidad de platicar con Rogelio Garza,
Director General de CANIETI, acerca de las principales actividades e
XXVIII Convención Anual iniciativas en las que estarán involucrados durante el 2008. Rogelio
Del 8 al 11 de noviembre pasado se realizó la convención anual de nos comentó que los tres puntos donde se concentrarán son:
CANIETI en Mérida, Yucatán. El tema principal de la convención fue • Impulso de innovación en la PyME
“Tecnología e Innovación como Habilitadores de la Competitividad”, • Desarrollo de capital humano
lo cual quedó reflejado desde el mensaje inaugural de Eduardo Ruiz • Fomento de competitividad y competencia
Esparza, Presidente nacional de CANIETI quien mencionó que: “El
éxito de México radicará en la integridad y la velocidad con la que Innovación en las PyMEs
adoptemos estas nuevas formas de colaboración y de aprendizaje Todos sabemos que para mejorar los índices de creación y aprove-
organizacional continuo, que hoy se reconocen como las bases de chamiento de tecnología en nuestro país es crucial involucrar a la
una sociedad de la innovación y el conocimiento”. PyME. CANIETI está haciendo su parte para lograr esto, y actualmen-
te está trabajando en programas para apoyar la implantación de me-
Como ya es costumbre, la XXVIII Convención Anual CANIETI contó todologías traídas de países como Corea y Malasia, cuyo objetivo es
con un nutrido programa de conferencias que incluyó las siguientes generar innovación en las PyMES.
sesiones:
• Perspectivas Políticas y Económicas 2007 – 2012, impartida por el Desarrollo de capital humano
Mtro. Federico Reyes Heroles. Una de las áreas que está demandando mayor atención de parte de
• Tendencias y Futuro de la Tecnología, impartida por Jerry Bautista, CANIETI, y que es uno de los principales retos para nuestra industria
jefe de laboratorios de investigación en Intel. en los próximos años es el de apoyar el desarrollo de capital humano
• Factores Habilitadores de la Competitividad, impartida por Sergio suficiente en calidad y cantidad para satisfacer la demanda de nuestra
García de Alba, ex Secretario de Economía. industria. Es un hecho que hay una gran brecha entre las habilidades
• Vinculación con Universidades para el Liderazgo Tecnológico, im- y conocimientos de los recién graduados, y lo que necesita la indus-
partida por Lueny Morell, Directora de Relaciones Universitarias de tria. Sin embargo, más que apuntar el dedo hacia las universidades y
HP en América Latina. decir que no están haciendo su trabajo, debemos reconocer que en el
• Innovación en las PYMES, impartida por Darrell Mann, un renom- proceso de formación de este capital humano están involucrados no

06 FEB-ABR 2008 www.sg.com.mx


solamente las instituciones educativas, sino también el sector empre- Asesoría para los estados
sarial. Es así que una buena vinculación industria-academia es vital Una de las actividades que CANIETI cada vez realiza más es asesorar
para poder desarrollar el capital humano que necesitamos. a los estados para identificar sus capacidades y ayudarlos a decidir en
qué áreas de TI especializar su oferta. Las opciones son muchas y muy
Competencia variadas, por ejemplo para algún estado puede tener mucho sentido
Cualquier industria sana requiere de un margo legal que fomente convertirse en un polo para call centers, mientras que para otro estado
la competencia. Es por ello que CANIETI está muy involucrada con tendrá más sentido especializarse en software para agricultura.
organismos como la COFEMER (Comisión Federal de Mejora Regu-
latoria) para impulsar acciones que promuevan una competencia en
igualdad de circunstancias. Conclusión
CANIETI es un organismo vital en el desarrollo de nuestra indus-
Mexico TI tria. Invitamos a todos los empresarios a que se acerquen a la
El programa México TI es otra de las iniciativas fundamentales que sede de CANIETI que corresponda a su región para conocer más
ejecuta CANIETI. El objetivo de este programa es promover a nivel sobre las diferentes iniciativas a las que se pueden sumar y que
mundial a nuestro país como un proveedor confiable de productos y sin duda les traerán beneficios significativos ya sea individual
servicios de tecnología. Es bueno saber que hay varios estados de la como colectivamente.
república que se están sumando a este esfuerzo.

www.sg.com.mx FEB-ABR 2008


// COLUMNA
// COLUMNA /*TEJIENDO NUESTRA RED*/

ISO
Seguimos Avanzando

La Dra. Hanna Oktaba es profesora de la UNAM a nivel licenciatura y posgrado. Sus áreas de interés son Ingeniería de Software, Tec-
nología Orientada a Objetos, Modelos de Procesos de Software y Mejora de Procesos. Actualmente es miembro de International Process
Research Group (IPRC). También es Directora Técnica del proyecto COMPETISOFT.

M ientras muchos de ustedes disfrutaban de múltiples actividades


durante el segundo evento de Software Guru, Ana Vázquez y yo
atendimos la reunión interina del comité ISO/IEC JTC1 SC7 del 29 de oc-
miento de Calidad por no tener un rol externo al proyecto que haga
este tipo de labores. Sin embargo, Perry De Weese, que conoce
muy bien la versión actual de la ISO/IEC 12207, nos demostró que
tubre al 2 de noviembre de 2007 en Montreal. En esta ocasión el grupo con las actividades de verificación, validación y pruebas cubrimos
de trabajo WG24, cuyo objetivo es generar normas de Software Life Cycle completamente este requisito. No es necesario tener un revisor in-
Profiles and Guidelines for Use in Very Small Enterprises (VSE), con un dependiente para cuidar la calidad. Mi intuición femenina siempre
total de 20 delegados, tuvo más asistentes que nunca. Para fortalecer me ha dicho que la calidad depende de uno mismo, de los que de-
el bloque latino se incorporaron Jesús Salillas del European Software sarrollan, y no de la existencia de “policías” externos al proyecto
Institute, Bilbao, España y Liliana Gómez de Parquesoft de Cali, Colom- que revisen nuestro trabajo, pero necesitaba que me lo confirmara
bia. La similitud cultural nos dio mucha confianza y la oportunidad de un experto ajeno al círculo de los creadores de la norma nacional.
disfrutar de unas tertulias muy agradables en nuestro idioma favorito. Afortunadamente Perry De Weese es la persona que así lo entiende
De Irlanda asistió Marty Sanders, acompañada del joven Rory O’Connor, y nos ayudó a encontrar argumentos para convencer a los demás
quien a la hora de poner manos a la obra nos ayudó en la actualización miembros del WG24.
de diagramas de actividades para el Perfil Básico (antes Perfil 1). Tam-
bién, se reincorporó un delegado de Estados Unidos, Perry De Weese, Durante la semana se revisaron los comentarios recibidos por parte
un consultor independiente y partner del SEI, que se volvió nuestro alia- de los delegados del WG24 a la definición del Perfil Básico, uno de
do técnico más preciado durante la reunión de Montreal. ellos fue el cambio de nombre. Las aportaciones enriquecieron los
detalles de la presentación del modelo pero no cambiaron su esen-
La delegación más numerosa fue la de Tailandia. Tanin Uthayanaka cia. Para el mes de diciembre el grupo emitirá las primeras versio-
el coordinador del grupo WG24, logró convencer a sus autoridades nes completas de las siguientes partes de la norma 29110 Software
nacionales sobre la importancia de la participación de Tailandia en Engineering — Lifecycle Profiles for Very Small Enterprises (VSE):
los trabajos de ISO. Gracias a eso pudieron mandar a seis delega- - Part 1: Overview
dos, todos con el financiamiento de sus autoridades, quienes tam- - Part 2: Framework and Taxonomy
bién invitaron a los delegados del WG24 a una elegante cena. A la - Part 5: Management and Engineering Guides
hora de despedirnos, cuando les agradecimos su amabilidad, dije-
ron que los agradecidos eran ellos porque la aportación mexicana Estas partes quedarán sometidas a la revisión de los delegados
les ofrece la posibilidad de tener un buen resultado en los trabajos del ISO/IEC JTC1 SC7 quienes entregarán sus comentarios a princi-
del grupo que coordinan. Así que con Tailandia estamos a mano. pios de 2008. Si pasamos esta primera “presentación en sociedad”
los pasos siguientes serán más sencillos. Aunque conociendo los
Para esta reunión Ana y yo preparamos un mapeo detallado de tiempos ISO el proceso durará unos dos años más. Sin embargo en
nuestros procesos del Perfil Básico, es decir los de Administración México no tenemos que esperar tanto, ya que desde hace tiempo
de Proyectos Específicos y el de Desarrollo y Mantenimiento de contamos con la norma nacional NMX-I-059-NYCE y todas las em-
Software, a la nueva versión de ISO/IEC 12207 Software Life Cycle presas pueden adoptarla para después someterse a una evalua-
Processes, que está a punto de publicarse en su versión revisada. ción antes de que ésta se convierta en una norma internacional.
Al WG24 le interesa mucho saber cuáles y cuántos procesos de este
estándar están cubiertos por el Perfil Básico para poder posicionar- La parte turística en esta ocasión no fue muy abundante. Estu-
lo como una guía válida para su implementación. vimos en el centro moderno de la ciudad de Montreal, con tem-
peratura de pocos grados sobre cero, pero sin llover ni nevar. La
Tal como lo esperamos, cubrimos bastantes elementos de la ISO/ Escuela Superior de Tecnología de la Universidad de Québec, que
IEC 12207, esto dio la confianza al grupo de que vamos por un buen albergaba el evento, fue nuevamente el objeto de envidia ya que
camino. Nosotras hicimos un mapeo conservador, por ejemplo: tiene varias carreras tecnológicas, incluyendo la de Ingeniería de
consideramos que nuestro modelo no cubre al proceso de Asegura- Software, en un edificio grande, moderno, en el cual todo funcio-

08 FEB-ABR 2008 www.sg.com.mx


“En la reunión, los asistentes de Tailandia
quedaron complacidos con la ayuda que los
mexicanos les han ofrecido a través de sus
aportaciones en conocimientos”.

naba a la perfección (salvo el elevador principal). Tuve oportunidad da de todas la regiones del mundo. Hasta me llevaron a cenar comida
de reencontrarme con un ex alumno de la maestría de la UNAM que polaca, pero que no se les ocurra pedir la comida canadiense. Con la
desde hace tres años trabaja con éxito en una empresa de desa- música pasa algo parecido, lo que más disfruté fue el jazz en vivo.
rrollo de software en Montreal. Casi lloré cuando me decía cómo le
han servido las clases de Orientación a Objetos y de Patrones de La siguiente reunión será en Berlín, agendada para el mes de mayo
Diseño, y confirmé por enésima vez que en México los que quieren de 2008. Será muy interesante porque conoceremos los comenta-
prepararse bien lo pueden hacer. rios hechos a nuestros documentos provenientes de decenas de
países que no estuvieron involucrados en su elaboración.
Durante los pocos días que estuve en Montreal logré constatar que es
una ciudad de miles de restaurantes para todos los bolsillos con comi- —Hanna Oktaba

www.sg.com.mx FEB-ABR 2008


// COLUMNA
// COLUMNA /*MEJORA CONTINUA*/

Año Nuevo, Vida Nueva


¿Renovarse o Mantenerse?

Luis R. Cuellar es Director de Calidad a nivel mundial de Softtek Information Services. Luis es reconocido por la American Society for Quality
(ASQ) como Certified Quality Manager, Certified Software Engineer, y Six Sigma Black Belt. En los últimos cinco años ha estado a cargo de la
definición e implantación de la estrategia para CMMI5 y Six Sigma a través de las diferentes áreas del centro de desarrollo de Softtek.

U na vez más el año llego a su fin. Este es un buen momento


para definir cómo nos fue el año pasado: ¿logramos alcanzar
nuestros propósitos?, ¿logramos certificar a nuestra organización?,
Ahora imaginen que alguien viene a decirles que la forma en que le
han dado seguimiento a los proyectos toda la vida está mal. ¿Cómo
se atreven? El estrés hacia el cambio es el enemigo número uno de las
¿convencimos a nuestros superiores de la importancia de manejar áreas de procesos. Nunca debemos subestimarlo, siempre debemos
procesos estables?, ¿convencimos a nuestros compañeros de la estar cerca de la gente, entender sus problemas, buscar vender las
importancia de ponerse de acuerdo en una forma única de estimar ideas que queremos implementar, impulsar a que participen en lo que
o de planear un proyecto? se va a definir.

Si la respuesta es sí: felicidades. Puedo decirles que son parte de Dios creó el universo en siete días porque no
una selecta minoría. Definitivamente vale la pena una gran celebra- existía una base instalada
ción y seguir adelante así, con los planes del año siguiente. Pero ¿Cómo se implementan procesos cuando todos corren en diferentes
si la respuesta es no, estoy seguro que para estos momentos ya direcciones moviendo los brazos y gritando: “fuego, fuego”? Normal-
hicieron su análisis de causas raíz con la idea de establecer y do- mente en una compañía el modo de pánico es mucho más fuerte que
cumentar las diferentes problemáticas que les impidieron lograr el modo previsor, y también es común que las personas que trabajan
sus objetivos. Con la idea de ayudar en la medida de lo posible a en las áreas de calidad sean requeridas continuamente para “bombe-
la realización de dichos planes, quisiera enfocar este artículo y el razos”. ¿Cómo nos podemos enfocar en el proceso si constantemente
siguiente en algunos problemas comunes y algunos consejos que nos estamos saliendo? Los bomberos en la vida real trabajan tanto
pueden utilizar para sobrepasarlos. en apagar incendios como en prevenirlos. Para un bombero voluntario
el éxito no es apagar un incendio, sino prevenir incendios dentro de
Pasar el examen no implica conocimiento su zona. A veces en las organizaciones se vive con la idea de que un
Muchas veces la iniciativa de calidad surge como una búsqueda incendio no es una calamidad, sino los gajes del oficio. Necesitamos
por un certificado, esto no necesariamente es malo. El certificado medir para evaluar si realmente los servicios de bombero son cada vez
te da un foco más preciso y visible en cuanto a dónde vas y qué menores, y nunca podemos dejar una zona de desastre sin antes tener
es lo que quieres lograr; desafortunadamente en ocasiones vemos un plan de cómo lograr que eso nunca se repita.
el certificado como el objetivo final de nuestra búsqueda y olvida-
mos las razones detrás del mismo: crear una cultura de calidad. Un Dónde está la metodología
buen plan de trabajo para un equipo de calidad no se enfoca en el La semana pasada estaba viendo un programa de televisión llamado
orden de los requisitos de un modelo, sino en resolver primero los “Top Chef”, en donde un grupo de chefs compiten semanalmente pre-
problemas de mayor impacto dentro de la organización y los de parando diferentes platillos para no ser anulados. En la eliminatoria
menor importancia después. El plan de trabajo no puede enfocarse pasada uno del los jueces regañaba a un participante y le decía: “si te
a cerrar primero los hallazgos referentes a control de requerimien- preocupa más cómo se ve tu platillo en lugar de cual es su sabor vas
tos y después a los de planeación, etcétera. Sino que tal vez se por el camino equivocado”. La proliferación de metodologías comer-
enfoque a resolver el problema de exceso de defectos, que puede ciales ha generado una idea: la mejor metodología es la que mejor se
estar relacionado en parte con planeación, en parte con ingeniería ve. La realidad es que las metodologías que se venden en el mercado
de software, entre otros. El plan debe de reflejar la problemática y son metodologías estables, metodologías que tienen poca evolución.
no el modelo. Las metodologías con las que trabajamos en el día a día son metodo-
logías vivas que, sobre todo al principio, cambian constantemente de
Desde fuera se ve tan fácil cambiar, acuerdo a cómo mejora la organización; por lo que al definir los pro-
especialmente a los demás cesos, plantillas y demás, es de vital importancia la flexibilidad y con-
Estamos tan acostumbrados a programar instrucciones en las compu- sistencia antes que la belleza. Con esto se nos acaba el espacio por el
tadoras que nos olvidamos que generar cambio en las personas no es momento. Continuaremos en la próxima ocasión y por ahora sólo me
algo trivial. Piensen cuándo fue la última vez que cambiaron de esti- queda decirles feliz 2008 y que se cumplan todos sus deseos.
lista, cuándo cambiaron de restaurante favorito o la ruta para llegar al
trabajo. Normalmente cambiar genera incertidumbre, miedo, estrés. —Luis R. Cuellar

10 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// PRODUCTOS /* LO QUE VIENE*/

Mercurial
Control de versiones distribuido

Sync Framework y SyncFeed


Pilares para S+S En los últimos meses los sistemas distribuidos para
control de versiones (DVCS) han aumentado signifi-
camente en popularidad. A diferencia de los sistemas
Microsoft recientemente dio a conocer dos tecnologías que convencionales de control de versiones que mantienen
serán una parte importante de su estrategia de software + un repositorio central, en un DVCS cada usuario gene-
servicios (S+S). ra una copia completa del repositorio y hace commits
locales sobre su propia copia. Estos cambios poste-
La primera es Sync Framework, una plataforma de sincro- riormente son compartidos a través de sincronización.
nización para habilitar el uso de aplicaciones, servicios y Este esquema permite trabajar fuera de línea, y da mu-
dispositivos que no estén conectados a la red de forma con- cho mayor flexibilidad para mantener la estructura de
tinua, es decir que se puedan usar offline. La visión de esta un repositorio.
plataforma es habilitar la construcción de “ecosistemas de
sincronización” que integren cualquier tipo de aplicaciones Mercurial es uno de los DVCS más populares y está
y datos a través de cualquier tipo de red y protocolo. El Sync recibiendo muy buenos comentarios por parte de la
Framework actualmente se encuentra disponible como CTP comunidad conforme se acerca a su versión 1.0 (actual-
(Community Technology Preview) en MSDN. mente en 0.9.5). De hecho, proyectos como NetBeans
y OpenJDK recientemente migraron su código de desa-
La segunda tecnología en cuestión es FeedSync, antes co- rrollo a Mercurial.
nocida como Simple Sharing Extensions, y que básicamente
viene a ser una extensión para Atom y RSS. Llama la aten- Mayor información en: selenic.com/mercurial/wiki
ción que la especificación de FeedSync está disponible bajo
una de las licencias de Creative Commons.

Mayor información en: msdn2.microsoft.com/en-us/sync

Amazon SimpleDB
Servicio de base de datos por Internet

Amazon SimpleDB es un web service para realizar


NetBeans 6.0 queries en tiempo real sobre datos estructurados.
Viene por todo Este servicio funciona en conjunto con Amazon Simple
Storage Service (Amazon S3) y Amazon Elastic Com-
pute Cloud (Amazon EC2) para proveer la habilidad de
NetBeans 6.0 por fin ha sido liberado, y viene por todo. En almacenar, procesar y obtener conjuntos de datos de
una sola herramienta integrada, NetBeans provee soporte la “nube”.
para desarrollo de aplicaciones tanto desktop como web,
empresariales y móviles. Y no sólo está limitado al lengua- Tradicionalmente, este tipo de funcionalidad ha sido
je Java sino que también provee funcionalidad para desa- lograda con una base de datos en cluster, lo cual
rrollo en Ruby/Rails y C/C++. Ante esto, es comprensible requiere una fuerte inversión inicial, además de la
el hecho de que NetBeans se promueva a sí mismo como complejidad para mantenerla y administrarla. En
“el único IDE que necesitas”. contraste, SimpleDB es sencilla de usar y provee la
funcionalidad esperada de una base de datos (bús-
El equipo de NetBeans ya está trabajando en la versión queda y manipulación de datos) sin la complejidad
6.1 que saldrá en los próximos meses y que incluirá las operacional. SimpleDB no requiere esquemas de base
siguientes mejoras: de datos, automáticamente indexa los datos y provee
• Soporte para los frameworks Hibernate y Spring un API sencillo para almacenamiento y búsqueda de
• Soporte para Axis datos. Los desarrolladores ganan acceso a esta fun-
• Instalación de aplicaciones sobre WebSphere cionalidad, que escala automáticamente, y solamente
• Capacidad para deshacer (undo) refactorizaciones pagan por lo que usan.

Mayor información en: netbeans.org Mayor información en: aws.amazon.com

12 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// CONTENIDO PATROCINADO // TUTORIAL

Instalando el Ambiente del


SAP NetWeaver CE 7.1 SR3
SAP NetWeaver Composition Environment 7.1 SR3 Evaluation Version
Por Kentaro Takahashi, Fernando Moreira, Luciano Petricelli

• En caso de no estar conectado a una red, utilizar el MS Loopback


En este número incluímos un DVD, con la versión de evaluación Adapter.
de SAP NetWeaver Composition Environment 7.1 SR3.
Aquí está la guía de instalación paso a paso de esta herramienta, Memorice la contraseña que usted definirá en el paso 7, pues la misma,
además de referencias en el sitio web oficial para encontrar más es la contraseña maestra de autenticación para varias situaciones.
detalles sobre el producto o acceder al área de los foros.
Después de la instalación, los varios usuarios y contraseñas son:
• SAP NetWeaver Application
Aplicaciones Compuestas o “composiciones”, son aplicaciones usuario: Administrador
que usan de funcionalidades existentes y expuestas a través de contraseña: <contraseña maestra>
sus interfaces. • Login de operador del administrador del MaxDB
usuario: control
El SAP NetWeaver Composition Environment 7.1 es una infraes- contraseña: <contraseña maestra>
tructura que provee tanto herramientas, como un ambiente de • Usuario del banco de datos MaxDB
tiempo de ejecución para el desarrollo, ejecución y administra- usuario: superdba
ción de aplicaciones compuestas de acuerdo con la visión del contraseña: <contraseña maestra>
eSOA (Arquitectura Orientada a Servicios de Negocios), de SAP. • Usuario para la consola de administración SAP
usuario: usuario del Windows
El DVD encartado en esta edición, trae con anticipación para el contraseña: contraseña del Windows
mercado hispano, la última versión del NetWeaver Composition • Administrador del ICM
Environment 7.1 SR3. compuesto de: usuario: Administrador
• Servidor de Aplicaciones SAP NetWeaver, conforme la especifi- contraseña: abc123
cación Java EE 5.
• SAP Web Dynpro - es la tecnología estándar de SAP para desa- Empezando la instalación
rrollo de interfaces de usuarios. El primer paso es instalar el Java Development Kit (JDK 1.5.0_11
o superior). El download puede ser hecho directamente en la In-
Como es una tecnología agnóstica de implementación, puede ser ternet, en el sitio web de Sun Microsystems. En este mismo sitio,
programado en Java y también ABAP, tiene una arquitectura ba- en la sección “Other Downloads”, hay que hacer el download del
sada en MVC (Model-View-Controller) lo que ayuda en extremo JCE (Java Cryptography Extension Unlimited Strength Jurisdiction
en la implementación de interfaces con clara separación de los Policy Files 5.0) que será pedido durante la instalación del Com-
servicios de back end. position Environment.
• Ambiente y herramientas de Composición de SAP.
• Banco de datos MaxDB 7.6 – MaxDB es el sistema administra- Para empezar la instalación ejecute el archivo start.htm, donde se
dor del banco de datos desarrollado por SAP. Donde una de las mostrarán diversas informaciones sobre el contenido del DVD, y los
mayores bases instaladas es el SDN (sdn.sap.com), con más de procedimientos resumidos de esta tutoría. Haga clic en next(siguiente)
600 mil usuarios. hasta llegar al inicio de la instalación. Alternativamente, usted puede
• SAP NetWeaver Developer Studio – ambiente de desarrollo, basado ejecutar directamente el archivo “sapinst.exe” localizado en el direc-
en el Eclipse Europa (versión 3.3), con decenas de plugins de SAP. torio ...\CompEnv\CE71_03_IM_WIN_I386_ADA.

Requisitos de Sistema Así como la mayor parte de las soluciones y productos SAP, la ins-
• Windows XP Professional (Service Pack 2) o Windows 2003 Ser- talación empieza con un Wizard, en el que usted deberá entrar con
ver (Service Pack 1) todos los parámetros necesarios para la instalación. Solamente
• Sistema de archivos NTFS después de la colecta de todas las informaciones necesarias y la
• Internet Explorer 6.0 o superior o Firefox 1.0 o superior revisión de los parámetros es que la instalación efectivamente em-
• Al menos 1.5 GB RAM, es recomendado 2 GB de memoria pezará. A partir de esto todo se realiza automáticamente.
• PC 1.5 GHz o superior
• 7 GB de disco libre Seleccione “SAP Netweaver CE Development System” y haga clic
• Monitor con resolución de 1024 x 768 pixels y 256 colores en “Next”.

14 FEB-ABR 2008 www.sg.com.mx


En esta pantalla se presenta, un resumen de todos los parámetros
seleccionados hasta el momento. Usted puede revisar las configura-
ciones elegidas y empezar la instalación. Haga clic en “Next”.

Elija la opción de instalación “Typical”(típico). Esta opción informa


que la mayor parte de los parámetros ya están previamente defini-
dos, optimizando el proceso de instalación. La instalación podrá consumir algo cerca de 50 a 70 minutos de-
pendiendo de los recursos de hardware disponibles.
Acepte el acuerdo de licencia y haga clic en “Next”.
Al término de la instalación haga clic en “OK” para empezar automática-
Elegir un identificador para su ambiente. Para esta instalación va- mente el servidor de aplicaciones. Por ser la primera vez, varias rutinas
mos utilizar el default “CE1”. de inicio serán ejecutadas y, por lo tanto, el proceso puede demorarse.

Indicar la ruta de instalación para el archivo con el JCE Policy baja- Para acompañar la carga del servidor de aplicaciones usamos el
do anteriormente. Indicar la contraseña principal que servirá como SAPMMC (SAP Management Console) que puede ser empezado a tra-
clave estándar para los usuarios creados. vés de un icono creado por la instalación en su desktop. Esta carga del
servidor, debe consumir de 50 a 90 minutos.

Expandiendo el nodo “CE1” podemos verificar varias informaciones.


Hagar clic en “Process List”(lista de procesos) conforme la figura
abajo para acompañar el status de los procesos. Para que el ambien-
te esté totalmente en el aire es necesario que todos los nodos estén
con la indicación en color verde.

El SAP MMC también es utilizado para empezar y parar el Composite


Environment manualmente. Haga clic con el botón derecho del ratón
arriba de la identificación del sistema (“CE1”) y elija “Start”(inicio)
o “Stop”(detener). En este momento son ejecutadas varias rutinas
para que el ambiente y el banco sean iniciados/detenidos en la se-
cuencia correcta.

ATENCIÓN: siempre utilice el MMC para iniciar y detener el servidor.


Si la instalación fuera realizada en un notebook o desktop que deba

www.sg.com.mx FEB-ABR 2008 15


// CONTENIDO PATROCINADO // TUTORIAL

ser desconectado constantemente, recuerde siempre de parar el am- User Management


biente de la manera correcta, antes de desconectar la máquina. Esto Consola de administración de usuarios, grupos, papeles y sus datos.
evita posibles inconsistencias causadas por la desconexión inmedia-
ta del sistema y que rutinas de detención no sean ejecutadas.

Verificando los servicios y herramientas


Para conocer los servicios y herramientas del servidor de aplicaciones,
abra el navegador y entre con la siguiente URL: <servidor>:<puerto http>
donde el puerto debe seguir la siguiente regla: 5 + “Central Instance
Number” + 00. En este caso 50000.

Ejemplo: localhost: 50000

Web Services Navigator


Herramienta que permite tener acceso a descripción WSDL de un
web service y probar un Web Service.

SAP Library - link para el sitio de documentos en línea de SAP


(help.sap.com).

SAP NetWeaver Administrator


Herramienta de administración, configuración y evaluación, que
agrupa las principales tareas administrativas.

Services Registry
Registro con base en el UDDI que contiene definiciones de servi-
cios empresariales y referencias a sus datos de metas.

UDDI Client
System Information Provee un cliente UDDI para funciones de consulta y publicación
Detalle de las configuraciones del sistema y su estado. en registros compatibles con el UDDI.

16 FEB-ABR 2008 www.sg.com.mx


Web Dynpro Acepte el término de licencia y haga clic en “Next”.
Es una tecnología para la creación de interfaces de usuario, dis-
ponibles dentro del NetWeaver Developer Studio. Ya que está siendo descubierto el mundo JAVA en SAP, seleccione
todas las funcionalidades opcionales para que pueda explorarlos
Ahora que el Composite Environment está instalado y funcionan- después. Haga clic en “Next”.
do, vamos instalar el SAP Netweaver Developer Studio.
El NetWeaver Developer Studio es el ambiente de desarrollo de SAP Observe la necesidad de los requisitos de hardware. Haga clic en
para la creación de aplicaciones de negocio con base en JAVA. Esta “Finish”(finalizar).
herramienta es totalmente basada en Eclipse.
Para acceder el Netweaver Developer Studio utilice el icono crea-
Para empezar el wizard de instalación es sólo ejecutar el archivo do automáticamente en su desktop.
“IDESetup.exe” localizado en el directorio: io ...\DevStudio\CE71_03_
JAVA_IDE. Después del empiezo del wizard, haga clic en “Next”. En la pantalla de bienvenidas existen varias informaciones incluyen-
do algunos tutoriales y ejemplos para que empiece sus desarrollos.

Elija el directorio de instalación y haga clic en “Next”.

Informar el camino de la instalación del JDK 5 y haga clic en “Next”. Para practicar el desarrollo en este nuevo ambiente, además de toda
Haga clic en “Next” . la información provista en el Help SAP http://help.sap.com tenemos
también el SDN (http://sdn.sap.com). Este sitio provee foros de dis-
Informar el sitio de update a partir del cual serán instaladas/actua- cusión, blogs, downloads e informaciones para las varias comunida-
lizadas las funcionalidades del Developer Studio. Es recomendable des de SAP (desarrolladores, consultores y clientes) e información
dejar el valor propuesto que apunta para un archivo en el propio DVD relacionada al Netweaver (plataforma tecnológica SAP).
conteniendo las informaciones necesarias. Haga clic en “Next”.
Si hubiera algún problema en la instalación, visite el sitio en la Internet
Seleccione todas las opciones de la lista y haga clic en “Next”. del SDN, en los foros encontrará posibles respuestas al problema pre-
sentado y es la manera más rápida de solucionar cualquier duda.

Kentaro Takahashi es consultor senior de SAP, Bacharel y Mestre en Ciencias de la Computación por la Universidad de Brasilia (UnB). Conferencista en
eventos nacionales e internacionales. Escribe regularmente para publicaciones especializadas. kentaro.takahashi@sap.com
Fernando Moreira es consultor senior de SAP, formado en Ingeniaría de Computación por la Universidad Federal de São Carlos (UFSCar). Actúa como
consultor NetWeaver. fernando.moreira@sap.com
Luciano Petricelli, Posgraduado en Business Enterprise Solution Provider, desarrollador ABAP desde 1998 y desarrollador NetWeaver Enterprise Portal
desde 2001. Trabaja en SAP desde 1997, hoy actúa como líder de solución “User Productivity Enablement & Development” para FS-Brasil.
l.petricelli@sap.com

www.sg.com.mx FEB-ABR 2008 17


// PRODUCTOS /* NOVEDADES*/

Force.com
La Plataforma como Servicio
Por Peter Coffee

La labor de los desarrolladores de aplicaciones de software empresa- pasos adicionales de integración de la aplicación, ésta forma par-
rial ha cambiado enormemente en los últimos años. Antes, su princi- te inmediatamente del catálogo de herramientas disponibles para
pal tarea consistía en automatizar los procesos comerciales internos. el usuario o el desarrollador, y extiende las capacidades que exis-
Solían utilizar los sistemas internos de una compañía para atender tían antes de que se creara la nueva aplicación. Es posible incluir
al personal interno. Hoy en día, las tareas a las que se enfrentan los rápidamente nuevas funciones. Con sólo hacer clic con el ratón
equipos de desarrollo consisten en automatizar las interacciones de para activar una función de la plataforma, es posible agregar a
los procesos comerciales de la compañía con los socios de negocio la aplicación opciones como la búsqueda, bitácoras o envío de
y clientes del mundo exterior. A menudo, el lugar donde se produce documentos. El desarrollador no tiene que escribir nuevo código
esta interacción estratégica es la red pública de Internet, y las reglas personalizado para que estas funciones estén disponibles.
que a menudo la rigen son los protocolos del web.

El modelo del software como servicio es una de las principales


tendencias en el ámbito de las TI. Una de las empresas líderes
en este segmento es salesforce.com, a través de su aplicación
de CRM que funciona bajo un esquema on-demand. Pero ahora,
salesforce.com está yendo un paso más alla al no solo ofrecer
su aplicación como servicio, sino al brindar su plataforma como
servicio. Esto significa que los desarrolladores pueden utilizar
la infraestructura y plataforma de salesforce.com para crear sus
propias aplicaciones, las cuales posteriormente se ejecuten bajo
un esquema on-demand desde la infraestructura de salesforce.
com. Dicha plataforma es conocida con el nombre force.com y es
una excelente forma de crear rápidamente aplicaciones web.

Cómo dar los primeros pasos con force.com


Aprender a desarrollar aplicaciones en la plataforma force.com
no requiere comprar nuevo hardware, instalar middleware, ni
pagar capacitación. Simplemente el desarrollador necesita re-
gistrarse de forma gratuita en el Apex Developer Network (ADN)
en salesforce.com/developer. Después de hacer esto, visitando
la pestaña de “Getting Started” se tiene acceso a videos y tuto-
riales (ver figura 1).

Ventajas de una plataforma como servicio Figura 1. Página de acceso.


Force.com ofrece al desarrollador un gran salto cualitativo en
cuanto a generación de aplicaciones ofrecidas a través de la Web. Basado en el popular patrón MVC
Al desarrollar aplicaciones web, típicamente éstas se programan Muchos desarrolladores de aplicaciones comerciales están fami-
primero en la máquina del desarrollador y posteriormente insta- liarizados con tecnologías de desarrollo centrados en objetos,
larlas y publicarlas en un servidor web, de forma que se puedan que utilizan la arquitectura de Modelo/Vista/Controlador. El MVC
ver “en vivo”. Este paso no existe cuando se desarrolla en force. separa el diseño de la función de una aplicación de la forma en
com, ya que la aplicación “nace en la web”. La aplicación puede que se utilizarán esas funciones. Force.com aplica los conceptos
probarse o mostrarse a otros inmediatamente y exactamente de de MVC. La clara definición de esta arquitectura ayuda al desarro-
la forma en que aparecerá cuando se utilice. llador a crear aplicaciones muy potentes y, por su parte, la pla-
taforma force.com detecta y evita muchos errores comunes que
Hay que tener en cuenta que la nueva aplicación se ubica en el podrían provocar problemas en momentos posteriores del ciclo
contexto de otras herramientas de salesforce.com. Al no haber de desarrollo.

Peter Coffee es Director de Investigación de Plataforma en salesforce.com, donde sirve como enlace con la comunidad de desarrollo respecto a la plata-
forma Apex. Anteriormente, Peter estuvo 18 años en eWeek (antes conocido como PC Week).

18 FEB-ABR 2008 www.sg.com.mx


16
Confiabilidad y seguridad sencilla de obtener den escribir y probar código directamente en el navegador para de-
Como ya dijo el gran filósofo SpiderMan, un gran poder conlleva una finir nuevas funciones en las aplicaciones. En el área de “Tools” del
gran responsabilidad. Actualmente existe una gran preocupación en Apex Developer Network, es posible descargar el “Apex Toolkit for
las empresas por la gestión y el gobierno de las TI, los desarrolladores Eclipse”, que es un plugin de Eclipse para desarrollar con Apex.
tendrán el placer de ver el alto grado de precisión que la plataforma for-
ce.com ofrece a los equipos de desarrollo en cuanto al acceso a la infor- El desarrollo de Apex en Eclipse ofrece a los desarrolladores todo el
mación, permitiendo fácilmente configurar qué roles de usuario tienen poder de un completo y moderno editor de código, a la vez que ac-
acceso a distintos niveles de información en nuestras aplicaciones. tualiza automáticamente el código que reside en los niveles superio-
res de Force.com. De la misma forma que si edita código a través del
Poniendo a trabajar el talento de los navegador, el desarrollador no tendrá que pensar en cómo instalar
desarrolladores la aplicación, ni siquiera cuando use Eclipse para la edición de alto
Todo lo que se ha tratado hasta ahora es algo que cualquier usua- rendimiento en su estación de trabajo (ver figura 2).
rio comercial puede aprender a hacer, sobre todo si el usuario tiene
experiencia con productos de bases de datos personales o incluso
con aplicaciones de hojas de datos comunes. El siguiente nivel de
Force.com tiene más relación con las capacidades e intereses del
desarrollador profesional: un diseñador experimentado que tiene
el interés y la capacidad de definir nuevas lógicas de negocio.

Tenga en cuenta que en la frase anterior se utilizan las palabras


“definir nuevas lógicas de negocio” en vez de “escribir nuevo códi-
go personalizado”. Los desarrolladores que han trabajado en otras
plataformas encontrarán que muchas de las funciones necesarias
las realiza Force.com con tan sólo escribir sencillas fórmulas, como
las hojas de datos comunes mencionadas anteriormente. Aún es
necesaria la experiencia que tiene el desarrollador para compren-
der el proceso comercial y expresar ese proceso de forma precisa,
pero aun así el desarrollador puede aplicar sus habilidades con
menor esfuerzo en Force.com que en ninguna otra plataforma de
aplicaciones.

Los desarrolladores también observarán que, si utilizan los mecanis-


mos de reglas en lugar de escribir código personalizado, la aplicación Figura 2. Edición de código con Eclipse.
podrá ofrecer al usuario sencillos métodos de revisión de la aplica-
ción con tan sólo cambiar los valores de parámetros. Un usuario con Otras herramientas disponibles para descarga en el ADN incluyen el
privilegios administrativos podrá modificar a menudo una aplicación Apex Explorer, que es una herramienta para navegación de datos, y
para aplicar cambios sencillos sin que tenga que intervenir el desa- el Flex Toolkit for Apex, el cual permite utilizar Flex para desarrollar
rrollador. De esta forma se reducen los costos de mantenimiento de interfaces gráficas enriquecidas.
la aplicación y se permite al equipo de desarrollo centrarse en su
trabajo de creación de nuevas capacidades.
Conclusión
Apex: el lenguaje para hablar a “la nube” Force.com plantea una paradoja para el desarrollador: por
Muchos desarrolladores tendrán gran interés en las herramientas que un lado le hará sentir familiar con la forma de uso de los con-
les permiten definir nuevos comportamientos en los mecanismos de ceptos de base de datos convencional y con la sintaxis del
Force.com. Los desarrolladores pueden escribir código en el lenguaje nuevo código, pero por otro se sentirá un novato en la crea-
Apex de salesforce.com, que es como una mezcla de Java y SQL. Este ción de aplicaciones web, que resulta infinitamente menos
lenguaje híbrido, desarrollado para trabajar estrechamente con el sis- complicada que el desarrollo que se realizaba anteriormente.
tema de Force.com, da a los desarrolladores una atractiva combina- Al ofrecerles de forma gratuita una cuenta de desarrollador,
ción de alta legibilidad con una rigurosa gestión de los datos. materiales de capacitación y herramientas, Force.com ofrece
a los desarrolladores la posibilidad de explorar cómo será en
Gracias a los distintos tutoriales escritos y de video que se ofrecen el futuro el trabajo que realizan hoy.
en el sitio web de salesforce.com, los desarrolladores verán que pue-

www.sg.com.mx FEB-ABR 2008 19


El Encuentro con el Conocimiento

20 FEB-ABR 2008 www.sg.com.mx


P
36
5
as

ocas son las ocasiones en que los profesionistas en Tecnologías de In-


ist

formación podemos reunirnos tanto para saludarnos como para compartir


en
te

conocimiento con nuestros colegas de la región. Y qué mejor pretexto


sa

para estar todos juntos que SG ‘07 Conferencia y Expo.


co
nf
er

Tal vez fuiste una de las personas que compartió en vivo la emo-
en
cia

ción de este evento, pero sabemos que otros por alguna ra-
s,

zón no pudieron asistir, así que para ellos dedicamos esta


40

reseña de lo que fue el congreso, y para los primeros


2
a

esta es una forma de revivir experiencia de lo que


ex
po

fue SG’07.
,y
14
9
ex
po
sit
or
es
pa
ra
un
to
ta
ld
e9
16
pe
rs
on
as
en
SG
’0
7.

www.sg.com.mx FEB-ABR 2008 21


Los conferencistas mejor evaluados fueron: Emilio Osorio (4.90), Ernesto El promedio de satisfacción general de los
asistentes fue de 4.21 en una escala del 1 al 5.

La sede mejora de procesos y el panorama de esta área tanto en


El corazón de la Ciudad de México fue el elegido para nuestra región como en el resto del mundo. Para finalizar
proveer las instalaciones necesarias y realizar el con- con la serie de conferencias magistrales, Eric Jarvi com-
greso. El Hotel Sheraton Centro Histórico fue la sede del partió técnicas y prácticas modernas para la depuración
Elizalde (4.77) y Orlando Rincón (4.64) en escala del 1 al 5.

evento, ubicado sobre una de las principales avenidas de aplicaciones de software.


del Distrito Federal, el hotel contaba con las instalacio-
nes necesarias para realizar sin problemas el evento. Gracias a todos ellos por compartir con nosotros el gran
compromiso de llevarle a todos ustedes los conocimien-
Su céntrica ubicación permitió no solamente el fácil ac- tos y experiencias al utilizar tecnologías de vanguardia.
ceso al lugar, sino que además sirvió de lugar turístico
para que tanto los visitantes provenientes de otros esta- Conferencias parciales
dos y países conocieran un poco de la arquitectura colo- Técnica, estrategia, vanguardia y futuro además de la
nial característica del Centro Histórico. experiencia y conocimiento, fueron los puntos clave
para elegir a los conferencistas de las sesiones parale-
Los magistrales las. Lamentablemente nada más pudimos elegir 32 po-
Buscamos que los conferencistas magistrales de SG nencias, las cuales divididas en cinco diferentes tracks,
sean personas de mucho talento. Elegir a aquellos que corrieron de forma paralela durante los días de la Expo.
son reconocidos internacionalmente y que pueden plan- De esta manera, captamos a personas laborando en
tear un tema de interés para la audiencia de SG no es diferentes ambientes de trabajo para que los conoci-
una labor sencilla. Se requirió de un esfuerzo significati- mientos fueran diversos y no estuvieran enfocados en
vo para identificar candidatos adecuados, contactarlos, una sola área de conocimiento.
convencerlos y acordar el tema que abordarían durante
su conferencia. Los tracks de conocimientos fueron: Herramientas y
Tecnologías, Procesos, Ingeniería de Software, Estrate-
Scott Ambler fue el encargado de abrir el evento con la gia para Empresarios y Dirección de Proyectos. Algunos
primera conferencia magistral. Scott es uno de los gu- ejemplos de los temas que se trataron fueron: Orques-
rús más reconocidos en desarrollo ágil, y nos compartió tación de Servicios, Mashups, Planeación de Proyectos,
un poco de su amplio conocimiento sobre cómo pueden Implantación de MoProSoft, Software Testing, Programa-
aplicarse estas técnicas en proyectos corporativos de ción Paralela, Introducción a Ruby on Rails, Diseño de
gran escala. Terminado el turno de Scott, Danese Cooper Servicios, entre otros.
iluminó la sala para todos los gustosos de temas sobre
Open Source, ella nos platicó sobre las implicaciones Personas de las áreas bancarias; consultores, investiga-
que éste tiene para las personas que nos dedicamos al dores, empresarios y desarrolladores fueron los perfiles
desarrollo de software. de los ponentes, mostrando al espectador su experien-
cia y dominio en el tema.
La conferencia magistral para cerrar el primer día estuvo
a cargo de Orlando Rincón. Desafortunadamente en úl- Día de laboratorios
timo momento el no pudo realizar el viaje a México. Sin El último día de SG’07 fue para realizar los talleres. Cinco
embargo, es aquí donde entró el aprovechamiento de la salones con 105 equipos de cómputo instalados para que
tecnología, y Orlando pudo realizar su conferencia de todos pudieran tener acceso al software necesario para el
forma remota a través de Skype. A pesar de esto, la con- aprendizaje del laboratorio.
ferencia de Orlando fue la más larga, más entretenida y
que mayor reflexión provocó entre los asistentes. Con duración de cuatro horas cada uno, 10 talleres fueron
impartidos por expertos y conocedores en los diferentes
El día martes, Gavin King inició la sesión de conferen- temas; cada asistente pudo tomar dos talleres de su pre-
cias magistrales platicándonos acerca de Web Beans, ferencia, obteniendo al final de la sesión una introduc-
que es una propuesta muy interesante para el desarrollo ción al tema o herramienta en cuestión, y con suficiente
de aplicaciones web con estado (stateful). La apariencia información para poder seguir estudiando por su cuenta y
fresca de Gavin ofreció a los asistentes el ambiente de compartir con sus colegas el conocimiento adquirido.
camaradería necesario para que más de una vez las ri-
sas no se hicieran esperar en la sala, dando una muestra Expo
que la tecnología o la ciencia no están peleadas con el Este evento no hubiera sido posible sin la participación de
buen humor. El segundo conferencista magistral fue Mi- nuestros patrocinadores. Nos preocupamos por llevarles
guel Serrano, quien subió al estrado para hablar sobre la una muestra de las mejores empresas en ámbitos de Tec-

22 FEB-ABR 2008 www.sg.com.mx


Sigma Tao, con 14 personas, fue la empresa
con más asistentes en conferencias de SG ’07.

nologías de Información para darles a conocer lo mejor de sus produc- pañarnos por la noche pudieron convivir más con sus amigos, com-
tos o servicios. Cada uno de ellos hizo un gran esfuerzo para atender a pañeros de trabajo y en general con el equipo de SG, anfitriones
todos los asistentes a la Expo, explicándoles la oferta de su empresa y del evento.
en algunos casos otorgándoles algún pequeño presente, y folletos de
información acerca de sus productos y actividades. Preocupados porque todos llegaran sanos y salvos al lugar, hubo
autobuses que sirvieron para transportarnos desde el hotel sede
Nuestros patrocinadores premier, representados por tres grandes en hasta el bar, la misma travesía para el regreso. Música, bocadillos,
su ramo: Microsoft, Red Hat e IBM, nos engalanaron con su presencia. bebidas y baile fueron los elementos clave para la noche, en la que
Sin olvidar la mención de todas las asociaciones que estuvieron con todos disfrutamos del ambiente y la vista panorámica.
nosotros, apoyando con la difusión del evento entre sus miembros.
Agradecemos también a Prosoft por el apoyo, a los medios que cu- Anécdotas
brieron el evento. Ya como cierre de esta reseña, queremos compartir algunas anécdo-
tas y datos al margen:
¡Gracias a todos y cada uno de ellos! • Contamos con la presencia de asistentes Venezolanos, quienes dis-
frutaron de los tres días de la Conferencia y Expo, el día del evento
Lo más importante: los asistentes social nos regalaron una sesión de baile grandiosa, era la primera
Este año no pudo ser la excepción, personas de diferentes puntos vez que venían a la Ciudad de México, aunque ya conocían las costas
de la República Mexicana se hicieron presentes: desarrolladores, ge- oaxaqueñas, quedaron encantados no solamente con el evento, sino
rentes, directivos, líderes de proyectos y académicos. con el lugar sede.
• Personas que vinieron de diferentes puntos de la República Mexi-
La sensación de familiaridad se sintió cuando al caminar por los pa- cana, asistieron con maleta en mano al día de talleres.
sillos se veía a personas detenerse para saludarse, viejos conocidos • La mesa de futbolito además de divertir, generó retas entre los
se reencontraban o compañeros de trabajo se sentaban juntos a co- asistentes.
mer o simplemente, se encontraban después de mucho tiempo en • Cada día hay más mujeres inmersas en el mundo de las Tecnologías
las reuniones de comunidad que se realizaron durante el evento. de Información.
• Tuvimos voluntarios de diferentes partes de la República Mexica-
Todo el equipo detrás del congreso estuvimos preocupados por brin- na: Monterrey, Oaxaca, Puebla y Tlaxcala.
darles la mejor de las atenciones a todos los asistentes, para que los
temas de cada track estuviera a la altura, y principalmente hacerlos Podríamos mencionar muchas más, pero es mejor vivirlas que leer-
sentir como en casa. las, no se pierdan la siguiente edición.

¿Bailamos? Queremos agradecer a todos los asistentes, patrocinadores, ponen-


El evento social se realizó en La Terraza, bar ubicado en el edificio tes, medios y personas que formaron parte del staff para que SG’07
de los portales frente a Palacio Nacional. Con una vista a la plancha Conferencia y Expo haya sido de su total agrado, invitándolos a que
del Zócalo, todas las personas que tuvieron la energía para acom- se alisten para repetir esta aventura en junio del 2008.

¡Nos vemos en SG’08!


Los asistentes a SG ’07 llegaron de 23 estados diferentes de
la República Mexicana, así como otros países (Venezuela,
Estados Unidos, España y Colombia).

www.sg.com.mx FEB-ABR 2008 23


24 FEB-ABR 2008 www.sg.com.mx
Los Premios SG son un reco- noviembre y diciembre del 2007. los premios para reconocer a per-
nocimiento a lo más destacado de Previamente, se habían definido a sonas destacadas en el ámbito de
la industria de software en nuestra los participantes en cada catego- desarrollo de software en nuestra
región. Además de dar honor a quie- ría por medio de un wiki abierto. región. En este caso, las personas
nes honor merecen, los Premios SG Es así que estos premios son un fueron elegidas por SG, pero para la
brindan un mecanismo para que los fiel reflejo de las preferencias de próxima edición planeamos estable-
lectores conozcan diferentes opcio- ustedes, los lectores de SG. Pero cer un mecanismo para que las per-
nes de productos y los consideren como ustedes saben, desarrollar sonas reconocidas también puedan
en sus próximos proyectos. buen software no solo requiere ser elegidas por los lectores de SG.
de buenas herramientas e infraes-
Los ganadores fueron elegidos por tructura, sino también de perso- Comencemos entonces para averi-
los mismos lectores de SG a través nas capaces. Por ello hemos crea- guar quienes son los que se pusie-
de una encuesta que se realizó en do también un espacio dentro de ron las pilas en el 2007.

Modelado y Arquitectura RequisitePro se integra con Microsoft Word


Ganador: Rational Software Architect de forma que es posible seleccionar pedazos
de texto dentro de un documento y marcarlos
Los modelos visuales son de gran utilidad para como requerimientos formales que son alma-
definir y comunicar la estructura y comporta- cenados en una base de datos de uso especí-
miento de los componentes de software. fico. Una vez en la base de datos, es posible
definir para cada requerimiento características
Rational Software Architect (RSA) es la evo- como su prioridad, estatus, relación con otros
lución de lo que alguna vez fue la edición requerimientos, relación con componentes de
empresarial de Rational Rose. RSA combina ejecución y prueba, y luego administrar los
las capacidades básicas que uno podría es- cambios que se den durante el proyecto.
perar de cualquier herramienta moderna de
modelado (soporte para UML 2, ingeniería Borland Caliber Analyst fue la solución de ges-
en reversa y generación de código, patrones tión de requerimientos que quedó en segun-
de diseño, exportación de modelos a HTML) do lugar, y vale la pena conocer un poco más
con capacidades avanzadas para el desarro- sobre ella ya que es una suite con dos pro-
llo de arquitecturas distribuidas. Entre estas ductos diferentes: DefineIT para la definición
resalta el “Architectural Discovery”, que per- de requerimientos a través de herramientas
mite visualizar la estructura de una aplica- visuales, y CaliberRM para la administración
ción y automáticamente detecta patrones y durante el ciclo de vida.
antipatrones. Otra capacidad interesante es
la transformación de UML a web services.

Entre las otras herramientas que destacaron IDE


en esta categoría están Enterprise Architect de Ganador: Visual Studio 2005
Sparx Systems, y Visual Paradigm para UML.
ArgoUML aparece como la opción de software Aunque no sustituyen la habilidad y conoci-
libre en este segmento. Sin embargo, la brecha mientos, los ambientes de desarrollo inte-
de funcionalidad respecto a productos como grado (IDE) son herramientas de gran utili-
RSA o Enterprise Architect es muy grande. dad para cualquier programador.

Las herramientas de Microsoft siempre han


sido reconocidas por su facilidad de uso. El pro-
Gestión de Requerimientos blema es que típicamente no habían sido muy
Ganador: Rational RequisitePro poderosas ni extensibles, estando enfocadas
al desarrollo de aplicaciones departamentales
La práctica de requerimientos de software sencillas. Sin embargo, en Visual Studio 2005
tiende a centrarse en la definición de éstos. Es Microsoft conjuntó la facilidad de uso con una
decir, en especificarlos de forma clara y preci- arquitectura extensible y el poder de la pla-
sa, ya sea por medio de casos de uso, story- taforma .Net. Esta receta ha dado excelentes
boards o alguna otra técnica. Sin embargo, resultados, y prueba de ello es que haya sido
tanto o más importante que la definición de elegida como el IDE más popular .
requerimientos es la capacidad para adminis-
trarlos adecuadamente durante el ciclo de vida El segundo lugar fue para Eclipse, seguido
de un proyecto. de cerca por Delphi 2007 para Win32.

www.sg.com.mx
www.sg.com.mx FEB-ABR 2008 25
Control de Versiones A pesar de llevar poco tiempo en el mercado, El .NET Compact Framework es una versión de
Ganador: Rational ClearCase Visual Studio Team Edition for Software Testers .NET diseñada para funcionar en dispositivos
quedó en segundo lugar lo cual es señal de lo móviles basados en Windows CE. Reciente-
Los sistemas para control de versiones son la bien que ha sido recibida esta herramienta. mente se liberó la versión 3.5, que soporta los
infraestructura básica de cualquier proyecto nuevos APIs y tecnologías como WCF y LINQ.
de software serio.
Otra herramienta popular entre los lectores de
ClearCase es uno de los sistemas más conoci- Librería o Framework SG para desarrollo móvil fue NetBeans Mobi-
dos en este segmento. Tiene un conjunto de Ganador: Delphi VCL lity Pack, el cual está dirigido a desarrollo en
funcionalidad bastante completo, diseñado Java Micro Edition.
para satisfacer las necesidades de los pro- La mayoría de las aplicaciones de software
yectos más grandes y complejos. Entre éstas modernas se desarrollan sobre un framework
están la capacidad de ejecutarse en Linux, que hace mucho del “trabajo sucio”, permi-
Solaris y Windows, soporte a grandes canti- tiendo que nos enfoquemos en la lógica de RAD
dades de archivos, y manejo de repositorios negocio. Por otro lado, también existen libre- Ganador: PowerBuilder
en múltiples sitios. Adicionalmente está la rías de componentes reutilizables que resuel-
gran ventaja de la integración con otras herra- ven muchas de las tareas más comunes (ma- Impulsadas por la creciente necesidad de re-
mientas, especialmente de Rational. nejo de persistencia, gráficas, etcétera).. cortar el tiempo requerido para desarrollar
aplicaciones, las herramientas RAD (Rapid
Siguiendo muy de cerca a ClearCase quedó Delphi VCL (Visual Component Library) es Application Development) han tomado bas-
Borland StarTeam, que también provee un un framework basado en componentes para tante fuerza en los últimos años.
conjunto de funcionalidad bastante avanza- desarrollar aplicaciones de escritorio y web.
do. Posteriormente encontramos a Subver- Los componentes de VCL se enfocan en con- PowerBuilder es una de las herramientas más
sion, el cual es utilizado en la mayoría de los troles gráficos para las pantallas, y acceso a maduras y conocidas en este segmento. Al
proyectos open source. base de datos. parecer cuenta con una fiel base de usuarios
entre los lectores de SG, porque la votaron
El segundo lugar fue para Apache Com- como el RAD más popular.
mons, una librería de componentes
Testing reutilizables en Java que se ha ido de- Siguiendo a PowerBuilder tenemos a Genexus,
Ganador: Rational Functional Tester sarrollando durante los proyectos de Magic eDeveloper, 4D y Genero Studio.
Apache. Después tenemos a Infragistics
Así como existe una gran variedad de tipos de NetAdvantage para .NET, una librería de
prueba de software, también existe una gran componentes visuales para .NET.
variedad de herramientas para probar soft- Sistema Operativo
ware: pruebas unitarias, pruebas funcionales, Ganador: Windows Server 2003
pruebas de interfase de usuario, pruebas de
desempeño, tan solo por mencionar algunas. Desarrollo Móvil No hay mucho que decir en cuanto a sistema
Ganador: .NET Compact Framework operativo para servidores. Básicamente las
El producto ganador en esta categoría fue variables a tener en cuenta son estabilidad,
Rational Functional Tester, una herramienta Cada vez se desarrollan más aplicaciones seguridad y facilidad de administración.
para automatización de pruebas funcionales para dispositivos móviles, pero no por esto el
y de regresión, que soporta la realización desarrollo para estos dispositivos deja de te- Windows Server 2003 fue elegido como pri-
de pruebas para aplicaciones web, desktop ner sus particularidades, por lo que requiere mera opción por los lectores de SG. Entre
Java, desktop .NET, SAP, y Siebel. de herramientas especializadas. sus cualidades destacan la facilidad de ad-

Libro clásico Libro reciente Certificación un empate entre la certificación


Ganador: UML Distilled Ganador: Agile Software Ganador: Sun Certified Java de Project Manager Professional
Development Enterprise Architect (PMP) del PMI y la de Microsoft
¿Qué libro es el que más lectores Certified Systems Engineer.
de SG consideran indispensable En cuanto a libros publicados ¿Qué certificación de TI es la
para cualquier desarrollador de en los últimos tres años, el más que más vale la pena? De acuer- Sabemos que las certificaciones
software? La respuesta es el UML popular es Agile Software Deve- do con los lectores de SG, es la no son garantía de conocimien-
Distilled de Fowler, seguido por De- lopment de Alistair Cockburn, de Arquitecto Empresarial Java to, pero como ya se vio en la
sign Patterns de Gamma y compa- seguido por The Best Software otorgada por Sun Microsyste- encuesta de salarios de SG, son
ñía, y Applying UML and Patterns Writing, que es una compilación ms, seguida por la de Experto en de gran utilidad para conseguir
de Larman. Vale la pena notar que de artículos seleccionados por Soluciones otorgada por IBM. trabajo u obtener ese deseado
los tres libros son sobre diseño. Joel Spolsky. Posteriormente encontramos aumento de sueldo.

26 FEB-ABR 2008 www.sg.com.mx


ministración, virtualización de servidores y
manejo eficiente de almacenamiento.

El segundo lugar lo obtuvo Red Hat Enterpri-


se Linux, seguido de Sun Solaris, SUSE Linux
Enterprise y Debian. Vale la pena hacer notar
que Red Hat, SUSE y Debian en total suma-
ron más votos que los que recibió Windows
2003 así que esto nos indica que el pingüino
superó a las ventanas en esta votación.

Base de Datos
Ganador: Oracle

La base de datos es un elemento crucial


de cualquier sistema de software. A fin de
cuentas, serviría de poco una aplicación
con una interfase de usuario y comporta-
miento perfecto, pero cuya base de datos
fuera poco confiable.

Oracle es posiblemente el nombre más grande A pesar de que esta categoría está enfocada Plataforma SOA
en el segmento de base de datos. En el 2007 en una tecnología específica (Java) conside- Ganador: WebSphere
lanzó su versión 11g, que incluye mejoras para ramos importante incluirla, ya que es un seg-
el manejo de datos históricos, soporte a datos mento muy importante para nuestros lecto- SOA (Service Oriented Architecture) es posi-
geoespaciales, y Real Application Testing que res, y existe mucha competencia dentro de él. blemente el acrónimo que más hemos oído
es la capacidad de simular cargas de trabajo A pesar de que todos los servidores Java EE en TI en los últimos años, y todavía nos fal-
de producción en ambientes de prueba. proveen la misma funcionalidad base (indica- tan otros tantos. Pero para que SOA se con-
da por la especificación de JEE), hay detalles vierta en algo más que un “buzz word”, se
Como escolta cercano de Oracle, los lectores como el desempeño, escalabilidad o facilidad requieren productos reales y maduros que
de SG eligieron a SQL Server, que ha teni- de administración que son los que establecen lo habiliten.
do gran dinamismo ya que introdujo varias las diferencias entre productos.
novedades en su versión 2005 y se espera Los lectores de SG consideran que al día
todavía más con la versión 2008. Después WebSphere Application Server fue el gana- de hoy, WebSphere a través de MQ Series y
tenemos a MySQL, una base de datos open dor en esta categoría. Es un producto bas- Message Broker provee la mejor plataforma
source que es ampliamente utilizada en apli- tante maduro que se encuentra consolida- SOA disponible en el mercado.
caciones web. do en gran cantidad de organizaciones.
En el segundo lugar encontramos la pro-
Siguiendo muy de cerca a WebSphere puesta de Microsoft con Biztalk, Sharepoint
tenemos a dos servidores de aplicación y System Center, y en tercer lugar encontra-
Servidor de Aplicaciones JEE open source: Sun Java System (basado en mos a Fusion, la plataforma de middleware
Ganador: WebSphere Application Server Glassfish) y JBoss. unificada de Oracle.

Portal para portal muy completo con noti- Nueva Tecnología hablado en SG, siendo LINQ una
Desarrolladores cias, blogs, demos, tutoriales y Ganador: .NET Framework 3.5 de las más notables.
Ganador: MSDN descargas de software.
Esta categoría se refiere a las he- Los retadores fueron JavaFX, Flex
En cuanto a portales en Internet Después de MSDN, los lectores rramientas, lenguajes, platafor- 3 y Silverlight. Hace poco más
relacionados con desarrollo de de SG eligieron a java.net –la mas y SDKs lanzados en el 2007 de un año habíamos adelantado
software, el más recomendado comunidad online de Java– e que se ven más prometedoras. en estas páginas que 2007 sería
es Microsoft Developer Net- IBM developerWorks. el año en el que iniciaría la gue-
work (MSDN). Sin duda, MSDN La versión 3.5 del .NET Framework rra de los “clientes ricos”, y los
es un recurso fundamental En cuanto a portales de habla resultó ganadora. Esta versión resultados en esta categoría son
para cualquier entusiasta de hispana, el más popular fue incluye gran cantidad de innova- prueba de que no andábamos
tecnología Microsoft, y es un Club Delphi. ciones sobre las que ya hemos tan perdidos.

www.sg.com.mx FEB-ABR 2008 27


Plataforma BPM
Ganador: WebSphere

La oferta de BPM (Business Process Mana-


gement) ha madurado considerablemente
en los últimos años, y ahora la mayoría de
las empresas proveedoras de esta tecnolo-
gía ofrecen una suite que incluye diferentes
productos para modelar procesos, publicar-
los, ejecutarlos y monitorearlos.

La oferta de WebSphere para BPM incluye


Business Modeler, Business Monitor y Pro-
cess Server y fue elegida como ganadora en
esta categoría.

El segundo lugar se lo llevó la oferta BPM de


Oracle, la cual reúne un grupo de productos
dirigidos al modelado, diseño y simulación
de procesos (BPA Suite) con el middleware
de Oracle para ejecución y monitoreo de
procesos en una arquitectura SOA. En tercer
lugar tenemos a JBoss jBPM.

ERP
Ganador: SAP

En el segmento de aplicaciones empresaria-


les, tenemos a los sospechosos comunes,
con SAP a la cabeza, seguido de Oracle y
Microsoft Dynamics.

Pero lo interesante está en los siguientes


tres lugares, donde tenemos a OpenBra-
vo –un ERP open source de origen espa-
ñol– seguido de dos productos mexicanos:
Dynaware y Kepler.

CRM
Ganador: SAP

En el espacio de los CRM tenemos a los


mismos tres primeros lugares que en ERPs:
SAP, Oracle/Siebel y Dynamics, lo cual supo-
nemos que no sorprende a nadie.

Otra vez, lo interesante está en los “retado-


res”, donde en este caso tenemos a Sugar-
CRM un CRM open source, y a Salesforce, un
CRM en esquema de software como servicio
que ha tenido gran éxito en otros países y está
comenzando a penetrar en América Latina.

28 FEB-ABR 2008 www.sg.com.mx


Premios para Gurús
Es ahora momento de reconocer a algunas de las personas que más destacaron en 2007
desarrollando software o colaborando al crecimiento de nuestra industria.

Christian Strevel Gunnar Wolf


Christian es la versión mexicana de un A pesar de lo que su nombre pueda
rock star/geek. Es posible encontrarlo sugerir, Gunnar Eyal Wolf Iszaevich es
dando una conferencia en algún con- mexicano, y a mucha honra. Trabaja
greso, poniendo música como DJ en como administrador de sistemas en
una fiesta, o desarrollando una aplica- el Instituto de Economía de la UNAM,
ción de la más alta complejidad para pero ese solo es su trabajo “de día”
un cliente en el extranjero. Es director que le permite pagar las cuentas. Por lo
de consultoría en Intellekt, empresa que Gunnar es más conocido es por ser
que formó junto con su hermano hace uno de los principales promotores del
cuatro años y que se especializa en software libre en México, y un miembro
entrenamiento y consultoría para de- clave entre las filas de los debian deve-
sarrollo de aplicaciones en .Net. lopers, el grupo de gente que ayuda a
desarrollar y mantener Debian, una de
Christian puso en alto el nombre de México el año pasado cuando las distribuciones de Linux más utilizadas y reconocidas.
ganó el primer lugar de un concurso de desarrollo de gadgets en el
que participaron desarrolladores de toda América Latina. Bill Gates Además de participar en debian, Gunnar ha desarrollado varias aplica-
premió personalmente a Christian durante su visita a la ciudad de ciones de software libre, entre ellas COMAS (Conference Management
México en marzo del 2007. System), un sistema web para manejar conferencias que se ha utilizado
en varios eventos en el mundo. Pero sobre todo, Gunnar es un promotor
tanto de nuestro país, como del software libre. Prueba de esto es que en
el 2006 se echó en hombros el compromiso de realizar en nuestro país la
Oscar Toledo conferencia internacional para desarrolladores de Debian, lo cual atrajo a
Oscar Toledo Gutierrez tiene 29 años nuestras tierras a varias luminarias del software libre de todo el mundo.
y es uno de los hijos/integrantes de
Familia Toledo. Esta es una familia/
organización de autodidactas de-
dicados al desawrrollo de tecnolo- Hanna Oktaba
gías. Entre sus creaciones están una Hanna no necesita introducción alguna.
computadora de bajo costo, y un A lo largo de más de 20 años ha sido
sistema operativo A pesar de que no probablemente la persona que más ha
han logrado conseguir fondeo o un hecho por la industria de software de
esquema que consideren adecuado México. Ya sea dando clases a cientos
para poder fabricar o distribuir sus de alumnos a nivel licenciatura y pos-
productos masivamente, lo que que- grado, colaborando con empresas para
da muy claro es el talento técnico mejorar sus procesos de software, de-
que tienen. sarrollando modelos como MoProSoft,
promoviendo en el extranjero lo que se
Este talento quedó patente en la 19ª edición del IOCCC (International hace en nuestro país, y por supuesto
Obfuscated C Code Contest), uno de los concursos de programación colaborando con SG.
de mayor prestigio en el mundo, donde Oscar Toledo Gutiérrez ganó
el primer lugar general (Best of Show) con un simulador del funcio- Independientemente de todas sus credenciales y logros, a la fecha
namiento total de una computadora, además del primer lugar en las Hanna sigue haciendo todo lo que puede y más para impulsar el
categorías Most Portable Chess Set con un juego de ajedrez grafica- desarrollo de software tanto en nuestro país como en el resto de
do y Best Small Program que ilustra el periplo del caballo. América Latina.

www.sg.com.mx FEB-ABR 2008 29


// COLUMNA
// COLUMNA /*PRUEBA DE SOFTWARE*/

La Calidad del Software Mexicano


Pruebas de software inadecuadas: un Inhibidor de Crecimiento

Luis Vinicio León Carrillo es Director de e-Quallity S.A. de C.V., empresa especializada en prueba de software. Es profesor-investigador
del Departamento de Electrónica, Sistemas e Informática del ITESO. Es doctor por la Universidad Técnica de Clausthal, Alemania; su tesis
tiene que ver con aplicaciones de métodos y lenguajes formales que incrementan significativamente la eficiencia y la efectividad de la
prueba de software.

Me da mucho gusto retomar esta columna en la revista, después de un los defectos que aún se encuentran en el producto, así como del costo
receso de aproximadamente un año. Durante ese tiempo hemos visto de detectarlos.
cosas interesantes que buscaremos sistematizar y exponer aquí duran- 2. Dependiendo de los datos del diagnóstico, el interesado puede optar
te éste y los siguientes números. por contratar las pruebas profundas.
3. Si después de estas pruebas y luego de aplicar nuestro modelo de
En [1] describimos los problemas que pueden presentarse cuando el calidad de productos, el software muestra un excelente comportamien-
software no se prueba adecuadamente, analizándolos a la luz de dos to (después de las pruebas regresivas [3]), se hace acreedor a ostentar
proyectos extremos en los que participamos. nuestro sello de calidad. (Este modelo fue validado con apoyo del Con-
sejo Nacional de Ciencia y Tecnología, CONACYT.)
Aquí presentaremos los resultados de la evaluación de la calidad de una
muestra de productos mexicanos en el marco del Concurso e-Quallity Utilizando esta experiencia, a mediados del año pasado lanzamos este
2007, del cual hicimos la premiación en el pasado Congreso SG’07 Confe- concurso, en el que convocamos a la comunidad desarrolladora nacio-
rencia y Expo. No se trata de un estudio estadístico riguroso, pero vemos nal de software a enviarnos productos terminados pequeños (máximo
estos datos como una aportación inicial para llenar el enorme hueco de 30 meses-hombre de desarrollo) para encontrar el producto con la me-
información que tenemos respecto a métricas de calidad de los productos nor densidad de defectos (cantidad de defectos entre tamaño).
mexicanos y su repercusión en la industria.
Una cantidad considerable de productos fueron rechazados, ya fuera
El impacto de probar inadecuadamente el software porque se excedían en el tamaño o porque no estaban completamente
En los Estados Unidos, tan solo en 2003, las pérdidas en su industria por terminados. La muestra final sobre la que se generaron los datos que
la inexistencia o mala aplicación de pruebas a productos de software as- mostraremos consta de 24 productos. Su tamaño se midió utilizando
cendieron a casi $600 mil millones, que equivalen a aproximadamente una métrica interna semejante a los puntos de función.
el 1% de su producto interno bruto [2].
A los productos concursantes les aplicamos una variación del diagnós-
Dichas pérdidas consideran no solamente las del sector de Tecnologías tico descrito arriba y, a cada participante le enviamos la primera capa
de Información, sino de muchos otros sectores que utilizan el software de defectos que detectamos en su producto, la estimación de los que
en sus operaciones. Se trata de pérdidas que no son sólo cuantiosas, aún quedaban en su sistema, y la comparación de su producto frente a
sino que desgastan gran parte de su sector productivo. otros, en términos de densidad de defectos.

En México no tenemos datos semejantes, pero es posible pensar en un Resultados y análisis


comportamiento parecido. Sin embargo, en nuestro país el efecto sería El tamaño promedio de los productos fue de 20.4 meses-hombre de
mucho más nocivo (aunque de menor cuantía): mientras que la indus- desarrollo, la mayoría de ellos fueron aplicaciones administrativas. La
tria del software estadounidense es mucho más grande y madura, la figura 1 presenta datos concretos sobre la calidad de los productos.
nuestra está apenas despegando; esto dificulta ganar inercia positiva
en muchos sentidos: el crecimiento de la industria se vuelve más lento, Producto… Defectos / Caso de Defectos aún en el
se dificulta generar confianza en esa tecnología, lo que a la vez disminu- prueba software
ye la atracción de inversiones en empresas tecnológicas, lo que a su vez más maduro 1/10 150
dificulta el crecimiento... un indeseable círculo vicioso.
promedio 1/4 500
La muestra y el proceso menos maduro 10/17 900
El método que utilizamos para la evaluación de productos está formado Figura-1: Densidad de defectos en productos mexicanos pequeños
por 3 fases:
1. Un diagnóstico del software: un tester experimentado realiza pruebas Los datos concuerdan con nuestra experiencia: el promedio de los
exploratorias y detecta una primera capa de defectos. Utilizando esa in- productos que hemos probado difiere del mostrado aquí en sólo
formación y nuestro modelo estadístico, se genera una estimación de unas cuantas centésimas (antes de las correcciones y pruebas re-

30 FEB-ABR 2008 www.sg.com.mx


gresivas). Esto es grave, pues significa que
uno de cada cuatro casos de prueba deja al
descubierto algún defecto (aunque no nece- Conclusión
sariamente crítico). Así como en los Estados Unidos, en
México la prueba de software inade-
Dichos datos son relevantes, pues una den- cuada también puede tener un im-
sidad de defectos como la del promedio pacto negativo severo en la industria
puede tener un impacto significativo en el en general.
crecimiento de las empresas desarrollado-
ras, como se muestra en la figura-2. En ella Dicho impacto se acentúa porque in-
la curva negra muestra el consumo “con- hibe el crecimiento no sólo del sector
vencional” de los recursos al desarrollar un de las Tecnologías de Información,
nuevo producto de software, considerando sino de muchos otros que utilizan
patrones de [4]; la curva verde muestra los software en sus empresas.
ingresos por ventas del producto; la azul
representa los costos de mantenimiento Este no es un estudio concluyente,
cuando el software es probado adecuada- pero genera información que debiera
mente antes de ser liberado y se elimina motivar a continuar obteniendo da-
la mayoría de los defectos; y la curva roja tos parecidos. En ese sentido, conti-
representa los costos de mantenimiento nuaremos poniendo nuestro granito
cuando no se prueba o se prueba inadecua- de arena con el Concurso e-Quallity
damente el software. 2008, que lanzaremos durante el pri-
mer trimestre de este año.

Estén pendientes, visiten:


www.e-quallity.net

—Luis Vinicio

Figura-2: Impacto económico de las pruebas. Referencias


• [1] León-Carrillo, L. “The Impact of Software
La gráfica muestra algo que vemos en Testing in small Settings”, en Oktaba H. and
nuestra práctica diaria y posiblemente Piatini, M. (Eds). “Software Processes in small
nos hemos acostumbrado a: cuando no Enterprises”. Por publicarse.
se prueba adecuadamente el software las • [2] Tassey, G. “The Economic Impacts of In-
consecuencias recaen en los costos de adequate Infrastructure for Software Testing”.
mantenimiento, estos pueden mermar sig- Final Report. National Institute of Standards &
nificativamente las utilidades, dificultando Technology. 2002.
la inversión en las áreas de mercadotec- • [3] www.e-quallity.net/definiciones.php
nia e innovación en el producto, este factor • [4] The Project Management Institute. “A
provoca la dificultad de crecimiento en esa Guide to the Project Management Body of
unidad de negocio. Knowledge”. USA, 2000.

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /*-CASO DE ESTUDIO*/

CMMi por Medio de


MoProSoft
Experiencia de Kernel Technologies
Por Claudia N. González y Eduardo Olivares

En Septiembre del 2007 Kernel Technologies Group S.A. de C.V. fue procesos como en los productos de trabajo. La capacitación en los
la primera empresa mexicana en alcanzar el nivel 2 de CMMi bajo la temas de aseguramiento de calidad se complementó internamente
nueva versión del modelo para desarrollo de software versión 1.2. explicando y revisando los checklists de cumplimiento de activida-
Pero más importante que esto es el hecho de que basaron su estra- des, así como los artefactos para verificación y validación.
tegia de implementación en el Modelo MoProSoft. En este artículo,
compartimos algunas de nuestras experiencias y opiniones relacio- Complementar actividades utilizando el análisis de brecha
nadas con este proceso de mejora, esperando que le sean de utili- Una presentación realizada por la AMCIS en marzo del 2005 para mos-
dad a los lectores de SG. trar los resultados de las Pruebas Controladas de MoProSoft contenía
un análisis de brecha entre el modelo MoProSoft vs. CMMI N2 en su
Para nosotros fue una gran ayuda contar con MoProSoft como refe- versión escalonada, indicando que el 67% de las prácticas se cubrían
rencia, ya que a diferencia de CMMi, MoProSoft sí cuenta con una en forma total, el 10% se cubrían en forma amplia, 17% en forma par-
secuencia y lista de actividades a realizar bajo un enfoque y lógica cial y el 6% no estaban cubiertas. Nosotros pusimos especial atención
de negocio. La documentación que proporciona MoProSoft fue de en esta información, ya que ese 67% significaba que solo tendríamos
gran ayuda en la implementación de CMMi ya que es muy clara en que completar el 33% restante en cuanto a definición de procesos,
las actividades que deben realizarse, las entradas y salidas de cada ahorrando así tiempo y esfuerzo en ésta fase del proyecto. Fue así que
proceso, así como la asignación específica de responsabilidades. conseguimos de parte de AMCIS el detalle de este análisis de brecha
realizado por Cecilia Montero (Lead Assesor) y Gisela Rivera, donde se
Factores críticos de éxito detalla la relación entre las prácticas de las Areas de Proceso de CMMI
A continuación explicamos los que consideramos fueron factores crí- y los procesos/actividades que las cubrían. Tomando como base éste
ticos de éxito para lograr el nivel 2 de CMMi. mapeo, iniciamos a analizar qué procedimientos, actividades y pro-
ductos tendríamos que agregarle al MoProSoft para que cumpliera
Capacitación totalmente con cada práctica. Así que para cada brecha definida, defi-
El proceso de mejora inició con una estrategia fuerte de capacita- nimos un plan de acción para cubrirla.
ción en CMMi para los responsables de definición de procesos. El
propósito fue que estas personas tuvieran en claro la razón de ser Métricas y revisión a nivel gerencial
del modelo y las exigencias que involucra. Igual de importante fue A fin de asegurar el buen desempeño de los proyectos y el apego a
la capacitación impartida al “sponsor” del proyecto, ya que ayudó a los procesos, se establecieron reuniones periódicas a nivel gerencial
que comprendiera la envergadura del proyecto que estaríamos reali- para revisar los indicadores de los proyectos. Los indicadores que
zando y que esto requería de su fuerte compromiso y participación. usamos son índice de cronograma, índice de esfuerzo, índice de cos-
Para esta capacitación nos apoyamos en la empresa Innevo. to, así como el uso de semáforos para mostrar cuando un indicador
estaba fuera del rango establecido por la dirección. La definición de
Apego a las actividades de MoProSoft indicadores se basó en las recomendaciones del PMBOK 3ª Edición.
Decidimos utilizar directamente las actividades de MoProSoft para Se agregó una actividad de revisión de los defectos encontrados en
hacer checklists de aseguramiento de calidad, revisando por ejem- procesos y productos, a fin de tomar acciones correctivas. Se utilizó
plo que se llevaran a cabo todas y cada una de las actividades de pla- una plantilla para llevar a cabo la reunión, donde ya se establecían
neación para generar el plan de proyecto y plan de desarrollo. Adicio- los puntos a revisar en la reunión y fue de gran utilidad para no dejar
nalmente se siguieron las verificaciones y validaciones tal como las pasar aspectos de monitoreo como son el manejo de datos, riesgos
propone MoProSoft. Esto nos permitió asegurar tanto calidad en los asociados a un defecto, y obtener compromiso de los involucrados.

Claudia N. Gonzalez es Licenciada en Sistemas Computacionales por el ITESM y cuenta con reconocimiento por la AMCIS como Practicante MoProSoft, Con-
sultor Profesional MoProSoft, y Evaluador Profesional MoProSoft. Desde 1985 ha trabajado en empresas de desarrollo de software asumiendo diferentes roles
principalmente en tareas de gerencia de proyectos de desarrollo de software y de capacitación y consultoría de procesos.
Eduardo Olivares es Ingeniero Administrador de Sistemas por la UANL y Maestro en Ciencias Computacionales por el ITESM. Cuenta con el certificado de PMP
y con el certificado como PSP Developer y PSP Instructor por el SEI. Desde 1989 ha trabajado como desarrollador, líder de proyectos y jefe de oficina de proyec-
tos en áreas de TI de diferentes grupos empresariales, así como docente del área de Tecnologías de Información del ITESM y de la UDEM.

32 FEB-ABR 2008 www.sg.com.mx


“La definición de los procesos fue de gran
importancia para la implementación del modelo”.

Para todos los procesos se monitorearon las actividades planeadas ta que para asegurar la calidad de producto y proceso como requiere
y el esfuerzo estimado contra el real. CMMI tuvimos que detallar checklists que apoyaran ésta práctica.
3. MoProSoft define sus procesos por área de responsabilidad, sin
Asignación de esfuerzo para actividades del modelo embargo la secuencia de actividades se da naturalmente entre las
Quizá uno de los puntos más complejos, pero a la vez más impor- áreas. Por ejemplo, durante el proceso de venta, se requiere que se
tantes es estimar el esfuerzo en todas las actividades relaciona- realice un entendimiento de requerimientos y una planeación para
das con el modelo, tanto CMMI como MoProSoft, de manera que poder definir el alcance del proyecto que se está vendiendo. Para
debe quedar asentado y asignado el tiempo para: la persona que aclarar esta secuencia de actividades nos apoyamos en diagramas
define y establece los procesos, el encargado de las actividades de flujo inter-procesos, lo que ayudó a que se entendiera mejor la
de administración de configuración, aseguramiento de calidad de relación entre ellos.
procesos y productos, capacitación, administración de proyectos 4. MoProSoft define algunas actividades de manera muy general
y mantenimiento a la matriz de rastreo. Algunos roles pueden ser por lo que en algunas de ellas tuvimos que definir procedimientos
compartidos; por ejemplo la persona de calidad puede también más detallados y/o realizar minutas para asegurar que se cumpliera
dar capacitación o participar de la definición de procedimientos, completamente la práctica CMMI. Algunos de ellos son: la imple-
el configurador puede participar en actividades de desarrollo o mentación de un procedimiento de control de cambios para revi-
mantener la matriz de rastreo. En nuestra experiencia, el tiempo sar y autorizar cambios a requerimientos, actividades específicas
de todas las actividades de soporte al proyecto incluyendo tiempo de administración de configuración como lo es, establecer un plan
para medición y análisis, planeación, monitoreo de proyecto, ase- de administración de configuración que indica nombrado de ítems,
guramiento de calidad y administración de requerimientos; en un permisos, líneas base y niveles de autoridad para su promoción, au-
proyecto que anteriormente tomaba 1,000 horas llevando sólo Mo- ditorías físicas y funcionales a realizar. La mayoría de los requisitos
ProSoft, se incrementa en cerca del 20% del esfuerzo después de de CMMi estaban cubiertos en las prácticas de MoProSoft reforzán-
haber agregado las actividades del análisis de brecha hacia CMMi dolas con el uso de minutas para cada reunión y dando instruccio-
nivel 2. Lo anterior debe considerarse una inversión que paga en nes muy específicas, sobre los acuerdos y compromisos que deben
beneficios de calidad y confianza hacia los compromisos del pro- reflejarse en cada reunión, sin dejar margen a ambigüedades. En la
yecto con el cliente. versión de este artículo que se publicará en el sitio web de SG se
incluirá un anexo con un ejemplo de una actividad que fue detallada
Herramientas de esta forma.
Es de gran ayuda apoyarse en herramientas que faciliten la adopción 5. Implementar otros procesos MoProSoft como son la Planeación
y aplicación del proceso. Recomendamos considerar herramientas Estratégica y la Gestión de Procesos ayudaron a la implementación
de trabajo para administración del proceso de cambios en configu- del proceso y a que la organización lo apoyara, así como a la opera-
ración, manejo de la matriz de rastreo, levantamiento y seguimiento ción misma del negocio.
a incidencias, bases de datos con datos del proyecto (WBS, costos,
riesgos, cambios) o herramientas para registro y seguimiento a las
actividades, son importantes para reducir el tiempo de uso de hojas Conclusión
electrónicas más susceptibles a errores. CMMI está enfocado principalmente a organizaciones gran-
des. Sin embargo el enfoque que seguimos de utilizar como
Lecciones aprendidas marco de referencia MoProSoft fue un gran acierto que nos
1. Tal vez la lección aprendida más distintiva de nuestro proyecto, acercó muy rápidamente a nuestro objetivo de lograr el
fue el entender que para cubrir el 33% de actividades pendientes no nivel 2 de madurez en CMMI, apenas 8 meses después de
significaba invertir un 33% más de esfuerzo ya que las prácticas no tener implantado MoProSoft. Ahora vamos por el siguien-
cubiertas en MoProSoft se trataban de cuestiones un tánto comple- te nivel y además de seguir utilizando MoProSoft como un
jas de definir e implementar como lo son Administración de Configu- marco de referencia relevante nos apoyaremos en PSP/TSP
ración (CM) y Medición y Análisis (MA). para acelerar nuestro siguiente objetivo en madurez de pro-
2. Aunque iniciamos las actividades de verificación y validación utilizan- cesos mediante CMMI.
do como guía los criterios presentados en MoProSoft, nos dimos cuen-

www.sg.com.mx FEB-ABR 2008 33


// PRÁCTICAS /*ADMINISTRACIÓN DE PROYECTOS*/

No Todo son Ceros y Unos


Un Espacio para la Administración de Proyectos
Por Enrique Flores

Afortunadamente hay publicaciones, como La mayoría de los proyectos de software no que por lo tanto se ha hecho acreedor a un
la que tienes en este momento en tus ma- tienen grandes problemas en los aspectos ascenso. Ser líder de proyecto no necesa-
nos, que llevan información útil a la gente tecnológicos porque la gente en el medio riamente debe de verse como el ascenso
para brindarles un poco de luz acerca de suele apasionarse con el uso de la tecnolo- natural en la carrera de los programadores,
la manera de trabajar o las herramientas gía, lo cual se ve reflejado en las aplicacio- de hecho esto es algo que, por la naturaleza
a utilizar para ser más efectivos en su tra- nes desarrolladas. Su uso en los proyectos, de los programadores, debería de ser casi la
bajo. Hoy tenemos el honor de iniciar esta aunque no siempre perfecto, no representa excepción, más que la regla.
sección que SG inaugura, donde se trata- la principal causa cuando fracasa un proyec-
rán temas diversos acerca de la adminis- to. Incluso en muchos de los casos en que La ruta del PM
tración de proyectos. Esperamos que sea la tecnología falla se debe a una mala admi- Debe existir una ruta de crecimiento para los
una columna de interés para todos ustedes nistración de ésta y no porque no se contara profesionales de la tecnología, y otra ruta di-
y que les brinde algunas señales positivas con una tecnología adecuada o por falta de ferente para la gente, que aun y cuando gusta
que puedan ser aprovechadas para el cre- personal hábil en el uso de la tecnología. de la tecnología, se apasiona más por las acti-
cimiento profesional de los que realizan un vidades administrativas. Uno y otro requieren
rol así. Tecnología vs administración perfiles un tanto distintos. Pero, si los progra-
de proyectos madores descubren que la única manera de
Seguramente habrás escuchado acerca de la El problema es que los “tecnólogos” no suelen recibir un aumento de sueldo importante en su
importancia de la administración de proyec- apasionarse por la disciplina, el orden, el lide- empresa se logra “ascendiendo” a líder de pro-
tos. También habrás escuchado que un buen razgo, y mucho menos por llenar documentos y yecto, es natural que tanta gente ponga la mira
porcentaje de los proyectos que fracasan se plantillas. En muchos de los casos les interesa en un rol así, sin tener el perfil ni las habilida-
debe a causas relacionadas con la adminis- más sacar adelante su propio, muchas veces des necesarias y con las consecuencias desas-
tración de proyectos: requerimientos po- excesivo trabajo, que perseguir gente para que trosas que vemos día a día en los proyectos.
bres, malas estimaciones, falta de dirección, cumpla con su trabajo. Incluso, con el pretexto
desmotivación del equipo, falta de comu- de los métodos ágiles, los desarrolladores en- Administrar no es tan divertido
nicación, riesgos sin contemplar, cambios cuentran muchas veces en este tipo de meto- Administrar un proyecto implica planear, do-
constantes, etcétera. dologías un excelente pretexto para justificar cumentar, comunicar, escuchar, dirigir, liderar,
la ausencia de controles y planes. enfrentarse a los problemas de la comunidad
Apasionados de la tecnología que representa el equipo de trabajo y los
Por supuesto que todas tus habilidades y La mala noticia es que la administración de stakeholders, implica motivar a sus compañe-
certificaciones en lenguajes de programa- proyectos es un mal necesario. Tan necesario, ros de trabajo, entre otras muchas habilida-
ción, herramientas de desarrollo, bases de que día a día vemos sistemas que no hacen lo des. Claro que un poco de conocimiento tec-
datos, arquitectura, etcétera, te ayudan en que el usuario quiere, que fallan constante- nológico es útil, pero no es lo más importante
gran medida, a tener un proyecto de software mente fricciones permanentes entre el equi- para el líder de proyecto que quiere destacar.
exitoso. Pero, debemos de entender que eso po de desarrollo y el cliente, desarrolladores En todo caso debe tener las habilidades para
no es todo lo que se necesita para alcanzar que no tienen vida propia fuera del trabajo integrar gente que cuente con dichas habilida-
los objetivos del proyecto (de hecho definir porque constantemente tienen que apagar des dentro de su equipo de trabajo. Este tipo
el objetivo del proyecto no es una actividad los fuegos, resultado de una mala planea- de tareas no son precisamente las que más
técnica) . La tecnología es sólo una de las to- ción. Consecuencias, muchas de éstas, de motivan a un apasionado de la tecnología.
rres que sostienen a esa edificación llamada una mala administración de proyectos.
proyecto, y sin una buena administración de ¿PMs sabelotodo?
proyectos el edificio se puede venir abajo Confundiendo al PM Claro que en proyectos pequeños, quien diri-
fácilmente. Entre más grande y complejo el En primer lugar, hay que entender que un ge el trabajo suele tomar responsabilidades
proyecto, más indispensable se vuelve el candidato a administrador de proyectos, no adicionales a la administración del proyec-
uso de las prácticas administrativas y de un necesariamente es aquella persona que ha to. Esto no ocurre pocas veces, y en dichas
buen proceso de desarrollo. estado haciendo un buen trabajo técnico y situaciones cubrir dichos roles requiere las

Enrique Flores es colaborador para liderdeproyecto.com, un portal gratuito para promover mejores practicas en administración de proyectos en América Latina

34 FEB-ABR 2008 www.sg.com.mx


habilidades adicionales correspondientes. El que busca encuentra
Incluyendo la parte técnica si se trata de un Adicional te recomiendo que busques una
rol de programador, por ejemplo. preparación formal constante. Si eres de los
pocos afortunados en contar con la disciplina
Un proyecto es una empresa, y el líder es adecuada para auto capacitarte consigue una
el director de esa empresa. Así que piensa buena lista de libros, generalmente esto sirve
bien si quieres ser un líder o administrador para estructurar adecuadamente las buenas
de proyectos, pues no tiene por qué ser ne- prácticas que has aprendido en el camino.
cesariamente así. Es importante fijar bien
los intereses particulares de cada quien y Busca capacitación que te brinde las bases
buscar el crecimiento en ese sentido. El di- teóricas, pero sobre todo busca cursos que te
rector de la orquesta es importante, pero el transmitan la experiencia de alguien que haya
pianista, el trompetista y el violinista tam- estado en las trincheras, asegúrate de conocer
bién lo son, pues sin ellos no tendríamos el el currículum del instructor si te decides a inver-
placer de disfrutar una obra musical. tir en capacitación presencial, relaciónate con
otros administradores de proyectos y busca la
Poder PM ayuda y opinión de gente con mayor experien-
Por supuesto que es tentador que lo llamen a cia, esto cada vez es más sencillo mediante el
uno líder o director del equipo, pero si de eso uso de los foros de discusión especializados
se trata entonces busca ser el líder técnico si en Internet o de las redes sociales. Estudia y
tu pasión es la tecnología. Esto te pondrá en analiza la experiencia y buenas prácticas de
el organigrama en un nivel similar al de líder otros administradores, por ejemplo; en algún
de proyecto. Sobre todo para aquellos que blog de un profesional en administración de
cuenten con habilidades de liderazgo o sim- proyectos. Y si tu objetivo profesional está
plemente para quienes el estatus sea algo claramente dirigido hacia la administración de
trascendental en sus objetivos de crecimien- proyectos, busca prepararte y generar la expe-
to profesional, pero que no cuenten con habi- riencia necesaria para lograr alguna certifica-
lidades o gustos por la administración. ción importante, como la del PMP.

Claro que las empresas o áreas de desarrollo El futuro


tienen que hacer su parte y definir planes de En la medida en que las áreas, empresas y
crecimiento para la gente técnica como: pro- profesionales de sistemas le den su debi-
gramadores, analistas, arquitectos, testers, da importancia a la disciplina de adminis-
etcétera. Y otra ruta de crecimiento para la tración de proyectos, notarán que incluso
gente con habilidades administrativas: lí- los problemas técnicos se disminuyen en
deres de proyectos, gerentes de producto, los sistemas. Pues esta disciplina tiene la
gerentes de área técnica, directores de sis- responsabilidad de vigilar que todos los
temas, etcétera. O simplemente podríamos recursos (incluyendo los tecnológicos) se
definir niveles para los líderes de proyecto, aprovechen al máximo para lograr los ob-
tales como: junior, senior, master, etcétera. jetivos del proyecto. Afortunadamente hay
suficientes fuentes de información, referen-
A través de estos artículos algunos expertos cias y modelos que pueden mostrar el cami-
y gurús de la administración irán comen- no hacia una madurez en la administración
tando algunas de las habilidades, técnicas, de proyectos.
herramientas, tips y experiencias relaciona-
das con la administración de proyectos, es- Esperamos pronto volver a estar con ustedes
perando que la gente interesada en el tema compartiendo un poco de nuestras experien-
obtenga un valor extra de SG. Esta columna cias. Por lo pronto les deseamos mucha suer-
busca ser algo así como el rincón de los ad- te en el desarrollo de su carrera profesional
ministradores de proyecto. como administradores de proyectos.

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /*ARQUITECTURA*/

MDA
Reusabilidad Orientada al Negocio
Por Valerio Adrián Anacleto

Este artículo fue originalmente publicado en la base de conocimien- ted Analysis and Design) contiene, entre otros, una vista de análisis, una
to de Epidata Consulting (www.epidataconsulting.com) y se publica vista de diseño detallado y código –representando la vista de negocios
en SG con el consentimiento del autor. de un sistema–, la vista de arquitectura y la vista de implementación.
MDA agrega una capa de abstracción más, que representa el contexto
En los últimos años, muchas organizaciones han comenzado a prestar de negocio del sistema. En la figura 1 se muestran las diferentes capas
atención a MDA, ya que promueve el uso eficiente de modelos de siste- de abstracción (layers). El gráfico se hace más abstracto hacia la izquier-
mas en el proceso de desarrollo de software. da y se vuelve más concreto hacia la derecha.

MDA representa para nosotros, los desarrolladores, una nueva mane-


ra de organizar y administrar arquitecturas empresariales, basada en
la utilización de herramientas de automatización de etapas en el ciclo
de desarrollo y servicios. De esta forma, permite definir los modelos y
facilitar trasformaciones paulatinas entre diferentes modelos. Algunos
ejemplos de modelos son: el modelo de análisis, el de diseño y el de
comportamiento, entre otros. Es decir que, a partir de uno de ellos, po-
demos generar otro de menor abstracción.

Un ejemplo común de generación de modelos, es la generación de có-


digo a partir del modelo de diseño, mediante el uso de una herramienta
de modelado UML. En este caso usamos una herramienta para transfor-
mar el modelo de diseño en el “modelo” de código.

¿Qué es MDA?
MDA es el acrónimo de Model Driven Architecture (Arquitectura Dirigi-
da por Modelos), un concepto promovido (pero no creado) por la OMG,
que propone basar el desarrollo de software en modelos especificados
utilizando UML, para que, a partir de esos modelos, se realicen trasforma-
ciones que generen código u otro modelo, con características de una tec-
nología particular (o con menor nivel de abstracción). MDA define un fra-
mework para procesar y relacionar modelos. Suele escucharse que MDA
es la evolución natural de UML, ya que tiende a incrementar la cantidad de
código generado, a partir de especificaciones detalladas en UML. Figura 1: Un ejemplo de modelo MDA y sus relaciones.

¿Qué no es MDA? Los modelos concretos exceden en número a los modelos abstractos. A
Hoy MDA es uno de los tantos acrónimos de moda y, como ocurre algu- medida que avanzamos en las transformaciones, los modelos se vuelven
nas veces con las modas, el concepto puede tender a malinterpretarse. más concretos, transformando al modelo abstracto en uno compatible con
Por lo tanto, enumeremos rápidamente que no es MDA. una tecnología o plataforma. La situación inversa de llevar el código hacia
1. MDA no es un proceso de desarrollo un modelo concreto –también conocido como ingeniería en reversa– rara
2. MDA no es una especificación vez ocurre, excepto cuando el punto de partida es el código mismo. Esto
3. MDA no es una implementación se produce debido a que MDA promueve la fuerte separación entre las
4. MDA no es una implementación de referencia de ningún estándar responsabilidades de requerimientos del negocio y las responsabilida-
particular des tecnológicas. La ventaja de esta “separación de responsabilidades”
5. MDA no es un concepto maduro aún es que ambos aspectos pueden evolucionar individualmente sin generar
6. MDA no es simplemente generar código dependencias entre sí. De está manera, la lógica de negocio responderá a
7. MDA no tiene, aún, una visión unificada en la industria las necesidades del negocio y no dependerá de vicisitudes técnicas.
8. MDA no es una arquitectura ni un “arquitectural style o pattern”
CIM (Computational-Independent Model)
Modelos MDA El CIM se centra en los requerimientos y representa el nivel más alto del
Los modelos juegan un rol trascendental en MDA. Como un framework modelo de negocios. Usa un lenguaje para modelar procesos de negocios
para construir sistemas, MDA abstrae el sistema a construir en distintas que no es UML, aunque este lenguaje puede ser derivado perfectamente
capas de abstracción (layers). Tradicionalmente, el OOAD (Object Orien- utilizando MOF (meta-object facility). El CIM transciende a los sistemas;

36 FEB-ABR 2008 www.sg.com.mx


cada proceso de negocio interactúa con traba- derivado de UML para describir el PIM. El PIM UML, creando distintos profiles que definen
jadores humanos y/o componente de máquina. modela los procesos y estructuras del sistema, un PSM para cada tecnología requerida. Los
El CIM describe solamente aquellas interaccio- sin hacer ninguna referencia a la plataforma en PSMs tienen que lidiar explícitamente con los
nes que tienen lugar entre los procesos y las la (o las) que será desplegada la aplicación. A sistemas operativos, los lenguajes de progra-
responsabilidades de cada trabajador, sea o no su vez, ignora los sistemas operativos, los len- mación, las plataformas (CORBA, .Net, J2EE,
humano. Un objetivo fundamental del CIM, es guajes de programación, el hardware y la topo- ETC), etcétera.
que cualquiera que pueda entender el negocio logía de red. Suele ser el punto de entrada de
y los procesos del mismo puede comprenderlo, todas las herramientas para MDA e incluso de
ya que éste evita todo tipo de conocimiento es- muchos artículos que hablan de MDA, dejando
pecializado o de sistemas. CMI debe su nombre de lado el CIM.
a este foco en el negocio por sobre la tecnolo-
gía, que en español se traduce como: “Modelo PSM (Platform-Specific Model)
Independiente de la Computación” El PSM, que se traduce al castellano como
“Modelo Específico de la Plataforma”, repre-
PIM (Platform-Independent senta la proyección de los PIMs en una pla-
Model) taforma específica. Un PIM puede generar
El PIM, que se traduce al castellano como “Mo- múltiples PSMs, cada uno para una tecnología
delo Independiente de la Plataforma”, repre- distinta. Generalmente, los PSMs deben co-
senta el modelo de procesos de negocio a ser laborar entre sí para una solución completa y
implementado. Comúnmente se usa UML o un consistente. Normalmente, esto se realiza en Figura 2: Los PIMs se transforman en PSMs

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /*ARQUITECTURA*/

Code model Ahora bien, para realizar el mapeo entre un PIM marcado y, por ejemplo,
El modelo de código representa el código desplegable (deployable), nor- un PSM, es necesario detallar cómo se mapean esas marcas; para eso
malmente en un lenguaje de programación de alto nivel, como Java, C#, se definen los Mappers (mapeadores). Puede verse la relación entre los
C++,VB, JSP, etc. Idealmente, el modelo de código está listo para compilar mapeadores, las marcas y los PSM en la figura 3. Los mapeos se hacen
y no debería requerir la intervención humana; el despliegue de la aplica- utilizando un QVT: Query, Views, and Transformations.
ción podría ser automatizado. Según los puristas y algunos fanáticos de
MDA, en un ambiente MDA maduro no deberíamos pensar en el código Ventajas de MDA
más que como simples archivos, o como un mero objeto intermedio para La ventaja principal de MDA radica en la clara y estricta separación
generar el ejecutable final. Pero debido a que MDA no está maduro, y di- de responsabilidades. Por un lado, modelaremos los PIMs, que re-
fícilmente se llegue alguna vez a la utopía de no tener que tocar ningún presentan los modelos de nuestro negocio, y por otro lado, los PSMs
código, los desarrolladores seguiremos necesitando conocer la tecnolo- con las preocupaciones tecnológicas. Esto permitirá que ambos mo-
gía para complementar la generación de código, debuguear la aplicación delos puedan evolucionar por separado. De esta manera, si quisié-
y, sobre todo, lidiar con muchos y variados errores inesperados, extraños ramos, por ejemplo, modificar un aspecto técnico, bastará con modi-
y divertidos. ficar el PSM sin que estos tengan impacto en la lógica de negocios.
Esta idea viene de un concepto que, en ingeniería de software, se
Decisiones de diseño llama “Guías de Diseño”. Particularmente, una de esas guías dice
Hemos visto cómo, de manera automática y paulatina, MDA promueve que el modelado de la solución debe ser dirigido por el negocio. Esta
la transformación de modelos que representan lógicas de negocios com- guía se basa en la afirmación de que un cambio en el negocio segura-
plejas (CIM), hasta llegar al código ejecutable y desplegable (Code Mo- mente produzca un cambio en el código, pero no lo inverso: los cam-
del). Pero, ¿qué pasa con las decisiones de diseño, aquellas decisiones bios en el código no deberían impactar en el negocio. MDA también
que tomamos cuando, por ejemplo, tenemos que desarrollar un sistema permite: lidiar con la complejidad del negocio, modelando a éste por
donde la mayoría de las transacciones sólo leen datos, pero diez de ellas separado y permitiendo su análisis y mejora; disminuir costos, si se
hacen uso intensivo del procesador? ¿Qué pasaría si todos los mapeos se cuenta con una herramienta MDA adecuada a nuestras necesidades;
hicieran de igual manera? Nos es dado a pensar que esto degradaría la mejorar la calidad de nuestros modelos y procesos, mediante su
calidad final percibida de la aplicación. Para corregir este problema, MDA análisis y la separación de responsabilidades.
promueve el uso de Marks (marcas), las cuales indican aspectos especí-
ficos para tener en cuenta en cada transformación. Un PIM generado a Estándares involucrados en MDA
partir de un PIM y Marcas se denomina PIM Marcado o Marked PIM. La Las tecnologías más importantes involucradas, para poder llevar a la
utilización de las marcas establece que las decisiones respecto a aspec- práctica los conceptos subyacentes en MDA son: Meta Object Facili-
tos tecnológicos queden fuera de los modelos principales. ty (MOF), Unified Modeling Language (UML), XML Model Interchange
(XMI), Common Warehouse Meta-model (CWM), Software Process
Engineering Meta-model (SPEM), Action Semantics Language (ASL),
Query-View-Transformation (QVT), UML profiles.

Herramientas MDA
Las herramientas MDA deberían proveer la capacidad de transformar
modelos de negocios puro (CIMs) en aplicaciones completas, desple-
gables y capaces de ejecutar con un mínimo de decisiones técnicas.
Lamentablemente, nos encontramos muy lejos de que MDA o alguna
herramienta MDA provea todas estas facilidades para cualquier negocio
y problemática a desarrollar. Tampoco existe un líder en herramientas
MDA, debido a que son muy sofisticadas. Algunas de las herramientas
más conocidas con:
1. ATL (ATLAS Transformation Language)
2. OptimalJ
3. ArcStyler
4. UMT (UML Model Transformation)
5. ArgoUML
6. Codagen
Figura 3: Utilización de marcas y mapeos 7. Rational Architect

Valerio Adrián Anacleto es socio fundador de Epidata Consulting, empresa especializada en Arquitectura de Software con oficinas en Argentina y
Chile. Adicionalmente, Valerio es docente de la facultad de ciencias exactas y naturales de la UBA y dicta clases también en CEIS - Carrera de
especialización de Ingenierí­a de Software - en la UCA.

38 FEB-ABR 2008 www.sg.com.mx


8. MDA Transf
9. Enterprise Architect
10. GReAT
11. AndroMDA

¿Cómo evaluar una herramienta MDA?


Con el advenimiento de las palabras de moda (buzzwords), utilizadas en exceso y en mu-
chos casos de manera inapropiada, llegan a la puerta de nuestros gerentes los vendedores
de sueños y espejitos de colores comentando que, con la nueva herramienta MDA, po-
dremos resolver todos nuestros problemas haciendo clic en el botón derecho del mouse.
Como todo el mundo sabe, ese tipo de expectativas suele ser exagerada. En mi opinión
personal, la forma de probar una herramienta es usarla para resolver nuestra problemá-
tica y, si hay vendedores involucrados, pedirles gentilmente que nos ayuden a resolver
la problemática de nuestro negocio con un caso “testigo” elegido por nosotros. Si la he-
rramienta realmente funciona, podrá resolverse el caso testigo y nosotros seremos unos
clientes felices.

Más allá del caso práctico sugerido, debemos tener en cuenta varios factores al momento
de la evaluación. Estos factores tienen que ver con: El mantenimiento de la aplicación:
¿Cuánto me va a costar agregar o mantener código una vez que haya pasado por el pro-
ceso de generación? Impacto del cambio: ¿Cómo se administra un cambio en el proceso
de negocio? ¿Qué costo tiene? Manejo de excepciones: ¿Cómo se administran los casos
excepcionales, como por ejemplo las transacciones que hacen uso intensivo del procesa-
dor? Curva de aprendizaje: ¿Cuál es la curva de aprendizaje? ¿Tengo que aprender todo un
nuevo meta-lenguaje? ¿Basta con el uso intuitivo de herramientas “visuales”? Madurez:
¿Qué tan madura es la herramienta y los frameworks involucrados? ¿Cuántos y cuáles ca-
sos de éxito existen?

Como éstas, hay muchas preguntas que debemos hacernos antes de elegir una herramienta,
con la cual tendremos que convivir un tiempo determinado y la cual podría llegar a transfor-
marse en un gasto, para dejar de ser la inversión esperada.

Conclusión
MDA data del año 2000, cuando la OMG publicó un white-paper titulado “Model Driven
Architecture”, en el que describía la visión del desarrollo de software a través de modelos
de objetos relacionados entre sí, para la generación de sistemas completos.

Si bien transcurrieron casi seis años desde esa fecha, MDA no es, ni será, una bala de
plata capaz de aniquilar a todas las problemáticas inherentes al desarrollo de software.
Hoy día, a pesar de todo, los modelos son costosos de construir y, una vez construido el
modelo, éste debe ser transformado manualmente en código. Esta tarea es tediosa, pro-
pensa a errores, repetitiva en muchos casos y, sobre todo, un proceso caro en recursos
(y dinero, claro). Además, una vez que el trabajo interesante y de mayor abstracción fue
realizado, sólo la transformación desde el código al ejecutable es automatizable.

MDA también es el resultado de reconocer que la interoperatibilidad es algo bueno y que


el modelado también lo es. Bien utilizado y teniendo en cuenta los principios de diseño
subyacentes, nos puede ahorrar la escritura y generación de muchas tediosas líneas de
código, ayuda siempre bien recibida. Incluso es probable que, analizando las tecnologías
utilizadas hoy en nuestra organización, encontremos que algunas de ellas están fuerte-
mente relacionadas con el concepto MDA. En ese caso, es posible organizarlas de mane-
ra que reflejen y hagan evidente el uso de MDA como concepto subyacente, más allá de
las herramientas utilizadas.

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /* PROGRAMACIÓN*/

Aprendiendo Ruby y Rails


Parte 2. De los Arreglos a los Bloques
Por Carlos Ortega

En el número anterior SG Año 03, número 06, comenzamos con una admin1 = CAdminSistema.new( “Carlos”, “a9M4xSmart”, “xxx” )
serie de artículos introductorios al lenguaje de programación Ruby y admin2 = CAdminSistema.new( “Marco”, “b9D4xSmallTs”, “www” )
admin3 = CAdminSistema.new( “Luis”, “ b9D4xBigHcWTs “, “rrr” )
el uso del framework Ruby on Rails. En este artículo, continuamos con
admin4 = CAdminSistema.new( “Pablo”, “f0H4xSmart”, “xxx” )
la serie introductoria a la representación natural del lenguaje. En esta
ocasión, veremos otras de las características de Ruby, las cuales, nos Una vez que tenemos los objetos con los usuarios, los agregamos a
ayudarán a comprender mejor el uso de RoR (Ruby on Rails) . la lista:

Más características de Ruby listaUsuarios = CListaUsuarios.new


listaUsuarios.append( admin1 )
En la parte 1, hablamos no solamente de los antecedentes del len- listaUsuarios.append( admin2 )
guaje, sino que además vimos algunos conceptos básicos. Para listaUsuarios.append( admin3 )
continuar, seguiremos hablando de esta parte introductoria y más listaUsuarios.append( admin4 )
de sus conceptos básicos.
puts “Elemento 0:= “ + listaUsuarios[ 0 ].nombre
puts “Elemento 1:= “ + listaUsuarios[ 1 ].nombre
Arreglos puts “Elemento 2:= “ + listaUsuarios[ 2 ].nombre
Sabemos que la manera mas fácil de implementar una lista de puts “Elemento 3:= “ + listaUsuarios[ 3 ].nombre
usuarios (al igual que cualquier otro tipo de lista) es utilizando
un arreglo. La salida que se obtiene es:

El código siguiente permitirá mostrar el uso de esta estructura de datos: Carlos


Marco
class CListaUsuarios Luis
def initialize Pablo
@arregloUsuarios = Array.new
end
def append( usuario ) Existe otra manera para definir e inicializar explicitamente un arre-
@arregloUsuarios.push( usuario ) glo, esta toma la siguiente forma:

self #--- Regresa una referencia a si mismo nombreArreglo = [ elemento0, elemento1,…elementoN ]


#--- Además, esto permite hacer
#--- multiples llamadas encadenadas a append
end Observemos con atención que la declaración es muy similar a como
def delete_first se declara un arreglo en otros lenguajes OO como VB.NET, C# o Java,
@arregloUsuarios.shift esto es, se usan corchetes cuadrados para delimitar el conjunto de
end
elementos contenidos en el arreglo, así como también el comas para
def delete_last
@arregloUsuarios.pop diferenciar cada uno de los elementos.
end
def []( indice ) En Ruby, un arreglo puede albergar diferentes tipos de elementos,
@arregloUsuarios[ indice ] por ejemplo: enteros, flotantes, caracteres, cadenas, diferentes ti-
end
end
pos mezclados, o si se requiere no tener ningún elemento, en este
sentido un arreglo en Ruby se comporta mas como un vector en Java
Nótese el empleo de clase Array y la invocación del constructor me- que como un arreglo. A continuación algunos ejemplos:
diante la palabra reservada new.
arregloMin= [ ] # arreglo vacio
arreglo1 = [0, 1, 2, 3]
En el artículo anterior, definimos la clase CUsuario y la clase CAdminSistema
arreglo2 = [‘a’, ‘b’, ‘c’, ‘d’]
(SG Año 03, No. 06, pág. 36), tomando estas clases como ejemplos para in- arreglo3 = [0, ‘a’, 1, ‘b’, 2, ‘c’] # arreglo que contiene
corporar varios objetos a la lista de usuarios definimos: # diferentes tipos de elementos

40 FEB-ABR 2008 www.sg.com.mx


arreglo4 = [0, ‘a’, “primero”, 1, ‘b’, “segundo”, 2, ‘c’, “tercero”]
arreglo5 = [1, 2, [30, 40, 50], 4] # arreglo conteniendo
# otro arreglo como elemento

Los arreglos presentan el operador [ ] que permite accesar un elemento determinado; y como
sucede en otros lenguajes, el indice inicial del arreglo comienza en 0.

puts arreglo1[ 0 ] # => 0


puts arreglo1[ 1 ] # => 1
puts arreglo1[ 2 ] # => 2
puts arreglo5[ 0 ] # => 1
puts arreglo4[ 2 ] # => primero
puts arreglo4[ 6 ] # => 2
puts arreglo4[ 8 ] # => tercero
puts arreglo5[ 2 ] # => [30, 40, 50]

Si por otra parte no deseamos utilizar la declaración explícita de un arreglo, sino queremos
definirlo dinámicamente, se deberá emplear la clase Array:

nombreArreglo = Array.new

La clase Array posee un gran número de métodos ya que hereda (o adquiere) mucha fun-
cionalidad de otro mixin importante: Enumerable. Un mixin es una característica de Ruby
que permite la inclusión de funcionalidades (métodos que estén definidos en otra área
(module) ) dentro de una clase o método dado. El concepto es parecido al efecto que se
tiene si se usan elementos definidos en otro package (si se habla de Java) o namespaces
(si se habla de C#).

Ahora bien, entre los métodos y operadores más importantes de la clase Array están:
&, *, +, -, ==, [], at, concat, delete, delete_at, each, empty?, eql?, fetch, first, include?, insert,
join, last, length, nitems, porp, push, replace, reverse, shift, size, sort, to_a, transpose.

Estos métodos y operadores son similares a lo que se tienen en un Hash.

Hashes
Al igual que los arreglos los hashes son colecciones indexadas, pero a diferencia de los prime-
ros, los hashes presentan un indexado y método de acceso asociado a valores de llaves especí-
ficas dentro del hash. También se les conoce como mapas, diccionarios o arreglos asociativos,
en donde las llaves y valores pueden ser de cualquier tipo.
La forma de declarar un hash es:

nombreHash = { llaveX> valor0, llaveZ => valor1,… llaveJ => valorN }

Observemos que a diferencia de un arreglo, cada elemento del hash es un par llave => valor en
donde a diferencia de lo que pasa en un arreglo, el valor de la llave no necesariamente tiene
que ser ordenado en relación con otros elementos del hash.

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /* PROGRAMACIÓN*/

Algunos ejemplos de hash son: uno de los administradores, podríamos hacerlo accesando directa-
mente a cualquiera de sus celdas:
ACCION = 1 puts “Elemento 0:= “ + listaUsuarios[ 0 ].nombre
DRAMA = 2 puts “Elemento 1:= “ + listaUsuarios[ 1 ].nombre
hash1 = { 0 => “PRIMERO”, 1 => “SEGUNDO”, 2=> “TERCERO” } …
hash2 = { ACCION => “60 Segundos”, DRAMA => “Kramer vs Kramer” } puts “Elemento 3:= “ + listaUsuarios[ 3 ].nombre
hash3 = { 1 => ‘K’, 3 => ‘L’, 5 => ‘M’ }
hash4 = { 0 => 0, 1 =>1, 2 => ‘M’, 4 =>’Carlos’ } Sin embargo esto representa una gran cantidad de trabajo, más aún
cuando sabemos que es posible tomar ventaja de la naturaleza del
El acceso a cualquiera de los elementos del hash es a través de los arreglo como colección, es decir, al igual que sucede en otros len-
valores de las llaves, utilizando el operador [ ]: guajes de programación es posible iterar sobre el arreglo:
puts hash1[ 0 ]
puts hash1[ 2 ] class CListaUsuarios
puts hash2[ DRAMA ] …
puts hash2[ 0 ] def getNombres_iterando_en_arreglo
puts hash3[ 1 ] tamanoArreglo = @arregloUsuarios.length
puts hash3[ 5 ] if tamanoArreglo > 0 then
puts hash3[ 0 ] begin
puts hash3[ 2 ] ###--- !OJO! Notese que el indice inicia en 0 ---###
puts hash4[ 4 ] ###--- y acaba en tamanoArreglo-1 ---###
for i in 0..tamanoArreglo-1
La salida es: puts @arregloUsuarios[ i ].nombre
end
PRIMERO end
TERCERO
end ### <= end del if-then
Kramer vs Kramer
nil end ### <= end del def nombres
K …
M end

nil listaUsuarios. getNombres_iterando_en_arreglo
nil
Carlos La salida será:

Ahora bien, aun cuando tanto arreglos como hashes son estructuras Carlos
sumamente útiles, es necesario incorporar otro elemento de Ruby Marcos
que entre otras cosas complementa y toma ventaja de la naturaleza Luis
de estas estructuras. Pablo

El elemento al que nos referimos se conoce como bloque (block), y Además de mostrar cómo se itera sobre un arreglo, este ejemplo
permite la ejecución de instrucciones interactuando con cada uno de muestra dos nuevas estructuras de control: if-then y for. La estructura
los elementos internos de los hashes y/o arreglos, de hecho también if-then comprueba la veracidad de una condición, si se cumple se eje-
utiliza en forma intrínseca la capacidad funcional los métodos sim- cuta el conjunto de sentencias contenidas en el siguiente bloque.
ples o agregados a una clase.
La estructura for ejecuta repetidamente un conjunto de intrucciones,
Bloques (blocks) tomando como base el rango definido después de la palabra in.
Un bloque (block) es un mecanismo que permite la agrupación de
enunciados y la llamada anónima a esta agrupación desde un méto- En ambos casos la delimitación del bloque de sentencias ocurre has-
do determinado. ta la declaración de la palabra end (nótese los comentarios que indi-
can los finales de bloque).
A continuación definiremos un ejemplo para explicar con más dete-
nimiento cómo opera. El iterar sobre un arreglo parece bastante claro y útil, de hecho
como se puede apreciar esta forma es muy similar a la que se
Continuando con el ejemplo de los Usuarios, recordemos que había- tiene en otros lenguajes como VB.NET, C# o Java, sin embargo, es
mos agregado datos, si ahora deseamos conocer el nombre de cada posible que este tipo de codificación sea más natural si emplea-

42 FEB-ABR 2008 www.sg.com.mx


mos el concepto de bloque para accesar cada una de las celdas Expliquemos el ejemplo que se acaba de presentar: en Ruby, un blo-
del arreglo: que (block) es una agrupación de sentencias que pueden ser invo-
cadas desde un método de forma anónima. Formalmente se puede
class CListaUsuarios desglosar a un bloque a partir de la siguiente declaración:

def getNombres_usando_Iterador_y_Bloque
def algunMetodo( listaParametrosFormalesDelMetodo )
@arregloUsuarios.each do| elementoArreglo |
....
puts elementoArreglo.nombre
yield( param0, param1…paramN )
end

end
end
end
...

listaUsuarios.getNombres_usando_Iterador_y_Bloque algunMetodo(listaParametrosAPasar) do| paramA, paramB...,paramZ |
....
#...bloque de sentencias
La salida será: ...
end
Carlos
Marcos Dónde:
Luis - La definición del bloque debe hacerse inmediatamente después de
Pablo la llamada al método.

www.sg.com.mx FEB-ABR 2008


// PRÁCTICAS /* PROGRAMACIÓN */

“Un arreglo puede albergar diferentes tipos


de elementos”.

- La definición del bloque inicia a partir de la palabra do y hasta la mente cómo es que está definido internamente each, si podemos
palabra end; es decir abarca los parámetros y todo el bloque de sen- deducir que en este método existe una declaración yield que tiene
tencias que se deseen definir hasta la palabra end. un solo parámetro, y que éste le proporciona el valor correspondien-
- La listaParametrosFormalesDelMetodo es la definición de todos te al parámetro elementoArreglo (esto es, sólo existe un parametro
los parámetros a pasarle al método, y estos pueden o no ser los dentro del bloque).
mismos parámetros que internamente se le pasen al metodo yield. Ahora, lo que sucede dentro del bloque es responsabilidad del pro-
- La listaParametrosAPasar es la declaración formal de todos los pa- gramador: en este caso sólo se deseó imprimir el nombre del ele-
rámetros que se le pasan al método. mento del arreglo en cuestión, si hubiésemos querido podríamos
- paramA, paramB,…paramZ son los párametros a pasarle al bloque; haber escrito un bloque de sentencias más sofisticado.
dicha lista debe declararse en medio de barras verticales, precedi-
das además por la palabra reservada do. Compárese la elegancia, legibilidad y agilidad que proporciona
esta construcción contra la forma clásica de iterar sobre el arreglo
En runtime, el orden de ejecución de llamadas es: que habiamos propuesto anteriormente (y que es similar a la que
1. Se invoca algunMetodo con la listaParametrosAPasar. se tiene en VB.NET, Java o C# ).
2. Una vez dentro de algunMetodo se empiezan a ejecutar en orden
todas las sentencias hasta que Ruby detecta la invocación a yield. Resumen
3. El intérprete de Ruby es inteligente y recuerda si existe algun blo- En esta segunda parte se completó la revisión de los principales
que que previamente definido de manera adyacente a la llamada ini- elementos de lenguaje Ruby. Como ya se había explicado antes,
cial de algunMetodo. ésta no sería una revisión exhaustiva sino lo suficientemente ge-
4. Si fue definido, yield actúa como la invocación anónima a ese neral y breve para contar los elementos básicos necesarios para
bloque, es decir yield invoca la ejecución de bloque pasándole aplicar Rails.
a este los parámetros param0, param1, …paramN, en otras pa-
labras, paramA tomará el valor que hayamos pasado a param0, Esta revisión incluyó el manejo de arreglos, hashes y bloques. Y una
paramB tomará el de param1, paramC tomará el de param2, et- breve explicación de concepto de mixin y de las estructuras de con-
cétera. trol if-then y for.
5. Una vez ejecutado el bloque, se regresa el control al método, eje-
cutándose la siguiente instrucción definida después de yield. En nuestra próxima entrega abarcaremos la instalación y arquitectu-
ra de Rails como framework con un ejemplo que permitará mostrar
Nota: Por supuesto que tanto los parámetros del método como los del las capacidades de desarrollo ágil de Ruby y de Rails.
bloque son opcionales y pueden o no declararse si así uno lo desea.
Referencias
Abordemos ahora nuestro ejemplo: • Thomas David, Fowler Chad, Hunt Andy. “Programming Ruby”. 2nd
Edition. The Pragmatic Bookshelf. 2005.
@arregloUsuarios.each do| elementoArreglo | • Thomas David, Heinemeier Hanson David, et al. “Agile Web Deve-
puts elementoArreglo.nombre lopment with Rails”. 2nd Edition. The Pragmatic Bookshelf. 2006.
end • Black, David A. “Ruby for Rails”. Manning Publications Co. 2006
Primero notemos que each es un método que pertenece a la clase • Troelsen, Andrew. “Pro C# 2005 and the .NET 2.0 Platform”. 3rd
Array (se puede constatar esto si accesamos la biblioteca de lengua- Edtion. Apress. 2005.
je: Ruby Library Reference). • www.ruby-lang.org/en
Si bien es cierto que en la biblioteca no podemos verificar directa- • www.rubyonrails.org

Carlos Ortega es consultor en metodologías y prácticas ágiles (XP, TDD, Refactoring, Pair Programming), cuenta con certificaciones en RUP,
OOAD, UML, etcétera. Es Certified ATAM Evaluator y Certified Professional Software Architect ambos avalados por el SEI. Ha colaborado en numerosos
proyectos para diversas organizaciones como Banco de Mexico, Elektra, Banco Azteca, Fandelli, Oracle, IMSS, Heinson, Accenture, EDS. Actualmente
colabora con Software Ágil, empresa dedicada al tutelaje e implementación de metodologías ágiles (SCRUM, XP, Crystal).

44 FEB-ABR 2008 www.sg.com.mx


// PUBLIRREPORTAJE

¡Microsoft Visual Studio 2008 y .NET Framework 3.5 ya están listos!


Microsoft está liberando una nueva versión de su suite de herramien- proyectos desde un solo ambiente de trabajo con compatibilidad para
tas para programadores: Visual Studio 2008. Esta versión tiene como aplicaciones legacy o para migración de desarrollos a la nueva versión
objetivo habilitar a los desarrolladores para crear aplicaciones de del Framework.
clientes inteligentes que generen experiencias de usuario más ricas
y de mayor calidad. Experiencia de usuario fantástica
Visual Studio 2008 ofrece a los desarrolladores nuevas herramientas
El primer evento del lanzamiento a nivel mundial tendrá lugar en Los que aceleran la creación de aplicaciones conectadas sobre las plata-
Ángeles, California el próximo 27 de febrero. En México se realizarán formas más modernas incluyendo Windows Vista, Office 2007, SQL
diversos eventos de lanzamiento durante los meses de marzo y abril, a Server 2008 y Windows Server 2008. Para la Web, ASP.NET, AJAX.NET
los que se invitarán a socios, clientes, y miembros de las comunidades y otras nuevas tecnologías habilitarán a los desarrolladores para rápi-
de desarrolladores. damente crear una nueva generación de experiencias web más inte-
ractivas, eficientes y personalizadas. Visual Studio 2008 tiene soporte
Visual Studio 2008 cumple con la visión de Microsoft de ayudar a las per- completo para XAML, la plataforma basada en XML para descripción
sonas a desarrollar todo su potencial al crear herramientas que ayuden de animaciones en 2D y 3D, así como de gráficos y texto vectorial.
a los desarrolladores a crear aplicaciones más seguras, fáciles de admi-
nistrar y confiables que aprovechen al máximo las ventajas de Windows Colaboración efectiva entre miembros del equipo
Vista, Office 2007 y el framework de .NET. Visual Studio 2008 brinda Visual Studio 2008 incluye nuevas capacidades que ayudan a mejorar
avances clave en: la colaboración en los equipos de desarrollo, incluyendo herramien-
• Desarrollo acelerado de aplicaciones tas que ayudan a integrar al proceso de desarrollo a distintos roles
• Colaboración efectiva entre miembros de un equipo como el de profesionistas de bases de datos o diseñadores gráficos.
• Experiencias de usuario fantásticas De la misma forma, Visual Studio 2008 se integra directamente con las
herramientas de Expression Studio, permitiendo una colaboración efi-
Con herramientas de desarrollo avanzadas, capacidades de depuración ciente entre equipos de diseño gráfico y de desarrollo de aplicaciones
en tiempo de ejecución y control de flujo, funcionalidad para conecti- para crea aplicaciones con elementos visuales sorprendentes.
vidad con diversas bases de datos y otras características innovadoras,
Visual Studio 2008 facilita y acelera la creación de aplicaciones de nue- Utiliza el framework .NET 3.5
va generación. El nuevo entorno de Visual Studio 2008 incluye mejoras El Framework .NET está diseñado para facilitar la rápida construcción
como: herramientas de diseño visual para un desarrollo más rápido, de aplicaciones conectadas que proveen experiencias de usuario de
mejoras significativas en las herramientas para desarrollo Web y nuevas alta calidad, al proveer bloques de construcción prefabricados que re-
capacidades en lenguajes de programación que aceleran el desarrollo. suelven las tareas de programación más comunes. En conjunto, Visual
Visual Studio 2008 le da a los desarrolladores el soporte para todos los Studio 2008 y el Framework .NET 3.5 reducen la necesidad de código
marcos de trabajo requeridos para crear aplicaciones Web expresivas y de bajo nivel para realizar tareas cotidianas, optimizando los tiempos
contundentes basadas en la tecnología AJAX.NET. de desarrollo y permitiendo que los programadores puedan concen-
trarse en resolver los temas críticos del negocio.
Los desarrolladores podrán crear fácilmente aplicaciones web de nueva
generación que se integren con cualquier base de datos, funcionen so- El Framework .NET 3.5 es una mejora incremental de la versión 3.0 del
bre cualquier navegador Web moderno y tengan acceso completo a los mismo que incluye nuevos beneficios en las librerías base y en Windows
servicios tanto de ASP.NET como de la plataforma Microsoft. Workflow Foundation, Windows Communication Foundation, Windows
Presentation Foundation, y Windows CardSpace.
Desarrollo acelerado de aplicaciones
Visual Studio 2008 provee capacidades mejoradas en los lenguajes y Recursos en el web
acceso a datos, tales como LINQ (Language Integrated Query), que fa- • Para conocer más sobre estas tecnologías visita
cilitan y hacen más rápida la construcción de soluciones que analizan y www.microsoft.com/spanish/msdn/latam/visualstudio2008
manipulan información. • Materiales de entrenamiento sin costo
blogs.msdn.com/jaimesb
Visual Studio 2008 también brinda la habilidad de utilizar distintas ver- • Casos de éxito
siones del Framework .NET desde el mismo entorno de desarrollo para www.microsoft.com/mexico/casos
construir aplicaciones en las versiones 2.0, 3.0 y 3.5 del Framework • Sitio oficial del lanzamiento
.NET, lo que significa que podrán trabajar en una gran variedad de www.microsoft.com/latam/estamosconlosheroes
// UML

Uso de UML en Aplicaciones Web


Páginas y Relaciones
Por Charlie Macías y Sergio Orozco

Frecuentemente somos cuestionados en nuestros cursos acerca de Estereotipos para las clases
las formas para representar de manera más explícita cierto tipo de
aplicaciones utilizando UML, pero sin lo “aburrido” de la notación.
Cierto es que UML es gráfico de por sí, pero usar los mismos elemen- Estereotipo Descripción
tos independientemente del tipo de aplicación, por ejemplo cuando Representa una página Web que tiene scripts ejecuta-
estudiamos el modelado de aplicaciones web, el modelado del ne- dos por el servidor. Estos scripts interactúan con los
gocio, de sistemas de tiempo real o de bases de datos, a algunas recursos que se encuentran al alcance del servidor.
personas les genera ruido y prefieren algo más explícito. Sólo puede mantener relaciones con objetos que se
encuentren en el servidor.
Para resolverlo aprovechamos una de las características peculiares
que le dan flexibilidad a la notación de UML. Y consiste en el conjunto Representan páginas que son dibujadas por el nave-
de mecanismos de extensión (de significado): estereotipo, restricción gador web y pueden ser una combinación de algún
o algunos lenguajes de marcado, scripts del lado del
y valor etiquetado. Estos mecanismos le permiten a UML extender y cliente, islas de datos, etc.
enriquecer el significado de sus elementos y símbolos básicos de tal
suerte que pueden ser empleados para representar dominios en don-
de nunca se tuvo una intención explícita de origen de aplicarlos. Ha- Representa una colección de campos de entrada que
berlo hecho así supondría una limitante para la aplicación genérica del forman parte con una página del lado cliente (Client
lenguaje unificado. Ejemplos de estos dominios son el modelado de Page). Tiene una correspondencia directa con la eti-
negocio (aunque ya existe BPMN como un estándar más específico), queta <FORM> de XHTML.
el modelado de bases de datos, el modelado de aplicaciones web o el
modelado de circuitos electrónicos, por mencionar algunos.
Es una colección de scripts del lado del cliente que
Arquitectura para web existe como un archivo separado y que son incluidos
mediante una petición independiente por parte del
La mayoría de las aplicaciones desarrolladas hoy en día son las apli-
navegador.
caciones llamadas web, es decir, aquellas que tienen como elemen-
to significativo de su arquitectura un navegador y un protocolo de
comunicación HTTP. Cuando capacitamos a la gente en arquitectura
y patrones, buscamos que el alumno comprenda las formas de ela- Estereotipos para las relaciones entre las clases
borar este tipo de aplicaciones, como su ubicación en algunos de
los patrones de arquitectura web: “Cliente Delgado Web”, “Cliente Link Representa un apuntador desde una client page hacia
una client page o server page. Corresponde directa-
Robusto Web” o “Reparto Web”.
mente con una etiqueta <a> (ancla) de HTML.

El estándar de facto en web Esta relación siempre se da entre una form y una server
Submit
En 1998, Jim Conallen definió una extensión a la que denominó WAE page, por supuesto, la server page procesa los datos
(Web Application Extension) para UML. Esta extensión es la conven- que la form le envía (submits).
ción más difundida y aceptada hasta nuestros días y podríamos decir
que define el estándar de facto. En esta entrega, formada por dos Build Sirve para identificar cuales server page son responsa-
bles de de la creación de una client page. Una server
artículos, presentaremos los elementos que definen el 20-80 en el
page puede crear varias client page, pero una client
modelado de aplicaciones web usando la WAE. El foco de este artí- page sólo puede ser creada por una sola server page.
culo es la WAE en los diagramas de clases. Esta relación siempre es unidireccional.

Extensiones WAE para el diagrama de clases Redirect Esta es también una relación unidireccional que indica
que una página Web redirige hacia otra. En caso de
Algunos de los ejemplos más comunes de estereotipos que se pue- que la página origen sea una client page esta aso-
den asociar a las clases y a las relaciones entre éstas, para represen- ciación corresponderá con la META etiqueta y valor
tar una aplicación en web son las siguientes: HTTP-EQUIV de Refresh.

46 FEB-ABR 2008 www.sg.com.mx


“Estos mecanismos le permiten a UML
extender y enriquecer el significado de sus
elementos y símbolos básicos”.

Un ejemplo de sistema en web cuentan con íconos alternativos que pueden utilizarse, aunque esto
Si bien no presentaremos el modelo de casos de uso para ejem- es algo opcional. En nuestro ejemplo se muestran directamente los
plificar el uso de esta notación, para resaltar el modelo de clases nombres de los estereotipos para cada clase y relación, en lugar de
con sus extensiones, si necesitamos ubicar el ejemplo en algún es- los íconos asociados a cada uno de esos estereotipos. Muchas he-
cenario. Por ejemplo: en nuestro sitio nuestros alumnos pueden rramientas de modelado te permiten, de manera simple, elegir entre
consultar los datos del curso en el que están inscritos y, desde este una u otra forma de representación.
mismo lugar, pueden también contestar una encuesta de satisfac-
ción durante el último día del mismo. En la figura 1 vemos parte Aplicación de WAE en las páginas
del modelo de clases de dicho sistema utilizando los estereotipos En el diagrama de la figura 1 podemos observar varias clases a las
propios de WAE. que se les han asociado los estereotipos antes descritos, también
podemos observar que entre las clases sólo existen relaciones
Anotaciones básicas de asociación, de las cuales algunas usan los estereotipos WAE y
Suponemos que está de más comentar que las relaciones entre las otras no. Las que no usan los estereotipos WAE como por ejem-
clases en los diagramas de clases no sugieren o asumen ningún plo: la relación entre LoginForm y LoginValidator es la veterana
tipo de flujo, que las puntas de flechas sólo son restricciones en relación de composición, la cual indica lo de siempre, que el script
cuanto al sentido en que la relación puede ser transitada. Recorde- del lado del cliente LoginValidator es una pieza inseparable de la
mos que el diagrama de clases es un diagrama estructural. También forma LoginForm.
cabe señalar que el diagrama de clases que aquí se presenta tiene
un punto de vista de diseño y no uno conceptual (figura 1). Relaciones WAE entre las páginas del sistema
También podemos ver que la página del lado del servidor llamada
PresentarDatosCurso es la responsable de procesar los datos que
la forma Login le envía (relación «submit»). Otra de las cosas que
podemos ver es que la página del lado del servidor PresentarDatos-
Curso es la que se encarga de construir la página del lado del cliente
CursoForm (relación «build») o, en caso de presentarse un error, re-
dirigir el control a la página del lado del servidor que se encarga de
manejarlo ReportarError (relación «redirect»). Finalmente, podemos
notar también que la página del lado del cliente CursoForm mantiene
una liga hacia la página del lado del servidor EncuestaParticipante
(relación «link»).

Sólo el comienzo
Figura 1: Modelo de sistema de cursos y encuestas con extensiones WAE. Existen algunos otros elementos definidos en la WAE que aquí he-
mos omitido. Este artículo presenta sólo unos pocos de los más uti-
Nombres o íconos lizados. Próximamente presentaremos los estereotipos y aplicación
Igual que cuando brindamos nuestra capacitación presencial, y an- de éstos en los diagramas de componentes; y recuerda que al elabo-
tes de analizar este modelo de clases, consideramos conveniente rar tus modelos, en muchos casos, entre más simple mejor. Al fin y al
recordarle a nuestro público que algunos elementos estereotipados cabo un modelo busca simplificar, no complicar las cosas.

Sergio Orozco es Director General e Instructor Senior, Charlie Macías es Consultor Senior e Instructor Senior,ambos especializados en temas relacionados
con UML en Milestone Consulting. Milestone Consulting (UML Value Added Training Center), es una empresa especializada en capacitación práctica-inten-
siva y consultoría en UML, BPMN, Arquitectura de SW y PM. Milestone Consulting fue la primer empresa mexicana miembro de la OMG, además de ser REP
del PMI. info@milestone.com.mx www.milestone.com.mx

www.sg.com.mx FEB-ABR 2008 47


// COLUMNA /*TENDENCIAS EN SW*/

Reciclando
Cómputo verde
Tecnología

Luis Daniel Soto es Director Regional de Desarrolladores y Difusión de Plataforma en Microsoft para América Latina. Es miembro de la
orden nacional al mérito de México (ministro de educación). Luis Daniel obtuvo el primer lugar en el Concurso Nacional para Software de
Exportación en 1989. blogs.msdn.com/luisdans

H emos hablado extensivamente de la nueva arquitectura de


software más servicios:
Sin duda, las prácticas verdes de operación de tecnologías de
información cobrarán fuerza. Desde la adquisición inicial, el uso
extendido de videoconferencias en lugar de viajes, la medición
Interfaz de usuarios. Clientes altamente interactivos y con múl- detallada de consumo de la energía hasta el reciclaje de equipos
tiples cabezas, incluyendo PC multicore, dispositivos móviles, en base a sus materiales.
dispositivos de hogar como consolas de videojuego o sistemas
de teatro en casa. Otro punto a considerar es el e-desecho. Seguramente encontrare-
mos racionalización del e-mail y el uso de tipografías más pequeñas
Lógica de negocio. Que puede ejecutarse en el cliente mismo en para ahorro de papel impreso, utilizando ambos lados de la hoja y
un centro empresarial dedicado o virtualizado. Con la evolución enfoques en compartir documentos impresos cobrarán auge.
de la plataforma de software a cómputo utilitario será cada vez
más posible enviar este procesamiento a un Haas (hardware as a El gobierno jugará un rol clave de diversas formas: apoyo finan-
service) externo. ciero, favoreciendo la investigación y desarrollo, estableciendo
normas y legislaciones, y por supuesto como comprador.
Datos. Operando localmente, en centros de datos empresariales
o detrás, en la nube de internet. Conclusión
Las oportunidades en este segmento serán amplias, incluso para
No obstante, la demanda del mercado no se refiere únicamen- los fabricantes. Por supuesto diversos empresarios tomarán ven-
te a la capacidad de hacer todo esto. De la misma forma que el taja del momento en nuevas empresas relacionadas a este tema.
consumidor joven cada vez solicita no tomar el café en un vaso Entre las empresas que destacan en este segmento están Faro-
desechable, se requiere del cómputo verde que contribuya a la nics, Verdiem, Modius y 1E. Sin duda ésta será una categoría pro-
preservación de la energía y los recursos naturales. metedora en sí misma para competencias diversas en la búsque-
da de mejores soluciones.
En los siguientes cinco años, las organizaciones de todo tipo
agresivamente analizarán este tema y buscarán asegurar la sus- Participa
tentabilidad de los productos que utilicen. Las razones son éticas, • www.theingenuitypoint.com
ambientales y de relaciones públicas. • www.imaginecup.com

Cómputo verde —Luis Daniel Soto


El alto número de servidores en los centros de cómputo es una
fuente primaria de consumo de energía para el funcionamiento
y enfriamiento de los equipos. Las tecnologías de virtualización
son contribuidoras a reducción de energía en el esquema de con-
solidación de equipos. Se está experimentando ampliamente con
centros de datos sin discos duros, basados en memorias flash y
sus implicaciones cómo enviar los índices de bases de datos y
mejorar la capacidad de búsqueda.

En el escritorio, se incrementa la demanda de componentes ver-


des certificados con funciones de ahorro de energía y mejores op-
ciones de software con el mismo objetivo. Lo que en 1992 inició
en forma del programa voluntario “Energy Star”.

48 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// COLUMNA /*CÁTEDRA Y MÁS*/

“Puedes sacar al muchacho de la programación, pero


no puedes sacar a la programación del muchacho”.

Genio y Figura o…
El Gusto por el Cómputo

Dr. Raul A. Trejo es profesor investigador del Instituto Tecnológico y de Estudios Superiores de Monterrey, campus Estado de México. Aun-
que su área de especialidad es la inteligencia artificial, siempre ha sido un apasionado de la Ingeniería de Software y de la programación en
particular. Ha programado en Basic, Pascal, C y sus derivados, pasando por lenguajes más esotéricos como Lisp, Scheme y Prolog, antes de
dejarse convencer por la programación orientada a objetos. Es entusiasta usuario de C# y aún encuentra ratos libres para programar.

H ace algún tiempo conversaba con un muy buen amigo mío, un


psicólogo veterano de guerra de los Estados Unidos, de ascen-
dencia mexicana. Cómo era costumbre, me contaba de sus aventuras
chacho. Soy ingeniero en sistemas, y los lenguajes de programa-
ción y la algoritmia siempre me han atraído. Con mis alumnos, dis-
cuto los elementos que hacen comercialmente exitoso un portal
en el país vecino, las cuales inevitablemente tenían un final sorpren- de negocios electrónicos, pero pasamos también horas compren-
dente, a lo que mi amigo solía acotar: “puedes sacar al muchacho de diendo los mecanismos que hacen realidad dicho portal. El soft-
México, pero no puedes sacar a México del muchacho”. ware sigue siendo una parte central de mi vida académica. Dedico
mucha parte de mi tiempo de investigación a la inteligencia de
Llevo casi veinte años dedicado a las tecnologías de información. negocios, siempre en contacto con mis colegas de administración
A lo largo de este tiempo, he enfocado mis energías a diversas y de tecnologías de información para dimensionar herramientas de
siempre cambiantes especialidades dentro de esta área. En mis inteligencia de negocios a las necesidades empresariales, pero
inicios, también un extraño en tierra extranjera, me dediqué a también devoro con pasión los artículos sobre los algoritmos de
ese oscuro mundo que es la complejidad computacional, anali- minería de datos que son el corazón de muchas aplicaciones de
zando sistemas que detectaban fallas en circuitos y algoritmos administración del conocimiento.
de inteligencia artificial para navegación de robots en ambientes
cerrados. Siempre ingeniero de software, al regresar a mi país me Empezamos un nuevo año, lo que se ha aprovechado en esta re-
interesé en metodologías de desarrollo de software, en particular vista para hacer un alto y reconocer a los mejores entre los me-
en metodologías que las pequeñas empresas pudiesen adoptar jores. Y recuerdo la razón original por la que soy parte de esta
para ser más competitivas. revista. Mientras preparo un escrito sobre la importancia de los
nichos tecnológicos en el desarrollo de la competitividad indus-
Y de algún modo, mi investigación y trabajo fueron derivando ha- trial, despliego en mi escritorio los manuales de las últimas ver-
cia la utilización de las Tecnologías de Información en las empre- siones de algunas herramientas de desarrollo para web. Y es que,
sas, hacia las limitantes de la industria mexicana para adoptarlas después de estos veinte años, sigo siendo un desarrollador. El
y hacia el estudio de las razones por las que una empresa debería lado oscuro aún vive en mí.
apoyar sus procesos en TI. Según unos colegas míos (que también
son colaboradores de esta revista), había “vuelto del lado oscuro Le dedico esta columna a todos los desarrolladores de corazón,
de la fuerza”. que a lo largo de los años mantienen esa pasión por hacer soft-
ware. Les deseo lo mejor para este 2008.
Pero parafraseando a mi amigo, puedes sacar al muchacho de la
programación, pero no puedes sacar a la programación del mu- —Raul A. Trejo

50 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// FUNDAMENTOS

¿Es Alpha o Beta?


Control de Versiones
Por Sonia Sánchez

Parecería que el control de las versiones Beta licen las correcciones necesarias dentro de
de software no es una tarea fácil, pero la Cuando el desarrollo ha alcanzado cier- esta misma fase.
realidad es otra. Este tipo de administra- ta madurez, es decir, cuando se tiene la
ción es muy sencilla si se basa en la no- primera versión completa conforme a los Versión RC (release candidate)
menclatura adecuada. requisitos establecidos en la pre-alfa, en- En esta etapa se puede considerar al desarro-
tonces el producto pasa a otra etapa del llo como un producto final que solamente será
Esta nomenclatura es la que define a simple control de versiones. Generalmente es considerado como versión definitiva si éste no
vista los detalles de las versiones que se es- aquí cuando los desarrolladores congelan presenta fallas. Cuando se llega hasta aquí, no
tán trabajando en nuestro desarrollo. la solicitud de nuevas características al deben existir errores que detengan el desarro-
producto que no hayan sido definidas en llo y avance del mismo. Debe contemplar todos
¿Cómo se define? las etapas previas. los puntos que se definieron en el diseño del
El esquema para administrar estas versiones sistema (considerado en la etapa pre-alfa).
se expresa típicamente por una nomencla- Las versiones beta comienzan a definirse
tura formada por tres dígitos, los cuales, de bajo la nomenclatura: Siguiendo la nomenclatura, en este momen-
acuerdo a su posición adquieren un signifi- to ya tendríamos la versión 1 del producto y
Versión mayor.versión menor
cado, definiendo bajo el siguiente esquema la 0 en el dígito de la versión menor. Si exis-
sus valores: Como la fase aún no cuenta con las ca- tieran cambios en esta etapa, se definirian
raterísticas necesarias para considerar- después del segundo dígito separado por
Versión mayor.versión menor[.número de revisión[.número
de modificación]]
se un producto candidato a una primera punto, es decir:
versión, el dígito mayor se define con un
Para las versiones comerciales de un produc- 0, formando el distintivo para la versión 1.0 sería una versión RC sin modificaciones,
to, esta nomenclatura comienza a partir de beta de 0.X. Conforme al esquema, si en mientras que 1.0.1 sería una versión RC con
la versión 1.0 identificando a las versiones esta fase existiera un cambio que no es una modificación realizada.
alpha o beta cuando la parte de la versión tan relevante para catalogarlo como un
mayor está por debajo de 1, y aumenta su producto candidato al siguiente nivel, en- El incremento del dígito que indica la versión
valor cuándo el producto ha sufrido cambios tonces las modificaciones iniciarian en 1 e mayor, se realiza cuando éste ha sufrido cam-
relevantes en su funcionamiento. irían en una posición después del número bios relevantes a su funcionalidad actual.
de la revisión, es decir, se tendría defini-
Las bases da la beta: Versión final
Pre-alfa En esta etapa, el producto es considerado
0.X.X.1
Se le llama pre-alfa a la etapa que define como estable y relativamente libre de erro-
todas las actividades previas a las pruebas Indicando el cambio que ha presentado el res, aunque puede presentar algunos, pero
de software, pueden considerarse dentro producto en esta fase. Si esta fuera la ver- deben ser los mínimos. En este momento,
de esta el análisis de requerimientos, dise- sión 1 de la beta con una primera revisión, el producto está listo para ser liberado al
ño de software, desarrollo de software y el entonces la nomenclatura estaría formada usuario final. Generalmente a este tipo de
unit testing. de la siguiente manera: versiones con fines comerciales, se les defi-
ne con un nombre de control diferente al de
Alfa 0.1.1.1 la nomenclatura pasada.
Su nombre se deriva de la primera letra del
alfabeto griego. Esta versión no es pública y Aquí podemos realizar dos tipos de pruebas:
su liberación solamente se hace dentro de 1. Abierta, el número de participantes que se Conclusión
las áreas internas de testing. A esta fase se asignan para su prueba no está limitado. El control de versiones no solamente
le considera como la primera de desarrollo 2. Cerrada, en la que un grupo de personas ayuda a la buena administración de
concreto de la lógica. Básicamente estamos es seleccionado para realizarle las pruebas un proyecto, sino que además brinda,
hablando de un prototipo. necesarias al producto. a simple vista, un panorama general
del estado en el que se encuentra el
Generalmente un desarrollo en esta etapa Los testers (evaluadores) asignados, repor- desarrollo de una aplicación. Esta
no contiene toda la funcionalidad que tiene tarán al equipo de desarrollo los errores en- ingeniería brinda consistencia, repro-
contemplado el producto final, por lo tanto, contrados y en ocasiones, características de ducibilidad y verificabilidad durante el
se pueden presentar numerosos bugs en su menor importancia que les gustaría ver en la proceso de desarrollo.
fase de revisión. versión final del producto, para que se rea-

52 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// TECNOLOGÍA
INFRAESTRUCTURA // CONCURRENCIA Y PARALELISMO

Mejorando el Desempeño de los


Procesadores Modernos
¿Por qué Multicore?
Por Robert Shiveley

En 1965 Gordon Moore predijo que la cantidad de transistores que se Se necesitan nuevas estrategias para mantener el ritmo de mejora en
podía integrar en un chip de silicón se duplicaría cada 18 a 24 meses. desempeño y precio.
Esta se conoce como la Ley de Moore, y se ha mantenido durante
más de 40 años. Durante este tiempo, el incremento en la densidad Estrategias de mejora que se han aplicado
de transistores ha generado aumentos proporcionales en el desem- A lo largo de los años, los diseñadores de procesadores han encontra-
peño de los microprocesadores y la relación precio/desempeño. do varias estrategias para aprovechar la mayor densidad de transisto-
res sin necesidad de aumentar la frecuencia de reloj. Algunas son:
En general, conforme los transistores son más pequeños pueden
switchear más rápido entre un estado y otro. Esto permite que al • Formatos de datos mayores. Los procesadores modernos de 64 bits
mismo tiempo que aumenta la cantidad de transistores, también se son el resultado de una larga evolución desde los primeros procesa-
aumente la frecuencia del reloj de un procesador. Tradicionalmente, dores de 4 bits. Cada mejora ha provisto un procesamiento más rápido
los aumentos en la frecuencia de reloj han sido más importantes que de mayores cantidades de datos, y ha permitido que los procesadores
los aumentos en densidad de transistores. Esto es porque aprove- puedan apuntar directamente a mayores volúmenes de memoria. Ac-
char una mayor cantidad de transistores requiere mejoras de diseño, tualmente estamos viviendo una transición donde los procesadores
mientras que las ganancias otorgadas por una mayor frecuencia de de 64 bits se convertirán en la norma. Para poner esto en perspectiva,
reloj son automáticas. El software existente se ejecuta de forma más recordemos que un procesador de 32 bits puede apuntar directamen-
rápida sin tener que hacerle nada. Por esta razón, el aumento de fre- te hasta un máximo de 4GB de memoria, mientras que uno de 64 bits
cuencia ha sido el motor principal detrás de las mejoras en desem- soporta espacios de dirección de 18 millones de terabytes.
peño de los procesadores.
• Paralelismo a nivel de instrucciones. También conocido como ILP
La Ley de Moore se mantiene al día de hoy y se espera que la densi- por sus siglas en inglés (Instruction Level Parallelism), permite que un
dad de transistores se siga duplicando al mismo ritmo durante otros procesador dinámicamente evalúe conjuntos de código para determi-
diez años por lo menos. Sin embargo, en años recientes el aumen- nar qué instrucciones son independientes y se pueden procesar de
to de frecuencia ha encontrado obstáculos mayores. Sucede que el forma simultánea o en otro orden. Si una instrucción está esperan-
consumo de energía y generación de calor aumentan exponencial- do una entrada de datos, entonces el procesador puede ejecutar una
mente con la frecuencia de reloj. Esto no había sido un problema instrucción independiente mientras tanto. Esta estrategia ha cobrado
anteriormente porque los niveles no eran significativos, pero en los mayor importancia conforme ha aumentado la brecha entre la veloci-
últimos años se ha convertido en un factor de crucial importancia en dad de los procesadores y las memorias. A lo largo de los años, se ha
el diseño de procesadores. hecho un uso fuerte de ILP para reducir el impacto de los tiempos de
espera de memoria. Sin embargo, esta actividad es demandante en
Aunque los servidores modernos proveen un desempeño por watt procesamiento, ya que requiere que el procesador examine código en
mucho mejor que el de sus antecesores, en total tienen requerimien- tiempo de ejecución, encuentre oportunidades de paralelizarlo, y lue-
tos de energía y enfriamiento mayores, y muchos de los centros de go reagende las instrucciones en la cola de procesamiento. Esto hace
datos existentes no fueron diseñados para satisfacer estas deman- a ILP altamente intensivo en recursos, lo cual se termina traduciendo
das de energía. El costo acumulativo de cumplir estos requerimien- en un alto consumo de energía y generación de calor.
tos se está haciendo excesivo, especialmente ante el aumento en los
precios de la energía eléctrica. • Hyper-Threading. Es una técnica que permite que en un momento de-
terminado las diferentes partes de un CPU estén trabajando en diferen-
Por esta razón, aumentar la frecuencia de reloj ha dejado de ser el tes hilos (threads). De esta forma se obtiene un mayor aprovechamiento
medio principal para aumentar el desempeño de los procesadores. del CPU. Para obtener los beneficios de Hyper-Threading, así como de

Robert Shiveley es Gerente de Soluciones Empresariales en Intel, donde dirige las estrategias de transición en la plataforma de servidores. La versión
original de este artículo está publicada en www.devx.com/go-parallel/Article/32725 y ha sido traducida y editada por SG con el permiso del autor.

54 FEB-ABR 2008 www.sg.com.mx


otras formas de paralelismo a nivel de threads, se requiere que el software a ejecutarse esté
desarrollado bajo un paradigma multithreaded.

• Mayor cache. La memoria cache es un espacio para almacenar datos e instrucciones cerca
del procesador (típicamente en el mismo chip). Esto la hace mucho más rápida que la memoria
convencional, además de consumir menos energía.

De las estrategias descritas, la que puede proveer las mejoras más significativas en desem-
peño y consumo de energía es la de aumentar el cache. Sin embargo, esto no es suficiente
para mantener el ritmo de mejora que se tenía con el aumento periódico de la frecuencia de
reloj. Es así que se necesita de una estrategia nueva y diferente para mantener el crecimiento
en desempeño que demanda la industria.

La estrategia multicore
La respuesta de la industria a los retos de desempeño ha sido integrar más núcleos (co-
res) de procesamiento en cada chip de microprocesador. Al tener varios cores ejecutando
instrucciones de forma simultánea, es posible brindar un gran desempeño en aplicaciones
multithreaded mientras se mantiene baja la frecuencia de reloj, limitando así el consumo
de energía.

En esencia, un procesador multicore es similar a un servidor con varios procesadores, con la


diferencia de que las unidades de procesamiento están integradas en un solo chip, lo cual brinda
un mayor desempeño y eficiencia de energía.

Los principales fabricantes de procesadores estiman que la estrategia multicore permitirá


obtener mejoras en desempeño de hasta 10 veces durante los próximos tres a cuatro años.
Mientras tanto, estas empresas están desarrollando nuevos materiales, estructuras de tran-
sistores, diseños de circuitos y otras tecnologías que permitirán aumentar la frecuencia de
reloj de los núcleos pero manteniendo niveles bajos de consumo de energía.

Aprovechando multicore
Queda claro que los procesadores multicore son el paradigma predominante durante los
próximos años en prácticamente todas las arquitecturas de cómputo, ya que permiten brin-
dar mejoras continuas en desempeño. Los procesadores multicore funcionan muy bien en
aplicaciones que hacen un buen uso de threads, tales como aplicaciones científicas, y
de alto volumen transaccional. También son ideales para ambientes virtualizados, ya que
cada ambiente virtual puede ejecutarse de forma independiente en cada core.

Sin embargo, en el caso de aplicaciones que no hagan un buen uso de threads, las mejoras
de desempeño que se pueden obtener al aumentar el número de núcleos de procesamiento
son marginales. Es por esto que las organizaciones deben revisar cuidadosamente el modelo
y carga de trabajo al que están sujetos sus aplicaciones y servidores, para evaluar qué tantas
mejoras pueden obtener a través de multicore. Adicionalmente deben establecer lineamien-
tos para que las nuevas aplicaciones hagan un buen uso de threads y por lo tanto aprove-
chen al máximo las arquitecturas multicore.

www.sg.com.mx FEB-ABR 2008


// TECNOLOGÍA
INFRAESTRUCTURA // INFRAESTRUCTURA

Los Nuevos Paradigmas Computacionales


Computación Ubicua
Por Ariel García

¿Qué es computación ubicua? ¿Es una nueva En nuestro ejemplo, el usuario podría consultar más desee separarse de la misma. Un camino
tecnología orientada al servicio?, ¿un nuevo su correo electrónico o cualquier otro servicio menos transitado al cual le llamo “invisible”
reto en tecnología?, ¿una preocupación más de cómputo desde un espejo o en su recámara tiene como ideal construir una computadora
para los defensores de la privacidad y segu- o baño donde podría escuchar, leer o reenviar que tenga un grado de integración y adecua-
ridad? el mensaje desde una interfaz personalizada. ción tal, que parezca algo natural y llegue
a ser usada de forma transparente por el
Computación ubicua es el nombre de la si- Origen usuario sin siquiera pensarlo. (A esta noción
guiente generación de dispositivos y servi- El concepto de computación ubicua surge a fi- también le llamo computación ubicua) Estoy
cios en Tecnología de Información. Su imple- nales de la década de los ochenta siendo ela- convencido que en los próximos 20 años el
mentación y uso tendrá un impacto radical borado por Mark Weiser durante su trabajo segundo camino será el domínate, pero esto
en la vida de los usuarios tanto en el aspecto en Seros Palo Alto Research Center como jefe no será sencillo. Muy poca de la infraestructu-
laboral, como el académico y actividades de de tecnología. Él junto con John Seely Brown ra de sistemas actuales sobrevivirá este cam-
la vida cotidiana. Con esta nueva tecnología escribieron los primeros ensayos sobre la bio. Durante los últimos cuatro años, hemos
se realizará una transición del uso tradicio- computación ubicua definiendo y esquemati- estado construyendo en PARC distintas ver-
nal de un equipo de cómputo a un nuevo pa- zando su importancia y alcances. siones de la infraestructura del futuro.”
radigma donde la tecnología residirá invisi-
blemente en nuestra vida diaria, proveyendo Weiser reconoce la necesidad de entender Es claro que Weiser no es el único que ha
servicios personalizados a cada usuario. los fenómenos sociales, culturales y psicoló- trabajado en este nuevo paradigma. El MIT
gicos para poder realmente extender e inte- también ha estado realizando investigación;
Cómputo tradicional grar el poder de cómputo en escenarios de la ha contribuido significativamente en este
Para dimensionar el impacto de esta nueva vida real. Él describe la computación ubicua campo. Otras instituciones o compañías que
tecnología, describamos el paradigma tradi- de la siguiente forma: están realizando investigación en esta área
cional de la computación ... son: El Colegio de Computación de Georgia
“Estamos tratando de cambiar radicalmente la Tech, el programa de telecomunicaciones
Tradicionalmente, una persona requiere utili- visión de cómo deberían ser los servicios de interactivas de NYU, Microsoft, Apple, Intel,
zar una computadora para tener acceso a un computo y redes… Nuestra propuesta prelimi- entre otros.
servicio. Además, la persona está obligada nar es: conectar al mundo a través de cientos
a adaptarse a las interfaces y limitaciones de de dispositivos inalámbricos de todos los ta- ¿Computación ubicua o
dicho servicio. Por ejemplo, para revisar su maños (desde pantallas de una pulgada hasta realidad virtual?
correo electrónico, un usuario requiere de un una pared completa) para cada persona y para La computación ubicua es totalmente lo
equipo de cómputo con acceso a Internet, cada oficina. Esta propuesta requiere de nue- opuesto a una realidad virtual. La realidad vir-
econtrándose con distintas formas de acceder vos trabajos en sistemas operativos, redes, re- tual coloca a un usuario en un mundo virtual
su correo, cada una con diferentes interfaces des inalámbricas, interfaces de usuario, panta- generado por una computadora. La compu-
que el usuario debe de saber utilizar. Al día de llas, y muchas otras áreas. Nosotros llamamos tación ubicua requiere que la infraestructura
hoy, la experiencia de usuario y el alcance de a esta propuesta, computación ubicua, la cual y servicios de cómputo residan en el mundo
servicio no es similar entre un cliente de co- es diferente a soluciones como PDA, dynabo- real de los usuarios. Mientras que la realidad
rreo, una página web o un dispositivo móvil. oks o cualquier otra información disponible a virtual es un problema que puede ser solucio-
través de la interacción con nuestros dedos. La nado principalmente con poder de cómputo
En la computación ubicua se rompe este computación ubicua es invisible y se encuentra y las interfaces apropiadas, la computación
paradigma al proponer que la tecnología de en cualquier lugar. Esta no vive en un disposi- ubicua requiere de una integración de perso-
cómputo debe transformarse en una herra- tivo de cómputo, sino se en encuentra en ele- nas con conocimientos en Ciencias Computa-
mienta integrada a nuestra vida diaria y que mentos comunes de nuestra vida diaria. cionales, Ingeniería y Ciencias Sociales.
por esta naturaleza debe ser más robusta y
efectiva. En este nuevo paradigma el usuario Por más de 30 años la mayor parte de los En su esencia, los modelos de computación
no es forzado a buscar un equipo de cómputo diseños de interfaces y cómputo han sido ubicua comparten una visión donde peque-
y seleccionar entre distintas interfaces. Por orientados por el camino hacia la máquina ños dispositivos de cómputo, de bajo costo
el contrario, ésta propone que la interfaz de “espectacular”. El ideal de este camino es lo- y con alta conectividad, se encuentran dis-
cómputo es responsable de localizar y brin- grar construir una computadora tan increíble, tribuidos en gran escala en elementos coti-
dar el servicio requerido por el usuario. maravillosa e interesante que el usuario ja- dianos de la vida diaria para satisfacer cual-

56 FEB-ABR 2008 www.sg.com.mx


quier servicio. Por ejemplo: un sistema de los niños durante los primeros cinco años de
refrigeración donde no solo esté consciente vida. El monitoreo de estos eventos brinda
del contenido de alimentos, sino también, la apoyo a los padres e instituciones de salud
capacidad de proponer menús acorde a su en la detección de retrasos en el desarrollo
contenido y alertar a los usuarios de alimen- como autismo o sordera para poder ser tra-
tos en estado de descomposición. tados de forma efectiva y oportuna.

Las interfases existentes para la comunica- • Proyecto Fetch


ción entre los dispositivos de cómputo y los Fetch es un sistema de apoyo para personas
usuarios, aún son inadecuados para el nivel con discapacidad visual. El sistema permite
de integración que se requiere para con el la localización de objetos perdidos. A través
mundo real. Es claro que se requiere de una de entrevistas y trabajo conjunto con per-
interfaz robusta y adecuada a los alcances sonas que padecen este problema, se des-
propuestos por la computación ubicua. Sin cubrió la necesidad de un sistema de loca-
embargo, se han realizado avances promete- lización de objetos perdidos que pueda ser
dores en dispositivos como teléfonos móvi- usado en varias localidades. El prototipo se
les, dispositivos de música digital, sistemas encuentra en operación basado en un siste-
de localización y pizarrones electrónicos. En ma con tecnología Bluetooth.
cierta forma estos dispositivos nos ayudan
a afirmar que ya estamos viviendo en cierto La cantidad de recursos y esfuerzos orienta-
grado en mundo de cómputo ubicuo. dos a la contracción de sistemas orientados
a computación ubicua se ha incrementado
Algunos proyectos actuales significativamente en los últimos años. Va-
El Instituto Tecnológico de Georgia se encuen- rios expertos opinan que este es el futuro de
tra realizando trabajos en la investigación y las Tecnologías de Información, y mucho del
desarrollo de cómputo ubicuo. A continua- trabajo realizado ya está dando frutos. Algu-
ción presentamos algunos de los proyectos nos ejemplos sencillos de esto son los sitios
que se están realizando: web que no sólo proporcionan mapas sino
también direcciones y lugares de interés cer-
• Proyecto: TrackSense canos, sistemas GPS personales, teléfonos
Hoy en dia existen soluciones en el mercado que integran varias funciones en una, con-
para proporcionar la ubicación de un indivi- solas de videojuegos y entrenamiento, tan
duo dentro de un espacio cerrado. Estos sis- solo por mencionar algunos.
temas requieren la instalación de infraestruc-
tura adicional en el lugar en cuestión, además Lo maravilloso de esta nueva generación de
de ser soluciones costosas lo cual impide una cómputo es que no sólo se da en empresas
adopción masiva. Para este proyecto, tam- privadas, sino también en instituciones edu-
bién están trabajando en una solución de bajo cativas. Esperemos que éstas y nuestros em-
costo que no requiere infraestructura adicio- presarios nacionales den cabida a la investi-
nal. Los prototipos del sistema actual tienen gación y desarrollo de soluciones basadas en
una precisión de centímetros en espacios de cómputo ubicuo que permitan el crecimien-
hasta cuatro metros cuadrados con uno o dos to y desarrollo tecnológico y económico de
grados de precisión en la orientación. nuestro país.

• Proyecto: detección temprana de retrasos Referencias:


en el desarrollo • home.cc.gatech.edu
Se está desarrollando una tecnología que •en.wikipedia.org/wiki/Pervasive_computing
permita detectar, grabar y dar seguimiento •www.cc.gatech.edu/classes/cs6751_97_fall/
a eventos importantes en el desarrollo de projects/say-cheese/marcia/mfinal.html

www.sg.com.mx FEB-ABR 2008


// TEC-
// TECNOLOGÍA/* GADGETS */

Dell
XPS M1730
Comencemos por sus principales características: tecnología móvil AGEIA PhysX, pantalla Game-
Panel LCD (incorporada a la carcasa) de alta definición con tiempos de respuesta de siete milise-
gundos y compatibilidad con la aplicación Dell LightFX para manipular la iluminación multicolor
LED en el perímetro del sistema, procesador móvil Intel Core 2 Extreme, tecnología Nvidia
SLI con doble GeForce GPUs listo para DirectX 10. Es “la bestia”, una portátil diseñada,
pensada e inspirada en las necesidades de los gamers. En conjunto ofrece entregas
realistas e interacciones ambientales sobresalientes a grandes velocidades sin
degradar el desempeño general del sistema; permite ver estadística de jue-
go, crear nuevos macros y rastrear datos importantes del sistema sin
abandonar el juego. Incluye también un teclado iluminado con área
separada de 10 teclas numéricas; opciones Wi-Fi con Wireless-N
(opcional), cámara web y micrófono para juegos en línea. Para cerrar
la jaula de la más reciente creación de Dell se puede personalizar con
cuatro colores diferentes: crimson red, sapphire blue, bone white y smoke
grey. Como dato adicional, los creadores de la XPS M1730 colaboraron con los
desarrolladores de títulos como The Orange Box y Bioshock para asegurarse que
cumpliera con los requisitos necesarios.

Firebox
Amazon Tux Droid
Kindle Para los seguidores y fanáticos de Linux, su pin-
güino representativo se materializa. Se llama Tux
Encontrarse con esta curiosidad tecno- Droid y no es sólo un adorno para el escritorio, sino
lógica ideada por Amazon puede cau- que es un pingüino muy activo. Se programa para
sar cierta nostalgia en un país como el recibir y transmitir todo tipo de información de In-
nuestro que no lee ni en defensa propia, ternet como correos electrónicos, RSS, noticias,
pero para los que sí y son ávidos devora- clima y mucho más. Además funciona como telé-
dores de novelas o cualquier otro géne- fono VoIP inalámbrico. Viene acompañado de un
ro, y le han entrado a la era de los libros transmisor USB en forma de pez –sí, de pez – para
electrónicos, Kindle simplemente los va poder alimentarle información. Además, emite una
a volver locos. ¿Qué es? “Es una revolu- alerta cuando llegan correos nuevos; puede bailar,
cionaria pantalla electrónica tipo papel” girar y parpadear según se desee. Sirve también
que se lee y se ve como si fuera papel como altavoz para reproductores MP3 y desper-
real; no requiere de una computadora, tador; y gracias a sus sensores de sonido se pro-
cables o sincronización, su conectividad grama como alarma anti-intrusos. Pareciera que lo
inalámbrica permite comprar directamente en la tienda Kindle desde donde único que le falta es hablar, pero
quiera que uno se encuentre, así que el libro adquirido (de una librería de más también hace esto, ya que pue-
de 90 mil títulos disponibles, incluyendo los Best Sellers del New York Times) de consultar tu calendario de
se auto descarga en menos de un minuto. Se puede acceder también a mues- Google y avisarte con
tras de libros para leer los primeros capítulos y después tomar la decisión de su voz robótica avisa
compra; así como a los mejores diarios y revistas de todo el mundo; más de cuando tienes una
250 blogs de negocios, tecnologías, deportes, entretenimiento y política. Es cita. Como es de
ligero, delgado como una edición de bolsillo, pero con una gran ventaja: le esperarse, todo
caben hasta 200 títulos. Cuenta con batería de larga duración que no requiere el software que
recarga diaria. Ahora viajar con el libro favorito que pesa lo de diez será cosa habilita al Tux
del pasado. Droid es libre.

58 FEB-ABR 2008 www.sg.com.mx


INDEX
Anunciante Páginas Sitio
DIRECTORIO
Adecco 2F, 1 www.adecco.com.mx
Alpha 31 www.alpha-consultoria.com
Avantare 55 www.avantare.com
Compusoluciones 41 www.compusoluciones.com
Cutter 59 www.cutter.com.mx
ESI Center 9 esicenter.itesm.mx
e-Quallity 39 www.e-quallity.net
Gartner 51 www.gartner.com
IDC 61 www.idc-eventos.com
Itera 7 www.itera.com.mx
Linux World 53 www.linuxworldexpo.com.mx
Microsoft 45 www.microsoft.com/mexico
Milestone Consulting F4 www.milestone.com.mx
Nextel 13 www.nextel.com.mx
Pink Elephant 43 www.pinkelephant.com
SafeNet 11 www.safenet-inc.com
SG 49 www.sg.com.mx/sg08
TENEMOS UN ESPACIO
RESERVADO PARA TI S&C 37 www.syc.com.mx
Si deseas anunciarte contáctanos Sun Microsystems 63 www.sun.com.mx
en el (55) 5239 5502 o en Select F3 www.select.com.mx
ventas@softwareguru.com.mx TenStep 57 www.tenstep.com.mx

www.sg.com.mx FEB-ABR 2008 31


59
// COLUMNA // TIERRA LIBRE

La Tecnología al Servicio de la Comunidad


Voluntariado Tecnológico en el Desastre de Tabasco

Emilio Osorio colabora actualmente como Consultor Asociado para Sun Microsystems México. Ha trabajado en desarrollos basados en Java desde
1996 y actualmente se dedica a ayudar a equipos de desarrollo a aprovechar las ventajas del Software Libre y los métodos ágiles en sus organizaciones.
Ferviente entusiasta de la aplicación social de la tecnología, a últimas fechas está involucrado con Organizaciones de la Sociedad Civil. Emilio estará
encantado de recibir sus comentarios y quejas en http://tecnonirvana.org/ y en oemilio@tecnonirvana.org

P ocas veces me he sentido tan orgulloso de


ser tabasqueño y muchas menos de ser de
sistemas como en la reciente inundación de
televisora registrara a todas las personas y se
pudieran procesar las llamadas de la gente
preguntando por sus familiares. Desafortuna-
Por otro lado, no podemos dejar de mencionar,
la valiosa ayuda de algunos grandes amigos
que acudieron con consejo, tiempo y algo de
Tabasco. Tuve la fortuna de presenciar lo que damente, como todo era improvisado, la red programación a soportar estos desarrollos, me
un pequeño grupo de gente bien motivada, sin LAN de TVT no tenía acceso a Internet y eso viene a la mente la contribución de Alexandro
importar su ubicación geográfica, su experien- retrazó la consulta en Internet de la página. Colorado con un desarrollo para replicar bases
cia o la “gurunes” de su conocimiento de tec- de datos, Suly al proveernos infraestructura de
nología pueden hacer para ayudar. Apareció entonces otro grupo de voluntarios chats por scripts de Gtalk, Vicente con su códi-
encabezados por la gente de compañías de sis- go para Mashups con Google maps y decenas
Aún no termina de sorprenderme lo que logra- temas de la ciudad ofreciendo un servidor para de voluntarios virtuales que nos acompañaron
ron estos tecnólogos de diversos orígenes, exce- respaldar periódicamente el sitio completo en sin parar durante esos días de crisis a través
diendo en calidad y oportunidad a la respuesta PHP y la base de datos de MySQL a otro servi- del grupo de google de ayuda@tabasco.
de los organismos gubernamentales. Consideré dor y poder dar lo que era el servicio de informa-
importante contarles lo que presencié en esa ción mas valioso: la ubicación de personas. Con las aplicaciones en línea, las necesidades
semana caótica para nuestro estado, con el de información y administración de los alber-
doble afán de reconocer a quienes participaron La necesidad de los albergues en sí no se po- gados resueltas, otros voluntarios -como Ro-
desinteresadamente en ayudar a sus hermanos día cubrir con la aplicación de PHP, porque los meo- se dieron a la tarea de programar Mas-
y de motivarnos a todos a prestar una mano albergues requerían de información diferente hups para que se pudieran localizar en Google
cuando veamos a los demás en necesidad. a la que TVT estaba registrando, así que la so- maps las ubicaciones físicas de los albergues
lución que se encontró para ellos, fue hacer en la aplicación de búsqueda de personas.
Para mí, todo comenzó con una llamada de uso de un servicio de web 2.0 llamado Zoho Los datos de localización geográfica para el
Eduardo quien me comentó que una amiga Creator, que en esencia es un constructor de aplicativo fueron proporcionados por gente
bloguera suya: Berenice, estaba en un alber- formas de captura en web sin necesidad de del gobierno, que por su parte, liberaron apli-
gue ayudando como voluntaria y necesitaban programar. Con esto se pudo crear en cuestión caciones que sustituyeron los esfuerzos de los
resolver un problema de sincronización de de minutos un sistema de captura distribuida voluntarios en los albergues.
hojas de cálculo que tenían en los dos prin- basado en Internet que podía ser utilizado des-
cipales albergues de Villahermosa. Al llegar de cualquier lugar con conexión a Internet, que Al paso de los días nos llegaron rumores de
allí, me encontré con una pequeña red impro- a diferencia de la telefonía fija y celular, fue el que el gobierno estaba haciendo las mismas
visada y el problema de no poder obtener un único servicio estable durante la crisis. aplicaciones oficiales en Java EE y con todas
censo fidedigno de los albergados debido a las funcionalidades corporativas comunes.
la duplicidad de los registros, era claro que se Eduardo escribió un correo a los creadores Pero, el testimonio de los albergues con los
necesitaba una base de datos. del Zoho Creator por si necesitábamos ayuda que permanecimos en contacto fue que lo que
en algo que no cubriera el servicio. Charles, ofrecía el gobierno era demasiado complejo y
Margarita, la coordinadora del albergue, me co- integrante del equipo de Zoho, se comunicó difícil de usar. Una satisfacción mas para los
mentó que en en la televisora local TVT, había con nosotros por Gtalk desde la India para voluntarios. Estos jóvenes que prestaron un
otro grupo de voluntarios que había logrado ponerse a nuestra disposición. servicio inigualable en el momento justo que
configurar una aplicación en PHP —original- era requerido. Qué orgullo ver que lo que tanto
mente diseñada para un congreso— como una Necesitábamos subir archivos CSV que nos lle- disfrutamos hacer pueda ser de utilidad.
improvisada base de datos para recibir la infor- gaban masivamente a Zoho y usando la forma
mación que todos los demás albergues envia- oficial de subirlos: una API de WebServices ba- ¡Muchas gracias! Eduardo, Berenice, Isaac,
ban por diversos medios. Nos pidió hablar con sado en REST, iba a requerir de programación Romeo y todos los voluntarios por tener los
ellos para ver si ya había algo que se pudiera para soportar la funcionalidad. Se ofrecieron ánimos y la voluntad de demostrar que la tec-
aprovechar para ayudarlos con su problema. un par de voluntarios, pero unos minutos de nología también puede ayudar a disminuir el
chat con Charles lograron que nos mandara un sufrimiento, un verdadero ejemplo de cómo
Al llegar a TVT nos encontramos con un grupo pequeño programa de JavaSE para hacer jus- alcanzar el tecnonirvana...
de voluntarios capturando en la aplicación que tamente eso. Las maravillas del Internet más la
Isaac había logrado reprogramar, para que la buena voluntad del otro lado del mundo. —Emilio Osorio

60 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
// CARRERA

El Crecimiento Empresarial y Laboral


El Valor de un Plan de Carrera y el Desarrollo Personal en la Ingeniería de Software
Por José Luis Flores

Wayne Mondy y Robert Noe en su libro sobre Segundo paso Tener una relación más cercana con los que
la Administración de Recursos Humanos defi- Convergencia de los procesos complemen- toman decisiones. Establecer una relación
nieron a un plan de carrera como un proceso tarios de desarrollo (del sistema social y del de confianza con los superiores.
continuo por el cual un individuo establece individuo). Desarrollar un sentido de lealtad hacia la
sus metas de desarrollo profesional e identi- organización. Comprometerse y sentir afec-
fica los medios para alcanzarlas. El desarrollo Alrededor de este paso, la organización debe to con el lugar de trabajo.
individual y las necesidades organizacionales estar preparada para mantener: Recurrir a expertos en el campo. Consultar a
no son cosas separadas ni diferentes. Las em- Procesos de evaluación. Consultores inter- colegas respetados por su dominio técnico.
presas deben ayudar a los empleados en la nos y/o externos que lleven a cabo entrevis- Recurrir a colaboradores clave. Consultar a
planeación de su carrera para que se puedan tas y simulaciones de negocios. personal del equipo respetado por los demás.
satisfacer las necesidades de ambos. Pruebas psicológicas. Para orientar los in- Conocer realístamente las oportunidades
tereses personales y las habilidades indivi- de progreso. Estar consciente de las condi-
El plan de carrera, es un método para el de- duales. ciones en la organización que permiten o no
sarrollo de aptitudes, fundamentándose en Evaluaciones de desempeño e integración. un desarrollo.
la ubicación de un colaborador en puestos de Con la aplicación consistente de instrumentos
trabajo cuidadosamente estudiados para pro- que evalúen aspectos técnicos o gerenciales En la ingeniería de software
porcionarle la oportunidad de desarrollar las según las características y nivel del puesto. Hoy en día, una de las áreas de ejercicio profe-
competencias necesarias para otros puestos de Plan de formación. Para la actualización de sional más comunes es la de las Tecnologías
mayor responsabilidad. Una gran parte del dise- conocimientos y el desarrollo de competen- de la Información. Dentro de sus vertientes
ño para el reclutamiento, selección, orientación cias. tecnológicas el desarrollo de aplicaciones se
y ubicación del talento/capital humano se hace Proyecciones de ascensos. Retroalimenta- ha consolidado como una disciplina híbrida
en función de las necesidades de la organiza- ción de los superiores de la organización con de lógica altamente estructurada denomina-
ción y es un sistema ideal para la planificación y relación a los avances y logros. da como ingeniería de software.
desarrollo de los Recursos Humanos. Puede ser Planificación de sustituto. En congruencia
implantado de acuerdo a los siguientes pasos. con el concepto de plan de carrera conside- Quien se desempeña en este campo pro-
rar igualmente el desarrollo de los miembros fesional debería de considerar al definir su
Primer paso del equipo de trabajo para, eventualmente, plan de carrera el desarrollar habilidades
Entender los factores esenciales que deben cubrir la posición a futuro. tanto técnicas de su especialidad como ad-
estar presentes en la organización: ministrativas en general tales como:
Igualdad de oportunidades. Los criterios y El Colaborador debe proveerse de:
normas de evaluación son claras y equitativas. Manuales de descripción de funciones. Para Habilidades “duras”: contratación, finan-
Apoyo del reporte superior inmediato. Interés tener claras las responsabilidades y alcan- zas, control de costos y calendarios, medi-
del supervisor en el crecimiento profesional de ces de su actuación. ción del desempeño, monitoreo de la cali-
sus subordinados y su retroalimentación ade- Mapa de carrera. Considerando las posibi- dad, análisis de riesgos.
cuada y oportuna. lidades de ascenso fundamentadas en el Habilidades “suaves”: negociación, gestión
Conocimiento de las oportunidades. Esque- organigrama presente y las proyecciones de del cambio, astucia política, empatía, comu-
ma institucional en términos de reconoci- crecimiento. nicación oral y escrita.
miento y espacios disponibles para ubicarse Sesiones sobre planificación de carrera. Se-
en la organización en función de los resulta- siones de asesoría y acompañamiento por
dos individuales. parte de personal calificado.
Conclusión
Interés del colaborador. El genuino compro- No es tan sencillo el implantar este
miso de la persona en aprender y desempe- Tercer paso concepto, debido al gran valor que
ñarse mejor. El desarrollo profesional individual, concretado tiene este tipo de programas, si no se
Satisfacción personal. Dependiendo de la en el convencimiento y compromiso de cada diseñan e instrumentan correctamen-
edad y circunstancias personales y de pre- persona y que comprende acciones para: te la pérdida de credibilidad es muy
paración, el sentirse feliz con la contribución Lograr mejores niveles de desempeño. Es- difícil de recuperar posteriormente.
a la comunidad. forzarse en una ejecución de excelencia.

José Luis Flores Pérez es Director Editorial de la firma de Consultoría y Educación en Procesos de Negocio y Dirección de Proyectos TenStep Latinoa-
mérica. José Luis tiene estudios de Doctorado en Ciencias de la Administración en la Universidad Nacional Autónoma de México (UNAM). Es graduado en
Administración Estratégica de Tecnologías de Información por la Universidad de California en Berkeley y Diplomado en Administración de la Calidad y en
Desarrollo de Habilidades de Dirección por el Instituto Tecnológico Autónomo de México (ITAM). Puede ser contactado en jflores@tenstep.com.mx

62 FEB-ABR 2008 www.sg.com.mx


www.sg.com.mx FEB-ABR 2008
TECNOLOGÍA
////BIBLIOTECA

Silverlight 1.0 Unleashed


Adam Nathan, SAMS
AIGA, 2007

01
Hablar de Silverlight 1.0 es sinónimo de desarrollar contenido estático que se pue-
aplicaciones resultado de una mezcla de XAML de generar con esta tecnología.
(eXtensible Application Markup Language), HTMl
y JavaScript, herramientas fáciles de integrar dentro de una La última parte, está enfocada
aplicación Web ya existente. Además de ser compatibles con para que el lector aterrice los
las bibliotecas y técnicas del ya popular AJAX (Asinchronous conceptos al mundo real, mos-
JavaScript and XML). Por estas características, se le considera trando en un capítulo cómo crear
a Silverlight la promesa alternativa a otro de los más populares una aplicación interactiva o cómo
dentro de las aplicaciones web: Flash. Esto lo logra a través experimentar con los conceptos
de la creación de contenido web enriquecido y aplicaciones de animación, audio o video.
utilizando add-on’s que son igualmente amigables tanto para
desarrolladores como para diseñadores. Uno de los temas que trata de
manera fácil de entender es
Para todos aquellos interesados en conocer más sobre Silverlight XAML, el cual se muestra en su
este libro es un buen comienzo. El libro está compuesto por 10 forma nata y no a través de alguna herramienta que pueda pro-
capítulos distribuidos en tres partes. La parte de fundamentos ducirlo, característica que le da un valor agregado al libro y que
abarca dos temas: el inicio con Silverlight y otro capítulo dedica- lo distingue de otros textos similares. Indudablemente un texto
do a XAML. La segunda parte del libro abarca temas referentes al que no debe faltar en el librero.

Java Persistence with Hibernate


Christian Bauer, Gavin King
MANNING, 2006

02
Para los amantes de Java y sus herramientas, este entre el lenguaje de marcado y
libro es una opción para conocer más a fondo los el lenguaje de programación.
conceptos de Hibernate, proyecto ambicioso que Otro punto que al igual que
tiende a ser una solución completa al problema de los datos el uso de un DBMS también
persistentes en Java, mediando la interacción de la aplicación es importante y siempre está
con una base de datos relacional, brindando al desarrollador lantente,es la carga y almace-
libertad para concentrarse en los problemas relacionados con la namiento de datos, proceso
lógica del negocio. que se tiene presente en esta
edición y los autores le dedican
Podemos distinguir tres secciones: la parte introductoria que lle- la última sección de este libro.
vará al lector, no solamente a repasar conceptos básicos sobre el
paradigma de la programación orientada a objetos, sino que tam- Para finalizar, una introduc-
bién lo guía a dar sus primeros pasos con Hibernate describiendo ción al framework JBoss Seam
sus conceptos básicos. y complementar los conceptos
de Hibernate y dar el paso de
Interactuar con un administrador de bases de datos siempre es crear fácilmente aplicaciones Web. Aquí, podemos contemplar las
necesario, así que la segunda sección trata este tema, a través mejores ideas de los autores para realizar tareas cuando se tra-
de las opciones de mapeo en Hibernate y mencionando el mapeo baja con datos persistentes en Java explicados bajo el contexto
con archivos tipo XML y Java, mostrando al lector la convivencia de Hibernate.

64 FEB-ABR 2008 www.sg.com.mx


No. 19 www.sg.com.mx SOFTWARE GURU CONOCIMIENTO EN PRÁCTICA Febrero-Abril 2008

You might also like