Tecnología



El desarrollo de software profesional puede ser realmente difícil. Cualquiera puede crear una aplicación sencilla, pero cuando necesitas crear grandes aplicaciones de negocio que tienen que integrar un conjunto de tecnologías, que son desarrolladas por un equipo de gente cambiante, que se someterán a constantes cambios funcionales para cubrir las necesidades de negocio y que deben ser continuamente desplegadas en producción con un mínimo impacto para los usuarios, entonces se hace realmente complicado. Añade a eso que mientras las aplicaciones de negocio pueden estar en producción de 10 a 15 años, las tecnologías subyacentes están constantemente cambiando y algunas de ellas incluso desaparecen.

En Imatia, somos muy conscientes de este problema. Además de nuestros propios productos, hemos desarrollado cientos de sistemas de misión crítica para todo tipo de clientes. Al igual que muchas otras empresas de software, en lugar de crear soluciones desde cero, las construimos utilizando los frameworks, bibliotecas y tecnologías más populares, como se puede ver en el siguiente diagrama:

El problema de esto es que estas tecnologías subyacentes están en constante evolución y nuestros clientes no quieren quedarse atascados con sistemas antiguos. Para abordar este problema, hemos creado una capa de abstracción que nos permite definir aplicaciones utilizando un enfoque declarativo. Es decir, que en lugar de simplemente codificar de forma manual nuestras aplicaciones utilizando cualquier tecnología que esté de moda, ofrecemos a nuestros desarrolladores un framework corporativo que les permite definir las pantallas, reglas de negocio y procesos que la aplicación debe proporcionar.

Con esto, nuestros desarrolladores pueden implementar de forma rápida y sencilla aproximadamente el 90% de la funcionalidad que necesitan, y sin programar. Eso es muy beneficioso, ya que pueden sacarse de encima rápidamente todo el "trabajo aburrido". También es ideal para los usuarios porque todas las pantallas se comportan de manera uniforme e incluyen un montón de interesantes funcionalidades que hacen que su trabajo cotidiano sea más fácil. Todo esto sin ningún esfuerzo para los desarrolladores.

Pero a nuestros desarrolladores les gusta programar, así que quieren crear funcionalidades que hagan que su aplicación sea impresionante, que les planteen algún tipo de desafío intelectual y que no puedan ser fácilmente replicadas por la competencia, ayudándoles a destacar entre los demás.

Nuestro framework está diseñado para que los desarrolladores puedan añadir fácilmente su propio código o componentes, prescindir de la funcionalidad que se proporciona por defecto o lo que quieran, pero de una manera controlada y utilizando los entornos de desarrollo y las herramientas que usa todo el mundo (Eclipse, npm o Git, entre otros).

Los desarrolladores también adquieren la experiencia de usar las tecnologías del momento (Angular, Spring, Hibernate, Docker y más) sin tener que lidiar con muchos detalles. Además, a medida que las tecnologías y los entornos de desarrollo evolucionan, los desarrolladores pueden trabajar en estos nuevos entornos y migrar fácilmente todo lo que desarrollaron declarativamente.

Nuestro framework se llama Ontimize y lo utilizamos para desarrollar todos nuestros productos y en la mayoría de nuestros proyectos de desarrollo a medida para clientes. Es 100% código abierto y su uso y distribución es gratuito. Si deseas utilizarlo, no dudes en descargarlo desde nuestra web o GitHub. Si necesitas nuestra ayuda, ofrecemos servicios que van desde la formación y el soporte hasta el desarrollo personalizado, pero tú decides cuándo y dónde necesitas nuestra ayuda, sin ataduras ni tarifas de licencia ocultas. Lo llamamos Ontimize porque no solo nos ayuda a optimizar nuestro trabajo, sino que además nos ayuda a estar siempre a tiempo ("on time"), con nuestros clientes, con el mercado y en nuestra vida personal.

El ámbito de actividad de la empresa es claramente tecnológico (Tecnologías de la Información), siendo su papel considerado como el de “proveedor tecnológico” dentro de su sector.