esc a0003 - Enfocando Soluciones - Focus Solutions

G1

a.- Enfoque soluciones. Soluciones actuales.

Hemos iniciado la ruta, se ha presentado los distintos escollos de la misma y ahora debemos encauzar este trepidante viaje haciendo hincapié en los distintos parajes que vamos a encontrar.

Veamos las soluciones en la interminable carrera del software. Ese mismo producto que entre todos debemos certificar.

La idea de una certificación y una arquitectura más ágil es minimizar esfuerzo y recursos en todas las etapas de la arquitectura.

¿ que ocurre si todos certificamos ?

Sin duda es una verdad universal que un trabajo hecho por muchos indirectamente implica una reducción del trabajo realizado por cada uno de esos muchos.

La solución es entonces, un trabajo conjunto entre todos con objeto de buscar un producto que nos aporte esa funcionalidad deseada indirectamente por cada uno de los usuarios de un sistema.

Pero hay más puntos importantes y algo más técnicos donde debemos ahondar.

Veamos la creacción del producto. En esa misma producción hay distintas etapas, etapas de requisitos, etapas de desarrollo, etapas de evaluación o certificación y etapa de usabilidad del mismo.

¿ Qué son los requisitos ?

Palabra algo técnica para la sección, pero debemos hablar de los mismos. Se trata de lo que queremos que haga el sistema.

Y aquí debemos introducir un principio universal con finalidad de simplicidad : "keep it simple, stupid" - Hazlo simple, idiota -.

Es por ello que debemos simplificar y minimizar los requisitos y la forma de expresarlos.

Una vez disponemos de los requisitos, llega la hora de conseguirlos, el proceso de desarrollo. Y sin duda es más facil conseguir un todo si disponemos de las partes.

Ahí entra el modelo de componentes, son las partes que debemos considerar a la hora de crear ese todo, cuanto más reutilización hagamos de esas partes más fácil será crear un todo más acorde a los requisitos indicados.

Por tanto, también debemos minimizar los componentes, de forma que auto-aceptemos componentes funcionales y enfoquemos el problema en la reutilización y adaptación de los mismos unido a un mínimo número de componentes nuevos.

Como partimos de un modelo simple, donde la filosofía es intentar cercar las necesidades de la sociedad y facilitar su entendimiento y su utilización, indirectamente vamos a minimizar los recursos necesarios para el mantenimiento y explotación del modelo.

Sí, es la tercera etapa, el mantenimiento de los sistemas.

Por tanto, resumiendo buscamos este modelo de mínimos y máximos :

1.- Miniminzar requisitos

2.- Minimizar componentes

3.- Minimizar recursos

1.- Maximizar la usabilidad

2.- Maximizar la libertad

3.- Maximizar la calidad

¡¡ Qué palabras más bonitas !!

Este mundo está "re"naciendo.

Eduquémoslo para que sea un gran "adulto".

Brqx.

G2

b.-El Equipo Libre: La confianza en el modelo - Enfoque Arquitecturas Libres

El modelo presentado nos permite sentar las bases de cómo debe ser nuestra elección.

Sin duda nos está enseñando qué no debemos hacer. El objetivo no debe ser coger algo , cambiarlo y no compartirlo. Creerse que dispones de un conocimiento que te da una ventaja competitiva en ese momento.

Es un grave error, pero dispones de la libertad para hacerlo. No quiero entrar en las distintas licencias que igual ni siquiera te permiten hacerlo (GNU GPL , GNU LGPL, etc).

Pongámonos en el peor caso, tienes la posibilidad de cambiar ese contenido.

Partiendo de esa base, es como si consiguieses un buen delantero para tu equipo. Igual hasta tienes suerte y marca un gran tanto. Puede ser. ¿ Pero qué opciones tienes aún así de ganar ese partido de 11 contra 1000 ?

¿ Cuanto tiempo tardará el Equipo Libre en remontarte ese gol ? Crees que esa nueva funcionalidad que estás aportando va a tardar mucho en ser competida , incluso superada por el equipo libre ?

¿ Tan bueno te crees ? ¿ Tan buenos os creéis ? Sinceramente, las respuestas son obvias.

La sociedad ya está cambiando y es hacia una metodología libre donde todo el planeta está a su favor para mejorarla y se mejora compartiendo ese conocimiento.

Y los ganadores somos todos. Pierden los multimillonarios con sus multi-fortunas que serán un poquito más pequeñas.

Ganamos todos, habrá una mejor música, no sólo la que se promocione para venderse. Habrá una mejor medicina, será mas fácil luchar contra el cáncer. Será posible hacer motores más óptimos.

Se minimizará cada vez más las diferencias entre marcas, todos usaran modelos libres, por tanto , todos estarán obligados a sacar lo mejor de cada uno para obtener esa ventaja comparativa.

Pero lo mejor, TODOS TENEMOS OPORTUNIDADES. En el modelo actual, super coorporativista y totalmente globalizado NO HAY OPORTUNIDAD CASI NADIE.

Viva la libertad. Fuera las patentes. Viva el Copyleft.

Copyleft

Cultura Copy Left

G3

c.- Software libre - No es software gratis

Hay un gran incógnita en razón a las ventajas del software libre y los objetivos del modelo.

Casi todo el mundo sólo ve una vertiente, gratis , free, no me cuesta dinero, cualquiera puede conseguirlo.

De esta frase quizás, la palabra más importante es "cualquiera" pues en ese cualquiera está incluidos todos los posibles interesados en mejorarlo.

El software libre no es gratis, si tiene un coste residual su obtención, pero tanto su mantenimiento como su aprendizaje no son gratuitos. Todo tiene su coste.

No quiero entrar a analizar esta situación, pero si indagan un poco verán que los estudios realizados al respecto en cuanto a implantación o no de metodologías libres y propietarias, tienen costes parejos.

Esa no debe ser la baza que incline la balanza hacia el software libre. Nunca lo pretendió.

Es más bien la calidad, la libertad, la capacidad de adaptación, el auto-reconocimiento y la individualidad. Hay muchas más acepciones, pero vamos a cortar aquí para centrarnos mejor en las ya descritas.

La calidad es su principal baza. Cada vez son mejores las aplicaciones libres que las propietarias, cada vez su rendimiento, su funcionalidad es mejor y el factor fundamental es que estos parámetros siempre van en aumento.

La capacidad de adaptación es otro de los factores determinantes a la hora de enfocar una solución, pues es más sencillo cambiar algo cuando lo ves. Se imaginan cambiar la organización de una habitación a oscuras. E incluso saltándose la vigilancia del portero. Es surrealista, mejor hacerlo de día y publicado anteriormente en una revista. Eso es libertad.

Y ese parámetro es otra de las grandes bazas y a su vez de los grandes peligros del software libre y donde debe siempre primar la actuación conjunta de toda la comunidad.

Esa libertad nos permite si no nos gusta lo actual cogerlo y cambiarlo. El problema de esta actitud es que si luego se mejora lo que hemos cambiado puede implicar un trabajo perdido. Es por ello que debe primar la colaboración y en vez de cambiarlo por nuestra cuenta, proponer esos cambios y que se trabaje en conjunto en una versión más completa y mejor para todos.

Otro de los parámetros que debe ser valorado es el auto-reconocimiento y la individualidad. Sin duda se trata de uno de los aspectos menos promulgados del software libre, pero también debemos resaltarlo.

La sociedad nos cuadricula y nos aporta una sensación de inferioridad. Siempre prima la marca, prima tu jefe, tu proyecto, ¿ Y tu ?

A nivel de sofware libre ya no es así, en esta linea se habla de personas, tu trabajo queda identificado y es mucho más valorado que lo que te valoran normalmente en tu empresa.

Aparte estás aportando a la comunidad, al mundo, como los inventores de las matemáticas, han sido para todos, sin duda es ese tipo de aportaciones lo que realmente nos ha hecho crecer como especie, y por supuesto lo que nos ha permitido seguir orgullosos de lo que somos capaces de aportar y crear en conjunto.

Porque los creadores del mundo debemos ser todos, los creadores del software también.

Brqx.

G4

d.- Mashups. Compartición de soluciones.

Nos adentramos en algo que ya conocemos todos, es otra de las características del modelo cooperativo que estamos creando. Aquí tenemos una referencia técnica genial en la wikipedia :

Mashup

Mashups - Pilares Web 2.0

Pero vamos a hacer un enfoque más didáctico. Más sencillo.

El objetivo de esta técnica es compartir la generación de contenido con otros contenidos ya creados. Por ejemplo, y es el ejemplo más famoso de mashup. Si tenemos un listado de direcciones. Si además ponemos un mapa de esa dirección y ese mapa lo obtenemos de Google, Yahoo, etc, ya tenemos nuestro mashup, donde compartimos el esfuerzo de nuestra aplicación con un componente ya creado.

Hay muchas otras vertientes y enfoques prácticos, pero al final volvemos al modelo de componentes, la diferencia es que en este caso son componentes distribuidos. Lo que más adelante ahondaremos en lo que sería el mundo SOA.

Pero ya que ha salido el termino, debemos explicarlo. Y lo tenemos en el día a día, en tu propia casa.

Tu en tu casa dispones de agua caliente, gas natural, tv por cable. Pero todos esos servicios no los creas tu. No dispones de un calentador para el agua. Es un servicio que te solucionan otros.

En el software ocurre igual, en vez de crearlo tu todo, lo que haces es utilizar servicios que te proporcionan otros.

Y un servicio no es más que una forma de presentar un componente o una serie de componentes utilizados para crear ese servicio.

G5

e.-Modelo de componentes - Reenganche de arquitecturas ágiles

De la misma forma que hablé de los scripts en particular y de la informática en general, enfocando las tecnologías actuales como un reajuste de una tecnología y una información ya conocida hace muchos años, un modelo web orientado a componentes sería una adaptación a las metodologías actuales de aquellos conceptos de POO casi ya olvidados en el mundo web.

Se puede enfocar una aplicación web metafóricamente como la creación de un nuevo modelo de crear aplicaciones, ese modelo ha tenido sus momentos de crisis, pero actualmente hay multitud de opciones para intentar fusionar una metodología web y una metodología de creación de componentes.

Ahora bien, volvemos a los parámetros de confianza, ¿ en qué componentes confiamos ?

¿ Confiamos en los componentes de Microsoft ?

¿ En .Net ?

¿ Nos hemos olvidado ya de los pantallazos azules?

¿ De esas clases interminables ? ¿ De los mil servipacks que son necesarios para que nuestro sistema esté preparado para .Net ?

¿ Confiamos en Java ?

¿ En sus mil versiones y sus mil problemas ?

¿ En esas trazas de error de 10 páginas ? ¿ En su estructura abismal de clases sin control alguno ?

Sinceramente, los informáticos ya no confiamos ni en los sistemas de Bill Gates ni en los sistemas que nos propone Sun.

¿ Y qué significa todo eso ?

De momento si confiamos en Google. Si, de momento.

Al menos, sin duda, están enfocando una manera más adecuada de alcanzarnos como usuarios.

¿ Y en qué más podemos confiar ?

Les diría que en el Software libre.

¿ Y por qué confiar en aplicaciones basadas en software libre ?

Veamos, imaginemos un equipo de Fútbol, sí. Un equipo que tiene el mejor colombiano, el mejor inglés, el mejor brasileño, el mejor italiano, el mejor americano, el mejor español, etc..

Y hay otro equpo que es , por ejemplo, Alemania con los mejores jugadores Alemanes. Podéis extrapolarlo a cualquier tipo de actividad, por ejemplo la programación.

¿ Realmente pensáis que es mejor el equipo Alemán ?

¿ Tan buenos creéis que sois /son los alemanes ?

Pero es que la comparativa es aún más aclarativa.

Lucharían 11 jugadores alemanes contra 1000 jugadores del mundo.

¿ qué probabilidades tienen de victoria ?

Pues esa es la situación actual, donde además, todos formamos el equipo del mundo y entre todos luchamos contra las corporaciones que no nos dejan participar de su información.

¿ Cuanto creéis que durará la lucha ? ¿ Qué perspectivas le dáis a todos ellos ?

Sin duda nos tienen sujetos con el hardware. Todos tenemos que comprarnos nuestro nuevo móvil, portátil, radio del coche, etc.

Pero con el software no es así, y es que el mejor programa para crear esa radio lo estamos haciendo entre todos.

Viva la libertad, Viva el software libre. !!!

Brqx 2010