Está en la página 1de 15

Boletín MUGPERU – Julio 2009

.
.

Julio 2009
Año 2, Número 2
mugperu Digital
Los animamos a que nos alcancen
Continuando cualquier crítica constructiva o
sugerencias al siguiente correo:
Por MUGPERU Team.
En esta edición boletin@mugperu.com.
En esta oportunidad el MUGPERU
Continuando pone a vuestro alcance su segundo
1 boletín de artículos digital orientado
a promover y difundir diversos
Al límite temas relacionados a tecnologías
1 de información entre los
profesionales de sistemas,
. . . . .

La importancia de usar computación e informática.


2 plantillas de programación
Superando el 2009
Al límite
Este año se torna difícil por la Sección destinada a información
¿Sabías qué?
4 coyuntura económica y financiera
mundial. Sin embargo, debemos
sobre ciencia y tecnología en
general.
mirar hacia adelante como país y
Consiguiendo Alta
4 Disponibilidad y
Contingencia con Oracle
hacerle frente a las dificultades.

En el corto y mediano plazo el Perú


Supercomputadoras rumbo a los
Exaflops
Fechas y Hechos
9 se muestra como un país más
competitivo. Esperamos que
también nuestra industria del
La computadora más rápida del mundo se
llama Roadrunner (Correcaminos), según
Búsqueda de objetos en el sitio web especializado en clasificar

10 una Base de Datos SQL


Server
software y de proyectos en
tecnología siga creciendo; y desde
nuestros roles o funciones
supercomputadoras, Top500
(www.top500.org), de acuerdo a su último
Libros para tener en ranking publicado el día 23 de junio de

13 cuenta
cotidianas perfeccionemos la
calidad del trabajo que estemos
realizando.
2009.

El roadrunner está albergado en el Alamos


National Laboratory (Nuevo Mexico-
Esperamos encuentren útiles los EEUU). Fue construido por IBM con
artículos y secciones del presente fondos del Departamento de Energía de la
boletín, donde tratamos de Administración de Seguridad Nuclear
mantener el foco en tecnología, Nacional (NNSA) de EEUU, y es usado
sistemas, computación e para investigaciones científicas y militares.
informática. Ha sido el primero en el mundo en romper
la marca del petaflop, equivalente a mil
Agradecemos a los profesionales billones de operaciones matemáticas por
que han colaborado con los segundo.
MUGPERU – CONS4BIZ S.A.C.
Calle Ismael Bielich 829
artículos aquí mostrados y
Santiago de Surco, Lima 33 esperamos que sean de provecho a
Perú todos Ustedes. Continúa en la Página 3

. . . . . . . . . . . . . . . . . . . . . . . . 1
mugperu Digital

La importancia de usar plantillas de programación


Por José Canchucaja Vílchez (*)

Algunas de las principales razones para el uso de las plantillas de programación son:
• El aprendizaje es más rápido. Cuando en una organización entran nuevos
programadores, ya sean expertos o novatos, es más probable que se adapten más
rápido a su nuevo trabajo ya que las plantillas y estándares les facilitarán su labor.

• Es más fácil realizar las pruebas por el equipo de Testing. Pues al haber construido con plantillas, ya se
sabe que la lista de comprobación de aseguramiento de la calidad (QA checklist) es estándar para cada
tipo de componente construido.

• La calidad del software es superior. Además de medirse por el cumplimiento de los requerimientos,
también se mide por la manera en que ha sido construido y documentado dentro del mismo programa.

• El mantenimiento correctivo (incidencias) y adaptativo (nuevas funcionalidades) de programas que usan


plantillas se hace de manera más rápida, ya que se puede entender más fácilmente el desarrollo
realizado por otras personas así como la funcionalidad del programa.

• El control de cambios es más eficiente. Con el uso de plantillas podemos identificar más fácilmente las
líneas de código que han sido alteradas en el tiempo.

• Mejor estimación de tiempos. Al tener plantillas estándar, se puede estimar con mejor criterio los tiempos
de nuevos desarrollos o mantenimientos.

• Se facilita la tarea de una posible auditoría del software.

EJEMPLOS DE PLANTILLAS

A continuación se muestran algunos ejemplos de plantillas y estándares. En siguientes ediciones del boletín
estaremos mostrando otras plantillas también de utilidad para los desarrolladores.

Consideraciones para Espacios Blancos

• Uso de Líneas en Blanco


o Entre secciones de un source file y entre definiciones de clases e interfases.
o Entre métodos, entre variables locales de un método y su primera declaración, antes de un bloque o un
comentario simple de una línea.

• Espacios en Blanco
o Luego de una palabra clave seguida de un paréntesis debería ser separado por un espacio en
blanco :
 while (a>b) ….
o Después de cada coma en la lista de argumentos
o Todos los operadores binarios (excepto ‘.’) .
o Los Casts también deberían ser seguidos de espacios en blanco : mimetodo((int) aNum, (byte) x)

Declaraciones de Clases e Interfaces

• La llave de apertura ‘{‘ debe aparecer al final de la misma línea de la declaración de la clase o interface.

• La llave que cierra ‘}’ comienza en otra línea y debe estar indentada en la misma posición donde
comienza la declaración (excepto cuando no hay código donde el ‘{‘ debiera aparecer inmediatamente
después del ‘}’)

. . . . . . . . . . . . . . . . . . . . . . . . 2
Julio 2009

• No debe hacer espacios entre el nombre de un método y el paréntesis ‘(‘ que comienza su lista de
parámetros.

class miEjemplo extends ClasePadre {


int ivariable1;
int ivariable2;
Sample(int i, int j) {
ivariable1 = i;
ivariable2 = j;
}
int MetodoestaVacio() {}
...
}

• Los métodos deben estar separados por una línea en blanco.

(*)José Canchucaja Vílchez. Cuenta con más de 14 años de experiencia profesional en desarrollo, consultoría e
implantación de soluciones de software. Ha construido aplicaciones de software, ha sido Analista de Sistemas y se
ha desempeñado como Jefe de Proyecto en instituciones tanto en el sector privado como en el sector
gubernamental, usando tecnología Java. También es Instructor y Expositor frecuente en temas de desarrollo de
aplicaciones con el uso de la tecnología Java.

. . . . . . . . . . . . . . . . . . . . . . . .
Continúa de la Página 1

FLOPS es la abreviación de FLoating point Operations Per Second (Operaciones de punto flotante por segundo). Es una medida
utilizada para valorar el rendimiento de un ordenador (velocidad de ejecución) en el campo de los cálculos científicos:

TeraFLOPS (TFLOPS, 10 elevado a 12 FLOPS)


PetaFLOPS (PFLOPS, 10 elevado a 15 FLOPS)

En lo que concierne a este ranking de los 500 más rápidos computadores de la actualidad según Top500, FLOPS se refiere a
operaciones (sumas o multiplicaciones) de punto flotante de 64 bits.

El desempeño actual del Roadrunner es equivalente al poder combinado de computación de 100,000 de las más veloces laptops.
Para comparar su velocidad, podemos imaginar que si las 6 mil millones de personas en la tierra usaran una calculadora de mano
e hicieran cálculos (1 segundo por cálculo) las 24 horas del día y 7 días a la semana, tomaría más de 46 años hacer lo que el
Roadrunner puede hacer en 1 día.

Para conocer el ranking completo de los 500 sistemas de cómputo más rápidos del momento, visita el sitio www.top500.org/lists.
Los rankings de este sitio web se publican 2 veces al año.

Fuentes:
http://www-03.ibm.com/press/uk/en/pressrelease/24551.wss
http://www.nytimes.com/2008/06/09/technology/09petaflops.html?_r=2
http://www.top500.org

. . . . . . . . . . . . . . . . . . . . . . . . 3
mugperu Digital

¿Sabías qué?
Conceptos diversos que no está demás resaltar.

• El Personal Software Process (PSP) es un conjunto de lineamientos específicos orientado al desarrollador de


software para que los procesos de su trabajo propio tengan más calidad y así mejore su labor.

• El Team Software Process (TSP) es un conjunto de lineamientos específicos orientado al equipo de trabajo
conformado por desarrolladores que siguen cada uno de ellos los lineamientos del PSP. Esta orientado a la mejora
del trabajo del equipo.

• Ambos, el PSP y el TSP fueron desarrollados por Watts Humphrey, Asociado del SEI. El SEI desarrolló a fines de
los 80 y principios de los 90 el CMM (Capability Maturity Model), el cual capturaba las mejores prácticas
organizacionales para desarrollo de software. Humphrey decidió aplicar los principios fundamentales del CMM a
las prácticas de desarrollo de software de un único desarrollador. El resultado de este esfuerzo fue el PSP,
diseñado para ser un proceso nivel 5 de CMM para desarrolladores de software individuales.

• El SCAMPI (Standard CMMI Appraisal Method for Process Improvement) es el método de evaluación oficial del
SEI diseñado para proveer calificaciones de calidad comparativas en relación a los modelos CMMI.

• Existe en la web del SEI una mención a “CMMI-Based Professional Certifications” que podríamos traducir como
Certificaciones para Profesionales en CMMI, también conocida como “SEI Certifications” donde actualmente sólo
la certificación “SCAMPI High Maturity Lead Appraiser” esta relacionada a CMMI.

. . . . . . . . . . . . . . . . . . . . . . . .

Consiguiendo Alta Disponibilidad y Contingencia con Oracle


Por Francisco Riccio Chávez (*).

Actualmente las empresas requieren el acceso a sus bases de datos en todo momento,
además de necesitarlas acceder lo más rápido posible.

Como Administradores de Base de Datos & Aplicaciones siempre ha sido un desafío


poder cumplir con este requerimiento de las empresas cuyo rubro no permite nunca
detener el sistema productivo.

Frente a este problema, tenemos varias soluciones tales como tener instalado un cluster y un ambiente
de contingencia.

El objetivo de este artículo es comentar las bondades de tener un cluster y un ambiente de


contingencia en nuestra empresa y asimismo entregar un panorama general de los mismos.

Primero debemos definir ¿Qué es un cluster?, y en términos sencillos significa agrupar 2 o más
servidores unidos mediante una red de alta velocidad, de tal modo que esta agrupación forma un gran
servidor potente ubicado en un centro de cómputo.

4 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2009

Al estar varios servidores en cluster, nos entrega muchos beneficios que se pueden resumir para
nuestro usuario final en un acceso más rápido de la información (porque cada servidor balanceará la
carga de trabajo), además de permitirle una mayor posibilidad de siempre tener un acceso a la
información (porque si falla un servidor, otro servidor del conjunto puede atender el requerimiento) y
permitirle tener soluciones escalables (podemos aumentar más servidores al cluster para soportar más
usuarios y mantener la performance).

Existen muchos proveedores que ofrecen varias tecnologías para implementar un cluster, por ejemplo:
Microsoft, Oracle, IBM, Red Hat, etc.

Todas las tecnologías se basan en el siguiente esquema: Un conjunto de servidores que comparten un
storage externo común, con la finalidad de que si un servidor se malogra, los demás servidores puedan
seguir accediendo a la información ya que la información se ubica en un storage externo y compartido
para todos los servidores.

Para el storage externo tenemos también diferentes soluciones, precios y beneficios, por ejemplo IBM
ofrece sus Storage DS en la serie 8000 como última generación, HP ofrece su Storage XP1000 y así
otros fabricantes.

Los storage modernos tienen como características que su conexión hacia los servidores es por fibra y la
velocidad de transmisión es de 4 Gigabits por segundo, mantienen un caché con la finalidad de colocar
ahí la información y luego escribirlo en los discos, soportan varios discos, el storage cuenta con
procesadores para su procesamiento y en algunos casos estos procesadores se encuentran en un
ambiente alta disponibilidad por hardware como el DS 8300 de IBM.

Volviendo al escenario de la implementación de un cluster, este storage externo se presenta a cada


servidor como discos duros, donde por ejemplo, el servidor 1 ve el disco duro con serial A, ese mismo
disco duro con serial A es también visto por el servidor 2.

Hasta este paso tenemos un storage externo y común para los servidores, pero deben ser formateados
y particionados los discos (en el caso de Windows/Linux con fdisk).

Una vez particionados los discos el gran problema que se presenta para implementar nuestro cluster es
el formato que tendrán las particiones de los discos.

Aquí existen varias respuestas: Si estamos en Windows podemos formatear los discos con un sistema
de archivos FAT32, NTFS; o si estamos en Linux podemos hacerlo con EXT3 etc.

Pero ninguno de estos sistema de archivos permiten que 2 o más servidores puedan escribir y leer al
mismo tiempo sobre el mismo disco duro externo, por lo tanto necesitamos un sistema de archivos que
permita esto, de tal modo que los servidores del cluster puedan escribir y leer lo que ingresa cada
servidor en tiempo real. Algunos de estos son GPFS y JFS2 los cuales corresponden al sistema
operativo UNIX AIX de IBM. Así mismo HP presenta también sus soluciones para UNIX HP-UX. En Linux
y Windows contamos felizmente con una solución gratuita de ORACLE llamada OCFS (Oracle Cluster
Filesystem).

Entonces hasta el momento, hemos aprendido que para armar un ambiente cluster necesitaríamos:

1. Una conexión de red súper rápida para que los servidores puedan coordinar.
2. Un storage externo y compartido para los servidores del cluster.
3. El sistema de archivos (con el que se les formateará a los discos del storage compartido) debe
permitir la I/O a todos los servidores del cluster en tiempo real.
4. Un software de cluster que haga el balanceo de carga, la alta disponibilidad y permita la
administración del cluster.

. . . . . . . . . . . . . . . . . . . . . . . . 5
mugperu Digital

El punto 1 y 2 son temas de hardware.


Para el punto 3 tenemos una solución gratuita de Oracle llamada OCFS.
Sobre el punto 4, Oracle también ofrece una solución gratuita llamada el Oracle Clusterware, su última
versión es la 11g.

El Oracle Clusterware está disponible en diferentes plataformas.

La idea ahora como Administradores de Base de Datos & Aplicaciones es implementar el esquema
mostrado en la figura 1.

Figura 1

Donde podemos apreciar por la figura 1, que nuestra base de datos estará ubicada en el storage
compartido (con un sistema de archivo que soporte un ambiente cluster) y el software de cluster hará
el trabajo ya mencionado anteriormente.

La gran ventaja que nos ofrece Oracle con el clusterware si lo utilizamos sobre base de datos Oracle
sobre otro software de cluster de otros proveedores, es que el Oracle Clusterware realiza un balanceo
de carga a nivel de carga de procesamiento a nivel de Base de Datos y no a nivel de carga de CPU
como hace el resto.

Además tiene una característica llamada Transparent Application Failover (TAF), el cual nos da la
bondad de que si estamos nosotros realizando un reporte en un servidor determinado y si el servidor
presenta un problema de hardware y cae, Oracle Clusterware será el responsable de llevar nuestra
sesión del servidor caído hacia otro servidor que este operativo y continuar con el reporte sin comenzar
de cero y para el usuario final será transparente porque tendrá su reporte sin conseguir un mensaje de
error.

El clusterware tiene otras virtudes, por ejemplo: el mismo puede levantar automáticamente un servicio
cierta cantidad de veces en caso el servicio este caído, además permite trabajar en diferentes modos
como activo/activo, activo/pasivo, etc.

Desde la versión 10g, Oracle nos ofrece un nuevo sistema de archivos llamado ASM (Automatic Storage
Management), que también nos permite el I/O sobre los discos a tiempo real entre todos los servidores
que conforman el cluster, además de ofrecer la característica de stripping (significa que cada disco duro
balanceará la carga de trabajo porque su información estará distribuida uniformemente entre todos los
discos duros).

6 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2009

Este sistema de archivo solo permite almacenar archivos de base de datos tales como
datafiles, redo logs, archivers, etc.

Mientras OCFS permite almacenar cualquier tipo de archivo.

Tengamos presente que si nosotros tenemos un disco duro con un sistema de archivo OCFS ó ASM,
Oracle será el responsable de leer y grabar en crudo el disco.

De este modo hace un bypass al sistema operativo, teniendo un 30% de mejora de performance
sobre sistema de archivos convencionales tales como NTFS.

Por experiencia personal, lo recomendable sería que los archivos de configuración y uso del Oracle
Clusterware tales como el OCR y el Voting, deberían alojarse en un sistema de archivo OCFS y nuestra
base de datos en ASM.

Nuestra base de datos corriendo con el software de cluster de Oracle es la solución llamada: Oracle
RAC (Oracle Real Application Cluster) y tiene un costo adicional.

Hasta este momento tenemos la noción general de cómo se compone nuestro cluster y qué soluciones
nos ofrece Oracle para implementarlo.

Frente a esta solución, se han preguntado ¿Qué sucedería si tenemos una solución Oracle RAC o
cualquier otra solución de cluster de otro fabricante en nuestro centro de cómputo; y ocurre un
accidente tal como un incendio, terremoto, un atentado terrorista como la del 11 de setiembre o
simplemente nuestro storage externo murió?

Frente a esto, nuestro cluster dejaría de funcionar y nuestro storage externo también. En estos
escenarios donde los procesos de negocio deben continuar, es donde se piensa en implementar un
ambiente de contingencia, con la finalidad si algo sucede con todos nuestros servidores de producción
exista un servidor extra que pueda funcionar para seguir brindando la información a la empresa y la
disponibilidad del negocio continúe.

Nuestro ambiente de contingencia debe estar ubicado en otro lugar físico de la empresa y no menos de
10 Km. de distancia de nuestro centro de cómputo.
Oracle nos ofrece una solución llamada Oracle Dataguard, la cual nos permite tener una base de datos
en estado pasivo que estará recepcionando las transacciones del ambiente productivo, en caso de un
desastre, esta base de datos se convertirá en servidor productivo y atenderá las peticiones de los
usuarios porque siempre estuvo sincronizando la base de datos con el ambiente productivo.

Oracle indica que si tenemos una solución Oracle RAC con Oracle Dataguard, tendremos una
disponibilidad de la información al 99.99999% durante los 365 días del año. “Conocido como los
cinco nueves”

Además como buena práctica, Oracle recomienda tener este ambiente de contingencia en cluster. Por
lo tanto, en nuestro centro de cómputo tendríamos un Oracle RAC enlazado a un Oracle Dataguard que
se conforma por otro Oracle RAC en estado pasivo.

El esquema quedaría de este modo:

. . . . . . . . . . . . . . . . . . . . . . . . 7
mugperu Digital

Figura 2

Si optamos por una solución con Oracle Dataguard, yo recomiendo por experiencia que la comunicación
de nuestro centro de cómputo hacia el ambiente de contingencia debe realizarse por medio de fibra
oscura, para no presentar problemas de performance más adelante.

Hoy en día Oracle nos ofrece mecanismos para que nuestros usuarios siempre puedan obtener la
información que necesiten de modo eficiente. Como DBAs debemos considerar el uso de algunas de
estas tecnologías presentadas tales como OCFS, ASM, Oracle RAC y Oracle Dataguard para conseguir el
desafío presentado al inicio del artículo.

Existe mucha documentación sobre todas estas tecnologías, pero me gustaría compartir el link de la
página principal de OCFS, donde podemos encontrar las librerías que necesitaríamos si deseáramos
implementarlo lo más antes posible.

El url es: http://oss.oracle.com/projects/ocfs2/

Así mismo, el siguiente artículo haré un escenario sobre la instalación y configuración del sistema de
archivo OCFS para simular un cluster en un storage compartido.

(*) Ing. Francisco Riccio Chávez. Posee las certificaciones internacionales en OCA Database 10g (Oracle Certified
Associate), OCP Database 10g/11g (Oracle Certified Professional) y MCTS SQL Server 2005. Ha sido auditor y
consultor para Oracle Perú. Se desempeña actualmente como Administrador de Base de Datos y de Aplicaciones
Oracle en IBM PERU.

8 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2009

Fechas y Hechos
Sucesos relacionados a la era de la información.

David Packard y Bill Hewlett - Los primero años de HP

• A fines de 1930, Bill Hewlett de 17 años y David Packard de 18 ingresan a la Universidad de Stanford (Palo Alto,
California, Oeste de EEUU), donde llegan a conocerse. Durante los 2 primeros años de carrera coinciden en
muchas clases de matemáticas y ciencia.
• En 1934, durante su último año en la Universidad de Stanford, Bill y David, junto a Ed Porter (amigo de juventud
de Bill) y Barney Oliver, coinciden en las clases del profesor Fred Terman. Juntos hacen planes provisionales
para montar alguna empresa tras graduarse. Los 4 formarían más adelante el equipo de dirección de Hewlett-
Packard.
• En 1934, después de graduarse como bachilleres en Stanford, Bill Hewlett y David Packard realizan ambos un
viaje de mochileros de 2 semanas por las montañas de San Juan (Colorado-EEUU), donde llegan a ser amigos
cercanos.
• En Febrero de 1935, David Packard ingresa a trabajar en General Electric (Schenectady-New York), laborando
primero en el departamento de productos de refrigeración, probando refrigeradores con fugas y otros problemas.
Luego trabajaría en el departamento de ingeniería de tubos de vacío. Su salario entonces era de menos de 90
dólares al mes.
• Simultáneamente en 1935, Bill Hewlett hacia trabajo de postgrado en Stanford y luego pasó un año más en el
Massachussets Institute of Technology haciendo un master, logrando el grado de maestría en ingeniería eléctrica
del MIT en 1936.
• El 23 de Agosto de 1937, Bill y David se reunieron en Palo Alto para considerar la idea de fundar su empresa. El
acta del día llevaba por título “Planes organizativos provisionales y programa de trabajo provisional para una
propuesta de negocio”. El acta empezaba por una declaración general sobre diseño y fabricación de productos en
el campo de la ingeniería eléctrica, seguido por una sorprendente frase: “La cuestión de qué fabricar se
pospone…”. La primera propuesta de nombre para su emprendimiento fue “The Engineering Service Company”.
• En 1938, David Packard se casa con Lucile Salter, a quien conoció en 1934. La pareja llegaría a tener 4 hijos.
• David y Lucile se establecen en Stanford, con permiso no retribuido de GE (renunciaría oficialmente en Junio de
1939). En Stanford, David obtiene una beca con un estipendio de 500 dólares al año. Bill Hewlett regresa también
a Stanford.
• En setiembre de 1938, David y su esposa rentan el primer piso de una casa en el 367 de la Av. Addison, en Palo
Alto, California. Bill renta el pequeño cobertizo (2.43m x 5.48m) que se situaba detrás de la casa, todos ellos
comparten una renta de 45 dólares por mes. David y Bill empiezan a trabajar a medio tiempo en el garaje para un
coche de la casa (3.65m x 5.48m), con un capital de trabajo de 538 dólares, consistente en efectivo y una prensa
taladradora Sears-Roebuck de segunda mano (en 1989 el estado de California nombraría al garaje de la Av.
Addison monumento de la historia de California y “el lugar de nacimiento de Silicon Valley”).
• Los primeros meses realizan diversos trabajos pequeños como el diseño de un aparato de control para aire
acondicionado, un oscilador de audio, un ejercitador basado en impulsos eléctricos, etc.
• Su primer producto comercial fue un oscilador de audio nombrado Modelo 200A, un instrumento electrónico
usado para generar frecuencias de audio de alta calidad necesarias en las telecomunicaciones, la geofísica, la
medicina y la defensa. Eligieron el nombre para que pareciera que llevaban ya un tiempo en el negocio, pues
temían que la gente se asustara si sabían que no habían nunca desarrollado, diseñado y construido un producto
acabado.
• La producción de estos primeros modelos era artesanal. Los tableros los producían ellos mismos recortando
aluminio y haciéndoles agujeros, pintándolos con aerosol en casa y utilizando un horno de cocina para fijar la
pintura. Otros trabajos los realizan en el taller de Charlie Litton, para el cuál David trabajó durante el periodo de
su beca. Según David Packard: “(Litton) nunca nos vio como competidores, sino como colegas”.
• Walt Disney Studios ordena 8 osciladores Modelo 200B, a 71.50 dólares c/u. Un modelo similar de la
competencia costaba alrededor de 400 dólares. Esto proporciona uno de los primeros ingresos sustanciales a la
empresa.
• David participa en varios seminarios y discusiones organizadas por Charlie Litton, ingeniero eléctrico y mecánico
de Stanford, quien según Packard “siempre que quería aprender algo más, organizaba un seminario en su taller y
nos invitaba a mí y a otras personas (…) puedo recordar muchas discusiones sobre fenómenos físicos como la

9 . . . . . . . . . . . . . . . . . . . . . . . .
mugperu Digital

teoría de ondas y la mecánica cuántica. También hablábamos sobre la filosofía empresarial. Charlie (…) sabia
que había que mantener la empresa y pagar las facturas”.
• David lleva en Stanford dos cursos: Derecho Mercantil y Contabilidad de Gestión (“han sido los cursos mas
importantes que he hecho en mi vida”). Ellos le dieron el conocimiento suficiente para, durante los primeros años,
elaborar sus contratos y no depender de abogados y le ayudó a llevar los libros de contabilidad de la empresa.
• Bill y Dave formalizan su sociedad el 1 de Enero de 1939. Deciden que nombre iría primero en el nombre de la
compañía con un lanzamiento de moneda.
• En 1939, Bill y David alcanzarían el grado de ingenieros de la Universidad de Stanford.
• Bill se casa con Flora Lamson en 1939, la pareja llegaría a tener 5 hijos. Bill deja el cobertizo que luego se
convertiría en la oficina de negocios de la compañía con un escritorio y un archivador.
• A finales de 1939, en su primer año completo de negocios, las ventas de HP sumaron 5369 dólares, con 1563
dólares de beneficios.

Fuentes:
- El Estilo HP. Como Bill Hewlett y yo creamos nuestra empresa. David Packard. Colección Grandes Casos
Empresariales. Ediciones Deusto, 2007.
- The HP Way: How Bill Hewlett and I Built Our Company. David Packard. HarperCollins Publishers, NY, EEUU, 1996.
- HP timeline: http://www.hp.com/hpinfo/abouthp/histnfacts/timeline/hist_30s.html
- HP Garage Timeline: http://www.hp.com/hpinfo/abouthp/histnfacts/garage/timeline.html

. . . . . . . . . . . . . . . . . . . . . . . .

Búsqueda de objetos en una Base de Datos SQL Server


Por Alberto De Rossi T.(*)

Uso regularmente este corto procedimiento almacenado (store procedure o SP), para encontrar
diferentes objetos sobre diferentes bases de datos SQL Server. Es muy simple y muy practico. Este
SP ha sido probado en las versiones SQL 2000 y 2005. De por sí, necesitas tener una idea de los
nombres de los objetos que existen en la base de datos. Creándolo sobre la base de datos master
del SQL Server lo hace disponible para cualquier usuario, para realizar búsquedas sobre cualquier
base de datos del servidor. Este procedimiento almacenado construye dinámicamente una consulta
dependiendo de los parámetros que tú uses.

Puedes buscar todos los objetos u objetos de algún tipo en especial, con la opción de ordenarlos por su fecha de
creación. Muestra al final del resultado un contador de los objetos que corresponden a los criterios de búsqueda.
Cuando conoces los primeros caracteres de lo que quieres buscar, no es necesario que uses las comillas simples ('')
en el parámetro de búsqueda.

Ejemplos de Uso:

1. Para buscar objetos, no importa el tipo, cuyo nombre empieza por cli (no es necesario usar las comillas ''). El
resultado será ordenado por nombre

sp_search cli

2. Para buscar objetos, no importa el tipo, cuyo nombre tenga en alguna parte los caracteres cli. El resultado será
ordenado por nombre

sp_search '%cli'

3. Para buscar objetos, no importa el tipo, cuyo nombre tenga en alguna parte los caracteres cli. El resultado será
ordenado por fecha de creación

10 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2008

sp_search '%cli', null, 1

4. Para buscar un procedimiento almacenado, cuyo nombre empieza por cli (no es necesario usar las comillas''). El
resultado será ordenado por nombre

sp_search cli, p

5. Para buscar un procedimiento almacenado, cuyo nombre empieza por cli (no es necesario usar las comillas''). El
resultado será ordenado por fecha de creación:

sp_search cli, p, 1

Los tipos de objeto pueden ser cualquiera de estos:

C = CHECK constraint (Restricciones de chequeo)


D = Default or DEFAULT constraint (Restricciones por defecto)
F = FOREIGN KEY constraint (Restricciones de clave foranea)
L = Log (Bitácora)
FN = Scalar function (Función escalar)
IF = Inlined table-function (Función de valores de tabla en línea)
P = Stored procedure (Procedimiento almacenado)
PK = PRIMARY KEY constraint (type is K) (Restricciones de clave primaria)
RF = Replication filter stored procedure (Procedimiento almacenado de filtro de recuperación)
S = System table (tabla de sistema)
TF = Table function (función de tabla)
TR = Trigger (disparador)
U = User table (tabla de usuario)
UQ = UNIQUE constraint (type is K) (Restricción única)
V = View (Vista)
X = Extended stored procedure (Procedimiento Almacenado Extendido)

Aquí el procedimiento:

--------------- Publicado originalmente en ingles en SQLServerCentral:


http://www.sqlservercentral.com/scripts/search+object/64828/ ---------

USE [master]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

/*
Nombre : sp_search
Creado Por : Alberto De Rossi
Fecha Creación : 2008-03-17
Descripción : Busca objetos en una base de datos, por tipo o por nombre,
Opción de ordenarlos por su fecha de creación.
Muestra al final un contador con el total de objetos ubicados.
Se crea en la base de datos Master para todas las BD de la instancia
Modo de Uso:
->busca un objeto de cualquier tipo, cuyo nombre comienza con cli.
No se necesita incluir comillas (''), ordenado por nombre

sp_search cli

. . . . . . . . . . . . . . . . . . . . . . . . 11
mugperu Digital

->busca un objeto de cualquier tipo, cuyo nombre contiene la cadena cli,


ordenado por nombre

sp_search '%cli'

->busca un objeto de cualquier tipo, cuyo nombre contiene la cadena cli,


ordenado por fecha de creación

sp_search '%cli', null, 1

->busca un objeto de tipo procedimiento almacenado, cuyo nombre comienza con cli.
No se necesita incluir comillas (''), ordenado por nombre

sp_search cli, p

->busca un objeto de tipo procedimiento almacenado, cuyo nombre comienza con cli.
No se necesita incluir comillas (''), ordenado por fecha de creación

sp_search cli, p, 1

->Los tipos de onjetos pueden ser cualquiera de estos:


C = CHECK constraint
D = Default or DEFAULT constraint
F = FOREIGN KEY constraint
L = Log
FN = Scalar function
IF = Inlined table-function
P = Stored procedure
PK = PRIMARY KEY constraint (type is K)
RF = Replication filter stored procedure
S = System table
TF = Table function
TR = Trigger
U = User table
UQ = UNIQUE constraint (type is K)
V = View
X = Extended stored procedure
*/
ALTER PROCEDURE [dbo].[sp_Search]
@ObjectName varchar(50),
@Type varchar(2) = NULL,
@SortByDate bit = NULL
AS

--Variable para consulta dinámica


DECLARE @Query varchar(200)

--Añadimos '%' al final del nombre que nosotros queremos buscar


SELECT @ObjectName = @ObjectName + '%'

--Construimos la consulta dinamicamente basados en los parametros


SET @Query = 'SELECT name AS [Objecto], type AS [Tipo], crdate [FechaCreacion]'
SET @Query = @Query + ' FROM sysobjects WHERE name LIKE ''' + @ObjectName + ''''

--Si especificamos el tipo, lo añadimos a la condición where


IF @Type IS NOT NULL
SET @Query = @Query + ' AND type = ''' + UPPER(@Type) + ''''

12 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2008

--Si especificamos la opción SortByDate, lo añadimos a la consulta. Sino, los


resultados se ordenaran por el nombre del objeto
IF @SortByDate = 1
SET @Query = @Query + ' ORDER BY crdate DESC'
ELSE
SET @Query = @Query + ' ORDER BY name'

--Clausula COMPUTE para contar las lineas mostradas


SET @Query = @Query + ' COMPUTE COUNT(name)'

EXEC (@Query)
GO

(*) Alberto De Rossi (MCTS SQL Server 2005, MCP). Consultor en Sistemas, con más de 8 años de experiencia
en Implementación de Soluciones. Especializado en Metodologías de Desarrollo de Software, SQL Server 2005 e
Implantación de Soluciones empresariales.

. . . . . . . . . . . . . . . . . . . . . . . .

Libros para tener en cuenta


Algunos libros que te pueden interesar leer.

Título: El estilo HP. Cómo Bill Hewlett y yo creamos nuestra empresa. 1era Edición.
2007. Serie Grandes Casos Empresariales
Título Original. The HP Way. How Bill Hewlett and I built our company. 1995
Autor: Packard, David.
Editorial: Deusto - España
Traducción: eurolink.
191 páginas, 24x15.6 cm. Tapa dura.

La contratapa menciona lo siguiente: "El estilo HP es un ejemplo del poder que


encierra la creación de una empresa en torno a una estructura de principios, donde
el concepto esencial es la contribución a sus empleados, a sus clientes, al entorno
en el que opera".

Este libro trata sobre la historia de una empresa de tecnología así como también
sobre un caso empresarial de éxito y su estilo de gestión. Así que cualquiera sea tu
interés, sean los negocios o la informática, encontraras en este libro información de
indudable valor.

Es un relato breve, ameno y sencillo, de tan solo 12 cortos capítulos, escrito por
David Packard, uno de los cofundadores de la empresa HP, acerca de cómo David Packard y Bill Hewlett se
conocieron y constituyeron su empresa, las ideas que manejaron para dirigirla, lo que Packard considera fueron sus
fortalezas personales, el crecimiento inicial de HP, su evolución y su famoso estilo de gestión.

El libro empieza con un gran prologo de Jim Collins, autor de varios libros de negocios, quien nos da un buen
resumen de lo que encontraremos más adelante en las páginas del libro: "Actualmente los principios del estilo HP se
dan casi por descontado, pero cuando se formularon en su tiempo eran visionarios, radicales, incluso, para la época".
"Hewlett y Packard rechazaron la idea de que una empresa existe meramente para maximizar los beneficios". "La
mayoría de empresarios se plantea la cuestión de 'cómo triunfar'. Desde el primer día Packard y Hewlett se
plantearon un reto diferente: 'como contribuir'; y así fue como HP alcanzó un éxito extraordinario. Este éxito les

. . . . . . . . . . . . . . . . . . . . . . . . 13
mugperu Digital

permitió invertir en contribuir, lo que a su vez aportó un mayor éxito, que produjo mas contribución que trajo aún más
éxito". "Pero no vayan a pensar que David Packard y el estilo HP es solo cuestión de altruismo y caridad. Packard y
Hewlett exigían rendimiento, y si no lo producías, no tenías lugar en el estilo HP". "...encontramos el ADN oculto del
estilo HP. El genio del 'y'. Hacer una contribución técnica y satisfacer las necesidades de los clientes. Cuidar el
personal y exigir resultados [...] Contribuir a la comunidad y proporcionar unos ingresos excepcionales a los
accionistas".

Encontraremos también el notable y emotivo discurso que David Packard dio a un grupo de directivos de HP en 1960,
y del cual muchas frases memorables son ampliamente citadas en libros de negocios: "En primer lugar quiero hablar
sobre porque existe una empresa [...] Creo que mucha gente piensa, equivocadamente, que las empresas existen
simplemente para hacer dinero. Hacer dinero es un importante resultado de la labor de una empresa, pero para
encontrar nuestra autentica razón de ser tenemos que profundizar más [...] llegamos a la conclusión de que un grupo
de personas se junta y existe como una entidad que podemos llamar empresa para hacer algo colectivamente que no
podrían conseguir por separado. Pueden hacer algo que valga la pena -hacen una contribución a la sociedad (suena
utópico pero es fundamental) [...] el impulso surge en gran parte de un deseo de hacer algo -hacer un producto, dar
un servicio- en general, hacer algo de valor". "[...] hemos desarrollado la política de que es importante que el
supervisor conozca detalladamente y entienda el trabajo de su grupo [...] Algunos dicen que se puede ser un buen
director sin tener la mínima idea de los que se está dirigiendo [...] No digo que no se pueda hacer así, lo que digo es
que se puede hacer mucho mejor cuando el director o supervisor tiene verdadera comprensión del trabajo de su
grupo".

Los primeros 2 capítulos son la historia personal de David Packard y de Bill Hewlett y como se conocieron. Los
capítulos 3 y 4 narran los inicios de HP.

El capitulo 5 narra la evolución y consolidación de HP, su salida a bolsa y el inicio de sus relaciones internacionales
con Europa y China. Lo más resaltante de este capitulo 5 es la descripción de los objetivos corporativos de HP en
1966, que fueron: El beneficio, Los clientes, El campo de interés, El crecimiento, Los empleados, La organización y
La ciudadanía. Según David Packard: "Tenemos un conjunto de valores, convicciones profundamente arraigadas que
nos guían hacia nuestros objetivos al trabajar unos con otros, y al tratar con los clientes, accionistas y otros. Nuestros
objetivos corporativos están creados sobre estos valores [...] Para ayudarnos a alcanzarlos empleamos varios planes
y practicas. Es la combinación de todos estos elementos: nuestros valores, objetivos corporativos, planes y practicas
lo que forma el estilo HP".

Los capítulos 6 al 12 se sumergen en lo que es el estilo de gestión de HP. En el capitulo 6 se habla del crecimiento a
partir del beneficio: "Es imposible llevar un negocio a largo plazo si no genera beneficio, por lo que la persecución de
cualquier otro de sus objetivos ha de generar beneficios para una empresa". "[...] nuestra empresa no debía
endeudarse a largo plazo. Por esta razón, Bill y yo determinamos que operaríamos con el sistema pay-as-you-go,
financiando nuestro crecimiento principalmente a partir del beneficio en vez de pedir prestamos".

El capitulo 7 habla del campo de interés de HP y su entrada al mundo de las calculadoras personales y a la
informática: "[...] queríamos dirigir nuestros esfuerzos a hacer importantes contribuciones técnicas para que avanzase
la ciencia, la industria y el bienestar humano. [...] Los productos HP originales eran instrumentos electrónicos de
medida, Al crecer, nuestra línea se expandió también, y a la vez nuestro campo de interés". "Una idea ha de ser
practica (el aparato deberá funcionar bien) y útil para que la llevemos a la practica". "Para ser útil, un invento no solo
tiene que satisfacer una necesidad, ha de ser una solución eficiente y económica para esa necesidad". "En HP
solíamos seleccionar proyectos a partir de un ratio de seis a uno en términos de retorno; es decir, que durante su vida
como producto fuesen a generar unos beneficios seis veces superiores a su coste".

El capitulo 8 habla sobre el compromiso con los clientes, y nos habla también de la historia de las impresoras HP, su
compromiso con la calidad y la formación de su joint venture en Japón: "Alentamos a cada persona que forma de la
organización para que piense constantemente en como afecta lo que hace en el servicio al cliente". David además
pone como ejemplo lo que su entonces vicepresidente de marketing Noel Eldred le indicaba a sus ingenieros de
ventas: "queremos que te pongas en la situación del cliente. Después de todo, no vendemos hardware, vendemos
soluciones para los problemas de los clientes". Para David Packard, es importante el feedback del cliente para
ayudarlos a diseñar y desarrollar productos que realmente satisfacen sus necesidades.

Los restantes capítulos siguen hablando de los otros aspectos del estilo HP, como la administración por objetivos
(MBO), la administración andariega (MBWA), etc. En conjunto, el libro nos narra la historia de la compañía HP y las

14 . . . . . . . . . . . . . . . . . . . . . . . .
Julio 2008

diversas políticas que establecieron los fundadores para llevar adelante su empresa, como los subsidios
educacionales a los empleados, el compartir las ganancias, el dar autoridad a los empleados cercanos a los clientes,
etc.

Este libro, en su primera edición de 1995, fue entregado a los empleados de HP con la siguiente nota de David
Packard:
"A toda la gente HP:
Espero que disfrutes este relato de como Bill y yo empezamos la compañía y como la convertimos en un líder mundial
en tecnología, innovación y negocios empresariales. He además descrito aquellos valores y principios de
administración HP que en conjunto han llegado a ser conocidos como el "Estilo HP".
El éxito de HP es debido al talento y dedicación de ti y de tus colegas y de la gente que ha estado antes que tú.
Juntos hemos construido una verdaderamente notable compañía. Creo que esta es una compañía sin par y espero,
como leerás en las paginas que siguen, que sentirás un profundo sentido de orgullo y satisfacción en lo que hemos
logrado."

Una lectura muy recomendable y al alcance de todos.

Sobre mugperu Digital


Esta es una publicación digital.

Para todos los efectos de licencias, nos acogemos a la Creative Commons By-NC 2.5 para todas las notas firmadas.

Las notas firmadas reflejan la opinión de sus autores y no necesariamente coinciden con las de MUGPERU – CONS4BIZ
S.A.C.
Las notas no firmadas pueden ser usadas bajo la licencia Creative Commons Attribution/Share-Alike (CC-BY-SA),
atribuyéndonos el contenido y dejando un enlace a www.mugperu.com.

El material se provee “tal cual es” sin ningún tipo de garantía implícita o explicita en lo concerniente a fidelidad, validez o
exactitud de la información o de los resultados obtenidos por el uso de dicha información o material.
Ni MUGPERU ni CONS4BIZ S.A.C. asumen responsabilidad alguna por cualquier consecuencia derivada de la fabricación,
funcionamiento y/o utilización de los productos o servicios que se describen, analizan o publican, como tampoco por
cualquier violación de patentes y/o derechos de terceras partes que pudieran ocurrir, estando esta publicación destinada a
fines educativos.

MUGPERU agradece a todos los colaboradores de la presente edición de mugperu Digital.

Todos los nombres de personas, empresas y servicios se utilizan únicamente con fines editoriales. Las marcas comerciales
mencionadas son propiedad de sus respectivas compañías y no se usan con propósito de atribución de endoso o afiliación
con esta publicación.

Colaboraciones
Si eres un experto en algún tema del quehacer informático y deseas colaborar con esta publicación, te pedimos nos puedas
suministrar tu articulo y tu perfil profesional para evaluación a boletin@mugperu.com. Nos reservamos el derecho a su
publicación.

. . . . . . . . . . . . . . . . . . . . . . . . 15

También podría gustarte