Null Pointer Exception

Un weblog perpetrado por Jose Luis Mondelo

Google
Web weblogs.javahispano.org

Main | Next day (ene 25, 2007) »
20070124 miércoles enero 24, 2007

No es web todo lo que reluce. Mi apuesta de futuro por el paradigma p2p

Sé que no debería contar esto, ya que al fin y al cabo me gano la vida desarrollando aplicaciones en su mayor parte web, pero a lo mejor precisamente por eso, por la cercanía con el tema, cada vez veo mas claro que este boom de las aplicaciones web que hemos vivido recientemente y que seguirá gracias (o por culpa, según se mire) a la web 2.0 se nos está yendo de las manos. Y lo peor de todo es que dejará víctimas en el camino. ;-)

Es evidente que el 2006 ha sido el año del web: el año de YouTube, de Digg, de menéame, de AJAX, de google, de las mashups, en definitiva, de la Web 2.0 y quizás en esta euforia, con cada vez más proyectos web luchando por su minuto de gloria en TechCrunch o en Loogic suene muy extraño lo que voy a decir, pero ...

Son ya varios los proyectos que he visto de cerca que se podrían calificar como grandes fracasos (y otros que vienen en camino)y en la mayoría he podido apreciar entre otras causas del fracaso una muy llamativa: no una mala elección de la tecnología, sino una mala utilización de la misma. A lo que vamos, ¿es Java EE una mala tecnología para desarrollar una aplicación de ámbito empresarial? por supuestísimo que no (si eres lector habitual de este blog ya sabrás por qué) ¿es malo distribuir esa aplicación con una interfaz web? claro que no, además en organizaciones con un amplio despliegue territorial (como la mia) esto tiene muchas ventajas, pero ... ¿pero? si, pero, puede haber casos que desaconsejen esto y en la mayoría de las ocasiones no se contempla esta opción. Por ejemplo en el caso de los grabadores de datos, o sea, gente que se pasa toda su jornada laboral picando datos como posesos, y que posiblemente estarán las 8 horas de trabajo delante de su flamante nuevo interfaz web acordándose de la ascendencia directa del responsable de haberles quitado su anterior programita cliente/servidor, que iba tan rápido y que no tenía que recargarse en cada petición ...

¿Tiene esto solución? claro que si, Java EE tiene solución para casi todo: como tu aplicación reside en el servidor, puedes hacer varios interfaces de usuario: a lo mejor uno general via web para la mayoría de usuarios y un cliente ligero para usuarios específicos. ¿Entonces cuál es el problema? el problema es que se ha prostituido tanto la arquitectura J2EE (perdón, Java EE) que en algunas organizaciones (incluída la mía) se ha llegado asimilar que Java==Web (bueno, lo de asimilar es un decir, porque creo que todavía no se han asimilado los principios de una arquitectura empresarial).¿Existen otros problemas? si claro, algunos de los que he visto: a poco que la aplicación no esté bien hecha (y hay que recordar que vivimos en el país de las ñapas) el consumo de recursos se dispara: cpu, memoria, ancho de banda ... Evidentemente estos problemas se pueden generalizar para cualquier entorno no Java. Además parece que ahora las aplicaciones deben ser web por decreto y me da la impresión que se han convertido en el nuevo martillo de oro

¿Qué alternativas hay? bueno, toda esta chapa que he soltado era para acabar hablando de una de mis últimas apuestas: el paradigma p2p como herramienta para desarrollar aplicaciones empresariales. Después de haber sufrido alguno de los problemas comentados en el anterior párrafo y buscando una solución creo que una alternativa a tener en cuenta es la utilización de redes p2p y aquí están mis motivos. El primero es que me parece incongruente el que los equipos del usuario son cada vez más potentes: mayor cpu, más memoria, un disco duro casi inagotable, etc, y sin embargo nos estamos empeñando en usarlos como terminales tontos con el consiguiente desaprovechamiento de recursos. En este caso el modelo p2p ofrece una solución para que todos los dispositivos se conviertan en proveedores de servicios para el resto de dispositivos de la red. El segundo motivo tiene que ver con la disponibilidad y el rendimiento, el hecho de no depender de un único servidor central sino tener esa responsabilidad dispersa por la red de nodos puede evitar en determinadas ocasiones tener un único punto de fallo. Además el aumento de rendimiento en el ancho de banda puede incrementarse notablemente al evitar los cuellos de botella, ya que el modelo p2p explota el ancho de banda disponible en los nodos "externos" de la red.

Es cierto que el modelo p2p ya ha tenido grandes éxitos de implantación, por ejemplo en el ámbito del intercambio de ficheros (la mayoría de la gente identifica el paradigma p2p con redes como emule, BitTorrent, Gnutella y demás), en el de la mensajería instantánea (msn messenger, yahoo messenger o jabber), en el de la VoIP (Skype es un buen ejemplo) o en el de la computación distribuída (¿quién no ha oído hablar del proyecto SETI@home?). Sin embargo creo firmemente que estamos ante el principio del auge del modelo p2p como arquitectura de desarrollo de numerosas aplicaciones. Por ejemplo creo que en el 2007 o 2008 será el año definitivo de la televisión P2P (P2PTV) y que también pronto veremos un uso creciente de las redes p2p en campos como las aplicaciones colaborativas (hoy dominadas por herramientas web como los wikis), la robótica, o las comunicaciones. Yo de momento ya estoy trabajando en ello ...

(2007-01-24 11:30:09.0) Permalink Comentarios [6]


Las visitas de hoy a la página: 137