Mi experiencia usando Oracle APEX: Gracias Oracle!

mayo 10, 2013

Hace ya casi 8 años que descubri la existencia de algo que Oracle llamaba HTMLDB. Corria el año 2005 y mi hija pequeña estaba a punto de nacer. Yo estaba enfrascado en un proyecto difícil y como siempre usando Delphi 7 e Interbase 7.1 como base de datos. El modelo a seguir era el típico cliente/servidor ejecutándose en entorno windows. La aplicación debía ser instalada en cada terminal y cualquier modificación implicaba actualizar todos los terminales. Entonces me planteé realizar un desarrollo web pero el tradicional PHP/MySQL no me llenaba del todo puesto que se trataba de una aplicación de misión crítica. Había desarrollado con PHP para realizar sencillos desarrollos web y sabía lo largo que era el camino. Fue entonces cuando encontre la solución: Oracle APEX.

No me lo podía creer. Oracle acababa de licenciar como gratuita una versión reducida de su base de datos: Oracle 10g Express Edition. Estaba limitada en el tamaño de memoria que usaría: 1Gb y en el espacio en disco: 4Gb. El resto de funcionalidades estaba disponible al desarrollador. APEX era el entorno de desarrollo web que estaba dentro de la propia base de datos y se ejecutaba directamente desde la misma. Era y es un motor de renderizado html que es capaz de servir al navegador del usuario ricas aplicaciones web 2.0.

En aquellos días de 2005 no pude más que entrar en contacto con la herramienta puesto que debía terminar el proyecto en curso y no tenia tiempo para más. Dedicaba todo el tiempo disponible a desarrollar, siempre en el lugar donde más rápido se hace: en mi propia casa, por las tardes/noches y en fines de semana, de la única manera posible, porque el trabajo diario me mantenia ocupado con las tareas básicas de gestionar un sistema informatico de 20 sedes y +70 terminales conectados que era usado por personal no cualificado y al que no se le daba formación en el uso de aplicaciones porque, como siempre, la dirección veía un gasto más que una inversión. Sin planificación, pura improvisación: no había tiempo para desarrollar en la oficina, nunca.

Entonces, dediqué un fin de semana a investigar un poco mas sobre APEX. Fue la mejor decision técnica que pude tomar puesto que delante de mi se abrió un mundo lleno de posiblidades en desarrollo web 2.0. Además el tiempo de desarrollo era increiblemente rápido. Era la herramienta que necesitaba y siempre busqué: un mix de herramienta case de cuarta generación, un framework web que aceleraba el despliegue de las aplicaciones y una base de datos con un lenguaje PL/SQL que hacía su trabajo rápido y muy bien.

No era un lenguaje de programación tradicional. APEX era distinto. A través del entorno el desarrollador define las aplicaciones web como contenedores de páginas que a su vez contienen regiones y éstas controles web al uso, informes, botones, mapas, y un largo etcétera. La velocidad de desarollo de páginas como informes eran sólo minutos. Formularios de modificación de datos se terminaban enseguida y practicamente te dedicabas a desarrollar los procesos de negocio dentro de la base de datos usando PL/SQL.

Han pasado años desde entonces y APEX es un producto maduro cuyo futuro está orientado hacia el desarrollo móvil usando plugins desarrollados por el usuario o adquiridos a terceros. Oracle está haciendo un muy buen trabajo y después de publicar Oracle 11g R2 Express Edition los desarrolladores tienen un buen aliado en APEX 4.2: publicación y consumo de servicios web, desarrollo para móvil, incorporación de CSS, HTML5, jQuery, y un largo etcétera gracias al uso de plugins.

En mi caso, que desarrollo desde el año 2006, Oracle APEX supone una herramienta básica en mi trabajo y en el sistema de información de la empresa. Usando Oracle APEX 2.2 y Oracle Database 10g Express Edition desarrollé un ERP particular para la empresa donde trabajo, que tiene más de 20 establecimientos y todos ellos están conectados en VPN. Realizar un desarrollo tradicional de escritorio es una tarea complicada en este caso puesto que simplemente la actualización de los programas, .exe en windows, llevaría demasiado tiempo y además consumir horas de trabajo de los usuarios y dejar los terminales inactivos. Como he dicho antes, muchos se plantearon el desarrollo con PHP/MySQL para incorporar acción a las estáticas webs de los 90. Esta combinación está bien cuando la seguridad no es muy importante y siempre que el aplicativo no sea definido como de misión crítica. Después de más de 5 años de uso del ERP en mi empresa, después de haber comprobado la estabilidad de APEX y de la propia base de datos Oracle (vaya estupidez, como si tuviera que comprobarlo) no puedo más que recomendar el uso de Oracle APEX a todos aquellos que tienen que realizar desarrollos internos para su propia compañía. No recomiendo el uso de APEX para desarrollos web 2.0 comerciales, así no compiten con mi propia compañía, técnica[24].es, especializada en desarrollo web 2.0 usando Oracle APEX (;-).

Está claro que APEX implica tener una base de datos Oracle y muchas empresas no están de acuerdo de cambiar su actual proveedor, posiblemente Microsoft y su SQL Server. Pues bien, puedo decir que esto tiene una fácil solución: el uso de ODBC y Database Links de Oracle. Mediante esta tecnología, en mi empresa, he conectado datos legados, contenidos en ficheros .DBF y también en SQL Server para ser accedidos directamente por Oracle y servida la información a través de informes realizados con APEX, incluso con Oracle BI Publisher. Todo funciona de forma transparente al desarrollado de APEX, que ve el acceso a las tablas SQL Server como si fueran vistas tradicionales.

Bueno, pues ánimo a aquellos interesados en conocer un poco más sobre Oracle APEX 4.2 y las posibilidades que ofrece al desarrollador. Sigan mi consejo e inviertan unas horas del próximo fin de semana en conocer la tecnología.

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-getting-started-1863613.html

Jesús Moreno
http://www.tecnica24.es
jesus@tecnica24.es

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: