Javatadas
Blog de Alvaro Zabala

Tuesday March 30, 2004
Diseñadores Visuales....
Este es el código automático que me genera JBuilder9 cuando trato de añadir
un ActionListener a un JButton con el diseñador visual:
void jButton1_actionPerformed(ActionEvent e) {
//Aquí va el código que trata la pulsación del ratón
}
class AltaFeatureAlfanumericaDialog_jButton1_actionAdapter implements java.awt.event.ActionListener {
AltaFeatureAlfanumericaDialog adaptee;
AltaFeatureAlfanumericaDialog_jButton1_actionAdapter(AltaFeatureAlfanumericaDialog adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
Como diría Macario, que me lo pliquen...;)
(2004-03-30 13:01:33.0)
Permalink

Saturday March 27, 2004
Decisiones en el mundo Empresarial
Hace 2 posts comentaba que, de forma natural por otro lado, la gente que pasa de Orace Forms y PL/SQL al mundo Java tiende a seguir programando en PL/SQL haciendo sus Forms ahora en Swing. Es normal, porque esa es su forma de trabajar.
En otro post comenté las desventajas que para mí tienen centrar toda la lógica de un sistema en procedimientos almacenados. Además de casarte totalmente con la base de datos (lo cual no lo veo mal para los sistemas de una empresa, si esa es su decisión estratégica, pero en mi parecer sería un suicidio para hacer software comercial)creo que es una mala decisión de arquitectura de sistemas. Pero todo es matizable, claro. No es infrecunte ver configuraciones formadas por una misma base de datos empresarial (Oracle) que da servicio a varios servidores departamentales. Si ponemos toda la lógica en Oracle, los servidores departamentales (pongamos que son Servidores de Aplicaciones) ¿que harían? ¿estarían infrautilizados mientras Oracle está tostao?
Total, que empiezas hablando del tiempo y acabas hablando de política. Puse un ejemplo de un caso en el que la flexibilidad de no casarte con una bbdd (gracias al patrón DAO y a no meter lógica en la BBDD) permitió que un sistema que funciona con Oracle dando servicio a varios cientos de clientes pudiera ser portado a un entorno desktop con MySQL. Y ahí lancé un comentario para crear polémica: en ese entorno de "personal Database", y en nuestras pruebas MySQL y PostgreSQL estaban apalizando a Oracle.
Ahí van algunos comentarios que me parecen de interés:
¿que le sale más barato a tu empresa?, la licencia de una BD (o no!) + "pocas" horas de desarrollo, o la licencia de base dedatos (o no, como quieras) + "más" horas de programación. O que pasa si tu empresa "quiere" trabajar siempre con Oracle.
Claro. Al final depende un poco de la visión estratégica del director de Sistemas. Y, ¿por qué no? de la suerte. Por mucha visión de futuro que tengas, te pueden salir proyectos que, en función de las decisiones del pasado, estés bien posicionado o no para afrontarlos.
La JJAA se va a ahorrar un montón de millones en licencias, o sea que el principal condicionante parece ser el económico, no dudo que apoyen el Software Libre por otra parte y ese sea otro condicionante.
Pues no exactamente. El condicionante es dar servicio y cumplir con la legalidad y las directrices europeas. Pero si el sistema de apoyo hubiese estado hecho con tecnología Oracle, o se reescribe -no sería la primera vez que lo veo- o se compran licencias de Oracle LITE o Personal Oracle. No se cuanto cuesta, o si es gratis, pero un requisito es trabajar con datos espaciales (Oracle9i tiene la extensión Locator, LITE lo desconozco) cosa que hacen MySQL y PostGIS. En fin, no veo por qué tener que casarse de esta manera con una casa comercial.
En 'raw performance' MySQL apaliza a cualquiera, de eso no hay duda. Pero Oracle es mucho Oracle... si me dan a elegir entre cualquiera y Oracle, siempre elegiré a Oracle en casi todas las circunstancias si el presupuesto lo permite. Oracle es infinito...
No digo que no. En mi portatil recien instalado me pilla 100 Mb de RAM (la empresarial) y MySQL 8Mb. No he probado la versión Personal, pero MySQL es la misma para todos.
se supone que en la actualidad uno puede usar Java "dentro" de Oracle (y que hacerlo de esta forma es más rápido),
Si no me equivoco, es con la JVM 1.2.2. Tampoco le dediqué mas tiempo en su momento. Nuestra aplicación trabaja en entornos web, tcp/ip, aplicación de escritorio, etc. En ultima instancia, solo se harían procedimientos almacenados y relacionados con la lógica de datos -integridad, triggers, etc-
disculpa pero debo comentra que esa para nada es una prueba de desempeño. simplemente resulto que para tu tabla y tu consulta, la consulta fue mas rapida , pero eso no implica nada. creo en el opensource y pienso que tenemos excelentes bases de datos opensource (las que mencionas por ejemplo), pero respeto mucho la base de datos Oracle y es aun aplicable para muchisimas situaciones. saludos
Totalmente de acuerdo. Estaba medio en broma medio en serio. Es como si hubiera dicho "tantos millones de fumadores no pueden estar equivocados, fumar es bueno".
Realmente, la prueba la hemos hecho con todas las tablas con datos geométricos que teníamos. Hay que tener en cuenta lo que es un dato geométrico, y su problemática. Sólo quería crear un poco de polémica, porque en realidad pienso que el Open Source gana terreno a pasos agigantados. MySQL hace 2 años por no tener, no tenía ni transacciones ni integridad referencial. Ahora lo tiene, y estoy seguro de que con esta evolución pronto será un competidor muy serio para soluciones de empresa.
De hecho, la versión comercial de MySql no la he probado, pero ya digo que para determinados entornos (pymes, servidores con bajo número de transacciones, servidores de internet, etc.)yo sin duda es la solución que recomendaría. (a no ser que Oracle la hicieran GPL, claro ;) )
Es más, PostgreSQL me parece sensacional. Se trata de una base de datos con mas de 10 años de vida (yo diría que casi 20, pero no recuerdo exactamente), y tiene un monton de características, incluidos CURSORES, CURSORES BINARIOS, PGSQL (el equivalente de PL/SQL), etc.
¿Qué por qué la descartamos para el ejemplo de la JJAA? Postgre en Win2 solo funciona sobre una capa emuladora, CygWing, y requiere una extensión para trabajar con datos geométricos: PostGIS. El rendimiento general detectado es mayor en MySQL, así como su simplicidad.
Desgraciadamente, el análisis no parece profundo...¿verdad? pues no lo es. Así funcionan las cosas. Nuestro equipo estaba formado por 4 personas, y además de este proyecto teníamos otros 5 o 6, junto con el soporte y mantenimiento de todos los sistemas de producción. Uno puede tener muy buena voluntad de hacer las cosas bien, pero en las empresas, y más si no son de informática (la mía es Agrícola) parece que eso da igual. La de veces que he oído ante una queja...Es que esto no es una empresa de Informatica, ¿sabes?
(2004-03-27 10:24:33.0)
Permalink

Friday March 26, 2004
MySQL vs PostGreSQL vs Oracle
Y con este ya seguro que me gano abucheos, críticas, e incluso insultos de los más fanáticos de Oracle.
Sin entrar en la seguridad y estabilidad de Oracle, de sobra conocida por todos...(aunque tengo entendido que cuando Oracle se cae, se cae de verdad). ¿Alguien se atreve a decir algo sobre la performance de Orace?
En nuestro sistema hemos hecho una prueba muy simple. Una tabla con 3 millones de registros (catastro de rustica). Pido 500.000 (los quiero dibujar en un mapa). Lo hago con MySQL, PostGIS (extension de PostgreSQL con tipos espaciales) y Oracle. La consulta es la misma y todas las tablas tienen índices. MySQL y PostGIS apalizan a Oracle. Y Oracle está en modo "sin log de transacciones". Entre los dos primeros, gana MySQL también con cierta diferencia.Sí, ya sé, que haga tunning. Yo solo pongo ahí el dato (tampoco hice tunning de los otros dos).
Sí, ya sé. Oracle tiene tablas transaccionales. Las otras creo que ya también. Pero vamos, yo solo quería un mapa. Cuando alguna de las otras me pete en mita de una transacción supongo que me cagXXX en XXXX!&$·"!!
(2004-03-26 20:07:38.0)
Permalink
Programación Orientada a la Base de Datos (Matizando)
Por si de mi anterior post se deduce que menosprecio a los programadores de entornos Oracle/Forms, me gustaría hacer algunas matizaciones.
En primer lugar, decir que cada entorno tiene sus peculiaridades, y su forma de trabajar. Yo solo decía que los desarrolladores que cambiaban a entornos Java arrastraban muchísimos vícios.
Uno de estos vicios es desarrollar en Java sin utilizar una de las potencias del lenguaje: la orientación a objetos. Un error común es poner toda la lógica en la base de datos en forma de PL/SQL, y hacer las Widgets con Swing. Exactamente la forma de trabajar con Forms.
A continuación, y supongo que será solo una opinión, pienso que el núcleo de una aplicación empresarial debe ser desarrollado en un lenguaje de programación de propósito general.
En mi corta carrera profesional (solo llevo 4 años)he atravesado por migraciones de la base de datos en las dos. En una fue de Empress (os suena a alguno? es viejo, pero corre que se las pega) a Oracle. Ahora de Oracle a MySQL. Estas migraciones no se plantean porque sí. Surge la necesidad, y se hace. Se analizaron las ventajas de Java (en entornos multiplataforma, con estaciones de trabajo Sun pa qué decirlas). Es más, en algunos casos han dado servicio las dos bases de datos simultáneamente (un sistema viejo de captura de datos seguía en explotación y trabajaba con Empress, y un nuevo sistema que estaba en fase de implantación trabajaba con Oracle. Todos los días se hacían volcados de Empress a Oracle).
Tampoco es infrecuente ver ofertas pidiendo gente experta en Java y en Natural/Adabas (¿Los hay?) para trabajar en migraciones. Este no es mi ejemplo. Mi ejemplo es el de un sistema que siempre tiraba contra Oracle (muchos clientes / un servidor), bien de forma directa bien con Middleware, y por una necesidad puntual, el uso de MySQL en portatiles suponía un ahorro de licencias. MySQL no era el objetivo, ha sido una solución para un problema concreto. Pero no cargar la lógica en la BBDD permitió esta salida.
Esta opinión no quita que todo dependa de los cambios que se prevean, y de la flexibilidad que se desee obtener. Supongo que nadie se compra Oracle pensando que va a usar MySQL a los 6 meses. En el caso de un sistema GIS, nosotros pretendimos conseguir un producto genérico, soportado por un modelo de objetos que nos permitiese tener clientes Desktop y a la vez construir servidores de datos.
Uno de los objetivos era la total independencia del almacenamiento persistente de los datos. ¿Por qué? En el mundo GIS no es infrecuente que te llegue un fichero procedente de una toma de datos en campo, y que se te pida mostrarlo cartográficamente. Esto implica que el sistema lea datos lo mismo de un fichero que de una base de datos o de un servidor middleware.
Por ultimo, una opinión muy partidista (jeje, esto levantará ampollas): QUÉ FEO Y ANTIESTÉTICO ES EL CÓDIGO ESCRITO EN PL/SQL...;)
(2004-03-26 19:52:26.0)
Permalink
Programación Orientada a la Base de Datos vs JAVA y Sw Libre
No se trata de una evolución o revolución de la POO.
En mi empresa hay un gran capital humano que trabaja con Oracle, Forms, PL/SQL, etc.
Algunos están siendo reubicados,sin ningún tipo de formación :( ,a entornos Java. No es mi intención criticar uno u otro entorno. Muchos son excelentes profesionales, y ante el arte que tienen del SQL no puedo más que quitarme el sombrero -se las ingenian para hacer QUERYs asombrosas-.
El problema es que traen vicios heredados del entorno anterior, que no tiene nada que ver. Uno muy concreto es el de la programación orientada a BBDD. Todo lo quieren hacer con PL/SQL, y para ellos Java es un Front/End más dificil de usar que Forms.
A mí, particularmente, no me gusta meter logica en la base de datos. En nuestros sistemas la base de datos es un sitio donde guardamos y/o recuperamos objetos.
Podemos entrar en las ventajas o desventajas de esta política, pero yo prefiero dar algunos datos:
- La independencia de la plataforma de Java nos ha permitido desarrollar un mismo servidor de objetos del que tenemos dos instancias levantadas. Una en una maquina bajo Windows, porque tiene que servir imagenes raster de elevada compresión ECW. Este formato es propietario :( y solo se puede leer con una DLL que proporciona el propietario de la patente. Nuestro servidor la invoca vía JNI. El mismo servidor proporciona el resto de datos cartográficos en una máquina Solaris.
-
Nuestros sistemas de producción funcionan bajo Oracle. No obstante, son independientes de él: nuestras clases de negocio están separadas del acceso a datos mediante la aplícación del patrón DAO. Este año la JJAA va a lanzar una campaña de recogida de información de todos los propietarios agricultores -no puedo decir más- mediante visita puerta a puerta, con encuestadores provistos de portatiles con nuestro sistema GIS. ¿Sabeis lo que cuestan 100 o 200 licencias de Oracle? La solución estará basada en MySQL. Coste: analizar el soporte de datos espaciales de MySQL y hacer un DAO para nuestro sistema.
¿Os imaginais si nuestra aplicación hubiera estado hecha en PL/SQL?
La Junta se va a ahorrar cientos de millones en licencias gracias a Java , el Software Libre, y el patrón de diseño DAO que hace que un sistema no solo funcione en Oracle...
(2004-03-26 10:56:21.0)
Permalink

Thursday March 11, 2004
Sin Palabras
Pues eso. Sin Palabras. Pero no, es lo unico que nos dejan. Hablemos pues. Usemos nuestras armas.
Viví durante casi 3 años en Madrid, y dentro de 2 meses vuelvo allí. Sé lo que significa poner una bomba en la estación de Atocha. Han querido hacer una masacre, y lo han conseguido. Algún gilipollas fanático todavía se podía creer que estaban en guerra, y que tenían objetivos militares en los cuerpos de seguridad.
Los miembros de los cuerpos de seguridad son TRABAJADORES, como los que han masacrado vilmente hoy. Me entran ganas de llorar. Gente que se levanta a las 5h, porque vive a 50-100 km de Madrid y no se pueden pagar una vivienda digna allí. Gente que lo único que quiere es luchar, y con la fuerza de su trabajo y su honradez todos los días intentan hacer un mundo mejor. Todos, los felices, los descontentos, todos contribuimos con nuestro trabajo diario a que las cosas vayan para adelante, todos mejoramos el mundo todos los días al tragarnos las agobiantes colas del metro/cercanías. Todos menos los HIJOSDEPERRA estos. Muchos amigos míos pasan por Atocha a esas horas. Muchos amigos que lo único que quieren es progresar. Muchos que si el sistema está viciado, son las verdaderas víctimas de él. ¿ACASO UN TRABAJADOR TIENE LA CULPA DE VUESTRO PROBLEMA? IROS A CAGAR.
Eso, IROS A CAGAR!!!
(2004-03-11 09:27:56.0)
Permalink
|
Para saber mas...
alvaro_zabala@hotmail.com
Calendar
| « March 2004 » | | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | | | 28 | 29 | | 31 | | | | | | | | | | | | | Hoy |
Links
Navigation
Referers
Las visitas de hoy a la página: 81
|