
¿Qué es el software? La mayoría de las personas probablemente diría que es un programa para PC o teléfono que trabaja con datos. La pregunta es: ¿se puede considerar un sitio web como software según esta definición? ¿Y qué pasa si tiene funcionalidades avanzadas, como integración con 1C o capacidades de pago?
A lo largo de los años de comunicación con nuestros clientes, nos hemos acostumbrado al hecho de que cada persona tiene su propia interpretación de la palabra software. Algunos la usan para referirse a sitios web con una pila completa de integraciones; otros piensan en aplicaciones web y de escritorio; y otros la asocian con soluciones de alta carga.
Todos tienen razón en cierto modo. Un sitio web, de hecho, es un programa que trabaja con datos: envía solicitudes, procesa pagos e identifica al usuario al iniciar sesión. En cuanto a los sistemas de alta carga, pueden funcionar como software independiente o estar compuestos por varios programas autónomos.
Por otro lado, el desarrollo web y móvil suele separarse del desarrollo de software para evitar confusiones entre el cliente y el proveedor respecto a términos, costos y tareas.
Tipos de software
Las soluciones de software se dividen tradicionalmente en varios tipos: software de sistema, software de aplicación y herramientas de desarrollo de software.
- Software de sistema es un conjunto de programas que controlan el funcionamiento interno de un ordenador. Esto incluye sistemas operativos, programas utilitarios, shells, entre otros. Ejemplos de software de sistema son Windows OS, el archivador RAR, los administradores de archivos y los entornos de programación.
- Software de aplicación está diseñado para ayudar al usuario a resolver problemas prácticos. Aquí podemos incluir programas como Microsoft Office, 1C:Contabilidad o Adobe Photoshop. Un buen ejemplo de software a medida es el sistema de gestión de almacenes e inventario que desarrollamos para un grupo textil de gran tamaño. Se trata de una plataforma integral con un catálogo de productos, cuentas personales para empleados y gerentes de almacén, gestión documental automatizada, recopilación de estadísticas y muchas otras funciones. A simple vista, este sistema parece un sitio web, pero en realidad está compuesto por múltiples programas independientes.
- Por último, existen las herramientas de desarrollo de software, que se utilizan para crear nuevas aplicaciones y sistemas de información. Básicamente, esto hace referencia a la pila tecnológica.
Socialización del software
El software puede ser integrado o, en términos sencillos, aislado. Este último funciona de manera autónoma, sin interactuar con sistemas externos. En cambio, los programas integrados están en constante comunicación con otros software. Un ejemplo sencillo son programas como 1C:Contabilidad, 1C:WMS Logistics y Bitrix24, que operan dentro de una tienda en línea intercambiando datos de manera continua. Otro ejemplo de software integrado sería un servicio en la nube desplegado en una infraestructura de terceros. Es, en esencia, una aplicación dentro de otra aplicación, como una matrioshka rusa.
Hoy en día, las aplicaciones integradas están reemplazando gradualmente a las aisladas. La época en la que cada desarrollador trabajaba con un programa independiente está llegando a su fin, y el desarrollo de software se está "socializando". ¿Qué queremos decir con socialización? Tomemos como ejemplo la contabilidad: en el pasado, los libros contables se llevaban en un programa independiente en una computadora, y los datos necesarios debían ingresarse manualmente desde disquetes, memorias USB o archivos adjuntos en correos electrónicos. Hoy en día, esta información se importa automáticamente al software de contabilidad desde otros programas, como sistemas de inventario o tiendas en línea, y luego se transfiere a sistemas de gestión documental, por ejemplo. En otras palabras, la carga, descarga y transferencia de datos ya no se realiza manualmente, sino mediante algoritmos, lo que aumenta enormemente la eficiencia y la velocidad.
Sistemas de alta carga
Ya hemos mencionado que muchas personas piensan en sistemas de alta carga cuando escuchan la palabra software. El ejemplo más básico de este tipo de sistema es un marketplace que atiende a miles de usuarios y está alojado en múltiples servidores. Pero hay matices en esto.
Por ejemplo, un sitio web puede estar compuesto por una interfaz y un conjunto de soluciones de software diferentes. Tomemos el marketplace de OZON: en su interior hay muchos programas independientes, como un sistema de inventario, servicios logísticos, contabilidad, el backend de cuentas de usuario, etc. Todos estos programas intercambian datos entre sí. Cuando el sistema de inventario recibe la señal de que un paquete ha sido entregado en un punto de recogida, envía esta información a otro programa: la cuenta del usuario. Otro ejemplo proviene de uno de nuestros proyectos, en el que desarrollamos un marketplace para productos petroleros, un sistema integrado complejo que incluye servicios backend, aplicaciones, 1C y Bitrix24.
Al mismo tiempo, toda la funcionalidad de una tienda en línea puede estar integrada en su panel de administración, o la tienda en sí puede estar construida completamente sobre 1C. Y con esta observación, volvemos al punto de partida. La conclusión es que es difícil trazar límites claros entre software, sitios web de alta carga y desarrollo web: todo se reduce a una cuestión de terminología.
Además, no es posible determinar de antemano qué solución se adaptará mejor a las necesidades de tu negocio: un sitio web de alta carga, un software independiente o una combinación de programas individuales. Todo depende del proyecto en cuestión, sus características tecnológicas, el ciclo de producción, el presupuesto y muchos otros factores.