Anotação
Vou contar sobre a experiência acumulada em quase 10 anos de trabalho relacionado à digitalização do nosso país, sobre os problemas encontrados e o que eles fizeram para resolvê-los, como tudo isso levou ao nascimento de outra solução de plataforma e um pouco sobre ela.
Trabalho na digitalização do nosso estado há 8 anos. Em 2011, eu comecei como analista simples, depois estávamos envolvidos na tradução de serviços em formato eletrônico para o site de serviços públicos e no desenvolvimento da parte de back-end para eles em departamentos de vários sistemas.
Eu trabalhei em diferentes regiões do nosso país e vi muitas plataformas. Alguns problemas foram ouvidos por colegas de outras empresas, mas na mesma esfera, em algum lugar das empresas com as quais nos integramos, que foram obtidos com a experiência do cliente em interagir com outros contratados.
Os problemas vistos ao trabalhar com sistemas antigos
- Nos primeiros sistemas, todas as formas e entidades foram descritas do começo ao fim por código; no futuro, os designers de formulários apareceram, mas ainda não havia um ciclo completo
- grande ciclo de lançamento, cerca de um mês.
- referência de implantação
- o analista geralmente escreve apenas TK, então o desenvolvedor faz tudo
- modelos como parte do sistema - quando sua criação é um processo complexo e o modelo se torna parte do sistema em casos raros, parte do código
- sistemas díspares - tive que usar vários aplicativos para trabalhar: um visualizador de processos de negócios, um IDE com plug-ins, editores de texto, mecanismos de modelo e as interfaces dos próprios sistemas. A fragmentação criou dificuldades com a depuração e a localização de fontes de erros.
- problemas associados à instalação do CryptoPro, que ocorreram não apenas para usuários finais, mas também para desenvolvedores
- a integração entre sistemas levou de um mês a seis meses
- alguns sistemas não funcionavam com dados como tais, as informações de entrada eram de alguma forma processadas, passadas pelo processo de negócios e produziam um resultado. No entanto, nenhum dado foi deixado para processamento adicional. Mesmo encontrar primitivamente todas as instruções do usuário, por exemplo, era impossível
- houve problemas com o design de componentes visuais por pessoas diferentes, uma vez que muitas formas de interface do usuário foram criadas manualmente por pessoas, cada uma delas poderia criar seu próprio estilo, o que acabou sendo notado e teve que ser negociado e trouxe tudo para o mesmo estilo
A experiência mais terrível foi a experiência de oferecer suporte a um sistema herdado de uma empresa em colapso, o produto foi escrito com base no Liferay, não tenho nada contra o próprio Liferay, mas este não é o produto com base no qual vale a pena escrever sistemas semelhantes, bem, a própria execução levantou questões. Do próprio Lifarey, não foram utilizados mais de 10%, o resto foi escrito lado a lado, ficou monstruoso e torto, os colegas que estudavam essa solução o chamavam de Frankinshtein. No futuro, foi substituído com segurança.
Como decidimos consertar
Por volta de 2014-2015, nossa equipe decidiu criar sua própria plataforma para os departamentos de digitalização. Por volta de 2016, entrei para a equipe de desenvolvimento. O principal objetivo da criação da plataforma era permitir que o desenvolvimento fosse feito sem envolver desenvolvedores, apenas através dos esforços dos analistas. Isso deveria ter reduzido o tempo, pois pessoas desnecessárias são excluídas do processo, assim como o custo do trabalho, pois os programadores são muito caros. E, idealmente, o cliente foi capaz de digitalizar seus próprios processos ou fazer pequenas alterações.
Obviamente, levamos em conta a experiência negativa dos últimos anos ao criar um novo produto. Criamos uma plataforma que permite o uso de editores visuais incorporados para criar e modificar entidades comerciais, se necessário, também projetar interfaces de usuário e formulários de entrada de dados em editores visuais, além de possuir seu próprio mecanismo e editor de BPM, subsistema de relatórios e geração de modelos, pesquisa de texto completo, Serviço de endereço FIAS, serviço de assinaturas eletrônicas, serviço de armazenamento de arquivos.
Inicialmente, o sistema foi projetado para simplificar e automatizar as atividades de especialistas envolvidos na conversão de serviços em formato eletrônico, mas com o tempo percebemos que a funcionalidade da plataforma permite criar soluções muito poderosas que variam de CRM, ERP, ECM a sistemas altamente especializados.
Com base na plataforma, os parceiros criaram o sistema Cidade Segura para a República da Buriácia e agora está desenvolvendo e replicando para outras regiões.
"Cidade Segura" nas capturas de tela A transferência de um serviço de emissão de cartão de transporte em Tyumen reduziu o tempo necessário para fornecer um serviço de 10 dias para 6 segundos.
Como resultado, além de resolver tarefas de trabalho, para as quais um sistema foi desenvolvido, implementado em mais de 30 regiões do país, implementamos 3 projetos comerciais, bem como a automação interna das atividades da empresa na plataforma.
Um pouco sobre a plataforma e como tudo parece.
Em resumo, tecnologias e produtos usados sob o capô: Angular, Java, Wildlfy, OrientDB, Solr, Hazelcast.
Uma pequena lista dos principais recursos da plataforma:Todos trabalham com a plataforma através do navegador. Não há IDEs e estúdios.
Editor de modelo UML
UML - projetando visualmente metamodelos de entidades comerciais, estabelecendo relacionamentos entre elas. Tudo isso está claro. O esquema geral de dados permite construir estruturas de dados que podem ser usadas por novos sistemas, por exemplo, a natureza descrita de uma pessoa ou organização é usada e vinculada em novos desenvolvimentos (princípios de OOP aplicados), além de dados - isso permite eliminar a duplicação de sistema para sistema.

Editor de interface visual embutido

Editor de formulário visual incorporado:
os formulários agora são uniformes, estruturados e tipificados. O máximo de trabalho é automatizado, é possível gerar formulários para objetos. O tempo de trabalho do analista para operações de rotina foi reduzido em quase 10 vezes; há mais tempo que pode ser dedicado à lógica de negócios. A plataforma não permite erros de edição.

Editor de processos de negócios visual incorporado

Biblioteca de componentes visuais
padrão e específico, por exemplo, um filtro de dados universal, campos de seleção para entidades relacionadas com vários recursos, tabelas relacionadas, facetas.
Mapas interativos


Js chart

Modelos - os usuários finais podem editar os próprios modelos e adicionar novos.
Registro de atividades do usuário e histórico de alterações de dados. Soft delete registros no banco de dados.
Gerenciamento de direitos de acesso no nível das operações com entidades, seus atributos e instâncias individuais, telas e componentes da interface do usuário.
Pesquisa em texto completo, embora você provavelmente não surpreenda muitos com isso, mas ainda existem sistemas em que isso não existe e, no nosso caso, é dinâmico como todo o sistema.
APIs abertas para integração com sistemas externos.
De qualquer forma, decidimos não limitar nossos usuários a apenas componentes internos e permitimos que usuários experientes usassem JS para expandir a funcionalidade nas interfaces de usuário ou processos de negócios criados.
Essa abordagem nos permite criar aplicativos personalizados dinamicamente, sem implantações e reinicializações. O que, por sua vez, permite reduzir o tempo de entrega de valor ao cliente (Time To Market). Nossa experiência mostra que o tempo e o custo de criação de um sistema com personalização para o cliente são reduzidos pelo menos duas vezes.
Por exemplo, neste vídeo (aqui, um vídeo acelerado de 10 minutos -
youtu.be/Yvvxn_qbook ) do zero em 30 minutos, é criado um exemplo de sistema de rastreamento que pode ser implementado em empresas que realizam trabalhos de campo.
Planos futuros
No momento, estamos trabalhando no redesenho do cliente. Portanto, mais perto do outono, deliciaremos nossos usuários com uma nova interface de usuário mais conveniente e bonita.
É muito interessante observar como os sistemas estão se desenvolvendo na plataforma; às vezes, você nem espera que isso seja possível. Os analistas estão constantemente impressionados com os novos sistemas que obtêm. A plataforma é ótima para sistemas de contabilidade, como back-end para vários serviços, ERP, CRM, ECM e sistemas similares, bem como para soluções de prototipagem.
Talvez já existam muitas plataformas semelhantes e cada uma tenha seus próprios prós e contras, não vou compará-las e avaliá-las aqui. Entendo que, com o tempo, haverá cada vez mais e sua disponibilidade será mais livre. Aqui você pode fazer uma analogia com os designers do site (site-designers.rf), que agora são dezenas e existe uma concorrência real no mercado entre eles, o que afeta positivamente a qualidade e os consumidores. .
Estou muito feliz por trabalhar nesta empresa e tenho muito orgulho do que fazemos. Estou muito satisfeito em ouvir a admiração e o feedback agradável de quem se familiariza com a nossa plataforma. Gostaria que mais pessoas aprendessem sobre a plataforma e a usassem para o benefício do caso. Espero receber feedback dos leitores - estamos sempre abertos a críticas e sugestões construtivas.
Se o artigo entrar na comunidade, planejo escrever uma série de artigos sobre como e quais problemas resolvemos ao desenvolver nossa plataforma e produtos, problemas de cluster, manutenção e monitoramento integrado. sobre nossa experiência no uso do DevOps e como é aplicável no setor público, como passamos a usar o Docker e mais detalhadamente quais tecnologias estão sob o capô da plataforma e de seus serviços.