La arquitectura del software en aplicaciones para comercializadoras energéticas
Hay una frase que expresa perfectamente cómo nació y se ha desarrollado el software de Globaleris. Decía Steve Jobs, co-fundador de Apple, que «si estás trabajando en algo emocionante que realmente te importa, no tienes que ser presionado. La visión te atrae.». La visión que tuvo el equipo de Globaleris desde el principio fue la de convertirse en el referente de software de gestión para las comercializadoras.
Globaleris es un SaaS o “Software as a Service” en la nube, de suscripción mensual, para la gestión integral de las operaciones del negocio energético de electricidad y/o gas. La propuesta de valor diferencial, el “core business” de Globaleris es, por tanto, el desarrollo de software. Diseñamos y desarrollamos soluciones informáticas que sean ágiles, útiles, transformadoras y diferenciales para las comercializadoras energéticas, con el objetivo de conseguir mayor automatización, eficiencia y una mejor toma de decisiones.
En el desempeño de nuestra misión empezamos a desarrollar desde cero con una clara visión de fundamentar nuestro producto en la mejor arquitectura de software.
A continuación, te desentrañamos los secretos del “esqueleto” de nuestro software, qué hace a Globaleris diferencial en este aspecto, y cómo las comercializadoras pueden beneficiarse de ello según sus necesidades.
La importancia de una arquitectura robusta de calidad
En el mundo del desarrollo de software, la arquitectura de software representa la decisión de diseño más temprana. Según como diseñas esa arquitectura, comprometes el despliegue, rendimiento y escalabilidad de la aplicación.
Se trata de sentar unas buenas bases para poder asegurar ese crecimiento futuro con fiabilidad para nuestros clientes.
Para entender mejor cómo desarrollamos la solución y sus funcionalidades, veamos a continuación qué entendemos por “arquitectura de software”.
¿Qué es la arquitectura de software?
En primer lugar, debemos tener en cuenta que no hay un consenso definitivo sobre la definición de arquitectura de software, al igual que pasa con otros conceptos de creación relativamente reciente y que se mantienen en constante evolución.
Si que es posible, sin embargo, referirse a una de las definiciones más citadas y consensuadas a nivel internacional. Se trata de la definición expuesta en el libro del año 2010: Documenting Software Architectures: Views and Beyond. Este libro establece que la arquitectura de software son las estructuras fundamentales de un sistema de software y la disciplina de crear dichas estructuras y sistemas. Cada estructura comprende elementos de software, relaciones entre ellos y propiedades tanto de elementos como de relaciones.
Adicionalmente, los autores Philippe Kruchten, Grady Booch, Kurt Bittner, y Rich Reitman han derivado y refinado una definición de la arquitectura basada en el trabajo de 1996 de Mary Shaw y David Garlan. Su definición va en la misma línea que la anterior: «La arquitectura de software abarca la selección de la estructura, los elementos y sus interfaces por el cual el sistema está compuesto; comportamiento especificado en la colaboración entre dichos elementos, composición de la estructura y elementos de comportamiento en subsistemas más grandes, y un estilo arquitectónico que guía esta organización.”
¿En qué se diferencia la arquitectura del software de Globaleris de otras?
En el centro del desarrollo de software de Globaleris se encuentra la consecución de la calidad. Ese ha sido el principio rector del desarrollo, del cual se desprenden características diferenciales respecto a otros productos de mercado, como son:
- Flexibilidad
- Versatilidad
- Mantenibilidad
- Rendimiento
- Seguridad
Estas ventajas se consiguen gracias a un conjunto de elementos que conforman la arquitectura de Globaleris y que la convierten en una plataforma cloud modular, fácilmente adaptable a las necesidades de cada comercializadora. Os damos los detalles a continuación:
Arquitectura PaaS Microsoft Azure
Uno de los aspectos centrales en la misma conceptualización de Globaleris fue la escalabilidad y el buen mantenimiento. Las comercializadoras necesitan que el software de gestión sea capaz de poder liquidar las relaciones contractuales, facturar y/o gestionar procesos de manera ágil y fiable. La arquitectura PaaS de primer nivel garantiza una capacidad de escalado ilimitada y un mantenimiento profesional de las infraestructuras (máquinas, seguridad, SO, etc.).
App Service
La aplicación web auto-escala horizontalmente. Gracias al “Blob storage”, los ficheros generados o capturados por la aplicación se guardan por triplicado en diferentes servidores. Con Azure SQL, la información se almacena en una base de datos SQL Server PaaS para una encriptación y uso de los datos transparente con funcionalidad de “elastic pool”.
Y gracias al Azure B2C, Globaleris cuenta con un directorio que opcionalmente se puede sincronizar con el AD corporativo de cada comercializadora.
APIs
Globaleris ha hecho un gran esfuerzo material en desarrollar ampliamente la capacidad de sus API, por eso nos gusta hablar de “apificación” total de la plataforma. Globaleris ofrece una API REST sobre protocolo OData capaz de estandarizar y simplificar los procesos de integración con sistemas terceros. Esta API habilita la creación de una arquitectura orientada a eventos, que permite la suscripción de recursos internos o externos a cualquier tipo de acción que se produzca en la plataforma.
Webhooks Pub/SUB
Notificaciones instantáneas y seguras a otras aplicaciones, por lo que el sistema puede actualizarse cuando se produce el evento.
Serverless
Soluciones para un aislamiento óptimo y tratamiento de eventos críticos mediante “Functions”, así como su extensión de Durable con uso de patrones de aplicación. Con “Logic App”, se incorporan soluciones de proceso dinámicas, sencillas, con capacidad de orquestación e interrelación con Azure Functions.
Por tanto, Globaleris ofrece este tipo de opciones que permiten cualquier tipo de actividad dentro de la plataforma, tanto aquellas que son programables como las que se parametrizan como respuesta a un evento concreto: capas de integración, orquestación de eventos, planificación de tareas programadas serverless, etc.
RuleBooks
Globaleris RuleBooks es una solución propia, capaz de encapsular la lógica específica de cada negocio (por cliente, por país, por tipo de factura, etc.).
Seguridad
Globaleris se somete a una auditoría de seguridad anual en la que es evaluada externamente de manera independiente para asegurar a nuestros clientes que sus datos y la infraestructura es fiable y está protegida. Seguimos protocolos y acciones concretas para garantizar la máxima tranquilidad y evitar problemas.
Por ejemplo, Globaleris se ofrece por defecto desde internet a través del protocolo cifrado HTTPS protegido con certificado TLS. Todos los datos de la plataforma son cifrados mediante el procedimiento Transparent Data Encryption de Microsoft. También se permite la configuración de autenticación de usuarios de doble factor mediante Azure AD B2C, pudiendo utilizar protocolos como SAML2 para federación con AD corporativos.
Las actividades de cualquier usuario quedan registradas a través de los logs. Tenemos la opción de sesión caducada, que recomendamos como buena práctica. También es posible la configuración de claves de seguridad mediante Azure Key Vault, una de nuestras opción de seguridad más valiosa. Sus ventajas son que las aplicaciones no tienen acceso directo a las claves, un aumento del control sobre claves y contraseñas para mayor seguridad.
Servidor SFTP
Facilitamos Servidores SFTP para la comunicación automatizada de las comercializadoras con las distribuidoras.
Capacidad analítica e informes
Globaleris integra el Servidor Qlik Sense dentro de su plataforma, una de las soluciones analíticas más potentes del mercado, permitiendo la creación y publicación de informes (generales o personalizados) para la conversión de los datos en conocimiento. También ofrecemos de forma integrada a nuestros clientes una de las soluciones de capacidades analíticas más avanzadas del mercado.
Soporte
Globaleris está diseñado para dar soporte en todo el ciclo de vida completo de la aplicación web: creación, prueba, implementación, administración y actualización (todo administrado por parte del equipo de Globaleris).
Nuestro equipo de soporte y servicio cuenta con la herramienta Azure Monitor para revisar cualquier flujo, bajo demanda de los clientes.
Copias de seguridad
Globaleris garantiza la capacidad de recuperación en caso de pérdida de copias en línea de los datos en un periodo máximo de 24-48 horas, en caso de desastre. Los procedimientos de recuperación se prueban periódicamente de end-to-end.
Cumplimiento regulatorio y legal
En materia regulatoria y legal de sistemas en la nube, Globaleris está adherida al EU Cloud Code of Conduct.
¿Quieres saber más? Ponte en contacto con nosotros o agenda una demo.