Sobre el Post

Autor Info

java + struts + oracle —> NO

struts-3.jpg

Le he dado 1 mes y medio al combinado java + struts + oracle para opinar de él objetivamente para su uso en el desarrollo de aplicaciones web.

Por partes:

- java: un lenguage que te permite estructurar bien tu aplicación

- struts: un framework interesante en el que en teoría te quieren facilitar la vida. Puntos interesantes como las validaciones y la internacionalización.

- oracle: Potente.

Resultado: el desarrollo del aplicativo se hace LENTO y COMPLICADO no apto para un mundo tan fléxible como la web.

De java no me gusta que hay que declarar librerias para poder usar lo que quieres. No es transparence como en todos los demás lenguages o frameworks.

De struts que no se le puede llamar framework a eso. Todo tiene su lógica y todo se puede hacer, pero hay que darle mil vueltas y queda un código vomitivo con un número de líneas increibles. Y ya se sabe, a más lineas, más bugs. Sin contar lo bien que se lleva con el html y css. Sin comentarios.

De Oracle todo lo que tiene de potente lo tiene de complicado. Tienes que hacer filigranas para hacer consultas en teoría simples en mysql. El select ……. limit 1, 10 no existe por ejemplo. El equivalente es una consulta con 3 selects. Todo facilidad para el mantenimiento.

Definitivamente Struts es lento si lo comparamos con PHP. Si lo comparásemos con rails, darían ganas de llorar.

Sencillamente no recomiendo esta técnología del futuro para el desarrollo web.

Share on Twitter

Posts relacionados:

  1. Reinventar la web
  2. La ilusión de los lunes

9 Responses para “java + struts + oracle —> NO”

  1. anonimo #

    Me parece que en cuanto al analisis de la bd, se paso de playito.

    No creo que nadie este pagando las licencias de oracle, si con mysql le bastara… Ni creo que el mayor inconveniente a la hora de elegir oracle sean las mañas con su sintaxis.

    Si vas a elegir base de datos y entre tus opciones esta oracle, entonces seguro que en tus requerimientos van a pesar factores mas cruciales que el limit (particionamiento, clusterizacion, etc), si no es así, deberías haberla descartado desde un principio.

    Digamos, el error es bancarse la complejidad Oracle, si no necesitas realmente (énfasis: REALMENTE) la potencia de oracle.

    January 31, 2008 a 14:18
  2. Mira que soy la ‘Java Real Machine’… pero tengo que darte la razón en cuanto a Struts… y eso que no me he metido a fondo con ello..

    Pero cuando lo he intentado, me ha parecido engorroso… bien sobre el papel, pero complicado de llevar a la práctica.
    Es lo malo de muchos frameworks… se piensan para generalizar tanto, que al final en lugar de ayudar, se convierten en un infierno…

    Como dice el anuncio ese… ¡REIVINDICA LO SIMPLE!…

    Ultimamente me he fijado más en JSF, del que dicen que es más potente que Struts (que está ya al límite de su capacidad).
    E incluso me ha llamado la atención el Google Web Toolkit, por lo de poder desarrollar como si fuese una aplicación de escritorio y luego convertirlo a Web con AJAX… :)

    Resumiendo… cada cosa es para lo que es.. y no existe la PANACEA en el mundo de la programación. Así que no se puede aplicar a todo el mismo patrón (¿lo pillais?… patrón… framework, joder que broma más friqui y mala :P ) y usar tecnologías que no se adaptan a lo que realmente estábamos buscando al principio… algo por desgracia, cada vez más habitual en nuestros proyectos.

    January 31, 2008 a 15:49
  3. Emilio #

    Vamos por parte.

    Struts tiene 7 años !!!!, se esta manteniendo porque hay muchas aplicaciones realizadas con el. Ya existe Struts 2 que no lo he probado y JSF. Struts es un MVC2 nada complicado, otra cosa es que el desarrollo sea mas lento que en php o en rails, pero no es nada complicado. A pesar de ser “lento”, cuando la aplicación crece se mantiene un orden en la misma, lo cual es indispensable para el mantenimiento.

    Yo suelo utilizar MySQL, pero tengo que decir hacer un limit en oracle es tan fácil como usar rownum.

    Lo de las librerías de java no entiendo a que te refieres.

    Si quieres algo rápido y sencillo para java mírate Grails o JRuby. Si quieres web 2.0 con java mírate GWT. Si quieres seguir los estándares mírate JSF.

    Saludos.

    January 31, 2008 a 21:52
  4. Muchas grácias a todos por vuestras aportaciones. Y estoy de acuerdo con todos y me gusta saber que no voy desencaminado en mis pensamientos.

    Yo no he decidido nada a nivel tecnológico. Ya llegué y la decisión estaba tomada de como se haría el desarrollo y bastante faena me ha supuesto ponerme al día. Aunque ya desde el primer día pensaba que no era la mejor elección. Pero está claro que al último que llega no se le escucha. :D Es el problema de que programen webs gente que solo ha hecho app con java y se crean que es más de lo mismo y es un mundo a parte.

    Gracias a vosotros sé de JSF, el GWT que quizás los pruebe por curiosidad aunque tengo claro que Struts 1.3 ni Struts 2 le voy a dar la más mínima oportunidad. 7 años …. normal que esté desfasada y me sienta como me siento. Struts no es que sea complicado en sí mismo. El problema es cuando lo juntas con la aplicación que quieres hacer. La piensas de una manera y para seguir 100% struts, mmm hay que investigar muchas horas. Y bueno, tengo la entrega el día 15… (que no va a estar jajaja)…. no puedo ir ni a mear como quien dice. Y cuando te bloqueas por seguir el estándar struts, pos ya sabéis todos que pueden ser horas perdidas… que os voy a contar.

    Mi queja de Oracle es que me complica un poco más el desarrollo ya que nunca lo había tocado, hacer sql’s que piensas que funcionan…. y ves que oracle sigue otra norma. Ni mejor ni peor. Quizás sea realmente el estándar SQL92 y mysql me ha mal acostumbrado. Oracle no tiene la culpa, pero ya no sabes por donde te pueden venir los problemas :D Y por supuesto, pienso que si es tan potente, no está muy justificado su uso. Lo investigaré por curiosidad si algún día me libero. :D

    Bueno, supongo que le sacarán jugo al Oracle, pero desconozco lo que ya hacen allí ni como lo tienen montado o si fue un gran iluminado que hizo el negocio del mes metiéndoselo, :D

    Que más? KISS!!!!!! Keep it simple, stupid…. creo que era asi!!!! ;) Nunca he estado más de acuerdo que ahora. :D Con lo sencillo que es hacer una web.

    Thanks a todos

    February 1, 2008 a 01:59
  5. LA broma muy mala, sip! jaja Deja el mundo java….

    Sobre java, solo decir que es un mundo donde hay que escribir más lineas de código. En rails, php… te olvidas mucho de declarar librerar, variables…Todo tiene sus ventajas e inconvenientes…

    Pero eso de compilar y ver que te has olvidado declarar una chorrada… nada, toca los huevetes. Estaré mal acostumbrado por culpa de los lenguages interpretados :)

    February 1, 2008 a 02:04
  6. Otra cosa que no me he acostumbrado aún es al debug. No concibo hacer una web y poder debugar línea a línea….

    Es que veo antes el fallo mirando la lógica que haciendo el debug (básicamente pork entre paras servidor, reinicias en modo debug (el normal va más lento) pierdes un monton de tiempo mirando la luna) Tiempo que si te fijas, ya resuelves el problema de forma lógica, entendiendo la lógica de lo que haces.

    February 1, 2008 a 02:10
  7. Emilio #

    Hola,
    “Pero eso de compilar y ver que te has olvidado declarar una chorrada… nada, toca los huevetes.”. Hombre esa chorrada igual hace que se porduzca un error en tiempo de ejecución difícil de encontrar incluso depurando (no hablo de un error de logica).
    “Es que veo antes el fallo mirando la lógica que haciendo el debug “. Eso depende de la persona y del código de la lógica, el debug es una herramienta indispensable.
    “Sobre java, solo decir que es un mundo donde hay que escribir más lineas de código”.
    Para eso tienes muy buenas herramientas que hacen ese trabajo por ti, por ejemplo eclipse, netbeans y muchas mas.
    “Y cuando te bloqueas por seguir el estándar struts, pos ya sabéis todos que pueden ser horas perdidas… que os voy a contar.”
    Estas contando lo malo de los estándares. Struts implementa el patron MVC2, cualquier aplicación web medianamente grande debería realizarse con un framework que implementara este patrón, lo bueno es que cualquier persona que conozca Struts podrá hacerse mas o menos rápido con el código.

    Creo que el problema de tu proyecto es que no os han proporcionado ni las herramientas adecuadas ni por supuesto formación. De hay tu frustración.

    Que tengas suerte.
    Saludos.

    February 1, 2008 a 21:22
  8. Hola Emilio hablame de ti! :D Quien eres? Tienes blog :D Según escribes eres una persona interesante y con conocimiento.

    Como dije soy novato en esta tecnología y necesito tiempo para sacarle todo su jugo. Solo es cuestión de tiempo y dedicación. Los debug no me convencen porque el sistema se me vuelve lento, el eclipse se me queda tonto, se cuelga… y en modo normal va bastante fino. Y normalmente a no ser que haya un error realmente complicado, muchas veces a simple vista se puede arreglar. Es lo bueno de Struts, es bastante lógico en ese sentido. Aunque nunca viene mal, por supuesto.

    Cada día me siento más cómodo programando con struts y es cierto lo que dices sobre las nuevas personas que se incorporan al proyecto, les será bastante fácil. Aunque sigo pensando que Rails es mejor :P Lo hace incluso más sencillo. :)

    Sobre las herramientas y la formación, ya sabes. A espabilarse solito, venden que somos expertos en todo como siempre pero después los proyectos hay que hacerlos. Pero no es complicado, es práctica como siempre.

    Saludos

    February 1, 2008 a 22:15
  9. Emilio #

    Hola,

    Que conste que nos estamos dejando Struts, pero lo seguimos utilizando en mantenimiento.
    Lo que comentas sobre el debug es cierto, es muy pesado hacer el debug. Lo que pasa que como nos estamos pasando a GWT, es menos pesado el debug y mas sencillo.

    Rails es mas que un simple framework web, la verdad es que tiene pinta de ser muy potente, pero cuando tenga tiempo me mirare Grails que sigue la misma filosofía pero se integra perfectamente con Java.

    Ya que me lo preguntas, no tengo Blog persona pero si Blog de empresa:
    http://www.i2e.com.es/blog/

    Saludos.

    February 1, 2008 a 22:53

Leave a Reply

Comment moderation is enabled. Your comment may take some time to appear.