El AMIR cierra su ciclo

El Adelanto Mensual al Impuesto sobre la Renta finaliza su ciclo una vez promulgada la Ley 52, el 28 de agosto de 2012.

Las consecuencias inmeditadas, dictadas en el paragrafo transitorio, implican la generación automática del impuesto sobre la renta estimado, a partir del impuesto sobre la renta declarado en para el periodo 2011, este impuesto estimado será acreditado por los montos de AMIR declarados, hasta julio de 2012, y por los saldos disponibles de crédito próximo que pudieran haber sido arrastrados hasta julio de 2012. El impuesto estimado será cobrado en tres cuotas, como se hacía tradicionalmente antes de la Ley 8 de 2010, las tres cuotas anuales, para efecto de la transición, tendrán un plazo no menor al 30 de septiembre para su cancelación. Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Data Warehouse para Robert Bosch

Nuestro cliente Robert Bosch nos encomendó la labor de construir un Data Warehouse que apoye sus decisiones y tareas de análisis de mercado en la región de Centroamérica. Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Gestión de Sesiones en Internet Explorer

La plataforma Web fue concebida para realizar intercambios de información entre clientes y servidores mediante un esquema basado en peticiones y respuestas sin mantener una conexión latente. A esta modalidad en que cada petición es independiente de la anterior y de la siguiente se la conoce como comunicación sin persistencia de estados (stateless).

Las aplicaciones Web que requieren esquemas de autenticación y autorización utilizan mecanismos auxiliares para lograr el efecto de sesión en este entorno stateless. Varios Frameworks, considerados estándares en la industria, implementan el manejo de sesiones basados en tramas de información conocidos como “cookies” que son intercambiados entre el navegador y el servidor en cada petición.

La evolución constante de los navegadores de Internet, impulsados por la masificación de aplicaciones Web y la competencia existente entre los fabricantes, implica consideraciones para las aplicaciones Web en cuanto al comportamiento de las sesiones.

A continuación se describe el mecanismo de gestión y comportamiento de cada versión de Internet Explorer para las sesiones de aplicaciones Web. Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Formularios Renta 2011 para la DGI

La Dirección General de Ingresos de Panamá, atendiendo las ultimas reformas, pone a disposición las nuevas versiones de formularios para la presentación del Impuesto Sobre la Renta para el periodo 2011.

IDEATI, gracias su experiencia especifica en el campo tributario, fue seleccionada para apoyar las tareas de la implementación informática de los nuevos formularios en el marco del Proyecto de Modernización que ejecuta el Centro Interamericano de Administraciones Tributarias. Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Exoneraciones automáticas para la propiedad horizontal

Durante el segundo semestre del 2011 IDEATI estuvo a cargo del desarrollo informático para la materialización del convenio entre el Registro Público de Panamá y el Ministerio de Economía y Finanzas para la ejecución de un proyecto piloto para la integración de los procesos de registro de novedades del Registro Público y el trámite de exoneración de impuestos para la propiedad horizontal en el sistema e-Tax de la Dirección General de Ingresos del Ministerio de Economía y Finanzas. Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Fin de Año y Controles Extensivos

Desde las recientemente envejecidas épocas del Y2K, el mes de diciembre, lejos de tratarse de un mes repleto de eventos sociales despidiendo un año y dándole la bienvenida a otro, se convierte para la industria de la tecnología, en un mes de grandes desafíos, puesta a punto, arranque, presión  y tensión, será por ello que recién a partir del 6 de enero uno puede encontrar una gran cantidad de informáticos dando vueltas buscando con quién despedir el año pasado y celebrar el comienzo del nuevo año cuando en realidad el resto de la humanidad se encuentran en modo reposo y recuperación de las fiestas del mes de Diciembre, al tratarse esto de una verdad que se establece claramente en la primera clase de introducción de todas las carreras informáticas, claramente…no hay derecho al reclamo.. . Continue reading →

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Sistemas flexibles: ¿como?, ¿cuanto?

No cabe duda, el requisito más importante, la necesidad mas recalcada, y en muchos casos la fantasía mas soñada, es la de tener un sistema que logre vencer al cambio.

Haciendo una comparación poco exacta, ¿quién no quisiera tener un automóvil que creciera con la familia?, y que cuando la gasolina suba mucho de precio que funcione, por ejemplo, con limonanda (iba a decir agua, pero sería muy trillado). Pues posiblemente ese automóvil pueda ser construido, pero con seguridad valdría muchas veces el precio de uno estándar, el riesgo es que una vez se compre este exclusivo automóvil, el combustible se mantenga al mismo valor y que tengamos un solo hijo.

Los usuarios o clientes, y muchas veces nosotros mismos, los proveedores, intentamos ser visionarios mas allá de lo posible y proponernos flexibilidad en cada uno de los aspectos de la aplicación que estamos por construir o implementar, generamos listas de casuística ultra-especial, sin recordar que la flexibilidad es un requerimiento más, y hay que decirlo: sumamente costoso.

Costo por flexibilidad/especialidad en sistemas de información

Costo por flexibilidad/especialidad

Un ejemplo típico de esta tentadora trampa de la flexibilidad es la construcción de un módulo de parametrización de formularios, la idea suena increíblemente bien: “A través de éste módulo un usuario podrá modificar y crear nuevos formularios, sin necesitar conocimientos de HTML”. Y la verdad es que no hay forma de lograrlo sin llegar a hacer un meta-lenguaje casi tan complejo como HTML (siempre en una interfaz muy incómoda, como una grilla y formularios para la edición) y con muchas desventajas: overhead de procesamiento, muchas horas de pruebas y depuración y más limitaciones de las esperadas.

Otro ejemplo: “Necesitamos que el sistema se adapte fácilmente a cambios en la legislación”. (si tan solo pudieramos leer la mente a los políticos!)

Uno más: “El sistema debe ser compatible con Windows 7 y las siguientes versiones de Windows que vengan”. (o la del viejo Bill).

Y entonces ¿Cómo preparamos los sistemas para el cambio? ¿Hasta donde la flexibilidad es buena y desde donde es un peso muerto por el cual debemos pagar?.

Nuestra experiencia nos ha ayudado a determinar la siguiente ruta:

  1. Determine el tipo de aplicación que necesita, intente acercarlo a aquellos componentes o productos conocidos y estándares.
  2. Debe hacer diferencia entre las necesidades actuales y las futuras, y evaluar la precisión de la información que se tiene.
  3. La flexibilidad tiene varias formas de instrumentarse ( parámetros, componentes, arquitectura, etc. ) elija la más adecuada según la complejidad de lo que queremos hacer flexible.
Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Session and Application variables lost using SQLite and ASP.Net

After many hours of debbuging I finally found out why my application and session variables were reset when a postback was executed in my ASP.Net application. Because it was an application upgrade, going from desktop to webforms I was still using the original SQLite database.

There’s an interesting thing in ASP.Net applications, that is documented, but most of the times is forgotten, and that is when a file in the /bin folder is modified, then the application is reset by IIS (or ASP.Net development server). So, in the postback operation there was an INSERT statement, and my mistake was having the SQLite database file within the /bin folder, and not in the AppData folder. Of course, until this moment I didn’t found a reason why ASP.Net apps needed an special folder for the datafiles, well, I’ve learned the hard way.

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

Ruby on Rails: verticalización de las plataformas de desarrollo

Desde hace un par de años venimos escuchando de una nueva familia de lenguajes-frameworks alternativos que desafian fuertemente a los consolidados .Net, Java y PHP, en el mundo del desarrollo Web.

Se trata de lenguajes-frameworks que han aprendido de los errores de sus ancestros y han sabido capitalizar esas debilidades verticalizando o enfocando su potencia en aquellos aspectos que ya tuvieron su periodo de maduración y que no se han plasmado del todo en los lenguajes tradicionales o al menos no de una manera clara.

Mencionemos algunos:

Cantidad de búsquedas según Google trends

Sin duda quien gana ampliamente en popularidad es Ruby on Rails, y hasta cierto punto es responsable de despertarnos y abrir un horizonte que asumiamos estaba dentro de los límites de Java o .Net.

¿Porque Ruby on Rails y sus amigos (no parientes), tienen tanto éxito, o por lo menos popularidad?.

En mi humilde opinión, se trata de una señal de madurez de la industria del software en el cual los lenguajes de programación de proposito general han dejado de ser suficientes. Es así que RoR (Ruby on Rails), prometiendo tener resueltas las tareas mas repetitivas del desarrollo Web, es decir verticalizando, ha logrado la atención de la industria.

La sola instalación de RoR incluye el servidor de aplicaciones, una base de datos (SQLite) y una serie de utilitarios de línea de comando que nos aleja brutalmente de esa dependencia creada por los IDE de arrastrar y soltar. Debo admitir la soledad que uno siente al escribir una línea de comando sin ayuda contextual, autocompletar ni corrector de sintaxis. Pero volviendo a las bondades “out of the box” de RoR, me queda destacar en general el concepto de “convention over configuration” (convención antes que configuración) el cual ha permitido la implementación exitosa de ActiveRecord, desde mi punto de vista la mejor funcionalidad de este lenguaje-framework.

Si bien .Net y Java han hecho lo suyo tratando de alcanzar a la nueva generación de  ágiles e inteligentes, el mejor acercamiento lo han tenido logrando implementar sus propias versiones IronRuby (para .Net ) y JRuby.

Aunque la madurez de RoR es evidente, un aspecto pendiente, que tenemos confianza que se resolverá, es el rendimiento de Ruby. En todo caso RoR ya puede presumir de soportar la popular red social Twitter y otros cientos de aplicaciones Web 2.0.

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks

5 errores comunes en proyectos de modernizacion


Error 1. Alcance muy amplio – megaproyectos

Quizás el más común de los errores. Como una herencia de los proyectos de los 90′s y principios del 2000, cuando ocurrían los primeros procesos de modernización en los que en muchos casos se pasaba de la máquina de escribir al computador. Eran proyectos que requerían mayores esfuerzos por un cambio cultural mucho mas grande, al tiempo, que la tecnología no permitía los niveles de integración actuales. En este contexto surgen los “Sistemas Integrados/Integrales de…” que pretendían abarcar gran parte de las actividades de la institución.

A priori, la modernización de todos los aspectos de una institución dentro de un solo proyecto, suena muy coherente considerando la integración armónica que se puede lograr. Sin embargo, la experiencia demuestra que llevar adelante este tipo de proyectos es equivalente a invertir todo el dinero que uno tiene en las acciones de una sola compañía.

¿Que pautas deben considerarse entonces para diseccionar un megaproyecto de varios millones de dólares y muchos años de ejecución en componentes sin que se incrementen los costos ni reduzcan los beneficios?

A partir de las dependencias y contexto actual de cada área de la institución respecto de su relación con la tecnología debe planificarse y priorizarse la automatización de cada área, es importante considerar, para esta planificación, el impacto que cada sub-proyecto, en términos de valor y cantidad de beneficiarios que este tendrá.

Se debe tener en cuenta que dependiendo de la especialización de cada área se deben considerar diferentes tipos de soluciones y proveedores. Por ejemplo, los aspectos administrativos estan cada vez más comoditizados al punto en que el Open Source está empezando a competir en el mercado de los ERP, mientras que en los procesos del negocio están madurando las disciplinas del BPM sin dejar por fuera algunos esfuerzos de desarrollo.

Error 2. Fortalecimiento del área informática post-implantación

La ejecución de proyectos de modernización una y otra vez caen en la falla de fortalecer las áreas técnicas de la institución luego de construirse e implementarse los sistemas en lugar de hacerlo previamente.

Esto afecta seriamente las posibilidades de la institución de ofrecer una contraparte técnica fortalecida y los aportes que pueda ofrecer.

Error 3. Hardware antes que software

Es parte de nuestra naturaleza humana, lo tangible, lo que se puede tocar, conectar, etc. Adquirir el hardware da una sensación de que hemos avanzado en nuestro proyecto o que es un buen inicio, tenemos un magnífico equipo, conectado en nuestro centro de cómputo, conectado a la red, protegido tras un firewall, etc. ¿Y el software?… No nos preocupemos, eso viene en un pequeño DVD que se instala de una vez.

Al momento de instalar el software nuestro servidor ya no nos parece tan bueno, ha pasado un año desde que lo compramos, el nuevo modelo tiene mejor procesador, mas memoria y cuesta menos que lo que nos costó el nuestro un año atrás.

Recuerden, comprar hardware es fácil, utilizarlo es la parte difícil.

Error 4. Soporte a las decisiones antes que automatización de operaciones

Un vicio común de los directivos, evidentemente se trata de una necesidad real: la falta de información para la toma de decisiones. Pero cuando la automatización de los procesos de negocio es mínima, nula o no está integrada en los niveles operativos será imposible de satisfacer.

Error 5. Migración de información

Un error recurrente en los proyectos que tienen por objetivo reemplazar aplicaciones existentes, que quizás no abarcan todas las necesidades de sus usuarios, tienen plataformas obsoletas, tienen problemas de rendimiento, etc. pero que en cualquier caso contienen información vital para la institución.

El error inicia con un diseño del sistema teórico, basado solamente en el relevamiento del deber ser, promovido por la bien conocidas re-ingenierías. El error luego es profundizado cuando se trata de migrar la información una vez que el sistema esta construido. Como consecuencia se tienen estructuras de datos totalmente incompatibles no solo a nivel de tabla-campo sino en muchos otros aspectos mismos de la información y de su calidad.

Recuerden, la migración de datos es un requerimiento, y probablemente afecta mas el diseño de lo que lo afectan las necesidades del usuario, el costo de no implementarla es altísimo.

Compartir
  • Facebook
  • Twitter
  • Print
  • Digg
  • del.icio.us
  • Google Bookmarks