Noticias Weblogs Foros Wiki Código

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

Blog de Julio César Pérez Arques

Historia de una integración (i): El principio

Marzo 31st, 2009 - [Enlace local]

Esta es la historia de un proyecto de desarrollo software. Como toda buena historia tiene momentos difíciles, personajes complejos, un final féliz y más de una lección que aprender.



Antecedentes

En enero del 2008 comenzó una nueva etapa profesional para mi, cambié de compañía en búsqueda de nuevos retos y proyectos donde trabajar, y continuar aprendiendo, en lo que verdaderamente me apasiona, las nuevas tecnologías de desarrollo software. Atrás dejé una cómoda posición como Analista en una factoria de software al cargo de varios aburridos y antediluvianos proyectos de mantenimiento de una importante TELCO.



Así me encontré al frente de un equipo de desarrollo de 3-6 personas, residente en un importante cliente del sector sanitario público, y dirigiendo un buen número de proyectos Java, consistentes en nuevos desarrollos y mantenimientos.



Pero no sólo yo tenía ganas de cambios para el 2008. En una decisión tan valiente como inesperada, el cliente decide implantar un completo sistema SAP R/3 para sustituir la gran mayoría de sus sistemas de gestión.



Para esta obra faraónica se ha confiado en la típica pirámide de empresas, compuesta por (i) la super multinacional que aporta el nombre, más la élite, (ii) la cárnica el grupo hispano líder que aporta referencias de éxito en proyectos similares más la clase media y (iii) la empresa regional con aspiraciones que aporta el toque local, instalaciones y una masa de programadores a buen precio. Una organización digna de un imperio persa.



El proyecto

Mi parte en la historia sería la de dirigir un proyecto consistente en desarrollar una aplicación web Java que hiciera de front-end para varios módulos del futuro SAP R/3 del cliente. El proyecto empezó oficialmente en junio con la idea de llevarlo de forma paralela a la implantación de SAP. El objetivo era poner en funcionamiento una primera versión para el 1 de enero del 2009 para un número de usuarios controlado y poco a poco ir difundiendo su uso. A día de hoy la aplicación está implantada de forma completa y funcionando estable y eficázmente.



Como os imaginaréis ha sido una experiencia apasionante pero también muy exigente. Aunque me ha hecho pasar más de un trago amargo, en general estoy satisfecho con su resultado final y sobretodo con lo aprendido por el camino. Un camino que intentaré plasmar en esta serie de posts que espero se conviertan en un útil ejercicio de retrospectiva al que estais todos invitados.



Ecosistema software

No quería cerrar el post sin contar algo de verdad. Así que describiré las distintas partes que forman el ecosistema software que he ido construyendo desde mi llegada.

Mis planes para este año implican las siguientes mejoras:

Con ésto doy por terminada esta primera parte de introducción y ecosistema. En la segunda me centraré en la arquitectura de la aplicación.

» Leer más, comentarios, etc...

HardBit

Programadores y Usuarios de Mac (PUMac)

Marzo 31st, 2009 - [Enlace local]

pumac_logo copia.png

En esta ocasión les traemos Josué (Blacknash) y yo el sitio www.pumac.net el cual básicamente tendra foros tanto para usuarios como para programadores y habrá una sección de noticias y articulos para todos aquellos afortunados que poseemos una Mac ;) .

Mientras terminamos de diseñar el esquema que se manejara, les adelantamos que el sitio se encuentra en linea y pronto esta la información básica para que puedan registrarse todos los maqueros.

:-)

» Leer más, comentarios, etc...

knocte :: MonoTema

I14Y happens

Marzo 30th, 2009 - [Enlace local]

Some years ago, I started to get familiarized with abbreviations like 'l10n', 'i18n' when I started contributing to the translation efforts of Mozilla & Firefox under the NAVE Project.Some months later I came to know the new term 'a11y', and I started to see it in a lot of places. By that time, I only associated it with the web development world. Terms like "Unobstrusive JavaScript" were very

» Leer más, comentarios, etc...

PROGRAMANDO EN .NET

3 formas de obtener la versión de SQL Server desde T-SQL

Marzo 27th, 2009 - [Enlace local]

En un mundo perfecto todas nuestras instalaciones tendrían las mismas versiones de las aplicaciones, motores de bases de datos y librerías auxiliares, pero como este mundo es una utopía, a veces tenemos que averiguar con qué versión del motor de base de datos está trabajando la aplicación.En el caso de SQL Server he descubierto 3 formas de averiguar la versión desde T-SQL, con cualquiera

» Leer más, comentarios, etc...

HardBit

El trabajo de un arquitecto de software

Marzo 26th, 2009 - [Enlace local]

En varias ocasiones se ha discutido sobre lo que debe hacer o no un arquitecto de software, algunos piensan que es aquel que se dedica a hacer el analisis de la aplicacion y se deslida totalmente de la parte tecnica del desarrollo, este articulo puede cambiar la perspectiva de esa idea, y darnos un paradigma de lo que problamente mas se le acerque a lo que debe realizar un arquitecto de softwarte, para no reescribir el articulo pongo aquí la dirección de este. Les recomiendo su lectura.

El rol de los Arquitectos de Software

» Leer más, comentarios, etc...

Ideas + Ingeniería del Software

Los ordenadores son, esencialmente, deterministas

Marzo 22nd, 2009 - [Enlace local]

Los ordenadores, fallos hardware aparte, son autómatas deterministas: dado un estado inicial, una serie de operaciones llevan siempre al mismo resultado.

Una conclusión de esto es que no hacen "cosas raras". Puede haber cosas mal hechas, claro está, pero sus efectos son predecibles.

Un caso paradigmático de esto son las librerías. En todas hay bugs, claro, pero pocos. Si algo "no funciona" revisa antes tu código. Las librerías de código abierto son usadas por millones de desarrolladores, y revisadas por gran parte de ellos (¿aún no has asociado las fuentes a los binarios en Eclipse? ¿A qué esperas?). Sin embargo, tu código es nuevo y sólo tuyo, probablemente el problema esté ahí.

Cuando llamamos a un SAT lo primero que nos preguntan es ¿está enchufado? Sí, es irritante, pero, ¿compruebas que tu código lo está? El determinismo hace que para solucionar la mayor parte de los errores en el código no sea necesario ni pensar. Símplemente un análisis metódico desde el error nos conduce al error: vete a la línea que falla y vete "tirando del hilo". El problema aparecerá solo.



PS: ¿Ah, que estás utilizando librerías propietarias, sin el código? Mmm... ¡Buena suerte!

» Leer más, comentarios, etc...

Ideas + Ingeniería del Software

IPhone 3.0 y ubiquidad

Marzo 19th, 2009 - [Enlace local]

No es mi costumbre usar este blog para hacer reseñas de productos, pero sí me gustaría hablar un poco del IPhone, a cuento del reciente anuncio de la versión 3.0 de su sistema operativo.

Se habla mucho de cloud computing, Web 3.0 y demás milongas últimamente, que, en mi opinión, sólo sirven para alimentar los blogs, las columnas en las revistas, y con ello, las nóminas, de supuestos visionarios. Nuevas etiquetas para productos que ya existen.

Sin embargo, la auténtica evolución (no creo que haya revoluciones a la vista) de Internet es la presencia ubíqua de la misma. Hace aproximadamente cinco años trabajé en proyectos de I+D sobre este tema, y se veía claro que el futuro pasaba por ahí. Sin embargo, el precio de los dispositivos y la cara y escasa cobertura de Internet de calidad lo hacían imposible.

A día de hoy los dispositivos están al alcance de cualquiera, y la conexión es más que aceptable, así que esto está a punto de estallar. Google lo sabe y se ha posicionado con Android. Apple, con su iPhone, ya lo está experimentando.

La versión 3.0 contiene dos bombas potenciales en este aspecto: las compras in-app y la conexión de dispositivos.

Sí, todos gritábamos por tener, por favor, cortapega ("ortodoxo", ya que con jailbreaking ya se podía), tethering y A2DP (Bluetooth Estéreo). Pero lo que puede ser una revolución ubíqua es lo otro.

Las compras in-app permiten un modelo de negocio basado en micropagos, para ofrecer contenido de calidad (de pago). Off-topic: ¿tendrá el siguiente iPhone una pantalla de lector de ebooks a color y reventará el mercado?

La conexión a dispositivos permitirá conectar cualquier aparato a Internet, sin requerir una dedicada. Ya estoy empezando a pensar aplicaciones online a aparatos que ahora son offline...



Quien quiera innovar y forrarse, que piense en ubiquidad y se deje de modas pasajeras.

» Leer más, comentarios, etc...

Ideas + Ingeniería del Software

Artesanía

Marzo 19th, 2009 - [Enlace local]

El desarrollo de software tiene más de artesanía que de ingeniería. Sí, hay métricas, calidad, automatizaciones... Pero lo que requiere de la persona que lo realiza es que sea un buen artesano, que haga las cosas con esmero, meticulosidad...

» Leer más, comentarios, etc...

PHPBSD.net » webmaster

Disponible la versión 5.2.9 del PHP. Actualizando que es gerundio!

Marzo 16th, 2009 - [Enlace local]

Hace poco más de dos semanas se liberó la versión 5.2.9 del PHP. La que probablemente será la última release de la rama 5.2.x... o al menos eso esperamos muchos como yo que andamos impacientes por la llegada de la 5.3 estable con todas sus novedades.

Como siempre se corrigen un buen número de bugs de seguridad (algunos relacionados con las extensiones libxml y XML) y se añaden algunas mejoras menores... por ejemplo, como curiosidad, ahora a la función array_unique le podemos pasar el tipo de comparación a realizar para descartar ítems. En el changelog están detallados todos los cambios.

En mi opinión siempre es muy recomendable actualizar los servidores a la última versión, si queremos podemos esperar unas semanas para ver como reacciona internet a una nueva release pero se ha de tener en cuenta que lleva meses de test por parte de la comunidad (algo en lo que, por cierto, cualquiera puede participar). Me parece sorprendente todavía encontrar sistemas/proyectos corriendo PHP 4.x o incluso 5.0.x / 5.1.x. (aunque PHP 5 sigue sonando a nuevo se ha de pensar que la versión 5.0 salió el Julio del 2004 y la 5.1 el Noviembre del 2005).

A pesar de que muchas distribuciones Linux (no tanto los *BSD) incluyen como estables versiones desfasadas del PHP si uno tiene un servidor web (LAMP) creo que es recomendable conseguir tener la combinación Apache+MySQL+PHP lo más actualizada posible. Es la forma de aprovechar las nuevas funcionalidades existentes (sobretodo en el caso del PHP dado que es un lenguaje de programación :) y también es la forma de encontrar bugs y hacer que estos proyectos open source evolucionen correctamente.

PS: Por suerte HostGator hace tiempo que se pusieron las pilas y nos mantienen bastante actualizados (este blog corre sobre PHP 5.2.8).

Entradas relacionadas:


» Leer más, comentarios, etc...

Mal Código

Coloreado de cambios con Emacs

Marzo 12th, 2009 - [Enlace local]

Hace mucho que no escribo, hoy voy a hablar un poco del Maravilloso Emacs. Editor que uso para editar cualquier fichero de texto desde hace poco más de un año. Y que me encanta. Y como lo hecho de menos cuando tengo que usar el Horroroso Vim.En concreto, quiero comentar una pequeña funcionalidad de Emacs. Como colorear las partes nuevas en el fichero que estés escribiendo en un momento dado.

» Leer más, comentarios, etc...

PROGRAMANDO EN .NET

Truco rápido: todos los mensajes de error de SQL Server a mano

Marzo 10th, 2009 - [Enlace local]

Cuando trabajas con SQL Server estás acostumbrado a que los mensajes de error que aparecen en el fichero ERRORLOG o en el visor de sucesos sean bastante crípticos y lo normal es acabar tirando de [ponga aquí su buscador favorito] para saber de qué se trata. Pues bien, hace tiempo que descubrí ,dentro de la enormidad que son los libros en pantalla de SQL Server, una página con los códigos de error

» Leer más, comentarios, etc...

Ideas + Ingeniería del Software

Cuándo hacer el modelo de datos

Marzo 8th, 2009 - [Enlace local]

Si me preguntasen por el mínimo común denominador de la aplicación de las metodologías tradicionales que he visto en los últimos años, respondería sin dudar el modelo de datos. La gestión de los requisitos es muy variable, el diseño y la construcción varían enormemente... Sin embargo, el momento y la forma en que se hace el modelo de datos siempre era la misma. Una vez recogidos los requisitos, durante el análisis, el paso clave que marcaba, en cierto modo, el fin del trabajo del analista y el comienzo del resto, era la validación del modelo de datos.



En las metodologías tradicionales se hace en dos partes: en la fase de análisis se hace el modelo lógico, y en diseño se hace el físico. En la práctica siempre he visto que esto se fusionaba. Quizá por las herramientas, quizá por lo innecesario de la división, siempre se hace directamente el segundo.



Desde que uso Hibernate había querido aprovechar al máximo la potencia de su mapeo relacional, relegando el modelo de datos a un segundo plano en favor del modelo de clases. Esto, que parece un detalle menor, en mi opinión tiene una gran importancia práctica. Hacerlo implicaría que el analista/diseñador haría, en vez del modelo, directamente las clases, las cuales generarían el primero automáticamente. Expuse esta idea esgrimiendo una serie de ventajas:

La idea no prosperó, y los siguientes proyectos se hicieron como anteriormente.



Al pasar a metodologías ágiles, al desaparecer estas fases, toca decidir cuándo realizar este trabajo. Scrum obviamente no entra en esta decisión, así que, ya con la capacidad de decisión, me adherí al principio de diseño contínuo y además adopté las ideas anteriores. De esta forma, no se haría el trabajo explícito de modelado de los datos, sino que, a medida que se avanzase en la aplicación, se iría mejorando a través del propio diseño de las clases.



Ya con el proyecto en desarrollo, saco las siguientes conclusiones:

Para el siguiente proyecto estoy pensando incluso en hacer una primera versión del modelo de clases en el primer Sprint Meeting. En este creamos una tarea específica para ello, pero esto hace que el conocimiento quede en una sola persona. Creo que el trabajo de hacer una primera aproximación, incluso antes de la estimación de las tareas, ayudaría a todo el equipo a comprender el problema a resolver y la complejidad del desarrollo.

» Leer más, comentarios, etc...

.: El Blog de Inwe :. » Programación

Nuevo estilo en Netbeans 6.7

Marzo 3rd, 2009 - [Enlace local]

Con Netbeans, en su versión 6.7, nos encontraremos entre otras mejoras, con un lavado de cara bastante importante, sobre todo en la versión para Mac OSX (por fin). Un ejemplo del antes y el después:

Captura de NetBeans 6.5
Captura de NetBeans 6.5
Captura de NetBeans 6.5
Captura de NetBeans 6.7

A parte de la mejora del interfaz, nos encontramos con las siguientes novedades:

Enlace: Netbeans

Entradas relacionadas

» Leer más, comentarios, etc...

PROGRAMANDO EN .NET

Libro gratuito: Introducing Microsoft SQL Server 2008

Marzo 3rd, 2009 - [Enlace local]

Dicen que nadie da duros a 4 pesetas, pero a veces l@s chic@s de Redmond tienen iniciativas como esta y ponen a disposición de tod@s libros de Microsoft Press en formato digital de manera gratuita.Esta vez le toca a: Introducing Microsoft SQL Server 2008, un libro con más de 200 páginas sobre la nueva versión de SQL Server.Es necesario registrarse, pero todos tenemos una cuenta para estos

» Leer más, comentarios, etc...

Información legal y técnica