martes, 20 de marzo de 2007

InfOil, tecnología Smalltalk para la industria petrolera

Esta es una info que encontré en la red y me pareció muy bueno pertenece a Martín Salduna y muestra unas cuantas cosas interesantes y polentosas que se pueden hacer con Smalltalk,si con Smalltalk,no de nuevo con Smalltalk ,no estoy hablando de c java .net etc...Smalltalk . Con mucha gente en el contexto en cual me muevo y lidio a diario, encuentro siempre esa picara y prácticamente burlesca riza ,cuando me refiero a ST, el otro día chatee con Richar Dean Anderson y me dijo que anda ocupado filmando la serie Star Gate ,asi que de nuevo tenemos que espera a que Mac lanze su lenguaje que va a solucionar todos los problemas de desarrollo, mientras esperamos ,la mejor opción sin dudas es ST
Charlamos con Esteban Maríngolo (EM) y Guillermo Sapaya (GS), dos de los responsables de la tecnología de InfOil, empresa que desarrolla productos de software líderes para un nicho de la industria del petróleo y gas usando tecnología Smalltalk.
¿Pueden contarnos sobre InfOil?
Guillermo Sapaya: InfOil nace hace unos 14 años, cuando su presidente empezó haciendo la parte de desarrollo de una compañía petrolera argentina.
El mundo petrolero es grandísimo, con muchas necesidades a cubrir. Nuestros sistemas cubren el proceso que va desde que sacás la primer gota de petróleo, hasta que se entrega el petróleo procesado. Tenemos sistemas para mantenimiento de equipos, control de perforaciones de pozos, etc.
El software que desarrollamos acá es exclusivo para compañías petroleras, aunque estamos viendo la posibilidad de extendernos un poco hacia las nuevas formas de producción de energía: todos sabemos que el petróleo es un producto no renovable, por lo que hoy se están estudiando otras áreas, como la energía eólica, solar, etc.
Estéban Maríngolo: InfOil no sufre de los vicios usuales que sufre una empresa de software. No somos una Software Factory, no hacemos cualquier tipo de software. Esa dirección casi unidireccional que tomamos al estar abocados exclusivamente a la industria petrolera, también nos da reconocimiento en el resto de la industria. Nuestros sistemas son sistemas de producción, dedicados a contabilizar la producción de petróleo y gas, y actualmente contabilizan un poco más de un tercio del petróleo y la mitad del gas del país.
No somos una empresa gigantesca. Cuando te decía que no sufrimos vicios que sufre la industria me refiero a alta rotación de empleados, todas esas cosas que caracterizan a las empresas. Nuestra empresa tiene determinados valores de trabajo que, en lo personal, no he visto en otras empresas. Creo que eso también repercute en la calidad de los sistemas, en la calidad de la atención al cliente, etc.
Desde que se fundó InfOil, siempre trabajamos con Smalltalk, SQL, etc. Tenemos nuestras limitaciones, por la razón de que las empresas que fabrican Smalltalk no son empresas gigantescas. En nuestra empresa somos quince desarrolladores, de los cuáles todos documentamos, testeamos, etc. Conocemos tres o cuatro empresas más del tamaño de la nuestra. En este momento, la única empresa de este tipo que tengo en mente es Mercap, que hace sistemas de análisis de riesgo para bancos. Aparte, hay productores independientes que conozco que trabajan con Smalltalk con grupos de no más de tres o cuatro personas. Uno de ellos, Alejandro Reimondo, cuenta con una experiencia de más de 20 años de trabajo. Pero estos son trabajos menores.
¿Cómo y por qué decidieron encarar sus proyectos en Smalltalk? ¿Qué ventajas pueden apreciar en ese lenguaje respecto de otros más “mainstream”?
GS: Es un ambiente muy propicio para construir sistemas de tiempo real. Por ejemplo, mi primera experiencia en una empresa fue un sistema de control de seguridad, acceso a edificios, etc. Teníamos todo un sistema simulado en nuestro ambiente, con todos los dispositivos de seguridad creados de manera virtual, y se simulaban todos los posibles eventos que podían ocurrir: que si forzaban una puerta, etc, todo eso fluía en forma de información dentro del sistema. Es muy potente para simulación.
EM: una de las cosas que también salió de desarrollar en Smalltalk es la mayor parte de las metodologías ágiles de desarrollo: extreme programming, pair extreme programming nacen en Smalltalk. Otra de las cosas que se habla mucho es de los DSL (domain-specific lenguaje). Smalltalk es un DSL en sí mismo.
El ejército estaba haciendo un sistema de simulación de batalla, y lo que tenía de particular ese tipo de desarrollo es que cuando hay usuarios avanzados, la gente que no es programadora pero que tiene incorporados los conceptos de lógica necesarios para aprender a programar -como un ingeniero, etc- puede crear el programa. ¿Por qué? Ellos podrían hacerlo en un lenguaje de dominio específico, pero como Smalltalk ya lo es, uno lee el código, y parece que está narrado. Es decir, el paso de pasar de un lenguaje específico al programa ya está en uno solo. Eso tiene que ver con la agilidad, con la prototipación que tiene Smalltalk, porque la retroalimentación es instantánea. Por eso, la mayor parte de la gente que trabaja en Smalltalk es tan entusiasta con la tecnología.
GS: Como experiencia, trabajando como integrante de grupos de 3 o 4 personas –el número ideal para trabajar proyectos en Smalltalk-, llevando adelante estos grupos, contando con gente incluso con conocimientos básicos, los tiempos son increíblemente superiores, porque el sistema se va construyendo sobre la marcha. Desde el principio, tenés el sistema andando. Vos prototipás algo, y, a medida que vas programando, te sale un debugger, le vas agregando comportamiento a los objetos del debugger, y a medida que les agregás comportamiento éstos van “aprendiendo”, porque no hace falta ni editarlo, compilarlo y pasarle un runtime. En todo momento el sistema está “vivo” y evoluciona. Eso es por las metodologías ágiles que te mencionaba Estéban. De la mano de eso, trabajando de a dos personas en una máquina, atacando un tema en particular, va haciendo que se produzca de una forma que yo estoy experimentando ahora, y me parece increíble la diferencia.
ES: Esa es una de las cosas fundamentales que caracterizan los proyectos en Smalltalk: productividad.
¿Cómo fue su acercamiento al lenguaje Smalltalk?
EM: en mi caso, fue a raíz de una conferencia sobre tecnología de objetos que dio en 2002, en la Universidad del Salvador, la gente de una asociación llamada Smalltalking, de la que Guillermo era miembro. Lo que vi y escuché me impactó mucho, por lo que comencé a investigar casi de inmediato. Por entonces, yo trabajaba en una empresa como administrador de red, así que aproveché hacer algunas cosas para la empresa. Me llevó un año desde que empecé a meterme hasta que me cayó la ficha de decir “esto es así”. Comparativamente, la curva de aprendizaje de Smalltalk al principio es pronunciada, pero cuando empecé a sacar conceptos fundamentales, mi productividad aumentó notablemente.
GS: yo era miembro de Smalltalking. Durante mis estudios universitarios, teníamos una materia, Programación III, en la que veíamos este lenguaje que nadie conocía, ¡ni siquiera los docentes! Investigando en la web, dimos con Smalltalking y con una persona aquí en Argentina, Alejandro Reimondo, que hace y ha hecho mucho por objetos. Él lleva adelante esta asociación. Lo conocí, empecé a participar del foro, etc.
A quién busca algo nuevo, le cae la ficha cuando ve Smalltalk. A mí me pasó de darme cuenta que el lenguaje es simple y al mismo tiempo bastante poderoso, al punto que deseé ver más de lo que tenés que dar para aprobar un final. Junto con un compañero de curso nos interesamos y así fue como empezamos a desarrollarnos profesionalmente. Cosa que no creíamos que sucediera, porque en todas las universidades y en el ambiente común te dicen que no lo conocen, que se usa para la docencia y no para producir, y que no hay nadie desarrollando nada en ese lenguaje. Cosa que no es verdad. ¡Hoy por hoy estoy comiendo gracias a Smalltalk!
¿Qué presencia tiene Smalltalk dentro del mundo de los lenguajes de programación? ¿Su existencia es más bien a nivel comunidad en internet?
EM: Smalltalk comenzó como una investigación a fines de los ’60. Quien la coordinaba, quien tuvo las principales ideas sobre las que basaría el paradigma fue Alan Kay. Concepto de objeto, mensaje, etc. El concepto de orientación a objetos nace ahí. Hasta el ’95, antes que aparezca Sun, sin duda era mainstream. Después, en lo que es industria, Java lo pasó por arriba, sin duda por razones de marketing. Hasta aquel momento, el mercado se repartía entre C++ y Smalltalk. Luego, Smalltalk pasa a un segundo plano, relegado por Java.
Sin embargo, un tercio de los containers del mundo se mueve con un sistema hecho en Smalltalk; FeDex tiene su sistema hecho en Smalltalk, JP Morgan; la financiera más grande del mundo, tiene el sistema financiero más grande del mundo hecho en Smalltalk. En Argentina, Telecom tiene un sistema de inventario activo hecho en Smalltalk.
GS: A veces hablamos y nos preguntamos, ¿por qué Smalltalk no es tan popular? Entre otras cosas, como decía Esteban, por el tema del marketing. Yo creo que a la larga, los lenguajes van a llegar a ser un Smalltalk. Van adquiriendo carácterísticas que Smalltalk tenía desde hace mucho tiempo: garbage collector, virtual machine, son conceptos sacados del Smalltalk. Siempre decimos que el día de mañana va a salir un lenguaje que va a ser un Smalltalk con todo un aparato de marketing atrás que lo haga mainstream.
El sistema InfoMant se utiliza para mantenimiento de maquinarias de perforación, pero puede aplicarse a otro tipo de equipos.
Entonces, ¿por qué Smalltalk no es mainstream?
ES: Si un proyecto falla en una tecnología popular como Java, no falló por la tecnología. Nadie quiere tomar el riesgo. Siempre pasa que nadie se hace cargo de haber decidido “experimentar” con una tecnología. Smalltalk está en pequeños proyectos satélites o que no influyen. Hay muchos casos de empresas que pasan de Smalltalk a Java, y a veces nunca terminan de pasar, por cuestiones de complicaciones tecnológicas, falta de tiempo, etc. Según dicen, es más fácil conseguir 10 programadores Java que uno Smalltalk. Eso es real, y lo sufrimos como una empresa que se dedica a Smalltalk. El volumen de desarrolladores que se maneja en un proyecto cualquiera de una empresa mediana de más de 20 empleados, nunca se podrían cubrir con Smalltalk.
A fines de 2005, uno de los bastiones de presencia importante de Smalltalk era el Visual Age for Smalltalk, la herramienta Smalltalk de IBM. De hecho, si uno mira los anuncios de las páginas de empleo de EE UU, buscan desarrolladores Smalltalk porque tienen muchos sistemas críticos en Visual Age. La escasez no es solamente en la Argentina.
Hoy hay una especie de nicho de Smalltalk, que está creciendo más o menos como creció Ruby, y que se llama Seaside, un framework de base de aplicaciones web. Seaside da bastantes facilidades y ofrece toda la potencia de Smalltalk. La gente está entrando a Smalltalk por Seaside.
El mercado Smalltalk es tan chico, que aquella persona a quien le gusta la tecnología y tiene la posibilidad de trabajar y producir con eso, lo disfruta. Quien, además, tiene la posibilidad de hacer un sistema de la magnitud que estamos hablando, lo disfruta más aún.
Pantalla del sistema InfoPerf, desarrollado en InfOil, y que sirve para consulta de estado de pozos.
Para terminar, ¿en qué proyectos están trabajando actualmente?GS: Lo que estamos haciendo, y estamos bastante avanzados, es un nuevo sistema que por ahora tiene un nombre provisorio, y que estaría orientado a la parte gerencial de la producción petrolera. La idea es sacar datos de todas las bases de datos y hacer una interface para mapear esos datos al MaxProd y ahí hacer análisis estadísticos de, si perdés, por qué perdés, en qué parte geográfica del país, en qué condiciones, etc. Es un sistema más que nada diseñado para ver por qué perdés y cómo podés actuar para poder maximizar la producción petrolera. Por otro lado estamos con El Dorado, como le llamamos. Este sería algo así como el Infoprod 2.

martes, 6 de marzo de 2007

¿QUE ES LA DB2 EXPRESS C9?

Con DB2 Express-C, IBM está fortaleciendo su compromiso de habilitar y respaldar a la creciente comunidad de desarrolladores y clientes DB2, al ofrecer una versión sin costo del producto, facilitándoles crear e implementar aplicaciones y soluciones que satisfagan sus requisitos cambiantes en materia de gestión de la información.
DB2 Express-C ofrece el mismo servidor de datos DB2 central en un envase más pequeño, diseñado para el uso en desarrollo de software, implementación, redistribución e integración en aplicaciones. A través de un nuevo foro público en el sitio developer Works, el recurso de IBM para los desarrolladores, está disponible el soporte sin cargo de DB2 Express-C para la comunidad, con soporte opcional con cargo ofrecido por IBM.