Buscar

El Blog del Maldo

Si, es poco lo que escribo

Categoría

Reseñas de open source

Reseñas sobre tecnologías de código abierto.

Página MVC Embebida en dll

Ya, ayer fue básico hoy será un tópico avanzado para compensar, vamos a ver como con .Net MVC 4 se puede dejar una página web embebida, es decir vamos a crear un .dll con un controlador adentro y sus páginas web para poder posteriormente distribuirla solo como .dll e inyectarla de ser necesario.

No me voy a llevar el crédito solo, este ejemplo lo cree tomando como base el siguiente grupo de post en Los Techies

Hello World Quiz

Ayer un amigo me mandó este link para jugar con el, http://helloworldquiz.com/, está realmente increíble la página, es un cuestionario que muestra una cantidad de de implementaciones del clásico ejemplo hola mundo en diferentes lenguajes de programación, con los lenguajes como alternativas, absolutamente maravilloso me pegué mucho rato con pregunta tras pregunta, hay muchas implementaciones, horas y horas de entretención… de echo sabía usted que hay un lenguaje de programación llamado Shakespeare??  http://en.wikipedia.org/wiki/Shakespeare_(programming_language), todas esas maravillosas cosas se pueden descubrir en esa página.

Jajaja bueno, espero lo miren un rato y se entretengan.

Tipo de empresas para implantar software libre.

Bueno al parecer el primer artículo pegó mucho el problema es que me caí de la escalera del segundo piso y he estado muy delicado de la mano así que no he podido escribir mucho desde ese día, pero juro que he tenido ganas y algunas ideas de hacer cosas pero el brazo no me ha acompañado para nada estos días, pero dejando de lado las escusas pertinentes de dejar botado el blog, sigamos con lo que veníamos, y la evaluación de implantación de software libre en la empresa.

Todas las empresas tienen culturas y dinámicas diferentes, todas forman una pequeña “sociedad” donde se analizan los requerimientos informáticos y se toman en cuenta diferentes aspectos, todas las empresas son diferentes y lo que valoran o no valoran a la hora de implementar un proyecto tecnológico es lo que los hace únicas, pero como siempre las estadísticas nos indican que se pueden agrupar en un grupo determinado de empresas, con características comunes. A continuación se adjuntan algunos estereotipos de tipos de empresas sobre las que se puede evaluar la implantación de software libre.

Empresas de vanguardia: Son empresas con una extrema tolerancia a implantación de software libre, que no tienen miedo a perder información al implementar nuevas tecnologías y que no funcionen, prefieren tener problemas operativos debido a implementación de nuevas tecnologías que perder la oportunidad de lo nuevo, son en general dos tipos de empresas, que basan su core de negocio en la implementación constante de vanguardia tecnológica o empresas que tienen poca cohesión con tecnología en su core de negocio por lo tanto se pueden dar el lujo de implementar software de vanguardia y en etapa experimental.

Empresa Líder en Tecnología: Son empresas con una tolerancia a implementación de software libre de alto nivel, se permiten mantener una plataforma con tecnología líder pero que haya sido probada, no que se encuentre en etapa experimentar como el tipo de empresa anterior, que tenga por lo menos una historia de salidas experimentales anteriores, y que se encuentre por lo menos en su primer release estable, estas empresas aprovechan la tecnología pero su core de negocio no es la experimentación con tecnologías de vanguardia o sus procesos empresariales se verían afectados al dejar una implementación experimental de una solución de software libre.

Empresa Consolidada en tecnología: Son empresas que soportan su core de negocio con software y aplicaciones de apoyo al flujo de sus procesos, este tipo de empresas tienen una tolerancia menos a la Líder, y para ellos es absolutamente importante los datos empresariales, por lo tanto el respaldo de la “marca” para ellos es fundamental a la hora de tomar una decisión, estas empresas solo implementan software libre que tenga el soporte técnico necesario o soluciones con una trayectoria comprobada y que tenga casos de éxito en empresas del rubro.

Empresa Nicho: Este tipo de empresas son poco comunes y tienen una tolerancia baja la implementación de software libre, no porque no tengan los elementos técnicos necesarios ni la disposición para implementar, si no porque no hay soluciones completas que implementen sus procesos de negocios y deben hacer muchos cambios a su flujo operativo.

Empresas Dinosaurios: Bueno… este tipo de empresa no son poco comunes, las soluciones tecnológicas según ellos son un gasto y el diablo, así que es mejor hacer todo con tecnología de lápiz y papel y libreme Dios de colocar linux… básicamente el miedo al cambio las mantiene en un estado de parálisis.

 

Como evaluar software libre.

El otro día realicé una pequeña reflexión sobre el Framework play (que por cierto he estado probando y es maravilloso), y claro tengo algunos parámetros para establecer la salud de un proyecto de software libre, pero para que nos vayamos entendiendo, en un ambiente empresarial necesario tomar en cuenta muchas cosas para poder decidir si utilizar un proyecto libre o no, y de acuerdo al perfil de la empresa hay que tomar la decisión de implantación.

Aquí hay un listado de las cosas que yo tomo en cuenta a la hora de evaluar el proyecto.

Funcionalidad: El software libre tiende a ser muy genérico a la hora de resolver problemas y también tiende a solucionarlos de manera que le sirva a todos, eso a la larga hace que no le sirva a nadie, la o las funcionalidades que quieres que soporte el sistema a veces conviven con otras o no están completamente desarrolladas para el flujo de negocios de tu empresa, hay que saber evaluar si sirve o no para el propósito especifico que se requiere y si soluciona problemas adicionales, a veces al implantar una solución libre podemos resolver más de un problema.

Ciclo de vida del desarrollo: Este parámetro tiene que ver con la velocidad del desarrollo y la cantidad tiempo que hay entre declarado un bug y su respectivo parche, dependiendo de este ciclo de vida se puede saber que tan comprometida se encuentra la comunidad que está desarrollando para la aplicación, mientras más rápido todo, mejor.

Tamaño de la comunidad: Directamente proporcional a la salud de un proyecto libre es el tamaño de su comunidad, no solo la cantidad de desarrolladores si no todo el ecosistema alrededor del proyecto, los que lo ocupan, lo documentan, comentan de el, lo aman o lo odian, aunque hablen pestes de el es un buen indicador igual porque significa que tiene un gran impacto, pero OJO, que si hablan pestes hay que leer estas pestes y tomarlas en cuenta.

Calidad del desarrollo: Es de código libre, nada te impide mirar, ver que tan bien estructurado se encuentra el código que tantos patrones de diseño utilizan, diferencias entre módulos, cohesión, etc., el echo que sea abierto permite ver el fuente incorporado, es sumamente importante hacerlo, ya que siempre existe la posibilidad de encontrar un troyano.

Tipo de licencia: Esto es sobretodo si son una empresa de desarrollo adoptando tecnologías, dependiendo el tipo de licencia te permite hacer diferentes cosas y distribuir de distintas formas, es por eso que es importante siempre leer la licencia ya que todas son diferentes y permiten cosas distintas, ojo con eso.

Plataforma: Todos los proyectos de software libre son distribuidos o nativos para diferentes plataformas, hay que ver como esta plataforma donde corre este proyecto encaja con la infraestructura de la empresa y también con el conocimiento técnico que hay dentro de la empresa o asociación.

Madurez del proyecto: Los proyectos de software libre tienen diferentes grados de madurez, que tiene que ver con los años que tiene el producto en el mercado, la cantidad de Bugs que son encontrados por versión (no importa que los corrijan rápido, si el número es muy alto o su funcionalidad crítica no es un proyecto maduro ni bien llevado, pero es importante entender que SIEMPRE HAY BUGS), y también la cantidad de documentación asociada con el proyecto, como es software libre siempre tienden a dejar esto para el último y por último si hay casos de implantación en empresas y que tan relacionadas están estas empresas con el giro de tu empresa.

Sopote y empresas que ofrecen el producto: Adoptar software libre para la empresa es diferente que adoptarlo para el uso personal, siempre hay que mirar si existe soporte o empresas que sean especialistas, certificadas u ofrezcan el producto, este es uno de los mejores indicadores que puede tener un proyecto libre, significa que existen empresas que se juegan su modelo de negocios y utilizan en producción la pieza de software que se está evaluando.

Usabilidad y curva de aprendizaje: La gran debilidad de los proyectos libres, es uno de los criterios que más hace que se descarten las soluciones libres, si hace todo lo que siempre has soñado pero no sabes como lo hace o te demora mucho aprenderlo, lamentablemente no te sirve, los usuarios y el nivel de estos es muy importante a la hora de implantar una solución de software libre, porque si vas a tener un usuario que te llama para cualquier acción que debe realizar sobre el sistema, ni tu ni el finalmente podrán hacer su trabajo.

Eso, como referencia he tomado este artículo, de la pastilla roja y lo he desarrollado con otra perspectiva, es importante que si tienen tiempo también lo lean.

Jugando con Play Framework

Ayer mi amigo Jano me Twittio (no se si se debe escribir así) sobre un interesante Framework para trabajar con Java de forma productiva y rápida, y cuado a mi me dicen Java, yo me pongo a descargar cosas inmediatamente para jugar, ahora con mayor razón ya que el Framework se llamaba play Framework, como siempre el desconsiderado del Jano manda un link absolutamente interesante con tecnología que es muy productiva y útil para alguno de mis oscuros proyectos para conquistar el mundo, así que una vez terminado de ver el video de introducción de la página me preparo un café y me doy a la ardua tarea jugar con una tecnología java nueva que parece tener todo lo que siempre he soñado.

Para ser sincero solo me da para leer la documentación y algunos comentarios en los foros (aún estoy pagando por desvelarme con RoR, la noche anterior), así que solo puedo escribir sobre lo que he leído del Framework.

Al parecer nos encontramos ante una herramienta muy potente que nos permitirá los desarrolladores que estamos escritos en Java trabajar de manera más potente y elegante en vez de la tediosa fórmula de trabajo con web que hasta el momento hemos tenido, una de las reseñas más interesantes y objetivos que encontré en la red fue en debugmodeon escrito por Gimenete, describe muy bien las funcionalidades y aunque fue escrito hace un año representa las funcionalidades importantes de Framework.

Ahora a lo bueno… como es análisis de tecnologías libres vamos a darle una vuelta para tener algunos indicadores sobre el estado y salud del proyecto antes de ponerme a trabajar de lleno en el.

Inicio de la comunidad: 2008

Tamaño de la comunidad: Al parecer tiene una cantidad de seguidores interesante que permitirá desarrollarse en el tiempo a este producto, además cuenta con grupos en Google y foros que responden más o menos rápido.

Tiempo entre versiones: Desde el 2008 están lanzando versiones cada máximo 3 meses.

Licencia: apache 2 licence

Al parecer es una herramienta buena que tiene buena pinta, si son una empresa innovadora que no tiene problema con las tecnologías emergentes yo lo adoptaría rápidamente, aún no me queda claro que sea para empresas conservadoras por ser más recelosos pero no lo descarto por completo.

Buen dato Jano, y me debes por lo menos un café para compensar el sueño.

Blog de WordPress.com.

Subir ↑