Академический Документы
Профессиональный Документы
Культура Документы
editorial
Celebramos
otro aniversario
¡ ServerNEWS acaba de cumplir 18 años, y a partir de este número seremos
mayores de edad! ¿Cambiará eso nuestra vida? ¿Seremos más creativos y
decididos desde ahora? En la vida real, al celebrar este cumpleaños uno desea
ser más proactivo buscando materializar sus propias ideas, ser original y di-
ferente a los demás, esforzándose en la creatividad y sobreponiéndose a todas
los condiciones internas y externas que se presentan, vivenciando la capacidad de
decidir, de lograr que los propios sueños se hagan realidad. Con la necesidad bási-
ca de sentirse reconocido, deseamos alcanzar la mayoría de edad para adquirir
todas las posibilidades de ser autosuficientes en el dificil arte de vivir la vida.
En ServerNEWS, tras dieciocho años de circulación ininterrumpida como medio
natural de información del entorno System i de habla hispana y de haber enviado
más de 55 millones de páginas a nuestros lectores para ayudarles en su quehacer
cotidiano, también sentimos esta inquietud interna, propia del adolescente, que
presiente que con su mayoría de edad ha llegado la hora de prescindir de muchos
convencionalismos para poder materializar todos sus sueños. En ello estamos; en
un debate interno franco y abierto del que podría surgir una revista más propia
del siglo XXI que del siglo XX.
Los años transcurridos nos obligan a recordar sus orígenes en febrero de 1990,
año en el que, para situarnos en un contexto cotidiano, comenzaron las emisiones
de Antena 3, la primera cadena de televisión privada a nivel estatal. Un año en el
que a nivel profesional los PCs todavía utilizaban el DOS en modo texto cuando
Microsoft presentó su Windows 3.0 y en el que Tim Berners-Lee definió las bases
del WWW en el CERN de Ginebra. Ni existía Linux, ni Java, ni PHP, por citar sólo
unas pocas referencias. Ni tan siquiera existía el formato PDF y la revista, enton-
Imagen de la portada: Mike Friehauf
ces llamada HELP400, se editaba tras un largo proceso de fotocomposición de tex-
Suscripción: Anual (10 números tos desde el que se obtenían los fotolitos para insolar las planchas que permitían
al año, no en Julio y Agosto).
España: 96 euros (IVA incluido). su impresión.
Extranjero: 180 $ USA (incluido el
envío por Correo Aéreo). Se Ese es el camino que a todos nos marca el progreso. A diferencia del especial del
distribuye a final de mes. XV aniversario o de la llegada al número 100, este número festeja su mayoría de
© Publicaciones HELP400, S.L. edad de una manera más sencilla y humilde, pero eso sí, con material fresco y de
Se prohibe la reproducción total o parcial calidad, como lo ha venido haciendo desde siempre. Con él hemos querido resaltar
de los artículos aparecidos en este
número sin la autorización expresa por el rejuvenecimiento del entorno centrándonos en el lenguaje PHP y a la base de
escrito de la empresa editora, titular del
Copyright. Todos los derechos reservados datos MySQL, ambos de código libre y líderes del sector, que puede aportar mu-
en cualquier idioma. chas aplicaciones adicionales y flexibilidad para el desarrollo de las empresa equi-
ServerNEWS es una publicación
independiente de grupos de usuarios y/o padas con System i..
de distribuidores de marcas. De las ideas
expuestas en los artículos firmados son
responsables sus autores. Corresponde al
¡Muchas gracias amigos suscriptores y lectores en general por permitirnos lle-
lector el asegurar que las noticias, gar cada mes a sus escritorios y por apreciar este esfuerzo editorial durante estos
técnicas y procedimientos descritos son
adecuados para su instalación. años!
Publicaciones HELP400 S.L. no
asume ninguna garantía ni implícita ni
explicitamente.
La empresa editora no se responsabiliza de
la asiduidad en la distribución gratuita a
las empresas españolas equipadas con
S/3X o AS/400.
equipo editorial
Director: Antonio Montía
en portada
Redacción: Carlos Bell, Alberto C. Blanch,
Equipo internacional de iSeries NEWS
Colaboradores habituales: Jaime Gustavo
Estany, José Mª Martín, Lluís Peiret
Traducciones: Pere J. Francisco Brumós
10 MySQL ofrece aplicaciones para i5/OS
por Craig Johnson y Erwin Earley
Cuando todos los System i incluyen i5/OS y DB2 de serie,
producción
¿de qué sirve disponer de otra base de datos? La respues-
Realización: Media Limits S.L.
ta es que MySQL, la base de datos de código libre líder del
Maquetación: Ramiro Esteve Coll
Impresión: G2B gràfic S.L.
sector, puede aportar muchas aplicaciones adicionales y
Distribución: Unipost S.A. flexibilidad para el desarrollo de la empresa.
administración
16
Suscripciones : Nuria Navarro
Instalación y configuración de PHP
Publicidad: Tel. 34- 932 310 049
Fax: 34-932 310 309 por Erwin Earley
Servicio HelpNet: www.help400.es En este artículo se explica cómo instalar los productos de
edita Zend para empezar a programar con PHP en el System i.
PUBLICACIONES Concretamente, cómo podemos instalar Zend Core, el mo-
tor de PHP, y Zend Studio, el entorno de desarrollo inte-
Deposito legal: B-2757-90 grado de PHP.
I.S.S.N. 1698-4501
APTDO. DE CORREOS 8003 - 08080 Barcelona
Gran Vía Corts Catalanes, 715, Entlo. 3ª
08013 - Barcelona
Tel.: 932 310 049
20 Diez productos PHP que puede ejecutar
en System i
por Alan Seiden
E-mail: help400@help400.com
El autor ha seleccionado diez
Director General: Alberto C. Blanch Llangostera
componentes muy interesan-
Publicado con la participación de tes de código libre escritos en
PHP que, como veremos, son
- iSeries NEWS muy fáciles de instalar en
www.pentontech.com el System i, crean valor
Group Publisher/Editor: Wayne Madden para la empresa y, en
Group Editorial Director: Dale Agger muchos casos, son muy
Penton Technology Media gráficos.
Darrell C. Denny, President
Penton Media, Inc.
David Nussbaum, Chief Executive Officer
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ú
8 ¿Sin avances?
COMMON PERU
Bajada Balta 131, Of. 10, 2º Piso
Miraflores Lima 18, PERU por Dan Darnell
Telf. y Fax: 46 31 32
Dedicando el esfuerzo suficiente, con RPG puede hacerse prácticamente
Paraguay
ANGEL LIERNUR E HIJO cualquier aplicación, pero profesionalmente no se avanza. Para avanzar
P.O. BOX 2448 debe aprender Java o incluso PHP, porque aumentar sus conocimientos
ASUNCION - PARAGUAY
427661@telesurf.com.py de programación es la mejor póliza de seguros en un mundo tan incierto
e-mail: aliernur@yahoo.com como el de la informática.
presentación
management
programación y sistemas
¿Sin avances?
E
ntre los programadores de nibilidad mediante clústeres y cosas así. No hay. Pedí infor-
RPG aprecio tendencias que, si mación sobre el diseño de elementos que contribuyan a la
bien no son realmente pasos escalabilidad y a la reutilización de componentes. Estas cues-
atrás, podría decirse que tam- tiones no se contemplan en sus soluciones.
poco representan ningún avance. Una moda que va a más es PHP ha reducido la dificultad de desarrollar aplicaciones
intentar usar RPG para hacerlo todo. Con llamadas a las API web para los desarrolladores que trabajan con System i, pero
aquí, invocaciones a funciones escritas en C allí, con un poco también ha puesto en peligro la empresa para la que traba-
de chicle y algo de alambre, ¡RPG puede hacer cualquier cosa! jan. Es fácil crear una aplicación web que manipule los datos
¡Qué desperdicio! Si ese tiempo, esfuerzo y creatividad se apli- de la empresa pero, ¿satisfará esa aplicación las necesidades
caran a resolver problemas de la empresa en vez de escribir, –necesidades importantes, como la escalabilidad– de la em-
vamos a suponer, programas de utilidad de sockets de TCP y presa el mes que viene, el año próximo? Para diseñar una
un analizador para HTTP, piense en el valor que se habría aplicación en PHP robusta, escalable y segura, tendrá que
creado para la empresa. superar los mismos obstáculos que se encontrará si crea esa
Dedicando suficientes esfuerzos, RPG puede hacerlo prác- misma aplicación en Java.
ticamente todo, pero utilizarlo de esa forma es como intentar Yo utilizo PHP con un solo fin: portar o extender una solu-
meter una pieza cuadrada en un agujero redondo. Con un ción de código libre a mi System i para satisfacer una necesi-
martillo podría llegar a meter la pieza, pero sería mucho más dad concreta de la empresa. Estoy convencido de que Java
fácil usar la clavija redonda. En el mundo actual de las TI se (concretamente Java EE en combinación con infraestructuras
necesita algo más que RPG para crear aplicaciones de pri- ampliamente aceptadas) sigue siendo el camino que hay que
mer orden. La gente que tiene un actitud cerrada y cree que seguir para desarrollar aplicaciones web cruciales de las que
únicamente existe “RPG y sólo RPG” tienen que entenderlo y el System i forme parte de la solución. Las he visto funcio-
ampliar sus aptitudes. nando a pequeña escala y en grandes empresas. Funcionan
Yo mismo, veterano programador de RPG, aprendí Java hace en sitios de comercio electrónico y en los dominios tradicio-
diez años. Programar en Java me permite trascender los lí- nales de nuestro querido RPG, como la gestión interna. Ade-
mites de las plataformas sin esfuerzo. Puedo concentrarme más, con este enfoque, encontramos todos los elementos ne-
en solucionar los problemas de la empresa y crear soluciones cesarios para desarrollar soluciones escalables de alta
en el PC, dispositivos inalámbricos, en la web y en el System disponibilidad.
i. (A menudo, RPG también tiene un cometido, especialmen- Cuando leo este tipo de opiniones de otros, suelo pensar
te si hay código heredado de por medio). La libertad de poder que son partidistas: los de Java contra los de PHP. Puede que
ofrecer soluciones para cualquier combinación de platafor- se me pueda acusar de ser partidista hasta cierto punto, pero
mas significa que puedo entregar aplicaciones que superan los motivos para escribir este artículo son más profundos. El
las expectativas de mis clientes. Con soluciones diseñadas año pasado fui víctima de una consolidación corporativa. El
como es debido consigo ser más eficaz con cada proyecto rea- pez grande que se nos comió subcontrata muchas de sus ta-
lizado, de modo que aunque cada vez hago más cosas por la reas informáticas y es cada vez más común que contrate los
empresa, sigo cumpliendo los plazos de entrega previstos. servicios externalizados fuera del país. Mi postura de “aquí
En los últimos 12 ó 18 meses, ¿ha desaparecido por comple- nunca pasará eso” rápidamente cambió a “ha pasado y me
to el interés por Java en el System i? Creo que sí. ¿Es por qué van a despedir”.
todos los incondicionales del System i ya sabemos Java y, por No me importa lo más mínimo que aprenda PHP. ¡Hágalo!
lo tanto, es algo que damos por sentado? Me parece que no. Pero no se quede ahí. Para tener verdadero valor comercial
Creo que el interés menguante lo explican las letras P, H y P. no basta con saber RPG y PHP. Las arquitecturas seguras,
Los comentarios que oigo de muchos programadores de la co- fiables y escalables requieren tecnologías empresariales como
munidad del System i son del estilo “¡Menos mal que tenemos Java EE. Sólo tendrá realmente valor comercial cuando su
PHP en el System i! ¡Ahora ya no tenemos que aprender Java!” currículo refleje que tiene conocimientos de éstas. También
Mis amigos me cuentan historias de cómo han escrito apli- puede verlo de esta forma: mejorar continuamente sus cono-
caciones web con PHP y de cómo todo encaja en su sitio al cimientos de programación ayuda a su empresa actual y ade-
instante, sin dificultad, y ahora tienen aplicaciones web en más es su mejor póliza de seguros en un mundo tan incierto
sus System i. Sin embargo, cuando indagué sobre estas expe- como el de la informática. ■
riencias tan positivas, oí cosas que me produjeron escalofríos.
Pregunté por la seguridad y parece ser que generalmente no Dan Darnell es autor del libro “Java and the AS/400, 2nd Edition: Practical
existe. Hice preguntas sobre la arquitectura global, con la Examples for the iSeries and the AS/400” (publicado por 29th Street Press) y
intención de saber cuáles son las posibilidades de alta dispo- consultor independiente de Little Rock (Arkansas).
10
10 ServerNEWS
ServerNEWS FEBRERO
FEBRERO2008
2008 www.help400.es
www.help400.es
• Hacer uso de la cartera de productos escritos en
FIGURA 1 PHP: ejecutar en i5/OS aplicaciones comerciales o de
Conexión de PHP con MySQL código libre escritas usando PHP y MySQL (nota: como
tanto PHP como MySQL son compatibles con i5/OS,
<?php
estas aplicaciones pueden ejecutarse en i5/OS sin ne-
// Open the database connection cesidad de modificar el código fuente).
$connection = mysql_connect(“localhost”, “user”, “password”);
buena parte de los miembros de la comunidad de i5/OS han línea (OLTP) y de data-warehouse multiterabyte. Igual-
conseguido ejecutar MySQL en el sistema operativo del mente, recibirá actualizaciones mensuales y service packs
System i, los clientes querían un producto oficial de MySQL, trimestralmente con los arreglos más recientes de los erro-
uno que se hubiera comprobado en i5/OS, como en las demás res encontrados en MySQL Enterprise Server.
plataformas, y que tuviera el soporte de MySQL AB. – MySQL Network Monitoring and Advisory Service pro-
porciona a los desarrolladores, administradores de bases
MySQL para i5/OS de datos y administradores de sistemas un asistente vir-
En abril del año pasado, en el congreso anual de MySQL, tual de la base de datos que permite hacer cumplir las
MySQL AB (www.mysql.com/company) e IBM anunciaron prácticas aconsejables recomendadas por MySQL. Los
un acuerdo de colaboración tecnológica de dos etapas para asistentes ofrecen recomendaciones personalizadas que
que la comunidad de desarrolladores de la base de datos le ayudarán a eliminar vulnerabilidades de seguridad,
MySQL diera soporte a la plataforma System i. En julio, se mejorar la duplicación, optimizar el rendimiento, etcéte-
hizo realidad la primera etapa del acuerdo: la base de datos ra.
MySQL ya está disponible en el release V5R4 de i5/OS. MySQL – MySQL Production Support permite obtener rápidamente
AB ofrece dos productos nuevos para i5/OS: respuesta a las preguntas técnicas más difíciles. Además,
con Consultative Support, que se incluye con MySQL
• MySQL Enterprise para i5/OS. La suscripción a MySQL Enterprise Platinum, el equipo de soporte de MySQL le
Enterprise es la oferta más completa de software, servicios asesorará sobre la mejor forma de diseñar y optimizar
y soporte de MySQL que garantiza que la empresa alcan- los servidores, los esquemas, las consultas y la configu-
zará los niveles más altos de fiabilidad, seguridad y tiempo ración de duplicación de MySQL para conseguir un ren-
de actividad. MySQL Enterprise incluye: dimiento óptimo.
– El software MySQL Enterprise Server 5.0 es la versión • MySQL Community Server para i5/OS. MySQL AB tie-
más fiable, segura y actualizada de la base de datos de ne como meta ofrecer MySQL Community Server a la co-
código libre para crear de forma económica aplicaciones munidad de desarrolladores de código libre. MySQL
de comercio electrónico, de proceso de transacciones en Community Server es gratuito y se distribuye bajo la licen-
PHP y el System i
P
HP es un lenguaje de scripts de código libre fácil de desarrollar aplicaciones basadas en PHP pensadas para
usar para aplicaciones web. Se ejecuta en el servi- instalarlas en i5/OS). Estos dos productos están disponibles
dor y tiene acceso a recursos de éste. PHP normal- de forma totalmente gratuita para los clientes de System i
mente está incrustado en el código HTML y permite con tres años de soporte estándar (basado en web). Esta
obtener aplicaciones web muy funcionales. Es esencial que oferta es exclusiva para la plataforma System i y puede
la lógica de la empresa se encargue de proporcionar datos ahorrar a una empresa miles de dólares si se compara con lo
y acceso de forma dinámica. Sitios de Internet tan conoci- que cuesta adquirir los productos de Zend para otras
dos como Yahoo! o Facebook incorporan PHP en sus plataformas.
sitios. Informes como las estadísticas de uso de Netcraft Como se explica en el artículo “Instalación y configuración de
(www.php.net/usage.php) muestran que más 20 millones de PHP” (en la página 16), Zend Core y Studio para i5/OS
dominios de Internet utilizan PHP y que un número pueden descargarse del sitio web de Zend tras un sencillo
inmenso de aplicaciones en intranets incorporan PHP como proceso de registro (www.zend.com/en/products/core/for-i5os).
parte de su solución. Estas aplicaciones las han creado los Hasta la fecha, más de 6.000 personas han descargado los
más de seis millones de profesionales que desarrollan productos Zend Core y Studio.
aplicaciones en el lenguaje PHP. Si le interesa disponer de soporte telefónico, Zend también
Como se afirma en su logotipo, Zend (www.zend.com) es tiene ofertas de soporte avanzadas. Zend Platform para i5/OS
“The PHP Company”, es decir, “La empresa de PHP”. Además (otro producto de Zend) mejora el rendimiento, la escala-
de ser la representante de la comunidad de PHP, la empresa bilidad y la facilidad de uso de las aplicaciones escritas en PHP.
ofrece productos, soporte y servicios para PHP en distintas La versión más reciente de Zend Core incluye Zend Frame-
plataformas. En julio de 2006, Zend presentó Zend Core para work, que facilita todavía más el desarrollo de aplicaciones en
i5/OS, el entorno de ejecución para aplicaciones escritas en PHP. Las líneas de productos de Zend son compatibles con
PHP y Zend Studio para i5/OS, una robusta herramienta de los releases V5R4 y V5R3 de i5/OS.
desarrollo para i5/OS. (Nota: Zend Studio para i5/OS es un
IDE que se ejecuta en Windows, Linux o PowerMac y permite — C.J. y E.E.
Con estas dos ofertas, enseguida se puede empezar a de- • MediaWiki (wiki de código libre)
sarrollar un proyecto usando MySQL Community Server www.zend.com/forums/index.php?t=msg&th=3134
con sólo descargar el producto de dev.mysql.com/
• Joomla! (sistema de gestión de contenido de código libre)
downloads/mysql/5.0.html. Y cuando el proyecto esté lis-
www.zend.com/forums/index.php?t=msg&th=3068
to para instalarlo en máquinas de producción y necesite
un soporte formal, MySQL Enterprise dispone de distin- • Zen Cart (tienda en línea de código libre)
tos niveles –Basic, Silver, Gold y Platinum– a partir de www.zend.com/forums/index.php?t=msg&th=3041
479 dólares por servidor y año (shop.mysql.com/enterprise).
• PmWiki (wiki de código libre)
Puede solicitar MySQL Enterprise directamente a MySQL
www.zend.com/forums/index.php?t=msg&goto=8085
o a IBM. Puede probar MySQL Enterprise mediante el
programa de evaluación de MySQL (www.mysql.com/ent- • phpBB (tablón de anuncios de código libre)
trial-reg-2007). Hallará más información sobre cómo solici- www.zend.com/forums/index.php?t=msg&goto=8049
tar a IBM el producto en el comunicado siguiente: www-
• PHP-Nuke-7.8 (sistema de gestión de contenido de código
306.ibm.com/common/ssi/rep_ca/2/897/ENUS207-172/
libre)
ENUS207172.PDF.
www.zend.com/forums/index.php?t=msg&goto=3541
Además de opciones de soporte, hay otras diferencias entre
las licencias de las versiones Community y Enterprise.
MySQL Community Server se distribuye bajo la Licencia Aunque hemos estado hablando de PHP, es importante
Pública General (GPL) de GNU. MySQL Enterprise se distri- mencionar que MySQL se puede usar para algo más que apli-
buye bajo GPL o con una licencia comercial. Obtendrá más caciones de código libre escritas en PHP. MySQL también es
compatible con Java. Y puesto que la mayoría de las aplica- porciona distintas características: unos admiten transaccio-
ciones basadas en MySQL son de uso interno, nada le impide nes, otros proporcionan un rendimiento de sólo lectura eleva-
crear la suya propia. dísimo y los demás ofrecen soluciones intermedias. El motor
de almacenamiento concreto se selecciona durante la crea-
¿Por qué i5/OS? ción de la tabla de la base de datos. Con un motor de almace-
La pregunta con que dábamos comienzo a este artículo –¿real- namiento DB2 para i5/OS, las aplicaciones escritas para
mente necesitamos una segunda base de datos?– nos lleva a MySQL se ejecutarán en i5/OS y los datos se almacenarán
una segunda cuestión: ¿por qué hemos de ejecutar aplicacio- en DB2. Esto permitirá implantar aplicaciones de MySQL en
nes de PHP y MySQL en i5/OS? ¿La “L” de LAMP no significa línea y transaccionales capaces de almacenar todos los datos
Linux? Sí, se pueden instalar las aplicaciones basadas en en una sola base de datos DB2, la base de datos que los clien-
Apache, PHP y MySQL en Linux, Unix, Windows y otros ser- tes de i5/OS ya conocen y saben cómo gestionar y proteger.
vidores. Pero instalando Apache, PHP y MySQL en i5/OS
podrá beneficiarse del entorno operativo integrado de i5/OS, Por dónde empezar
con su arquitectura altamente escalable e inmune a los vi- Puede descargar Zend Core y Zend Studio para i5/OS de for-
rus, así como una adaptabilidad excepcional so- ma gratuita de zend.com. MySQL Community Server para
bradamente demostrada. i5/OS puede descargarse de mysql.com. Además, IBM ha in-
Un informe reciente de IDC denominado cluido Zend Core para i5/OS con soporte Standard y MySQL
Enterprise para i5/OS con soporte Silver
en las ediciones Enterprise de los servi-
Un motor de almacenamiento es el dores 550, 570 y 595. IBM también ofre-
ce el servicio de implantación gratuito in
lugar en que se almacenan los datos situ “Getting Started with Zend and
de MySQL. MySQL AB y otros MySQL on i5/OS” para los clientes que
adquieran una plataforma System i que
proveedores actualmente ofrecen reúna las condiciones del programa de
más de una docena de motores de cupones canjeables por servicios técnicos
(www-03.ibm.com/systems/i/editions/
almacenamiento. services.html). Asimismo, tendrá derecho
a un curso gratuito de IBM sobre PHP
en el System i haciendo uso del cupón
“The Business Value canjeable por formación (www-03.ibm.com/systems/i/
of System i” (“El valor de editions/vouchers.html). Por último, desde estas páginas que-
negocio del System i”), que puede descargarse en ftp:// remos animarle a investigar las opciones y oportunidades que
f t p. s o f t w a r e . i b m . c o m / c o m m o n / s s i / r e p _ w h / n / MySQL y PHP ofrecen a la comunidad de usuarios del System
ISL03007USEN/ISL03007USEN.PDF) destaca las ventajas i. Puede empezar su exploración en www-03.ibm.com/
de i5/OS en comparación con las implantaciones de x86: me- systems/i/software/php y www-03.ibm.com/systems/i/soft-
nos tiempo dedicado a tareas de gestión, un tiempo de funcio- ware/mysql. ■
namiento ininterrumpido significativamente mejor, más car-
gas de trabajo soportadas y más usuarios finales soportados.
Como indica el informe, es una práctica común en los depar-
tamentos que trabajan con System i ejecutar varias cargas
de trabajo en un solo servidor (el promedio es de más de cinco
cargas de trabajo por servidor para los clientes del estudio en
comparación con el promedio de apenas una carga de trabajo
por servidor en los sistemas x86). Así que, en vez de comprar
otro servidor x86 para una aplicación LAMP, puede añadir
una aplicación “AMP” al entorno i5/OS existente junto con
otras aplicaciones de producción. En la Figura 2 se muestra
la estructura de una pila “iAMP”. Craig Johnson es jefe de producto de IBM para Zend y MySQL en i5/OS. Fue
Para crear valor adicional para los clientes de i5/OS, IBM y el responsable de introducir estas tecnologías de código libre en la comunidad
MySQL AB proyectan ofrecer un motor de almacenamiento de desarrolladores del System i.
de DB2 para MySQL en i5/OS (el segundo paso de su acuerdo
de colaboración tecnológica). Un motor de almacenamiento Erwin Earley trabaja como consultor de ingeniería del software en el
laboratorio de desarrollo de Rochester y lidera el Open Source Technologies
es el lugar en que se almacenan los datos de MySQL. MySQL Center of Competency for System i, que forma parte del System i Technology
AB y otros proveedores actualmente ofrecen más de una do- Center. Es formador y presta servicios de implantación de tecnologías de código
cena de motores de almacenamiento. Cada uno de ellos pro- libre en el System i, incluyendo Linux, MySQL y PHP de Zend.
E
n este artículo se explica cómo instalar los mente genera una línea de salida que luego representa el
navegador web. Como se ve en la Figura 1, PHP es un len-
productos de Zend para poder trabajar con guaje del servidor; en otras palabras, el motor de PHP del
PHP en i5/OS. Concretamente, explicare- servidor interpreta el código escrito en PHP. Además, este
mos cómo instalar Zend Core, el motor de código tiene acceso a recursos del servidor (por ejemplo, re-
cursos de la base de datos). En i5/OS, el acceso a los recursos
PHP, y Zend Studio, el entorno de desarrollo inte- del servidor lo proporciona el trabajo I5_COMD instalado en
grado (IDE) de PHP. el subsistema ZEND.
Antes de hablar de la instalación de Zend Core, estos son
Información general sobre Zend Core los componentes que se instalarán:
Zend Core es el motor que permite ejecutar PHP en i5/OS.
Zend Core se ejecuta en el Entorno de soluciones de aplica- • Zend Core (en el entorno PASE)
ciones portables (PASE). En la Figura 1 se ilustra la arqui- • Apache (en el entorno PASE)
tectura de Zend Core en i5/OS. No obstante, antes de empe- • I5_COMD (en i5/OS)
zar a explicar la arquitectura representada por el diagrama, • Programa ZCMENU escrito en CL (en la biblioteca
permítanme que les presente una página web de ejemplo con ZENDCORE)
contenido PHP.
Como se muestra en la Figura 2, un navegador web envía El servidor HTTP en i5/OS se configurará para que reen-
una petición a un servidor web (en este caso, el servidor HTTP víe las peticiones al puerto 89 en el servidor web Apache del
de i5/OS basado en Apache). En la Figura 1, las peticiones entorno PASE.
web hechas al servidor HTTP de i5/OS que especifican el
puerto 89 (por ejemplo, http://nombre_i5:89) se
reenvían al servidor web Apache que se ejecuta
en el entorno PASE (Apache se instala en PASE
durante la instalación de Zend Core). El servidor
web Apache de PASE analiza el código HTML has-
ta que encuentra un identificador de PHP (<?php
en la Figura 2). Aquí, el código escrito en PHP se
envía al motor de PHP (en este caso, Zend Core
en el entorno PASE) que, a continuación, procesa
el código hasta que encuentra un identificador de
cierre de PHP (?>). La salida del proceso del códi-
go PHP se devuelve al servidor web como salida
HTML, que a su vez se reenvía como respuesta al
navegador web para representarla. En la Figura
3 se muestra el resultado de procesar el código de
ejemplo de la Figura 2 a través del motor de PHP. FIGURA 1
En este caso, el proceso del código PHP simple- Arquitectura de Zend Core
<html>
<head><title>Test Page></title></head>
<p>
<?php
echo “This is my PHP test page”;
?>
</p>
</html>
FIGURA 3
Resultado del código de la página de pruebas
<html>
<head><title>Test Page></title><head>
<p>
This is my test page
</p>
</html>
FIGURA 5
FIGURA 4
Página System Overview de Zend Core
Ejemplo de conexión FTP
ftp iseries.domain.com
220-QTCP at iseries.domain.com.
230 Connection will close if idle more than 5 minutes.
User (iseries.domain.com:(none)): qsecofr
331 Enter password.
Password:
ftp> bin
200 Representation type is binary IMAGE.
ftp> put zcoresavf.savf /qsys.lib/qgpl.lib/zcore.savf
200 PORT subcommand request successful.
150-NAMEFMT set to 1.
150 Sending file to member ZCORE in file ZCORE in library QGPL.
226 File transfer completed successfully.
ftp: 315853824 bytes sent in 3732.48Seconds 84.62Kbytes/sec.
P
HP es una de las herramientas de desarro- FIGURA 1
llo para aplicaciones web más conocidas. Código HTML para crear un gráfico circular usando PHP/
SWF Charts
Gracias a Zend Core para i5/OS, la comu-
nidad de desarrolladores del System i tie- <?php
// 3dpie.php
ne acceso a un enorme surtido de herramientas de include ‘charts.php’;
programación, paquetes de código e incluso aplica- $chart[ ‘chart_data’ ] = array ( array ( “”, “Vinny”, “Jeff”,
“Rose”, “Jim”), array ( “”, 15, 27,45,60 ) ); // specify data
ciones completas. $chart[ ‘chart_grid_h’ ] = array ( ‘thickness’=>0 );
$chart[ ‘chart_pref’ ] = array ( ‘rotation_x’=>60 );
$chart[ ‘chart_rect’ ] = array ( ‘x’=>50, ‘y’=>50, ‘width’=>300,
En este artículo me centraré en diez componentes “muy ‘height’=>200, ‘positive_alpha’=>0 );
interesantes” de código libre escritos en PHP que son fáciles $chart[ ‘chart_transition’ ] = array ( ‘type’=>”spin”,
‘delay’=>.5, ‘duration’=>.75, ‘order’=>”category” );
de instalar, crean valor para la empresa y, en muchos casos, $chart[ ‘chart_type’ ] = “3d pie”;
son muy gráficos. $chart[ ‘chart_value’ ] = array ( ‘color’=>”000000”, ‘alpha’=>65,
‘font’=>”arial”, ‘bold’=>true, ‘size’=>10, ‘position’=>”inside”,
Un apunte sobre los formatos de archivo: las descargas son ‘prefix’=>””, ‘suffix’=>””, ‘decimals’=>0, ‘separator’=>””,
archivos comprimidos en formato zip o tar.gz. Para extraer ‘as_percentage’=>true );
archivos tar.gz desde Windows, le recomiendo que use $chart[ ‘draw’ ] = array ( array ( ‘type’=>”text”,
ZipGenius (zipgenius.it), un programa de utilidad gratuito ‘color’=>”CCC000”, ‘alpha’=>74, ‘size’=>25, ‘x’=>0, ‘y’=>0,
‘width’=>500, ‘height’=>50, ‘text’=>”Pizza left uneaten”,
de manejo de archivos comprimidos. ‘h_align’=>”center”, ‘v_align’=>”middle” )) ;
3. Dial Gauge
Dial Gauge (phpclasses.org/browse/package/4080.html;
hay que registrarse, aunque la inscripción es gratuita) pro-
porciona un indicador visual de progreso parecido al velocí-
metro de un coche. El desarrollador solamente ha de sumi-
nistrar los valores mínimo y máximo de la escala y el número
que ha de mostrarse. Esta pantalla puede ser útil en siste-
mas de paneles de instrumentos ejecutivos.
Para instalar el paquete, descargue el archivo zip y ex-
traiga su contenido. Copie los archivos en una carpeta como
/www/zendcore/dialgauge. En Zend Core, tendrá que habi-
FIGURA 4 litar la biblioteca de gráficos “gd”, un conocido kit de herra-
El indicador muestra en qué intervalo está el valor mientas para la creación dinámica de imágenes. Puede
tectar los errores nuevos que aparezcan en las anotaciones # How many seconds delay between checks
de errores de PHP.
$check_delay = 5;
Para instalar el programa, descargue y extraiga el conteni-
do del archivo zip. Copie su contenido, tail-example.php y /**********************************************/
/* M A I N P R O G R A M */
tailfile.phpc, en un directorio como /www/zendcore/tailfile. He /**********************************************/
modificado tail-example.php (Figura 5) para que funcione include(“tailfile.phpc”); // PHP Tail class.
con Zend Core para i5/OS. A mi versión, que comprueba si // This is where we watch our PHP error log for updates
hay errores nuevos en las anotaciones de errores de PHP, //——————————————————————
$t = new TailFile($tailfile);
algo que suelo hacer bastante a menudo, la he denominado print “Watching PHP log... \n”;
check_php_log.php.
while ($t->isOpen())
Mi script está pensado para ejecutarse en el entorno del {
terminal QShell en vez de en un navegador. ¿Por qué? Un $t->checkUpdates();
$myres = $t->getResults();
navegador no permitirá que una página web se ejecute per-
manentemente. Caducará, a menos que JavaScript redirija if ($myres)
print $myres;
la dirección periódicamente. QShell no tiene esas restriccio-
nes. Permite que un script de PHP se ejecute en un bucle $t->wait($check_delay);
}
infinito. Aquí se puede ver la potencia de PHP para scripts de //——————————————————————-
intérpretes de mandatos genéricos.
Ejecuto QShell y mi script con
la sentencia siguiente:
qsh
/www/zendcore/htdocs/tailfile/
check_php_log.php
7. Grider
Grider (phpclasses.org/browse/package/2538.html; hay que
registrarse, aunque la inscripción es gratuita) es un editor
basado en web que permite crear y editar tablas de HTML.
Con Grider, se pueden agregar y eliminar casillas de una ta-
bla, así como ajustar los atributos colspan y rowspan de las
casillas. Esta característica facilita el diseño de tablas aun-
que tengan combinaciones complejas de atributos rowspan/
colspan, como cuando una lista tiene cabeceras y etiquetas
integradas.
Para instalar el editor, descargue y extraiga el contenido
del archivo zip. Copie el contenido en una carpeta del servi-
dor web denominada /www/zendcore/grider, por ejemplo. Po-
drá acceder a la aplicación mediante el navegador con un
URL del tipo http://ejemplo.com:89/grider/index.php.
L
os próximos días 26 y 27 de febrero en el Palacio
Municipal de Congresos de Madrid tendrá lugar
un encuentro organizado por Microsoft en el que,
bajo el lema “The Evolution Show”, presentará la
nueva generación tecnológica de sus soluciones de
servidor y desarrollo, coincidiendo a nivel mundial con el lan-
zamiento oficial de Windows Server 2008, SQL Server 2008 y
Visual Studio 2008, completamente actualizadas y que in-
corporan la última tecnología del mercado.
Con motivo de ese evento mundial que promete ser el acon-
tecimiento tecnológico del año, hemos contacado con Juan
Tonda, Director de la Unidad de Negocio de Servidores y Pla-
taformas de Microsoft Ibérica, quien bajo el título de “Una
nueva ola de innovación para las empresas” nos comenta como
la combinación de estos tres productos favorecerá el proceso
de innovación empresarial. También hemos aprovechado la
ocasión para mantener una breve entrevista con Emilio Paz, Juan Tonda, Director de la Unidad de Negocio de Servidores y Plataformas de
Microsoft Ibérica
jefe de Producto de Windows Server 2008 sobre las capacida-
des de virtualización del nuevo sistema operativo.
virtualización, extendiendo sus ventajas desde el PC hasta el
Una nueva ola de innovación para las empresas Centro de Datos.
Hoy en día nadie se atreve a dudar de la importancia del En el marco de una industria en constante innovación, pre-
desarrollo de la Sociedad de la Información como elemento tendemos adelantarnos al futuro, beneficiando a las peque-
clave en la dinamización y modernización de los países y de ñas y medianas empresas con la adaptación a sus necesida-
su actividad económica y social. des pero también al usuario final a través de la virtualización.
Desde Microsoft, nos comprometemos con la industria, Desde Microsoft, apostamos por la virtualización de la infra-
muestra de ello es el lanzamiento mundial de Windows Server estructura tecnológica en múltiples niveles y creemos que las
2008, Visual Studio 2008 y SQL Server 2008, que constitu- empresas adoptarán estas tecnologías gracias a los impor-
yen una plataforma de plena confianza para la creación y tantes beneficios que se pueden conseguir con ellas.
ejecución de las aplicaciones más exigentes. La creación de
estos productos innovadores responde a las necesidades de La virtualización en Windows Server 2008
la nueva generación de aplicaciones, optimizando el uso de la La virtualización es la tecnología que permite que distintas
web, ampliando la difusión de tecnologías de virtualización y aplicaciones y sistemas operativos compartan un mismo ser-
mejorando el acceso a la información relevante. Windows vidor. Como veremos, es una funcionalidad más del nuevo
Server 2008 incorpora tecnologías de Web y virtualización sistema operativo de Microsoft.
▲ dentro del propio sistema operativo, permitiendo aumentar
▲ la fiabilidad y flexibilidad de la infraestructura de servidores ServerNEWS: ¿Cuáles son los motivos de la adopción de las
▲ en las empresas. En la misma línea le sigue la plataforma tecnologías de virtualización en el área de servidores?
Microsoft SQL Server 2008, que se basa en tres pilares: la – Emilio Paz: La Sociedad de la Información se caracteriza
productividad, la fiabilidad y la inteligencia de negocio ex- por su continuo y constante cambio. Esto requiere que las
tendida a toda la organización con el fin de optimizar la distintas soluciones y dispositivos se vayan adaptando a los
En directo
toma de decisiones. La nueva plataforma Visual Studio nuevos tiempos. Es en este entorno dónde la virtualización
2008 completa este lanzamiento, facilitando la rápida crea- de sistemas se está convirtiendo en la protagonista.
ción de aplicaciones, enriqueciendo la experiencia del usua- La adopción de la virtualización está presente en el 15% de
rio y potenciando el avance y la innovación en el área del los servidores del mercado, es decir, que el 85% restante no
desarrollo. tienen un software de virtualización. La adopción de esta tec-
El lanzamiento mundial de esta combinación de platafor- nología no ha llegado a la mayoría de los servidores existen-
mas supone un empuje definitivo a las tecnologías de tes pero se espera que, poco a poco, la vayan adoptando.
nuestra compañía ofrecerá soluciones de virtualización de tecnológico en todo lo referente a las infraestructuras, a la
manera muy proactiva y adaptada a las necesidades de cada optimización del uso del hardware y de los recursos existen-
cliente. Esperamos un crecimiento sólido que irá en aumento tes, más adaptabilidad e interoperabilidad entre fabricantes
en la medida que las empresas comprueben los beneficios de y sus soluciones. La virtualización implica formación y adap-
la virtualización en su negocio diario. tación progresiva, es decir, las compañías tendrán que estar
preparadas para soportar este nuevo entorno tecnológico. ■
¿Qué beneficios ofrece la virtualización a los sistemas y a la ▲
seguridad de los datos de una empresa? ▲
– Microsoft Windows Server 2008, con las nuevas tecnologías Sabiendo que en estos casos el tiempo escasea, desde ServerNEWS queremos ▲
de Web y Virtualización, conseguirá aumentar la fiabilidad y agradecer a Juan Tonda y Emilio Paz la gentileza de atender nuestra solicitud.
L
a Entidad Autónoma del Diario Oficial y de Publi-
caciones (EADOP) es la empresa que se dedica a
hacer los proyectos editoriales de la Generalitat
de Catalunya y a su difusión y comercialización.
En el ámbito jurídico, EADOP tiene por misión la
publicación oficial, mediante el “Diari Oficial de la Generalitat
de Catalunya” (DOGC), de las leyes de la Generalitat, las
disposiciones generales dictadas por el Gobierno y la Admi-
nistración de la Generalitat, y también los actos, anuncios y
demás documentos de la Generalitat y otras entidades o per-
sonas, cuando corresponda de acuerdo con el ordenamiento
jurídico.
La Ley 2/2007 del Diario Oficial, de 5 de junio, configura al
DOGC como un servicio público, universal y gratuito, libre-
mente accesible por Internet a todos los ciudadanos median-
te una edición digital, edición a la que esta Ley otorga plena De izquierda a derecha, los Sres. Lluís Peiret, Miquel Casals y Carlos Valero
autenticidad y validez jurídica mediante firma electrónica,
eliminando la necesidad de realizar una edición impresa. trabajo para el que aplicando el método habitual se necesita-
El progreso y el ahorro que supone la supresión de 350 to- rían aproximadamente unos quince años para hacerlo.
neladas anuales de papel, la eliminación de 8.000 CD y 500 EADOP necesitaba una solución tecnológica que les permi-
DVD, dejar de hacer los procesos de impresión, embolsado y tiera automatizar el tratamiento de tan gran cantidad de do-
envío de ejemplares son actuaciones que repercuten positi- cumentos, los numerase correlativamente y asegurase su pu-
vamente en el servicio a la ciudadanía ya que el DOGC está a blicación en el DOGC en los plazos establecidos, aprovechando
su disposición 24 horas los 365 días del año. La eliminación que la Ley 2/2007 confiere validez jurídica a su edición elec-
de la edición impresa del DOGC ha supuesto un gran paso en trónica.
el aspecto ecológico. Por su parte el Departamento de Política Territorial y Obres
Públiques (PTOP) entregaría las normas urbanísticas en blo-
El problema ques de 500 a 1000 normas acompañadas de un edicto. El
Los Ayuntamientos de Catalunya anunciaban en el DOGC edicto se publicaría en la edición digital del DOGC incluyen-
que se podían consultar las normas urbanísticas en el propio do un enlace a un anexo con las normas en formato PDF.
ayuntamiento, normalmente en formato de papel. Pero una
sentencia judicial del año 2000 establece que una norma ur- El proyecto
▲ banística sólo es legal si se ha publicado íntegramente en el Para tal proyecto la arquitectura informática utilizada en
▲ DOGC. Por consiguiente, todas las normas urbanísticas de EADOP consiste principalmente en un sistema iSeries con
▲ Catalunya quedaban con una validez jurídica dudosa. infraestructuras de Cliente Servidor y Web.
Para solucionar este problema jurídico, a principios de Miquel Casals como Analista programador del DOGC y res-
2007 el Departamento de Política Territorial y Obres ponsable del proyecto, contactó con CaCovai 400 para llevar
Públiques (PTOP) de la Generalitat de Catalunya comen- a cabo entre ambas empresas una aplicación Windows que
Presentación
zó a escanear y pasar a formato PDF todas las normas integrara el control de todo el proceso informático para el
urbanísticas para que fueran publicadas en el DOGC an- tratamiento de las normas urbanísticas. CaCovai 400 es la
tes de finales de 2007. empresa de consultoría y servicios, distribuidora exclusiva
EADOP, como entidad responsable de realizar la edición del software ASNA Visual RPG .NET, (AVR) que permite ha-
del DOGC, se enfrentó al reto de dar el formato correspon- cer desarrollos informáticos en entornos visuales (Windows,
diente a 10.000 normas urbanísticas de los Ayuntamientos Web) bajo la plataforma .NET de Microsoft con una total in-
de Catalunya, es decir, a más de 500.000 páginas en PDF; un tegración con el iSeries o con MS SQL Server.
El proceso
El departamento de informática del DOGC estableció que los
días 10 y 25 de cada mes se publicaran las normas. Para ello
una semana antes el Departamento de Política Territorial y
Obres Públiques entrega a EADOP un DVD que contiene to-
das las normas urbanísticas a publicar por cada edicto. Cada
norma está en un directorio del DVD y consta de uno o más
FIGURA 1 PDFs. Los PDFs de los diferentes directorios acostumbran a
Árbol de directorios del DVD que contienen las normas tener nombres repetidos, por lo que se deben renombrar asig-
nándoles un nombre único. En el DVD va incluido un archivo
Excel con los metadatos de cada norma: Población, Número
de expediente, titulo y directorio donde están los correspon-
dientes PDFs (Figura 1).
Como muestra el esquema de la Figura 2, la solución in-
formática consiste en una aplicación Windows realizada con
ASNA Visual RPG .NET para el tratamiento de los DVDs
recibidos. Esta aplicación valida el contenido del DVD según
el archivo Excel y localiza los PDFs contenidos en las dife-
rentes carpetas del propio DVD; posteriormente asigna nom-
bres únicos a los PDFs y sube estos documentos a las carpe-
tas del IFS; finalmente, los metadatos del archivo Excel junto
con los nuevos nombres de los PDFs que el programa ha ge-
nerado, se añaden a un archivo de base de datos del iSeries.
La misma aplicación procede a mover los PDFs del IFS a un
servidor específico para que éstos se formateen de acuerdo
FIGURA 2 con el diseño y directrices del DOGC mediante la solución de
Diagrama de procesos de la solución adoptada ADOBE (Figura 3). Posteriormente a la asignación del for-
mato, la aplicación mueve los documentos a una carpeta de
otro servidor para añadirles la firma electrónica que garan-
tiza su validez e integridad. Por último, el conjunto de todos
los PDFs con el formato correcto, se dejan en una carpeta
para la posterior publicación en Web por los servicios centra-
les de la Generalitat de Catalunya.
Como comenta Miquel Casals “Cada archivo consta de dis-
tintas páginas en varios formatos. Haciendo este proceso de
forma manual, sólo hubiésemos sido capaces de convertir de
tres a cuatro normativas diarias. Aplicando esta solución in-
formática obtuvimos una ágil solución”. El resultado fue que
el día 1 de Julio se logró suprimir la edición impresa del DOGC
y el 26 de Julio se consiguieron publicar las primeras normas
Presentación
urbanísticas en la Web.
Gracias al desarrollo de esta solución informática llevada
a cabo con Adobe y Visual RPG .NET, en seis meses, el DOGC
ha publicado las normas urbanísticas a ritmo de dos edictos
FIGURA 3 por mes y, a fecha actual, los 500.000 documentos de las nor-
PDFs formateados para su publicación en el DOGC mas urbanísticas están accesibles en la Web. ■
▲
Para el escaneado de los documentos se recurrió al produc- ▲
to Adobe LiveCycle Assembler, un producto de Adobe que cen- Lluís Peiret, con más de 20 años de experiencia en entornos medios de IBM, ▲
traliza y automatiza la conversión a formatos PDF persona- trabaja en el departamento técnico de CaCovai 400.
L
a versión V5R4 de i5/OS incluye varias mejoras paquete en la puerta del cliente y lo transporta hasta el cen-
de los diarios y el control de compromiso que pue- tro de clasificación más cercano. Allí, alguien lo pone en un
den resultarles muy atractivas a los usuarios. En contenedor y lo carga en un avión, vuela hasta un centro de
este artículo encontrará una muestra de lo que el distribución, se vuelve a clasificar, se pone en un nuevo con-
release V5R4 puede hacer por las tareas de diario tenedor, vuela hasta la ciudad del destinatario, se carga en
y compromiso. una camioneta y, por último, se entrega a su destinatario.
Por el camino, cada vez que el paquete cambia de manos, se
Subir el techo examina su código de barras y se actualiza su correspondien-
Para aquellos que les gusta guardar todos los cambios de te registro maestro, revelando, por ende, su ubicación actual.
los archivos protegidos por diario en un solo diario, la V5R4 La tabla de SQL que aloja el registro maestro de este paque-
les permite aumentar el tamaño máximo del diario hasta te puede constar de montones de columnas: el ID del fletador,
cuarenta veces, o lo que es lo mismo, que hasta diez millo- el número del paquete, su peso, su precio, el destinatario, el
nes de objetos compartan el mismo diario. Este mayor vo- código de la cuenta, la descripción, el valor declarado, etcéte-
lumen puede ser especialmente útil si se utiliza un paque- ra. Sin embargo, lo único que hay que actualizar repetida-
te de terceros que pone varias tablas de SQL en la misma mente es la ubicación actual. El resto de las columnas se que-
colección. Si tiene un diario para esta colección, la recupe- darán tal cual. Durante las siguiente 24 horas, conforme el
ración posterior será más sencilla. Antes del release V5R4, paquete se abra camino por el sistema de distribución, se
el límite superior impuesto por i5/OS era de 250.000 obje- actualizará el valor que reside en la columna de ubicación
tos por diario. Esto significaba que las empresas que so- del paquete una docena de veces. Y ocurrirá lo mismo con los
lían tener un gran número de tablas pequeñas (una situa- otros 400.000 paquetes que le habrán encomendado hoy... ¡es
ción típica de algunos programas de terceros) o muchos un montón de actualizaciones!
archivos de corrientes de bytes registrados por diario te- Si deja que el diario tome las medidas normales por omi-
nían que gestionar varios diarios. Aunque utilizar varios sión, cada actualización capturará una copia de la imagen de
diarios tiene muchas ventajas, la simplicidad no es una de toda la fila de SQL de este paquete. Sin embargo, la mayoría
ellas. de las columnas no varían de una actualización a otra. Cap-
Si desea poner todos los huevos en la misma cesta, a partir turar un imagen de toda la fila es mucho más costoso que dar
de V5R4 puede hacerlo, con tal de que indique al sistema permiso al sistema operativo para que grabe solamente las
operativo que quiere utilizar el nuevo techo. El mandato para columnas modificadas. El release V5R4 le permite grabar
aumentar este límite es el siguiente: únicamente las columnas modificadas, minimizando el tama-
▲ ño de las entradas de diario y lo hace de tal forma que ade-
▲ CHGJRN . . . JRNOBJLMT(*MAX10M) más facilita a los auditores el reconocimiento y la interpreta-
▲ ción de las columnas resultantes. Para habilitar este
Ponga el diario a dieta comportamiento en el diario, sólo hay que ejecutar este man-
Hay varias opciones para tener un receptor de diario esbelto dato:
y en forma. Una de las más eficaces –que frecuentemente se
Management
pasa por alto– es otorgar permiso al sistema operativo sub- CHGJRN . . . MINENTDTA(*FLDBDY)
yacente para que se abstenga de capturar imágenes de co-
lumnas invariables que residen en una tabla de SQL o en un ¿Cuánto espacio se puede ahorrar? Un cliente que usaba
archivo de base de datos nativo. un conocido paquete de terceros observó que el tamaño pro-
Por ejemplo, supongamos que trabaja en el sector del trans- medio de las entradas de diario se redujo de 637 bytes a 411
porte de paquetería y tiene un archivo que controla de ubica- bytes, lo que significa un 35% de espacio de disco por cada
ción actual de cada paquete. Un transportista recoge el entrada.
SAVOBJ . . . QDTA(*DTAQ)
CHGJRN . . . JRNRCYCNT(250000)
Ahora, no sólo puede reducirse la probabilidad de que colas
de datos vitales resulten afectadas por una avería de la má- JRNRCYCNT indica cuántas entradas de diario desea per-
quina, sino que también puede garantizar que podrá recupe- mitir que procese una IPL anómala. Por ejemplo, si seleccio-
rar el contenido más reciente de la cola si tuviera que despla- na el valor 50.000, estará indicando al sistema operativo que
zarse al local de recuperación en caso de siniestro. prefiere restringir la duración del tiempo de recuperación
S
QL es ante todo un lenguaje de recuperación y sus valores. Así que vamos a ver cómo se puede usar SQL
manipulación de datos, pero a menudo nos gusta- para tratar estas tareas.
ría añadir cierta lógica de programación a las
sentencias de SQL. En el entorno del System i, Información, por favor
muchas de las sentencias de SQL especializadas En una sentencia compuesta pueden incluirse sentencias
que manejan tareas de programación pueden describirse Declare (en el punto A de la Figura 2). Las sentencias Decla-
genéricamente como sentencias de control, pero ese nom- re son vitales para programar con SQL porque permiten de-
bre es, en el mejor de los casos, confuso. A las sentencias finir cursores (punteros con los que se pueden recorrer con-
de control a veces se las denomina lenguaje de procedi- juntos de resultados) y variables. Las variables declaradas
mientos almacenados o lenguaje de procedimientos de SQL en una sentencia compuesta son válidas en cualquier punto
(ambos abreviados como SPL). Para complicar aún más las de la sentencia compuesta en que se definan, así como dentro
cosas, las sentencias de SQL dentro de una sentencia de de cualquier sentencia compuesta anidada.
control se conocen oficialmente como sentencias de proce- Además, las sentencias de control pueden utilizar colum-
dimientos de SQL. nas de tablas de la base de datos. Según sea el tipo de aplica-
Las sentencias de control son casi universalmente válidas ción que se vaya a escribir, es posible tener acceso a más va-
dentro de las rutinas de SQL (desencadenantes, funciones riables (por ejemplo, un procedimiento almacenado puede
definidas por el usuario y procedimientos almacenados escri- recuperar datos de sus parámetros de entrada y modificar
tos en SQL). Asimismo, se pueden utilizar algunas senten- sus parámetros de salida).
cias de control cuando se incorpora SQL en una aplicación Una vez creadas las variables, tal vez tenga que modificar
mediante técnicas como SQL incrustado y JDBC. Por lo ge- sus valores. Para ello, puede usar una sentencia de control
neral, las sentencias de control no son válidas en entornos de Set, como la que se puede ver en el punto B de la Figura 2. (Si
SQL interactivos como iSQL o iSeries Navigator. consulta la documentación de IBM, no encontrará la senten-
En la Figura 1 se enumeran las sentencias de control de cia de control Set; IBM se refiere a Set como “la sentencia de
DB2 UDB para System i de la V5R4. Empezaremos explo- asignación”).
rando la sentencia compuesta, una sentencia de control que Además de definir variables y modificar sus valores, la
da a las rutinas de SQL su estructura. mayoría de los programas hacen comparaciones lógicas y uti-
lizan los resultados para dirigir el flujo de la aplicación. Mu-
Soporte estructural chas sentencias de control de la Figura 1 se ocupan de estos
Una sentencia compuesta agrupa varias sentencias de SQL aspectos de la lógica de programación y, con frecuencia, la
encerrándolas entre las cláusulas Begin y End, como puede sentencia de control tiene el mismo nombre que su equiva-
verse en la Figura 2. La única sentencia que conforma el lente en RPG.
▲ cuerpo de una rutina de SQL puede ser una sentencia com-
▲ puesta que contenga múltiples sentencias compuestas, ha- Trazar el rumbo
▲ ciendo que el límite de una sentencia por rutina sea mucho Empecemos la exploración de las posibilidades de usar bu-
menos restrictivo de lo que parece. cles y bifurcaciones en SQL con las sentencias If. Cada sen-
Programación y sistemas
A medida que el código escrito en SQL se vuelve más com- tencia If debe incluir una cláusula Then y debe finalizar con
plejo, descubrirá que las sentencias compuestas facilitan el End If, como se muestra en el punto C de la Figura 3.
mantenimiento y la comprensión del código. Para hacer aún Opcionalmente, dentro de una sentencia If se puede escribir
más fácil la observación de la estructura del código se puede una cláusula Else. Las sentencias If pueden anidarse aña-
añadir una etiqueta a la sentencia compuesta (como se ve en diendo directamente otra sentencia If dentro de la cláusula
el punto C de la Figura 2). La etiqueta de una sentencia com- Then (punto A de la Figura 3) o añadiendo una cláusula Else
puesta no afecta a su ejecución. If (punto B).
Por supuesto, ningún lenguaje de programación estaría La sentencia Case es parecida a If, pero Case especifica
completo sin la posibilidad de definir variables y modificar varias condiciones, cada una de las cuáles tienen su propia
▲
▲
▲
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