Y... ahora, ¿qué uso?
Claro, tenés un proyecto en mente. Lo tienes claro. El nuevo negocio es el de los buscadores de vuelos baratos por internet.
Te decides a armar el modelo de negocios, los contactos y ves que todo marcha a la perfección. Llegas al punto insignificante de tener que pensar en la tecnología. Vos hiciste todo tipo de análisis y llegás a este punto a la hora de valorar inversión. Realmente es la espina dorsal de tu negocio. Y está claro que sin la webapp que sea capaz de buscar esos vuelos, mandar newsletters, gestionar cuentas, ofertas, feeds, pushs, etc., sin eso, no tienes nada.
Así que llegas a este punto. Aha... y.... no tienes mucho dinero y la inversión ha de ser mínima. Pero sabes que programando algo en perl o php te lo sacas de encima rápida y económicamente. Armas un linux, le metes mysql, un apache y te pones página a página... armas parsers para que vayan agarrando la info de otros sites o si te quieres complicar la programación pero simplificar el tema lo que haces es utilizar los servicios que disponen estos sites de los cuales sacas la info.
Pero también sabes perfectamente que en cuanto quieras crecer un poquito, agregar funcionalidades, diseñar por un lado (view), separar los datos (model) y hacer ajustes en el funcionamiento (controller), tanto perl como php se te puede quedar chico. Con un lenguaje como java (orientado a objetos) tienes la posibilidad de disponer de mejor rendimiento (menos procesos y carga en el servidor), re utilizar código y con un buen diseño puedes modificar y toquetear sin que se te rompa todo. En un futuro podrás hacer que tus diseñadores hagan el diseño y los programadores la programación. La inversión en Java es mayor en costes de programación. Y te preguntas cuáles son las ventajas reales de utilizar Java en este caso.
Primera cuestión: ¿Vale la pena complicarnos con Java? ¿Se justifica tanto lio cuando lo podemos solventar con otros lenguajes script como PHP?
Después de que hablaste con tu técnico de confianza y te explica que Java es sin duda (¿lo es?) la mejor opción comienzas a evaluar. Te surgen distintos contenedores y acabas optando por uno de ellos (gratuito, claro). Tomcat, Glassfish o JBoss... Da igual. ¿Y ahora? ¿Uso portal y portlets? ¿Uso swing + MVC? ¿Uso Struts (1 o 2)? ¿Sean? Aunque crees que JSF tiene futuro y Ajax claro que quieres usar. Usar Ajax con Struts2 es fácil, también con JSF. Empiezas a jugar con Maven, ANT, XDoclet, Tapestry... obviamente JSP y Servlets. Tienes que utilizarlo todo. Aunque lo ves demasiado complicado para algo que no parece tan complicado. Para persistencia... uff... ¿te quedas con Hibernate? Buscas y buscas. Lees, investigas y no sabes por donde seguir. ¿Qué tecnologías usas? Todo parece muy complicado y demasiado. Los portlets pintan bien.
Segunda cuestión: ¿qué frameworks usas? ¿herramientas en general? ¿cómo lo armas?
Bueno al final, viendo que JBoss lo tiene todo allí, pues utilizando su contenedor acabas usando su portal sobre un struts2. También usas algo de los tags de ajax de struts2 por simplicidad. Descartaste richfaces y el seam. Te diste cuenta que no puedes evaluarlo todo y no te sobra el tiempo. Te decides a ponerte manos a la obra e ir encarando problema por problema ya que tampoco te puedes disponer a hacer los use cases, business cases y demases diseños UML.
Después de semanas de trabajo aún estás luchando con tus problemas. Te das cuenta que has aprendido un montón y has utilizado tecnologías que antes ni conocías. Tuviste que leer un montón y aún así no estás seguro de haber elegido bien. Claro que siempre puedes cambiar... Te planteas cuándo te hubiera costado (en tiempo o programadores) desarrollarlo en PHP.
Tercera cuestión: resultado y volviendo a la primera cuestión, ¿valió la pena? ¿Es java un lenguaje realmente apto para el desarrollo de sitios web? ¿O es java únicamente útil en desarrollos más complejos como B2B?
Reader Comments