Construcción de una aplicación: ¿Qué opináis?

Angel
04 de Junio del 2004
Bueno gentes, ante todo buenos días.
Estoy a un paso de comenzar el desarrollo de una aplicación de Gestión Inmobiliaria, la cual dividiré en varios módulos que iré ampliando a medida que el cliente los vaya necesitando. De esta manera se podrá poner cuanto antes a usar la aplicación, y yo dispondré de un margen adecuado para finalizarla. Pero esa no es la cuestión, al grano...

El análisis está casi finalizado, y en breve les presento el funcional del proyecto, pero me queda una duda pendiente que quiero arreglar al 100%. La aplicación está pensada para ser desarrollada en Swing, con ventanas, y no soy precisamente un experto. He realizado aplicaciones JSP y Applets, por lo que el lenguaje no es problema. El problema radica en que me han comentado que las aplicaciones Swing son tremendamente lentas, haciendo que un programa de gestión que utilice dicha arquitectura se vuelva pesado e incómodo. ¿Es eso realmente cierto? He visto aplicaciones Java bastante rápidas, pero claro, no eran para gestión.

Por eso os pido que, según vuestra experiencia, me recomendéis seguir adelante o replantear la aplicación para ser desarrollado en Visual Basic u otro lenguaje similar. Lo que quiero evitar a toda costa es realizarles una aplicación Servlet (JSP, ASP, PHP, lo que sea), porque no dispondrán de un mantenimiento de Apache ni IIS, y yo no estoy dispuesto a pasarme la vida en su oficina arrancando los servicios.

Sorry por enrollarme tanto, espero vuestras opiniones. Un saludo.

Lucas
04 de Junio del 2004
En un PIV, Swing no es leno salvo que quieras trabajar con una tabla de 3000 elementos y te pongas a hacer scroll como un loco. Lo unico que se nota es en la creacion de ventanas y dialogos, pero son decimas de segundo. Lo realmente lento es la capa de acceso a datos. Como no tengas lo datos correctamentes cargados y tengas que ir constantemente a bbdd a buscarlo, ni el mejor asm te puede ayudar. Estoy haciendo una apilcacion de gestion bastante pesada en Swing y el problema no son las ventanas, sino el acceso a bbdd, los procesos contra bbdd pesados, el ajuste del servidor de aplicaciones, el tuning de la VM, la capacidad del servidor, los enlaces de comunicaciones ... Por poneter un ejemplo, de repente el clietne quiso ejecutar el clietne de la aplicacion en remoto contra el servidor, por un enlace de 128KBs. Por mucho que la ventana tarde 0,5'' en cargar, si leer los 20MB de bbdd que hacian falta tarda 30', en problema son las comunicaciones, no las ventanas.

Miguel
04 de Junio del 2004
MySQL es gratis, pero solo si tu programa final tiene licencia GPL. En caso de querer usar otro tipo de licencia, es necesario que pagues por MySQL.
Sobre lo de usar Swing....si que es un poco lento. ¿Porque no sustituirlo por SWT?

Un saludo

Angel
04 de Junio del 2004
Cierto, ayer estuve mirando la web de MySQL y vi que tenía licencia GPL... uno, que con el paso de los años empieza a distorsionar conceptos y mira como acabo, haciendo aplicaciones raras, jeje.

Sobre lo del SWT, pues como he dicho antes soy neófito en la programación ventanas (o de escritorio)con Java, por lo que sólo tenía en mente AWT y Swing, con los que había hecho prácticas en la Facultad. Voy a informarme sobre esto último, ¿pero alguien tendría la delicadeza de darme unos conceptos básicos o la idea general de lo que es para poder situarme? Gracias.

Angel
04 de Junio del 2004
Standard Widget Toolkit (SWT)

Vale, no hace falta. Estoy en ello. Una cosa, ¿es Standard de verdad? Usea, ¿está en el paquete de Java o necesito el Eclipse por huevos?

f_gallego
04 de Junio del 2004
Buenas,

Te agradecería muchisimo que me indicases brevemente que se puede desarrollar con SWT, que tipo de aplicaciones, en que consiste.

De todas formas si has encontrado algún link en el que expliquen claramente que es SWT, y las diferencias con Swing , te lo agradecería.

La cuestión es que estoy con un desarrollo de una aplicación c/s y me estoy tirando de los pelos con el puto Swing, cualquier pequeña pijadita, si pijadita, te puede dar un huevo de problemas (2-3 dias) para dejarlo fino. ¿Visual Basic funciona bien, no?

Muchas gracias.

f_gallego
04 de Junio del 2004
Buenas,

yo estoy realizando un desarrollo con Java y en mi opinion con un 2,53MHz va bastante rapido, lo que creo que mas puede penalizar es un mal diseño de modelo de datos o un mal ajuste de la BD.

Espero que te ayude.

Angel
04 de Junio del 2004
Muchas Gracias, ya me olía algo similar, pero como no tengo nada en Swing no podía hacerme una idea exacta. El Data Access Layer lo reutilizo de otra aplicación JSP, cambiando funcionalidad pero no el modelo.

Lo tendré en cuenta, ahora estoy haciendo pruebas de rendimiento con accesos multihilo al mySQL, y en cuanto me afecta a la máquina.

Sigo esperando opiniones ;)

maramonar
04 de Junio del 2004
La aplicación la van a acceder desde un único puesto o va a tener clientes concurrentes???..lo que veo de piola en desarrollarla con servlets/jsp es que automáticamente queda "habilitada" como multiusuario....

Angel
04 de Junio del 2004
La aplicación será multiusuario, pero aunque la oficina la componen unas 20 personas, sólo 3 ó 4 operarán con la interface.

Una de las futuras funcionalidades (la cual me tengo que currar, pues me reportará en una PDA gratis) es la implementación de una aplicación en la susodicha PDA para los comerciales, por lo que entiendo que la plataforma Java era la más adhiente a mis necesidades. Sobre lo de los servlets, yo llevo mucho tiempo programando servlets, pero como ya he dicho, el mantenimiento del servidor no pienso hacerlo yo, lo que nos llevó a pensar en Hosting porque además necesitamos el soporte de una base de datos. Hasta ahora he usado Oracle y SQL Server, ya que mi empresa teníamos la licencia, pero esto al ser un desarrollo "amateur" no dispongo de licencias de bases de datos, y lo único que tienen es Access (si, lo sé...). Peeeeero yo quiero una aplicación "internet-proof", usea, que no se pierda si se cae la conexión (cosa que a veces les pasa), por lo que me toca instalarles algún gestor y no depender de un hosting externo. Mi primera intención es hacerles pagar una licencia de mySQL, ¿qué gestores utilizáis vosotros? ¿Es MySQL caro para lo que ofrece y lo poco que va a ser aprovechado? A mí me da de que sí...