Escolar Documentos
Profissional Documentos
Cultura Documentos
editorial
El usuario tiene
derechos
C
on los años, y como profesional informático, uno va adquiriendo ex-
periencia no sólo en el campo del desarrollo de aplicaciones sino tam-
bién en el trato y relación con los usuarios de las mismas. En este
sentido, todos hemos vivido situaciones tan anecdóticas o tan com-
prometidas que, con el tiempo, nos han hecho acreedores de una cierta
mala fama y de que, en general, se nos acuse de prestar poca aten-
ción a las necesidades reales del usuario. Es más, nosotros, también como usuarios
y en más de una ocasión, nos hemos acordado de aquel programador al que se le
ocurrió la brillante idea de combinar las teclas “Control-Alt-Del” del PC para fina-
lizar, sin ningún tipo de control, alguna que otra sesión de Windows.
equipo editorial
Director: Antonio Montía
en portada
Redacción: Carlos Bell, Alberto C. Blanch,
10
Equipo internacional de iSeries NEWS
Colaboradores habituales: Jaime Gustavo
Recopilación y documentación de requisitos
Estany, José Mª Martín, Lluís Peiret por Russ Bartlett
Traducciones: Pere J. Francisco Brumós El usuario final de una aplicación es la persona a la que
producción va destinada una aplicación una vez que ésta ha supera-
Realización: Media Limits S.L. do las fases de desarrollo. Descubra cómo conseguir re-
Maquetación: Ramiro Esteve Coll quisitos de los usuarios claros, concisos, fáciles de cuanti-
Impresión: G2B gràfic S.L.
Distribución: Unipost S.A.
ficar y de probar.
administración
- iSeries NEWS
www.pentontech.com
LATINOAMERICA
distribuidores
Belice, El Salvador, Guatemala y Honduras
VIACOMP
6ª Avenida. "A" 2-83 Zona 10
Ciudad de Guatemala, GUATEMALA 01010
Telf. 502-360-0358 y 360-0350
Fax 502-332-33694
email: viacomp@guate.net
www.viacomp.net opinión
Perú
management
estrictamente confidencial
3 Editorial
tamos diez técnicas garantizadas para conseguir que un proyecto
6 Novedades
de desarrollo fracase (y diez remedios infalibles para asegurarse de
todo lo contrario) 40 Guia
42 Confidencial
www.help400.es MARZO 2008 ServerNEWS 5
MARZO 2008 ServerNEWS 5
novedades
■ Econocom abre
Tango/04 consigue los mejores resultados nuevas oficinas en
Barcelona
de su historia en 2007 Econocom, empresa líder en
renting y gestión de activos infor-
ango/04 Computing Group, líder europeo en desarrollo de software para Gestión de Sistemas,
T Auditoría de Seguridad y Gestión de Servicios de Negocio (BSM) ha conseguido resultados finan-
cieros extraordinarios en el ejercicio 2007, finalizado el pasado 31 de diciembre. La empresa ha dado
máticos y de telecomunicaciones,
ha abierto nuevas oficinas en Bar-
celona “para hacer frente al creci-
beneficios por decimoquinto año consecutivo, con las ventas internacionales creciendo a más del 30% miento que hemos experimentado en
interanual. El crecimiento ha sido más notable en América Latina, alcanzando un crecimiento extraor- la región en los últimos meses”, co-
dinario que la consolida como líder en dicho mercado, con un aumento de ventas del 76,4%. mentó Ángel Benguigui, Director
“Estamos muy contentos con estos resultados”, dice Raúl Cristián Aguirre, Gerente y Fundador de General de Econocom España. La
Tango/04, “evidentemente estamos acertando con nuestro nuevo enfoque de monitorización 1 – 2 – 3, su nueva sede de Econocom en Bar-
facilidad de uso y sus cortos tiempos de implantación. Conseguimos éxitos continuamente justo donde celona está situada en Roger de
nuestros competidores están fallando.” Lluria, 50. Con este cambio,
Durante 2007 se añadieron más de 100 nuevos clientes, incluyendo a ING, Citigroup, Nike, FMO, Econocom continúa con su estra-
Boehringer Ingelheim, Helvetia Previsión, FiatC, Dolce & Gabbana, Louis Vuitton Malletier, Costco, tegia de aumentar el compromiso
Bayer CorpScience, Zurich Seguros, Mapfre, Pernod Ricard, Seur Geopost, Swiss Medical Group, Tele- con Catalunya a más largo plazo.
visa, EDS, BBVA Previsión, Industrial Bank, Center Parcs, Euronet, etc. Según Benguigui, el crecimien-
“Diez de las veinte entidades financieras más grandes del mundo son ya nuestros clientes. Tenemos to que está experimentando el
éxito tanto en proyectos de Seguridad como en los de Gestión de Servicios e Infraestructuras. Hemos renting tecnológico en todo el país
presentado productos innovadores y únicos para simplificar las tareas diarias de los profesionales de TI. está siendo más acusado en Bar-
Año tras año vamos superando hitos históricos en un mercado súper competitivo como es el de la celona, “donde la cultura del Ren-
monitorización multiplataforma. Estamos preparados para ser líderes”, añade Aguirre. ting está muy arraigada. Aunque
Para apoyar el crecimiento continuo, Tango/04 ha abierto durante 2007 nuevas oficinas en Estados nuestra sede central permanecerá
Unidos, Brasil y Colombia. También se han mejorado las operaciones a través del canal con nuevos o en Madrid, porque es un centro de
renovados acuerdos con partners como IBM, PricewaterhouseCoopers, Electronic Data Systems (EDS), negocios clave en España, Barcelo-
PST Business Solutions, Moores Rowland (India) (parte de BDO), Sanwa Contec (Japón), Concord na es un mercado que empieza a
(Taiwán) y muchos otros. ganar protagonismo en el creci-
“Tenemos plena confianza en que en 2008 volveremos a batir todos los récords. Tenemos numerosas miento de nuestra empresa. El mer-
oportunidades comerciales abiertas, vamos a lanzar nuevos productos y el mercado mundial está madu- cado español es, cada día, más re-
rando velozmente para soluciones como las nuestras: prácticas y que aporten un gran valor rápidamente. ceptivo al Renting IT. Cada día
Creo que vamos a hacer historia”, concluye Aguirre. más empresas apuestan por esta
1-2-3: Con Tango/04, llega la monitorización integral opción en lugar de la compra, debi-
Tango/04 es la única solución de monitorización en tiempo real que permite controlar y reaccionar de do a los beneficios inmediatos que
manera proactiva ante cualquier incidencia que afecte a la empresa, ya sea de seguridad, de infraes- experimentan en términos económi-
tructura, o de negocio: cos, financieros y de gestión”.
1) Infraestructura TI: Servidores multiplataforma, base de datos, dispositivos de red, etc. A través de las soluciones de
2) Seguridad: Auditoría y Cumplimiento de Leyes y Regulaciones (LOPD, SOX, HIPAA, etc.) Renting que ofrece Econocom, las
3) Servicios de Negocio: Aplicaciones, Niveles de Servicio (SLM) y gestión de los servicios del negocio empresas no tienen que adquirir y
vincular su capital a equipos infor-
Para más información, Telf.: 932.749.051 - www.tango04.es máticos sometidos a una rápida
depreciación. Además, para hacer
■ Según axesor, la Los subsectores analizados por so del 12,4% en la creación de frente a los continuos desafíos del
mercado y disfrutar de los benefi-
creación de empresas axesor en su informe son: Con- empresas informáticas, lo que
sulta de equipo informático; Con- supone 347 sociedades menos cios ofrecidos por las tecnologías
informáticas desciende
sulta y suministro de aplicaciones Por comunidades autónomas, más modernas e innovadoras, las
un 12,4% en 2007
informáticas; Actividades de pro- Madrid encabeza la lista de crea- empresas tendrían que adecuar
Un total de 2.453 nuevas socieda- ceso de datos; Actividades relacio- ción de empresas informáticas, continuamente sus activos TI, con
des mercantiles se han incorpora- nadas con bases de datos; Mante- con 688 nuevas sociedades, segui- el riesgo de incurrir en gastos
do al sector informático español en nimiento y reparación de equipo da por Cataluña con 583 y en el insostenibles. “El Renting permite
2007. Así lo refleja en su último informático, y Otras actividades tercer puesto Andalucía, con 280. mantener siempre actualizado el
“Estudio Radar sobre el sector relacionadas con la informática. Cierran la clasificación Ceuta y parque TI y poder optimizar su cos-
informático” axesor, empresa es- Comparando los datos con los Melilla (2 nuevas empresas infor- te total”.
pañola especializada en el sumi- registrados en los años 2005 y máticas) y La Rioja (3). El seg- Fundada en 1984, Econocom
nistro de información empresarial 2006, se observa tanto un descen- mento que mayor dinamismo pre- está presente en los ocho merca-
por Internet, que analiza la situa- so en el número de constituciones senta es el de consultoría y dos más importantes de Europa y
ción de altas y disoluciones de como un incremento en el núme- suministro de aplicaciones, con actualmente cuenta con más de
empresas del sector TIC a lo lar- ro de disoluciones. Respecto a 1.872 nuevas sociedades mercan- 2.200 empleados.
go del año pasado, tomando como 2006, año en el que se crearon un tiles. Para más información,
base la clasificación nacional de total de 2.800 empresas en este Para más información, Telf.: 914.119.120
actividades económicas CNAE. sector, se ha producido un descen- www.asexor.es www.econocom.es
M
uchos de nosotros conocemos una viñeta en que es que el comprador no conseguirá la casa de sus sueños. La
se ve una habitación llena de programadores verdad es que nadie se construiría una casa de esta manera
trabajando en sus terminales. El encargado de- y, sin embargo, en el mundo de la informática he visto desa-
clara mientras sale de la habitación: “Voy a rrollar sistemas enteros de forma parecida. A menudo, espe-
averiguar cuáles son los requisitos de los usua- ramos que los usuarios tengan claros todos los requisitos antes
rios... vosotros empezad a programar”. En la década de 1960 de crear el sistema. Pero lo normal es que no los conozcan
y parte de la de 1970, este “método” solía ser el más habitual. todos al principio del ciclo vital del proyecto y, en ocasiones,
Pero afortunadamente hoy en día esta técnica sólo se usa en puede que esto sea así hasta que el sistema esté en funciona-
unos pocos departamentos de informática. miento. La complicación aumenta en un modelo de desarro-
Lo que sigue siendo habitual, es tratar la recopilación, do- llo por etapas o en cascada ya que en él la fase de obtención
cumentación y análisis de los requisitos de los usuarios de de requisitos aparece como lineal, aunque no es un proceso
manera informal. Teniendo en cuenta que los requisitos de estrictamente lineal. Variaciones posteriores de modelos de
los usuarios son el propósito de la iniciativa –el proyecto– proyectos, como los métodos ágiles, reconocen este hecho y
deberíamos prestar especial atención a la recopilación, docu- tratan los proyectos, en particular la recopilación de requisi-
mentación, análisis y gestión de aquéllos. La principal razón tos, como un proceso iterativo.
por la que fracasa un proyecto es la mala definición de los
requisitos de los usuarios. Para asegurarnos de que nuestros Obtención de requisitos de calidad
proyectos tienen éxito, en este artículo veremos cómo usar Ahora vamos a explorar algunas formas de obtener requisi-
algunos métodos existentes para obtener requisitos claros, tos de mayor calidad. Nos centraremos en el método tradicio-
concisos, fáciles de cuantificar y comprobar. nal usado para la fase de obtención de requisitos y luego ve-
remos cómo se puede mejorar el proceso gracias a la definición
Salirse de la rutina de prototipos. Pero, antes que nada, ¿qué es exactamente un
En este negocio, nos cuesta salirnos de la rutina y, para la requisito de software?
mayoría de nosotros, ésta consiste probablemente en crear El estándar 612.12.1990 del IEEE describe un requisito de
diseños técnicos y escribir código. Al fin y al cabo, lo realmen- software como:
te interesante es el diseño y programación de la base de da-
tos... es lo que mola, ¿no? Fuera de este ámbito, nos encontra- • una condición o función que necesita un usuario para resol-
mos algo menos cómodos, así que solemos prestar menos ver un problema o lograr un objetivo
atención y hacemos las tareas apresuradamente. Para ilus- • una condición o función que debe satisfacer o procesar un
trar esta idea, estableceré una analogía: la de encargar la sistema o el componente de un sistema para cumplir un
construcción de una casa nueva. contrato o ser conforme a un estándar, especificación u otro
En esta situación hipotética, tenemos por un lado al con- documento impuesto formalmente
tratista y por el otro al futuro dueño de la casa. El contratis-
ta programa una reunión con el comprador para que éste le En otras palabras, un requisito debe definir lo que el siste-
plantee los requisitos para construir la casa. El contratista, ma ha de hacer sin explicar cómo se ha de hacer. Este es un
libreta en ristre, aguanta toda la sesión de recopilación de error habitual. Introducir el “cómo” en este momento limita
requisitos. El comprador piensa que está bien preparado y las opciones. Los requisitos no deben introducirse hasta la
ha hecho una lista de algunos de los criterios básicos que ha fase de especificación de los requisitos del sistema (más ade-
de satisfacer la casa pero no está tan seguro de otros. Mien- lante explicaré más detalles sobre el particular).
tras negocia con el comprador, el contratista usa términos Antes de ver cómo documentar los requisitos, permítame
técnicos confusos y pide al comprador que confirme todos los definir algunos términos con los que puede que no esté fami-
requisitos antes de continuar. El comprador siente que la toma liarizado. Estos términos constituyen las etapas principales
de decisiones es demasiado precipitada y no es capaz de del diseño de los requisitos de software.
proporcionar todos los detalles necesarios, pero da por su- Adquisición de los requisitos. Define el proceso gracias
puesto que el contratista ha hecho esto muchas veces antes y al cual las partes interesadas proporcionan la información
que todo saldrá bien. necesaria para desarrollar y documentar los requisitos. En
Si nos imaginamos cuál será el resultado de este caso hipo- pocas palabras, es el proceso por el que se averiguan y re-
tético, todos llegaremos a la conclusión de que lo más probable únen los requisitos. Esto requiere que el analista de sistemas
no simplemente anote pasivamente los requisitos, sino que puede hacerse de forma gradual ordenada-
debe profundizar para entender detalladamente los proble- mente y de forma interativa. Esto no sólo
mas y necesidades de los usuarios. Los requisitos se clasifi- se aplica a la “fase” de especificación de
can a grandes rasgos en dos tipos: funcionales y no funciona- requisitos de los sistemas del proyec-
les (se describen en el apartado siguiente). Además, como parte to, sino también a todo el proyecto en
de este proceso, también se define el alcance del sistema y los su conjunto.
objetivos del proyecto. Todo este proceso, así como las fa-
ses posteriores, puede ser iterativo a lo largo de todo el
ciclo vital del proyecto. Durante esta fase, nuestro ob-
jetivo es capturar y anotar con precisión los requisi-
tos principales.
Análisis de los requisitos. Aquí es donde clasifi-
camos y creamos modelos de los requisitos usando
varias técnicas de creación de modelos, como por ejem-
plo, casos de uso, lenguajes unificados de creación de
modelos (UML) o diagramas de flujo de datos. Además,
los modelos son la base de nuestro diseño arquitectónico.
También es la hora de las negociaciones entre las partes
interesadas y de hacer concesiones. Básicamente, ne-
cesitamos priorizar los requisitos y entender cuá-
les son obligatorios y cuáles no. En esta etapa
podemos eliminar algunos requisitos. La razón
es sencilla: puede que no tengamos tiempo, recur-
sos o presupuesto suficiente para satisfacer todos
los requisitos de los interesados. Los requisitos se
intercambian y canjean en función de las restriccio-
nes del proyecto. De hecho, los usuarios con más expe-
riencia suelen pedir más cosas de las que realmente ne-
cesitan anticipándose a este proceso de negociación. En la
práctica, el análisis de los requisitos suele conducir a la ad-
quisición de más requisitos conforme se conocen más deta-
lles. Si comparamos este método con otros en los que se redu-
ce la planificación del proyecto, comprenderemos porqué en
éste se acaba sacrificando la calidad para ajustarse a la fe-
cha de entrega.
Especificación de los requisitos. Aquí es donde genera-
mos las especificaciones del software creando documentos que
se usarán para crear las especificaciones del sistema (ense-
guida veremos cómo hacerlo).
Validación de los requisitos. Aquí es donde verificamos y
validamos los requisitos llevando a cabo revisiones o definiendo
prototipos. El método que utilizamos se usará en la prueba de
aceptación del usuario. Nuestro objetivo es asegurarnos de la
exactitud con que se han llevado aplicado los requisitos de
los usuarios, uno por uno o en su conjunto.
Aunque he clasificado los pasos anteriores con
fines informativos, en realidad, la adquisición,
análisis, especificación y validación de los requisitos
www.help400.es MARZO
MARZO 2008 ServerNEWS 11
2008 ServerNEWS 11
■ EN PORTADA
FIGURA 1
Ejemplo de esbozo de documentación estándar del IEEE
Ahora vamos a ver con más detalle cómo se realiza la espe-
cificación de los requisitos. 1. Introducción
1.1. Finalidad: ofrece un resumen del objetivo del documen-
Requisitos funcionales y no funcionales to.
Por regla general, se considera que un requisito es o bien 1.2. Alcance: describe el producto que va a desarrollarse y lo
funcional o bien no funcional. Los requisitos funcionales de- que está dentro y fuera de su alcance. Aquí se puede
finen lo que el sistema debe hacer desde el punto de vista del usar un diagrama de contexto (diagrama de flujo de
usuario para cumplir los objetivos que se le exigen. Los re- datos de nivel superior para mostrar las relaciones con
quisitos no funcionales pueden subclasificarse en restriccio- otras entidades y los límites del sistema).
nes y cualidades. Las restricciones imponen límites al diseño 1.3. Definiciones, acrónimos y abreviaciones: describe todos
o a las funciones. Las cualidades son propiedades o caracte- los términos usados en el documento.
rísticas que interesan a los usuarios (como la facilidad de 1.4. Referencias: proporciona referencias a otros documen-
uso, la fiabilidad, la seguridad, la escalabilidad y la tos que usados para compilar este documento.
configurabilidad) y pueden contribuir a que el sistema resul- 1.5. Visiones generales: ofrece una visión general del domi-
te satisfactorio globalmente. nio del problema.
Un requisito debe ser: 2. Descripción general
2.1. Perspectiva del producto: describe de qué forma el
• Conciso: debe definirse en términos claros y concisos. producto que va a desarrollarse se relaciona con otros
• Correcto: debe describir con precisión cuáles son las cuali- productos existentes, si forma parte de un sistema
dades previstas del sistema. mayor o si será autónomo.
• Inequívoco: debe definirse en términos claros, comprensibles 2.2. Funciones del producto: describe en términos funciona-
(sólo debe haber una interpretación del propósito) les qué hará el producto que se va a desarrollar
• Verificable: debe ser verificable desde el punto de vista de 2.3. Características del usuario: describe las características
la comprobabilidad (por ejemplo, en vez de explicar que el especiales del sistema que pueden requerir formación o
sistema debe permitir recuperar rápidamente la informa- experiencia especiales por parte de los usuarios
ción del catálogo, un requisito mejor afirmaría que el siste- 2.4. Restricciones generales: enumera las restricciones que
ma debe permitir la recuperación de información del catálogo influirán en el diseño. Éstas pueden ser normativas
en dos segundos, lo que es comprobable desde el punto de vis- gubernamentales, obligaciones relativas a la seguridad, el
ta de la prueba del sistema y de la de aceptación del usuario). hardware, etcétera.
2.5. Suposiciones y dependencias: describe suposiciones,
Los requisitos también deben ser factibles desde un punto como por ejemplo el crecimiento previsto y las posibili-
de vista técnico y comercial. dades de que la solución satisfaga las necesidades de la
Una vez reunidos todos los requisitos, hemos de realizar empresa, o si la solución dependerá de que existan
más comprobaciones sobre el grupo de requisitos en su con- otros sistemas y que estén en marcha.
junto. Este grupo debe satisfacer “las tres Ces”: 3. Requisitos concretos: da detalles de todos los requisitos
y proporciona documentación de soporte, como casos
• Conciso. Los requisitos en su totalidad deben describir de de uso o diagramas de flujo de datos.
forma concisa el sistema que se va a construir. Si hay de-
masiados requisitos, se pueden introducir errores e in-
coherencias. obviamente dependerá de cosas como el hardware, el soft-
• Completo. En su conjunto, los requisitos deben describir de ware y el número de cuentas al que se acceda durante un
forma adecuada todo el sistema que se va a construir. periodo de tiempo dado. Además, el término “detalles de la
• Coherente. Los requisitos individuales deben ser compati- cuenta” debe entenderse perfectamente (por ejemplo, el nom-
bles con los requisitos en su conjunto. No debe haber in- bre del cliente, el saldo de la cuenta y la fecha de la última
coherencias entre requisitos. Si se diera el caso, revise y compra). Un análisis posterior puede desvelar requisitos adi-
resuelva las discrepancias con los usuarios. cionales, a los que se denomina “requisitos derivados” porque
dependen de un requisito principal.
Ahora vamos a ver cómo documentar los requisitos de los Asimismo, evite el uso de la conjunción “o” al definir un
usuarios para eliminar cualquier ambigüedad. requisito, ya que puede conducir a interpretaciones erróneas.
Por ejemplo, pensemos en esta frase: La consulta de la cuen-
Documentación de los requisitos ta del cliente debe mostrar detalles del saldo o el resumen de
En primer lugar, redáctelos en estilo afirmativo, usando la cuenta. Este tipo de frases dejan abierta su interpretación
términos como “debe” o “ha de”. Por ejemplo, el sistema debe y pueden acabar convertidas en funciones incorrectas del sis-
ser capaz de responder con detalles de la cuenta en dos se- tema. Un diseñador puede creer que esta frase significa que
gundos a todas las peticiones de los usuarios. Que el tiempo lo que hay que hacer es mostrar o bien lo uno o bien lo otro,
de respuesta de dos segundos sea factible es otra cuestión y pero si tenemos información tanto del saldo como del resumen
E
l verano pasado asistí a una lluvia de ideas de aprendizaje y exigen invertir en una metodología para el
desarrollo de aplicaciones. En el mundo del System i estas
de un profesional del entorno sobre el de-
soluciones también suelen ser de distintos tipos. Por ejemplo,
sarrollo de aplicaciones en el mundo actual muchos proveedores de soluciones tienen más de un paquete
de los System i. No recuerdo muy bien cuál de desarrollo de aplicaciones dependiendo de las necesidades
concretas de cada empresa, de modo que las etiquetas pue-
era el contexto, pero me quedé con una de sus ideas:
den ser doblemente complicadas. A efectos prácticos las lla-
“Me pregunto si, para equipos de desarrollo peque- maré soluciones para el desarrollo de aplicaciones.
ños, no sería mejor adquirir una herramienta de
desarrollo de aplicaciones en vez de intentar apren- De vuelta al asunto que nos ocupa
Regresando a aquella conversación, mi contertulio compar-
der nuevos lenguajes y técnicas”. tía su experiencia sobre organizaciones que han podido asu-
Se refería a usar juegos de herramientas que generan códi- mir más trabajo de desarrollo al confiar en una herramienta
go en lugar de herramientas que básicamente mejoran la efi- que les ha servido de base para la modernización de sus apli-
cacia de la programación manual. El término de la vieja caciones, por así decirlo, con la importante ventaja adicional
escuela es CASE, siglas de Computer-Aided Software Engi- de mejorar la productividad.
neering o Ingeniería del software asistida por No obstante, la premisa original del comentario que recuer-
ordenador y aunque el nombre es lo bastante do del verano pasado, se basaba más en la idea de que algu-
genérico como para seguir teniendo impor- nas organizaciones que básicamente utilizan plataformas
tancia hoy en día, no lo había oído desde System i, emplean a programadores de RPG que es poco pro-
bable que progresen en sus conocimien-
tos. En un océano de cambios, ellos sim-
Los programadores pueden invertir plemente se mantienen a flote pero
en formación para adquirir nuevos acabarán cansándose. Con suerte, en
ese momento pasará el barco de su ju-
conocimientos o bien adquirir una bilación; pero lo más probable es que
solución completa y robusta para el se vean nadando para huir de los tibu-
rones o en un bar de la playa tomando
desarrollo de aplicaciones. margaritas, situaciones que pueden
obligarles a actuar para usar lengua-
hacía mucho tiempo. Existen herra- jes y técnicas de programación más modernas o más conoci-
mientas parecidas en la categoría das con el fin de lograr su objetivo, bien sea disfrutar de las
RAD (Rapid Application Development). margaritas o escapar de los tiburones.
También se trata de un término global, pero De un modo u otro, esos programadores flotantes pueden
no tiene las connotaciones negativas asocia- invertir en formación para adquirir nuevos conocimientos o
das con las viejas herramientas CASE. No obs- bien adquirir una solución completa y robusta para el desa-
tante, RAD incluye una filosofía, dependiendo de lo rrollo de aplicaciones. Las dos opciones tienen ventajas e in-
riguroso que se quiera ser, del desarrollo iterativo basado en convenientes, al menos dos escuelas distintas de pensamien-
prototipos. Los actuales entornos de desarrollo integrado to y están asociadas a la desagradable idea de que si los
(IDE) conforman otro juego de herramientas, éste más próxi- programadores no hacen nada, con suerte acabarán perdién-
mo al espíritu de la programación manual y generalmente dose las margaritas y, en el peor de los casos, desmembrados
acompañado de un control más directo sobre la propia crea- por los tiburones.
ción del código.
No quiero empantanarme en una infructuosa exploración Los cimientos de la resistencia
de términos y etiquetas. Lo único que pretendo es hablar de Algunos desarrolladores del System i han empezado a poner
soluciones comerciales, que tienen una determinada curva los cimientos de la resistencia y profesionalmente suelen
proceder de dos campos: los que se han criado con RPG y su 5. Las aplicaciones basadas en Windows parecen bastante
integración con el AS/400, y los que conocen diversas técni- baratas y los partidarios de Windows del grupo están pre-
cas de programación, pueden utilizar varios lenguajes y cons- parados y deseando ampliar su nivel de responsabilidad...
tantemente están aprendiendo cosas nuevas. Todos ellos sue- o puede que la empresa subcontrate el trabajo que hay que
len creer que programarlo todo a mano es mejor porque se hacer en Windows.
crea un código optimizado que es más fácil de mantener. 6. En algún momento, la organización acaba escindida entre
Además, no quieren que una solución para el desarrollo de el grupo del System i y, por ejemplo, el grupo .NET.
aplicaciones ponga a su compañía entre la espada y la pared. 7. Los profesionales del System i se dedican a dar soporte y
También puede que les preocupe su currículo y que se pre- mantener el código heredado mientras que otros desarro-
gunten si el uso de una solución para el desarrollo de apli- lladores de aplicaciones se encargan de crear las nuevas
caciones limitará sus posibilidades de conseguir un puesto aplicaciones.
de trabajo.
En el mundo del System i, también hay una facción radical En este contexto, la inacción de los programadores y de los
partidaria de IBM: los programadores que sólo utilizan he- responsables del System i lleva a quedarse atrapado en el
rramientas y soluciones de IBM. Si no es de IBM, ni siquiera código existente, situación de la que es difícil salir. Esto es
cabe plantearse la posibilidad. En este mismo sentido, algu- malo para los amantes del System i y horrible para el
nos programadores y responsables se ven entorpecidos por ecosistema de la plataforma.
los presupuestos y, a veces, por las actitudes: jamás compra-
rán una herramienta o solución si no es gratis o si IBM no la Capacidad de comercialización
incluye de serie. Sí, el mundo que nos rodea es implacable. Dada la enorme
cantidad de código escrito en RPG que existe hoy en día, la
Tantas tecnologías división System i de IBM sin duda podría desaparecer de re-
El número de lenguajes y métodos posibles que pueden usar- pente y aún así muchos expertos en RPG todavía podría vivir
se para lograr el resultado buscado puede ser apabullante. bien de RPG hasta su jubilación, aunque tuvieran que hacerse
RPG IV, Java, JavaScript, .NET, PHP, XML, CGIDEV2, HTML, consultores y pasarse la vida viajando por todo el mundo.
CSS, Python, Ruby y Groovy son sólo unas cuantas posibili- Seguro que algunos se sentirían impelidos hacia soluciones
dades. ¿Qué sucede si una empresa invierte durante meses basadas en la conectividad y SOA. ¿Cuál es la respuesta?
en formación para acabar descubriendo que la solución que ¿Aprender a usar una solución centrada en una herramienta
se está estudiando no es adecuada para la organización? ¿En concreta limita a los programadores?
cuántos departamentos informáticos en los que se usa RPG No. Mientras los programadores conozcan sus puntos fuer-
se ha intentado dar el salto a Java? ¿En cuántos no lo han tes, las claves para tener un trabajo ahora y en el futuro,
conseguido? Y, puede que lo más importante, ¿En cuántos de- progresarán. “Su auténtica habilidad es que son capaces de
partamentos que trabajan con RPG han tenido noticias de equiparar la tecnología con las necesidades de la empresa”,
otros departamentos que hayan intentado migrar a Java, se señala Greg Best, vicepresidente de ventas de Lansa. “Los
han enterado de su fracaso y han acabado abandonando las más veteranos pueden resolver problemas de la empresa y
nuevas tácticas? tienen valor en el mercado, pero no porque conozcan Lansa o
una herramienta. Conocen el negocio y pueden aplicar la tec-
Los siete pasos hacia un futuro sin salida nología al problema”.
El mayor riesgo está en la posibilidad de volverse obsoleto De forma parecida, los proveedores conocen casos de pro-
debido a la inacción. Así es como el letargo se está instalando gramadores o responsables que utilizaban ciertas herra-
en algunas organizaciones: mientas en una empresa, cambiaron de trabajo, fueron a
una organización nueva equipada con System i y, con el
1. Las aplicaciones del negocio (ERP y las desarrolladas in- tiempo, impusieron las herramientas que habían utilizan-
ternamente) se ejecutan en el System i. do antes.
2. Los programadores y responsables del System i no ponen Imagine cómo es esta persona. En 1998 aprende HTML y
al día sus conocimientos y adquieren herramientas de ter- se convierte en un experto programándolo a mano. Usando
ceros para desarrollar componentes basados en GUI y apli- tablas y marcos, se convierte en una impresionante fábrica
caciones nuevas de apariencia moderna (portales, BI, B2B de crear páginas web en solitario capaz de utilizar un juego
o incluso aplicaciones concretas, clientes enriquecidos u limitado de herramientas para crear páginas extraordina-
otras) para satisfacer necesidades básicas de la empresa. rias en las que publicar un montón de información de la em-
3. Los directivos ven que el grupo de desarrolladores del presa. Entonces, otros desarrolladores web empiezan a usar
System i es el responsable de las aplicaciones de pantalla JavaScript, XML y bases de datos para crear páginas web
verdes y poco más. dinámicas. En lugar de aprender esas nuevas tecnologías –o
4. La dirección cree que ni el System i ni el equipo de desa- incluso las herramientas que permiten automatizar la mayo-
rrollo del “i” son capaces de desenvolverse bien con aplica- ría de las tareas de programación– se atrinchera diciendo
ciones GUI modernas. que “Soy un programador de HTML. Yo no utilizo JavaScript.”
www.help400.es MARZO
MARZO 2008 ServerNEWS 17
2008 ServerNEWS 17
■ EN PORTADA
de aplicaciones es que protege a los desarrolladores no sólo código HTML, CSS y JavaScript específico de la web. Al mis-
del mundanal y repetitivo proceso de programación, sino tam- mo tiempo, Profound Logic tiene una solución para clientes
bién de las conexiones subyacentes y de las actualizaciones y interesados únicamente en desarrollar aplicaciones para la
estándares tecnológicos nuevos. web lo más rápidamente posible y que quieren tener el me-
“Intentamos simplificar las cosas de modo que nosotros nos nor contacto posible con cualquier cosa nueva... ni siquiera
encargamos de las cuestiones relativas a la tecnologíay el pro- HTML.
gramador se preocupa de los problemas relacionados con la
empresa”, afirma Best. Una buena solución para el desarrollo Los últimos temores
de aplicaciones, apostilla Best, puede convertirse en un “se- El último gran temor al que se enfrentan los departamentos
guro tecnológico” para la organización. informáticos ante una solución para el desarrollo de aplica-
ciones de un ISV es que la empresa con la que trabajan des-
¿Estándares mejores? aparezca del mercado o la vendan. La forma de sobrellevarlo
Resulta que no existe una buena correlación entre el número es asegurarse de que todas las licencias sobre el código y las
de desarrolladores de una organización y el número adecuado herramientas cubren el doble de todo lo que se imagine que
para la venta de una solución para el desarrollo de aplicacio- vaya a necesitar jamás. Los contratos de mantenimiento tam-
nes eficaz. Aunque el promedio de desarrolladores activos en bién deben incluir salidas claras en caso de que al proveedor
organizaciones basadas en System i parece ser de tres, cuatro lo absorba otra compañía y el resultado no sea de nuestro
o cinco, los proveedores de soluciones para desarrollar aplica- agrado. Recuerde que esto es sólo un negocio y todo se puede
ciones del mundo del System i fácilmente pueden tener clien- negociar. Si no le gustan los términos, déjelo correr. Hay mu-
tes que cuentan con un solo desarrollador o con varias doce- chas otras soluciones razonables.
nas. ¿Qué me dice de IBM? La solución EGL de la compañía
Si se dispone de un cierto número de desarrolladores, una lleva merodeando por la periferia del mundo del System i un
solución para el desarrollo de aplicaciones tiene ventajas adi- par de años. ¿Puede que una solución de IBM, respaldada
cionales. por una compañía tan grande que nadie puede comprarla y
“Una de las cosas que ofrecen las aplicaciones generadas es que es tan rica como para tener su propia isla en Second
la coherencia a la hora de implantar y reforzar estándares de Life, sea fundamentalmente mejor que la solución de un ISV?
programación en la organización”, menciona Stangarone de No tan rápido. IBM puede que no vaya a dejarle en la esta-
mrc. Programando a mano, con cinco programadores, se ten- cada, pero sus soluciones y soporte a veces sí. “En realidad,
drá cinco implantaciones ligeramente distintas del estándar, IBM cambia de dirección más a menudo que nosotros”, indi-
declara. “Con un generador de código, los estándares se im- ca Kenzie, de BCD.
plantarán exactamente de la misma forma cada vez y se aca-
bará teniendo un código más estándar”, explica. Así que...
¿Cuáles son los indicadores de que su organización necesita
Código ilegible una solución para el desarrollo de aplicaciones? ¿Le interesa
Entre quienes evitan las soluciones para el desarrollo de apli- desarrollar aplicaciones web y de cliente enriquecido? ¿El
caciones, están los que se preocupan por la legibilidad del có- desarrollo de sus aplicaciones va con retraso? ¿Le gustaría
digo. Sin duda, puede que funcione, pero ¿en el futuro será aumentar su capacidad de desarrollar aplicaciones cuanto
posible acceder a ese código para hacer cambios o arreglar antes? ¿Le gustaría que sus desarrolladores entraran en con-
problemas? Además, si sólo puede realizarse el mantenimien- tacto gradualmente con lenguajes y técnicas más conocidos?
to mediante la solución, ¿eso no quiere decir que el proveedor Aunque RPG no está acabado, ¿Le gustaría disponer de una
tiene la sartén por el mango? solución que le permita trabajar con expertos que no conoz-
Sí y no. El mantenimiento, sin duda, sería más fácil con las can RPG? ¿Le gustaría tener la posibilidad de migrar una
herramientas de cualquier proveedor que sin ellas. La mayo- aplicación –ay– a otra plataforma?
ría de los proveedores que existen desde al menos hace media Si ha respondido afirmativamente a alguna de estas pre-
docena de años son muy conscientes del rechazo que provoca guntas, puede que sea el momento de (re)considerar la posi-
este asunto en muchos compradores potenciales: los clientes bilidad de adquirir una solución para el desarrollo de aplica-
quiere estar seguros de que su código sobrevivirá, con o sin el ciones. ■
proveedor, durante muchos años.
“Lo que hacemos nosotros es utilizar código RPG estándar
–tan abierto como nos es posible– y enseñar a nuestros clien-
tes cómo se genera el código para que no se sientan atrapados
y conserven el control absoluto”, explica Alex Roytman, direc-
tor técnico de Profound Logic Software. La solución de la com-
pañía usa un entorno de desarrollo controlado por asistentes Chris Maxcer es el redactor de noticias de System iNEWS y está especiali-
que utiliza código escrito en RPG básicamente para controlar zado en escribir sobre temas relacionados con la informática empresarial.
G
racias al soporte del popular lenguaje de pro- Mantenga actualizados PHP y las aplicaciones
gramación web PHP, el System i puede ejecutar En cada nueva versión de PHP se mejora la seguridad elimi-
una gran variedad de programas basados en nando vulnerabilidades notificadas por la comunidad de usua-
PHP para la web. Dada la naturaleza abierta de rios. Entre versiones, Zend publica “correcciones urgentes”
Internet, los administradores de sistemas pru- (parches que corrigen errores que pueden comprometer la
dentes que instalen aplicaciones web en el entorno Zend Core seguridad hasta que la versión siguiente esté disponible).
para i5/OS de IBM querrán tener garantizada la seguridad. Shlomo Vanunu, de Zend, recomienda que los administra-
¿Qué precauciones han de adoptar? dores se mantengan al día configurando actualizaciones au-
Aunque la arquitectura del System i automáticamente nos tomáticas desde la Zend Network, que aplicará parches y ac-
protege contra desbordamientos de buffers, virus y gusanos, tualizaciones según se necesite para mantener la seguridad.
y el PHP de Zend Core ofrece protecciones adicionales a las Vanunu, consultor del laboratorio de Zend en Ramat-Gan (Is-
del lenguaje PHP genérico, debería protegerse contra otros rael) y jefe de equipo del departamento de Servicios mundia-
peligros, como por ejemplo: les para i5 de Zend, señala que IBM ha dispuesto que todos
los clientes de System i puedan conseguir estas actualizacio-
• propagación de virus a los navegadores (aunque el sitio en
nes mediante la suscripción gratuita al soporte Zend Network
sí sea inmune)
Silver Support.
• “sniffing” (robo) de contraseñas
Estos son los pasos que hay que dar para configurar las
• ejecución no autorizada de aplicaciones
actuaciones automáticas:
• revelación o modificación de datos privados
1. Registrarse en la Zend Network (zend.com/network). Pue-
Algunas de estas medidas de protección requieren técnicas
de que ya lo haya hecho si ha descargado Zend Core de la
de programación específicas de PHP, que trataré en un próxi-
Red.
mo artículo. En éste explicaré cómo aumentar la protección
2. Desde una línea de mandatos del System i, escriba lo si-
desde el propio entorno PHP.
guiente: GO ZENDCORE/ZCMENU
Nota: la seguridad web es un campo que evoluciona muy
3. Seleccione la opción de menú 2: Update via Zend Network
deprisa. Todas las recomendaciones que expongo aquí se con-
(Actualizar mediante la Zend Network).
sideran fiables en Zend Core para i5/OS versión 2.0.1 (es de-
4. Desde el menú Update (Actualizar), elija actualizar inme-
cir, PHP 5.2.1.)
diatamente o de forma planificada.
La primera línea de defensa Además de las actualizaciones de PHP, las aplicaciones web
Independientemente de las aplicaciones que ejecute, un en- basadas en PHP más conocidas también publican sus pro-
torno de ejecución seguro reduce el riesgo de sufrir proble- pios parches y actualizaciones de forma regular. Según Chris
mas, tanto conocidos como desconocidos. El experto en segu- Snyder, incluso en los mejores proyectos acaban colándose
ridad de PHP Chris Snyder, coautor con Michael Southwell algún error que puede ser peligroso. De modo que todos debe-
▲ de “Pro PHP Security” (Apress, 2005), recomienda varios ni- mos mantenernos informados sobre vulnerabilidades y las
▲ veles de protección –denominados “defensa en profundidad”– correspondientes actualizaciones usando estos métodos:
▲ porque “no se sabe qué puede salir mal”. Snyder, desarrollador
• Resúmenes de SecurityFocus, coordinados por Daniel
de aplicaciones web de la fundación Fund for the City of New
Programación y sistemas
Convissor (phpsec.org/projects/vulnerabilities/security-
York, considera que una aplicación web es tan segura como el
focus.html)
entorno en que se ejecuta.
• boletines de noticias distribuidos por correo electrónico por
El entorno de ejecución de PHP es el perímetro externo de
los equipos de desarrollo
la seguridad de una aplicación; queremos detener los ata-
• foros web que son fuente de noticias y una buena forma de
ques aquí, si es posible. En este artículo nos ocuparemos de
conocer a los desarrolladores
ese anillo exterior de defensa, que incluye elementos como el
mantenimiento de PHP y los parches de aplicaciones, el ci- Asimismo, debo decir algunas palabras sobre el archivo de
frado de datos, las estructuras de directorios, los archivos de configuración de PHP, php.ini. Los valores de configuración
configuración y la actualización regular de PHP. globales de PHP –incluyendo los valores de seguridad que se
Sea cual sea la complejidad de un sitio web basado en PHP, directorio raíz de los documentos. Un usuario malintencio-
probablemente tendrá una combinación de archivos externos nado podría subir un script dañino y luego ejecutarlo desde
e internos. el servidor. Elija una carpeta que no pertenezca al directorio
Los navegadores acceden a los archivos externos mediante raíz, como /www/zendcore/subidas.
los URL que los usuarios teclean en sus navegadores o pulsan Como protección adicional, este directorio debe ser sólo de
como enlaces. Los navegadores no pueden acceder directamen- grabación para evitar que la aplicación lea o ejecute los ar-
te a los archivos internos, aunque los usan las aplicaciones (y chivos que se guarden allí. Use un script de ejecución por
puede que hasta se muestren a los usuarios), sino que sola- lotes que no esté escrito en PHP para recuperar los archivos
mente deben poder recuperarse por el código de la aplicación. subidos. Además, asegúrese de que la aplicación detiene
PHPSecInfo
La herramienta gratuita PHPSecInfo del PHP Security
Consortium analiza la configuración y comunica problemas
potenciales de seguridad (Figura 2). PHPSecInfo es una he-
FIGURA 2
rramienta experimental; sus sugerencias son genéricas y no
Salida de PHPSecInfo (fragmento)
deben seguirse ciegamente. Con todo, se trata de una herra-
mienta de gran valor educativo y vale la pena descargársela
cualquier intento de incluir en los archivos que se suban pe- de phpsec.org/projects/phpsecinfo.
ticiones de creación implícita de directorios. Por ejemplo, la
aplicación debe detectar y descartar un nombre de archivo El poder protector de la configuración
del tipo laguaridadeloshackers/chucherias/archivo1. Con algunos cambios sencillos, la configuración de PHP pue-
de evitar o limitar en gran medida el mal uso de las aplica-
No dé rienda suelta a los scripts ciones. Las directrices ofrecidas en este artículo son una red
Si se le permite, PHP puede leer el contenido tanto de las de seguridad para su creatividad e innovación en la Red.
carpetas locales como de Internet. Por ejemplo, las funciones Las aplicaciones hechas a medida están mejor diseñadas
include() y readfile() pueden leer cómodamente nombres de cuando se tiene presente la seguridad. Después de utilizar
archivos locales como /informes/trimestral.xls y URL remo- las técnicas descritas en este artículo para proteger el entor-
tos como http://www.ejemplo.com/archivoremoto.html. no, el paso siguiente será escribir código seguro. En mi próxi-
Con tanta potencia a nuestra disposición, lo más sensato mo artículo explicaré técnicas para filtrar la entrada e inter-
es pensar en qué se necesita realmente y restringir las capa- pretar la salida con el fin de malograr la inyección de código
cidades que no se necesitan. Este enfoque prudente ofrece SQL y la vulnerabilidad XSS (cross-site scripting).
Programación y sistemas
una protección extra contra algunas artimañas y scripts da-
ñinos imprevistos. Algunas de las opciones de php.ini que res- Quiero agradecer a Chris Snyder y Shlomo Vanunu su ayu-
tringen a qué recursos puede acceder un script son estas: da para escribir este artículo. ■
allow_url_include (valor por omisión: Off; valor recomen-
dado: Off). El valor Off evita que las aplicaciones ejecuten
(“incluyan”) el código que se encuentra en servidores remo-
tos. Normalmente, mandatos como include() o require() pue-
den incluir código no solamente desde el servidor local, sino Alan Seiden disfruta dirigiendo proyectos en colaboración, desarrollando
también desde uno remoto a través de un URL. El peligro software y resolviendo problemas que desconciertan a sus clientes.
Miembro del grupo de desarrolladores PHP de Nueva York desde 2004 y ▲
con el valor On es que se puede acabar ejecutando un script uno de los primeros impulsores de PHP en el System i, Alan fue reseñado ▲
remoto del atacante. Allow_url_include se introdujo en PHP en el boletín de noticias de la New York Software Industry Association. El ▲
5.2 (Zend Core 2.0). blog sobre informática de Alan es alanseiden.com.
A
l gestionar un entorno web en el System i, como sariales como entidades manejables. El estándar ARM per-
la naturaleza distribuida extiende sus brazos mite que los usuarios amplíen las herramientas de gestión
por muchos trabajos, a veces puede que nos sin- de la empresa directamente a aplicaciones.
tamos como si estuviéramos bregando con un WPM aprovecha el estándar abierto ARM. ARM ayuda a
pulpo. Un entorno típico puede incluir un ser- los usuarios a integrar aplicaciones empresariales y facilita
vidor de aplicaciones (por ejemplo, WebSphere Application ampliar las herramientas de gestión de la empresa directa-
Server) en que se ejecutan las aplicaciones, un servidor HTTP mente a aplicaciones. El servidor de aplicaciones, el servidor
para recibir las peticiones y archivos estáticos del servidor, de la base de datos y el servidor HTTP están diseñados para
una base de datos como DB2 desde la que se acceden a datos sacar partido de ARM. Si crea sus propias aplicaciones, tam-
permanentes, un servidor WebFacing y otros trabajos de las bién podrá beneficiarse de este soporte. En el caso de las apli-
aplicaciones. Recopilar los datos necesarios para depurar los caciones y servidores desarrollados para aprovechar ARM,
problemas de rendimiento y descubrir cuellos de botella rá- cada vez que se solicita una unidad de trabajo y cada vez que
pidamente puede consumir todo nuestro tiempo. El Supervi- un trabajo del proceso hace su parte del trabajo, se anotan
sor de rendimiento Web (WPM), una herramienta nueva de entradas que registran el tiempo que tarda cada trabajo en
la interfaz Web Administration de i5/OS que forma parte de realizar su parte del trabajo.
IBM HTTP Server para i5/OS (DG1-5722), se creó para dar La herramienta WPM recopila todos los tiempos de las
respuesta a este problema concreto. WPM recopila datos so- transacciones y las entradas de todos los trabajos del
bre el rendimiento de los trabajos que componen un entor- System i que forman parte del entorno web. Los datos de
estos trabajos se presentan en una interfaz, me-
El Supervisor de rendimiento Web (WPM), diante la cual pueden verse fácilmente todos los
tiempos de las transacciones y de las respues-
una herramienta nueva de la interfaz Web tas de cada parte del entorno web. Estos datos
Administration forma parte del IBM HTTP pueden adaptarse para que muestren los tiem-
pos de las transacciones y de las respuestas de
Server para i5/OS un usuario o una dirección IP individuales, lo
que permite que el usuario o administrador sepa
no web y las transacciones realizadas por éstos. La herra- dónde se encuentran los problemas potenciales de la apli-
mienta, completamente automatizada, identifica cómo se cación. Los datos también pueden usarse para ayudar a
está utilizando el tiempo y los recursos del sistema, lo que un usuario que tenga dificultades.
permite encontrar los puntos conflictivos y posibles cue- WPM proporciona una interfaz para que los administrado-
llos de botella. res puedan consultar fácilmente los trabajos más importan-
De forma parecida a como el mandato WRKACTJOB (Tra- tes, de forma muy parecida a como lo hace la herramienta
▲ bajar con trabajos activos) muestra todos los trabajos del i5 WRKACTJOB para entornos que no están basados en web.
▲ que se están ejecutando actualmente en el sistema, junto con Si tiene que examinar la información específica del trabajo,
▲ alguna información sobre el rendimiento de cada trabajo, la WPM tiene un enlace directo con iSeries Navigator en la pá-
herramienta WPM muestra únicamente los trabajos del sis- gina del trabajo activo.
tema relacionados con el servidor web seleccionado. Esto per-
mite ver datos concretos de rendimiento de cada trabajo (por Instalación de WPM
Management
ejemplo, el número de transacciones que ha procesado cada Antes de iniciar el Supervisor de rendimiento Web, asegúre-
trabajo o el tiempo necesario para procesar estas peticiones). se de que tiene instalado el PTF de grupo SF99114 Nivel 6 o
Ahora es más fácil determinar qué trabajos están procesan- posterior para IBM HTTP Server para i5/OS en el System i
do las transacciones y qué trabajos tardan mucho tiempo en V5R4. Siga estos pasos para ejecutar WPM:
procesar peticiones.
El estándar Application Response Measurement (ARM) 1. En iSeries Navigator, despliegue su_sistema|Red|Ser-
describe un método habitual de integrar aplicaciones empre- vidores y seleccione TCP/IP.
▲
▲
▲
Una vez detenidos, actualizados y reiniciados los servido- transacciones completadas. Si los valores de los tiempos pro-
res, ya puede empezar a recopilar datos a los que puede medio de respuesta o de los porcentajes de uso de la CPU son
accederse mediante la interfaz Supervisor de rendimiento Web muy grandes, pueden que indiquen un cuello de botella. Este
(Figura 2). El contenido de la interfaz WPM puede ser dife- posible cuello de botella es un buen punto de partida para
rente para cada entorno web supervisado. WPM es específico investigar los problemas de rendimiento.
de cada entorno seleccionado y únicamente se muestran los Para identificar las transacciones de un usuario o grupo de
trabajos directamente implicados en servir a la aplicación usuarios, pulse el botón Preferencias de la ficha Transacciones.
C
ada vez más empresas que confiaron Sql_Variant_Property(
RefCatalogo, ‘TipoBase’)
únicamente en el System i (o uno de
sus predecesores) y en la base de da- Si el valor actual de RefCatalogo es un tipo entero, esta lla-
tos integrada DB2 están asumiendo la mada a función devolverá int.
responsabilidad de gestionar un servidor Wintel Es posible convertir explícitamente un tipo de datos variant
que ejecuta SQL Server de Microsoft. Como SQL en otro de los tipos de datos internos:
tiene estándares formales que tanto IBM como
Cast( RefCatalogo As
Microsoft han implementado bastante bien, el co- VarChar(10) )
nocimiento que tenga de SQL en el System i será
un buen punto de partida para empezar a encar- En muchas circunstancias, sin embargo, SQL Server con-
vertirá implícitamente el valor variant de una columna en el
garse del desarrollo de SQL Server además del de momento oportuno, por lo que no es necesario escribir un
DB2. Más allá del lenguaje SQL en sí, hay varias operación Cast explícita.
funciones de SQL Server que todavía no están en
Las UDF en restricciones de comprobación
DB2 y que puede que le interese utilizar en sus de- Las restricciones de comprobación permiten definir reglas
sarrollos. En este artículo encontrará una rápida para determinar que los datos son válidos al crear una tabla
introducción. o modificar su definición. En SQL Server, se puede especifi-
car una función definida por el usuario (UDF) en la expre-
Tipo de datos Variant sión lógica que define la restricción. Las UDF aumentan las
SQL Server admite muchos tipos de datos internos, inclu- oportunidades de reutilizar el código y permiten definir com-
yendo los numéricos, de tipo carácter y las series binarias, probaciones de validez complejas.
los tipos de datos de fecha y hora, etcétera. En la mayoría de Una característica interesante es que se pueden usar con-
los casos, se definen columnas de tablas, variables de proce- sultas sobre los datos existente de la tabla como parte de
dimientos y parámetros y valores de retorno de funciones con la restricción. Por ejemplo, se puede crear la UDF Com-
tipos de datos concretos como Int o Character. En estos casos, probarIntervaloFecha que devuelve 1 si existe otra fila en
en la columna sólo pueden almacenarse valores del tipo es- la tabla Articulos con el mismo número de artículo y un
pecificado. intervalo de fecha que se solapa para el precio. Si no exis-
Pero SQL Server también permite definir una columna, te solapamiento de ninguna fila, ComprobarIntervaloFecha
▲ variable, parámetro o valor de retorno de funciones utilizan- devuelve 0. Cuando cree la tabla, se puede añadir una res-
▲ do la palabra clave sql_variant, con el fin de almacenar valo- tricción de comprobación que haga referencia a esta fun-
▲ ción:
res de distintos tipos de datos en la misma columna. Este
ejemplo permite guardar una referencia numérica o de tipo
carácter para los artículos de un catálogo: CREATE TABLE Articulos
( NumArt Int,
Management
Suscríbase a
Management
y reciba
gratuitamente
el Suplemento ▲
▲
técnico ▲
Si una sentencia del bloque Try (por ejemplo, la sentencia partido a algunas de las capacidades relacionadas con SQL
Select Into de la Figura 2) provoca una excepción, entonces exclusivas de SQL Server. ■
se ejecutarán las sentencias del bloque Catch.
La característica Try/Catch de Transact-SQL no permite
especificar qué excepciones capturar, algo que sí se puede
hacer en Java. Pero se puede usar la función integrada Paul Conte es redactor técnico de System iNEWS y presidente de PCES, una
Error_Number para determinar el error. También hay otras empresa de formación y consultoría de Eugene (Oregón).
▲
▲
▲
MANTENIMIENTO Y BROKERAGE
INFORMÁTICO, S.L.
Mantenimiento / Alquiler y
Brokerage / Venta / Redes
Backup Center
Pere IV 78-82, 7º 3ª
08005 - Barcelona (Spain)
T. 34 934 854 427 Fax 34 934 850 168
P.T.A. Edificio CENTRO EMPRESAS 29590 Málaga
IBM: “The new Power Equation” anual de COMMON USA y todos los expertos del sector an-
dan haciendo cábalas acerca de una presentación especial
¿Y, aparte de todo este lío de cargos y responsabilidades, qué
por parte de IBM, prevista para el día 2 de abril. De acuerdo
hay de nuevo? Pues que está a punto de celebrarse la reunión
con la página web del evento (http://www.common.org/
conferences/2008/annual/), los asistentes podrán escuchar
en persona a Mark Shearer, vicepresidente de marketing y
INDICE DE ANUNCIANTES MARZO 2008 ofertas, así como a Ross Mauri, General Manager de Power
Empresa Página Systems, cuando conjuntamente anuncien una importante
iniciativa de IBM denominada “The New Power Equation”.
¿...? Sobre este tema, en otro artículo de IT Jungle (http://
AMERICAN TOP TOOLS ..................... Interior portada www.itjungle.com/tfh/tfh030308-story06.htm) se especula no
AMERICAN TOP TOOLS ....... Interior contraportada sólo sobre el posible lanzamiento de dos nuevos servidores
CACOVAI ................................................................................ 19 basados en POWER6, los 520 y 550, sino también sobre una
nueva estrategia de ventas donde, de una parte se crearían
GUÍA ................................................................................. 40, 41
productos Power y de otra dos divisiones se encargarían de
IBM .................................................................. Contraportada su comercialización, bien fueran sistemas de gama alta
COMON ESPAÑA ................................................................. 25 (Enterprise Systems Division) o de gama baja y gama media
SOFTWARE GREENHOUSE .............................................. 15 (Business Systems Division). Habrá que esperar al 2 de abril
para saber qué es lo que se está cocinando en IBM. ■
SUSCRIPCION ServerNEWS ............................................ 35
TANGO/04 ................................................................................ 9
VISION SOLUTIONS ............................................................ 15 Como sabes, esta información es estrictamente confidencial. Aunque nosotros
neguemos haberlo dicho o escrito, te autorizo a que obres en consecuencia