Durante los últimos años, por alguna razón, he estado tratando de presionar a las personas para que expandan sus horizontes profesionales. Estoy convencido de que en el mundo moderno es imposible tomar el lugar que le corresponde al participar en actividades altamente especializadas, solo actividades altamente especializadas (con raras excepciones).
Por ejemplo, hay tipos llamados "codificadores": no quieren saber nada sobre el área temática, solo les importa la calidad del código, el rendimiento y la estructura de datos correcta.
Por supuesto, no está mal, pero estos tipos
dependen constantemente del medio ambiente. Necesitan un traductor, un metodólogo que traduzca la tarea del cliente en términos que el codificador pueda entender.
En consecuencia, el codificador tiene una restricción en los lugares de trabajo: una empresa de TI pura o una empresa con un departamento de TI grande y diverso es adecuada.
Wagon tiene un poco más de funciones: sabe cómo entender el idioma de los usuarios, casi todos los dialectos. Pero la camioneta, por regla general, no puede hablar
el idioma de los negocios (este idioma difiere de los dialectos de los usuarios). Ya hay un
artículo sobre un tema similar, no lo repetiré.
Pero hoy no se trata de eso, hoy se trata de tecnología.
Recientemente salí de una acogedora casa amarilla y descubrí que en el mundo hay muchas tareas de cierta clase, que personalmente no puedo resolver en absoluto. Suena así:
cree aplicaciones empresariales de alta disponibilidad . En pocas palabras, aplicaciones web para empresas.
Por supuesto, había escuchado sobre tales aplicaciones antes, porque trabajaba como director de TI. La compañía necesitaba un sitio web, quería CRM basado en la nube, un sistema de gestión de tareas y proyectos accesible desde cualquier lugar y una tienda en línea. Desafortunadamente o afortunadamente, siempre pude escapar de la resolución independiente de tales problemas con la ayuda de una técnica bien conocida: encontrar contratistas o una solución llave en mano basada en el modelo SaaS. Como resultado, la compañía gastó
mucho dinero sin obtener un resultado decente. Pero más sobre eso más tarde. La única excepción a esta lista es el sistema de gestión de tareas y proyectos que hice en 1C en el thin client, pero no hay nada de qué enorgullecerse.
Todavía sentado en una acogedora casa amarilla, yo, junto con mis muchachos, profundicé en Bitrix y su integración con 1C. Encontramos un nicho que era conveniente para nosotros: resultó que una base de datos en MySQL se ocultaba dentro de Bitrix, y podía trabajar con ella a través del mecanismo de fuentes de datos externas 1C. Puede escribir, leer y crear tablas.
La idea surgió en mi cabeza de que con esta tecnología simple puedes construir soluciones buenas, útiles y efectivas. Por ejemplo, rehicimos nuestro "control deslizante" para el portal corporativo en bitrix, en el que ya había un control deslizante real (que se desplaza con un dedo en el teléfono), y en sus diapositivas se muestran gráficos de indicadores de 1C usando Google Charts. Se veía divertido, se implementó de manera elemental y se veía muy bien en los teléfonos de los gerentes: se amplió a pantalla completa, entendió la rotación de la pantalla, se volteó, no requirió el intercambio de datos y la instalación de una aplicación móvil, la autorización correcta está en la caja de Bitrix.
Incluso hablé con webmasters familiares (Bitrixoids y regulares) sobre cómo lo demandan los clientes de integración de Bitrix y 1C, quería abordar este tema de cerca con ellos. Nadie se molesta, por ejemplo, en lugar de manejar tablas con indicadores, para llevar tablas de datos a Bitrix, los mismos documentos o directorios para implementar, por ejemplo, las cuentas personales de los proveedores. La integración es simple, comprensible 1Sniku, puede responder a eventos del sistema, establecer filtros arbitrarios, usar esquemas de diseño, etc.
Pero algo no funcionó, los desarrolladores web no mostraron interés en mi ingeniosa tecnología, pero bueno.
Estaba muy confundido por la falta de conocimiento y experiencia de desarrollo dentro de Bitrix, es decir. en php. Era posible dibujar formas simples con pena por la mitad y con la ayuda de amigos de la web, pero había muchas dudas. Comenzó a recordarse a sí mismo el mismo codificador, que depende de sus colegas.
Fue posible hacer la vista gorda a esta brecha en mi conocimiento durante mucho tiempo, pero, como otros, enseño a ser honesto conmigo mismo, a reconocer la presencia de una granja colectiva en mí mismo, para recibir un impulso inicial en el desarrollo. Decidió aprovechar sus propias recomendaciones, admitió su inutilidad en el desarrollo de aplicaciones web para negocios (sin considerar la base de datos 1C publicada a través de IIS como una aplicación web), y se dirigió a los padawans ante los Jedi sobre este tema.
Miro las aplicaciones web a través del prisma de mi experiencia con 1C y con los estereotipos correspondientes. Por lo tanto, si usted es un creador web experimentado, sea indulgente con mi ignorancia y mis graves errores. Todavía estoy al comienzo del viaje.
Lo primero que llama la atención al desarrollar aplicaciones web es la
gran cantidad de herramientas y tecnologías . Estos son lenguajes de programación, marcos, formatos de transferencia de datos, entornos de tiempo de ejecución y depuración, anotaciones y reglas de desarrollo que están disponibles para su uso por DBMS, etc. No voy a enumerar y analizar, usted mismo sabe todo esto.
El segundo no es inmediatamente evidente, pero después de varios meses de comunicación con los clientes, existentes y potenciales, pero me sumerge, como 1Snika, en estado de shock: ¿por qué una masa tan enorme de tecnologías, un número tan increíble de especialistas crea una
gama de soluciones comerciales tan
humillantemente pequeña ? Esto, en primer lugar, no se trata de soluciones listas para usar, sino de plataformas y tecnologías para su creación (soy 1Snik de la vieja escuela :)).
Con las aplicaciones web para la gente común, está claro: hay todo o casi todo lo que la persona promedio necesita. Las redes sociales están ahí, puedes encontrar a una persona por foto, hablar en voz o letras, jugar a tanques, ver videos, etc.
Y por negocios, ¿qué?La aplicación comercial más común es simplemente
el sitio web de la compañía . Yo, 1Snick, logro llamar al sitio una
aplicación comercial con una extensión, pero el hecho permanece. Teóricamente, los sitios se crean para resolver problemas comerciales. Por ejemplo, para atraer clientes, existe una amplia gama de servicios sobre este tema. Lo único que te molesta son los precios para crear sitios, incluso en plataformas populares. Esos sitios que vi desde dentro de las compañías no le daban sentido al negocio, pero los precios eran iguales a los proyectos para la implementación de sistemas de contabilidad.
La segunda aplicación web más común para negocios es una
tienda en línea . Las opciones de implementación también son bastante numerosas, tanto preparadas como personalizadas. El costo también varía mucho, así como los beneficios para el negocio. No, por supuesto, hay empresas construidas alrededor de una tienda en línea que no tienen más que eso: el mismo envío directo. Pero, básicamente, una tienda en línea es una bofetada de moda para el sitio. Además, por lo general va en la caja de la plataforma, por qué no implementar (por el dinero del cliente).
Todavía hay diferentes tipos de
comunicadores : complementos y plataformas para organizar comentarios. Por ejemplo, en los sitios hay una ventana que molestamente pide un número de teléfono para que alguien vuelva a llamar más tarde. Y yo, maldita sea, un introvertido.
Un tema más amplio son
los sistemas de gestión de tareas y proyectos en la nube . Hay muchos de estos sistemas, generalmente distribuidos de acuerdo con el modelo SaaS, respectivamente: no se personalizan, están pobremente integrados (en el sentido del alboroto más que bueno). Como sistema de contabilidad, son adecuados para tareas, pero tampoco aportan muchos beneficios.
Que mas Oh si, los
servicios . 1C, por ejemplo, tiene muchos servicios, como un banco directo, búsqueda de contrapartes por TIN, administración de documentos electrónicos, verificación de contrapartes por bases de datos, etc. También se entregan como SaaS, pero la parte integrada en el sistema de contabilidad del cliente se puede personalizar. Cosas útiles, por supuesto, en la vida, pero no harán una revolución en los negocios.
No mencionaré aplicaciones web como
correo ,
almacenamiento en la nube o alquiler de servidores e instalaciones de renderizado. Son altamente especializados o se dan por sentado que están a la par con Word y Excel.
Existen, por supuesto,
soluciones listas para usar : todos los principales ERP occidentales obtuvieron caras web en los mismos años. Los Jedi dicen que se basa en las tecnologías actuales, pero aún no estoy listo para discutirlo. Una vez más, estoy confundido por la falta de personalización de las soluciones preparadas de los grandes proveedores. Estas son soluciones listas para usar, como la contabilidad básica. Es imposible construir una pequeña solución para pequeñas y medianas empresas por dinero razonable con su ayuda. Sí, y el costo de una licencia de caballo.
Y las pequeñas y medianas empresas continúan atacando. Quieren paneles de proveedores, paneles de distribuidores, sistemas distribuidos para varios cientos o miles de personas para el sector público, servicios de toma de pedidos no visuales, sistemas de gestión de tareas altamente personalizables, sistemas de recopilación de datos analíticos en tiempo real, consolidación rápida de varias bases de datos sin compras de una configuración genial y poderosa por un millón de rublos, o cuánto cuesta allí.
Quieren trabajar con distribuidores, clientes, proveedores en una
sola base de datos , a través de la web. No quieren contener ningún otro sistema, conducir datos de un lado a otro y trabajar en diferentes interfaces (la excepción es amigable para los bebés PS, ZUP y KA, como si no los tuviera).
Ellos (casi todos, por extraño que parezca) quieren la oportunidad de trabajar
sin conexión , o cuando se corta la conexión (esto, por desgracia, sigue siendo un desastre en nuestras granjas colectivas), mientras que no quieren mantener la base en el cliente y realizar intercambios, procesando colisiones más tarde. Lo quieren como el correo electrónico, que vive silenciosamente en el teléfono en ausencia de Internet: puede ver todas las cartas, puede escribir otras nuevas (sin enviar, por supuesto), y cuando aparece una conexión, todo esto se sincroniza con la nube. Entonces quieren ver sus aplicaciones.
Casi todo lo que los clientes desean en términos de
lógica empresarial se implementa fácilmente en la plataforma 1C. Tiene casi todo lo que necesita para resolver problemas contables y analíticos.
Por ejemplo, directorios en los que puede descomponer fácilmente información relacionada con la normativa. O documentos que correctamente (bien, o al menos habitualmente) reflejan los eventos de la vida económica de la empresa. Registros de acumulación en los que se encuentran correctamente los equilibrios y revoluciones en la analítica necesaria. Los informes, que, junto con SKD, proporcionan un alcance increíble para personalizar el trabajo de los analistas.
Pero
en 1C, no crean las aplicaciones web adecuadas para los negocios , por dos razones principales: una
cara amarilla aburrida y
un rendimiento deficiente con una gran cantidad de conexiones (aquí incluimos todos los aspectos del rendimiento: la cantidad de recursos consumidos, el bloqueo, el costo y, en general, la necesidad de licencias, etc. d.)
Si ignoramos e imaginamos que 1C tiene la cara correcta y no hay problemas con miles de usuarios simultáneos (este es un experimento de pensamiento), entonces
obtenemos una plataforma ideal para crear aplicaciones comerciales de alta disponibilidad .
Juzga por ti mismo. Imagínese, como parte de un experimento mental, ¿cuánto tiempo necesita para crear una tienda en línea con la configuración de UT 10.3? Si no piensa en la interfaz y el rendimiento, parece que el costo de dicha tarea será
de cero a varias horas . Simplemente haga el RLS correcto (el usuario ve todos los documentos relacionados solo con él), ejecute al usuario en el sistema y ... ¡eso es todo! Entré, hice un pedido de un cliente para mí, elegí los artículos (se pueden ver fotos, precios y saldos en forma de elección), sostuve un documento y disfruté la vida.
Por supuesto, tendrá que ajustar algo para el autoservicio. Por ejemplo, pago. O reserva automática con fechas de entrega. Pero, debes admitir, para 1Snik tales tareas son escupir y moler. Además, todos han sido resueltos.
También puede agregar separación de datos, luego generalmente habrá un zumbido.
Se necesita exactamente la misma cantidad de tiempo, o incluso menos, para organizar las cuentas personales de los proveedores.
Para organizar un sistema de gestión de proyectos y tareas, no necesita hacer nada en absoluto: simplemente lanza a las personas a su 1C: Gestión de documentos 2 y configura los perfiles correctamente. Aunque, probablemente no ... Pomer 1C: Workflow 2. RIP.
Si habla así,
casi todas las tareas que conozco para "aplicaciones comerciales en la web" pueden resolverse utilizando la plataforma 1C .
Ahora quitamos las gafas rosas y recordamos que fue un experimento mental. No dejaremos que nadie vaya a ningún lado, porque una persona sana no querrá trabajar en una tienda en línea
amarilla . Una empresa saludable no querrá mantener un clúster de servidores físico infernal que pueda soportar la afluencia de usuarios a través de clientes web en una base de datos desafortunada. Sin mencionar cuánto dinero habrá que pagar por las licencias.
Algunos chicos salen, comparten 1C y la web en diferentes aplicaciones, y organizan la comunicación a través de servicios http. Esta es una actividad muy emocionante, pero la esencia se pierde: nuevamente tenemos dos aplicaciones poco acopladas, y en la parte web tendremos que describir
una vez más la lógica de negocios, almacenar datos, dibujar formularios y procesar eventos.
Además, con alta probabilidad podemos decir que en la parte web del sistema obtendrás una
nave aburrida o tendrás que hacer un trabajo infernal.
¿Por qué la
cosa infernal ? Ahora esto es comprensible: porque no hay una plataforma 1C con su estructura de datos. No hay directorios ni documentos, ni registros de acumulación, ni informes. Hay una base de datos desnuda, formularios vacíos, sin objetos, eventos primitivos, JavaScript omnipotente y, como se mencionó al principio, las innumerables tecnologías de bajo nivel disponibles (para crear objetos y componentes de alto nivel). Por ejemplo, react.js.
En pocas palabras, para crear una aplicación web para negocios, tanto en 1C,
primero tiene que escribir una plataforma web 1C . Al menos una pieza: un libro de referencia allí, un pequeño documento, un informe, un diagrama. El comportamiento de estas clases es al menos mínimo para llegar a un programa.
En realidad, esto es hecho a menudo por los creadores web. Por lo tanto, tales precios de caballo para crear aplicaciones comerciales para adultos en la web.
Es por eso que hay tan pocas aplicaciones comerciales para adultos en la web : nadie quiere pagar dinero.
Por supuesto, hay personas que compran tal trabajo. Existen muchos proyectos de este tipo en los sectores estatales y municipales, en el sector de la vivienda (como cuentas personales de consumidores de electricidad, agua, etc.), diarios electrónicos para las escuelas. Puede juzgar la calidad de tales aplicaciones usted mismo; probablemente las use una vez al mes. Esto, por supuesto, no es una aplicación comercial, y a menudo no están hechos para "su" dinero, pero creo que valió la pena mencionarlos.
La conclusión es el dilema :
- La web resuelve los problemas de una cara bonita y una alta disponibilidad de aplicaciones y datos, pero no existe una plataforma para una descripción rápida de la lógica empresarial.
- En 1C, se resolvieron las preguntas sobre una descripción rápida de la lógica de negocios, pero la cara amarilla fea, insensible para el desarrollador y la baja disponibilidad de la aplicación y los datos.
¿Cómo vamos a decidir?