Você está na página 1de 22

INSTITUTO SUPERIOR DE CIENCIAS E TECNOLOGIA

DE MOÇAMBIQUE
Escola de Pós-Graduação
Mestrado em Engenharia Informática

Programação Low-Code e Automação (RPA)

Introdução à Programação Low Code

Docente: Ruben Manhiça

Maputo, 1 de agosto de 2023


Conteúdo da Aula
1. Introdução à Programação Low Code.
2. Conceitos básicos de Automação de Processos RPA.
3. Estudo de casos de sucesso.
4. Discussão de oportunidades de pesquisa acadêmica na área.

Anotações da aula de Programação Low Code e


8/1/2023 2
Automação RPA
O que é software sob medida?
• Sob medida - feito para um determinado cliente ou usuário. [Dicionário
online de Oxford]

• Software sob medida é desenvolvido por um motivo específico. Como


tal, pode ser contrastado com o uso de pacotes de software desenvolvidos
para o mercado de massa, como software comercial de prateleira, ou
software livre existente.

• O software sob medida é um software personalizado ou feito sob medida.


O valor do software sob medida em relação ao software pronto para uso é
que ele pode ser projectado especificamente para os principais objetivos
empresariais ou legislativos.

• Bespoke é um termo usado no Reino Unido e em outros lugares para um


produto ou serviço individual ou personalizado. Tradicionalmente aplicado a
roupas sob medida, o termo foi estendido à tecnologia da informação,
especialmente para serviços de consultoria de software.

• Desenvolvimento de software personalizado é o processo de projectar,


criar, implantar e manter software para um conjunto específico de
utilizadoes, funções ou organizações. Em contraste com o software
comercial de prateleira (COTS), o desenvolvimento de software
personalizado visa um conjunto restrito de requisitos. [IBM]

• Os sistemas sob medida são adaptados aos requisitos exactos de uma


empresa. Eles podem ser construídos para acomodar o crescimento ou o
downsizing dos negócios. Eles geralmente são projetados com os planos
de TI de longo prazo de uma empresa em mente. [Chartered Institute for IT]

Anotações da aula de Programação Low Code e


8/1/2023 3
Automação RPA
Como isto foi implementado ao longo da
Historia?... Hardware

Anotações da aula de Programação Low Code e


8/1/2023 4
Automação RPA
Como isto foi implementado ao longo da
Historia?... Machine code to assembler

Anotações da aula de Programação Low Code e


8/1/2023 5
Automação RPA
Como isto foi implementado ao longo da
Historia?... IDE magic - VSCode

Anotações da aula de Programação Low Code e


8/1/2023 6
Automação RPA
Como isto foi implementado ao longo da
Historia?... Low code - OutSystems

Anotações da aula de Programação Low Code e


8/1/2023 7
Automação RPA
Reflexão!!!

Podem pensar em
TRÊS razões
por que low code
é tão atraente para as empresas?

Anotações da aula de Programação Low Code e


8/1/2023 8
Automação RPA
Gerações de linguagem de programação

• 1ª Linguagem de Máquina
• 2ª Assembly
• 3ª Linguagem de programação de alto nível
• (Compilador introduzido no final de 1950) como
.Net, Java, C++,...

• 4ª GL (introduzida no final da década de 1970 -


Mais perto da linguagem natural) tal SQL para
acessar DB, Python
• 5ª GL baseada em restrições ou regras
(Desenvolvimento visual, gerador de código, AI -
introduzido em 1990, PROLOG)

Anotações da aula de Programação Low Code e


8/1/2023 9
Automação RPA
Evolução dos aplicativos de negócios

• Software pré-empacotado

• Personalizando software pré-empacotado multiuso


– ERP, CRM, ECM, MIS

• Plataformas de desenvolvimento low-code (no-code)


– Aplicação conduzida da linguagem de 4ª à 5ª geração e introduzida em 2011. A
Forrester estima que o mercado total de desenvolvimento low-code crescerá para US$
30 bilhões até 2024

Anotações da aula de Programação Low Code e


8/1/2023 10
Automação RPA
Transformação digital empresarial
(Digitalize our workplace in 2020)
• Rapid App Development (RAD)

• BPMS

• eForms

• Mobile

• Cloud

Anotações da aula de Programação Low Code e


8/1/2023 11
Automação RPA
O que é low-code?
• As plataformas de aplicativos low-code aceleram a entrega de aplicativos, reduzindo
drasticamente a quantidade de codificação manual necessária. A entrega mais rápida é o principal
benefício dessas plataformas de aplicativos; Eles também ajudam as empresas a responder mais
rapidamente ao feedback dos clientes após os lançamentos iniciais do software. [Forrester]

• Low-code é uma abordagem de desenvolvimento visual para o desenvolvimento de aplicativos. O


low-code permite que desenvolvedores de variados níveis de experiência criem aplicativos para
web e dispositivos móveis, usando componentes de arrastar e soltar e lógica orientada a modelos
por meio de uma interface gráfica do usuário. [Mendix]

• Low-code é uma maneira de projectar e desenvolver aplicativos de software rapidamente e com o


mínimo de codificação manual. Ele permite que pessoas qualificadas entreguem valor de forma
mais rápida e confiável. Utilização de modelagem visual em uma interface gráfica para montagem
e configuração de aplicações. [OutSystems]

• Uma plataforma de aplicativos low-code (LCAP) é uma plataforma de aplicativos que oferece
suporte ao desenvolvimento rápido de aplicativos, implantação em uma etapa, execução e
gerenciamento usando abstrações de programação declarativas de alto nível, como linguagens de
programação orientadas a modelos e baseadas em metadados. Eles suportam o desenvolvimento
de interfaces de usuário, lógica de negócios e serviços de dados e melhoram a produtividade às
custas da portabilidade entre fornecedores, em comparação com plataformas de aplicativos
convencionais. [Gartner]

Anotações da aula de Programação Low Code e


8/1/2023 12
Automação RPA
Como tudo isso se encaixa?
As diferenças entre plataformas no-
code e low-code a convergir ao
longo do tempo.

Recursos robustos de governança e


fluxo de trabalho são essenciais,
pois essas plataformas continuam a
substituir a necessidade de
codificação manual.

As linguagens de nível inferior podem


continuar a satisfazer os requisitos em
termos de necessidades especialmente
de alto desempenho ou alta
O diagrama mostra como COTS, no-code, low-code e codificação manual complexidade.
se complementam em termos de suas capacidades gerais. Os usuários,
desenvolvedores cidadãos e programadores profissionais, não é tão claro A IA desempenhará um papel cada vez
quanto o diagrama sugere. A natureza dos desafios de negócios que eles maior em ajudar a acelerar os recursos
estão abordando determinará quem faz o quê. das plataformas no-code e low-code.

Os aplicativos de nível empresarial estão sendo criados usando


plataformas low-code. Para essa natureza de aplicação, um bom design,
governança e práticas de trabalho são essenciais.

Anotações da aula de Programação Low Code e


8/1/2023 13
Automação RPA
Plataformas de desenvolvimento low-
code (no-code)
• Plataformas que permitem a entrega rápida de aplicativos de negócios com um mínimo de
codificação manual e investimento inicial mínimo em configuração, treinamento e
implantação.
• As interfaces visuais que permitem o desenvolvimento de arrastar e soltar
• Criar software aplicativo por meio de GUI e configuração em vez de codificação manual
• Concentrar se no desenvolvimento de um processo de negócios ou interface do usuário,
como um aplicativo Web

Pros Cons
• Não consomem tempo/custo • Ainda exigem habilidades de programação
• Não é difícil manter e aplicar mudanças • Tipo de opção de limitação para o aplicativo
• Não são complexos de usar/construir criado
• Não são necessários programador formal • Não é adequado para sistemas
(mesmo o usuário de negócios pode fazê-lo) grandes/complexos
• São independentes de plataforma • Um novo risco - dependência do fornecedor
• A integração é muito mais fácil agora • Problema de conformidade para versões SaaS

Anotações da aula de Programação Low Code e


8/1/2023 14
Automação RPA
Programação low-code ou manual
• Não deveria ser uma decisão qualquer. Em um cenário de
aplicativos complexo, pode haver muitas ferramentas e
tecnologias, trabalhando juntas, para fornecer benefícios aos
negócios.
• Onde há práticas de desenvolvimento maduras e eficientes, é
importante para equilibrar o investimento contra o retorno
contra o risco.
• Para ambientes de desenvolvimento novos ou menos maduros,
o low-code pode fornecer um processo significativamente
simplificado.
• Para sistemas de alto desempenho em tempo real, a
codificação manual pode fornecer uma abordagem mais
eficiente. O low-code costuma ser uma boa opção para
reengenharia de legados.
• A seleção de uma plataforma low-code para a funcionalidade
principal pode ser apropriada. O código personalizado pode ser
adicionado para requisitos críticos de desempenho e altamente
complexos.
• Webhooks e suporte a API simplificam a integração entre
sistemas - independentemente das tecnologias que utilizam.
• Plataformas low-code podem ser estendidas com código
artesanal.
É claro que diferentes plataformas e tecnologias
exigem pessoas com diferentes habilidades e • Java, .NET e muitas outras linguagens são suportadas.
experiências para gerenciá-las. A consolidação pode
acontecer ao longo do tempo, mas não imediatamente.

Anotações da aula de Programação Low Code e


8/1/2023 15
Automação RPA
Desenvolvimento e Integração Low
Code

• Appian
• OutSystem (mobile themes)

Anotações da aula de Programação Low Code e


8/1/2023 16
Automação RPA
Low-code vs No-code
▪ Low-code e no-code têm recursos e objetivos semelhantes. Ambos usam modeladores visuais e modelos para
automatizar processos sem (idealmente) escrever qualquer código.
▪ No-code é geralmente o domínio de desenvolvedores cidadãos que criam aplicativos simples e mais limitados. Idealmente
sem codificação.
▪ O low-code se concentra em desenvolvedores profissionais que criam aplicativos de classe empresarial. Idealmente sem
codificação.
▪ Ambas as abordagens são apoiadas por uma série de produtos relacionados. Se essa tendência continuar, é provável que
a distinção entre low-code e no-code desapareça.
▪ Isso significa menos desenvolvimento empresarial e programadores sob medida. Ironicamente, os programadores ainda
terão um papel a desempenhar na criação das plataformas low-code e, assim, acelerar a necessidade de codificação
manual.

Low-Code No-Code
Atende principalmente Desenvolvedores ou utilizadores avançados utilizadores Corporativos
Propósito Ferramenta de desenvolvimento rápido de aplicativos de Aplicativo de auto-atendimento para utilizadores
última geração para desenvolvedores profissionais corporativos
Objetivo principal Velocidade de Desenvolvimento Facilidade de Uso
Quantidade de codificação Baixa, mas presente Nenhuma codificação necessária
Personalização Most of customization are available Os modelos pré-criados só podem ser personalizados

Desenvolvimento de ponta a All platforms provide end-to-end development Algumas plataformas oferecem apenas recursos limitados
ponta
Complexidade do aplicativo Can create complex apps Pode criar aplicativos simples
Custo-benefício Cost-effective for companies with an existing team of developers Custo-benefício para empresas com uma equipe de TI
atrasada e altos requisitos

Platform Lock-in Livre para se mover entre plataformas Às vezes, trancado na mesma plataforma

Anotações da aula de Programação Low Code e


8/1/2023 17
Automação RPA
Gartner magic quadrant e o Forrester
Wave for low-code

Anotações da aula de Programação Low Code e


8/1/2023 18
Automação RPA
Potenciais benefícios do low code
• Plataformas low-code podem acelerar significativamente o desenvolvimento de software.
Levando a um ROI mais rápido e maior produtividade.
• Plataformas low-code podem ser auto-documentadas. Elas fornecem uma representação
gráfica dos processos que estão executando. Isso pode reduzir substancialmente a
necessidade de documentação externa.
• Código baixo reduz os testes. Modelos e componentes são pré-testados e utilizados por
muitas empresas, em diversos cenários.
• As ferramentas incluem modeladores visuais, módulos pré-construídos e modelos
normalmente suportados por ambientes de arrastar e soltar.
• Entrega de aplicativos com um clique. Simplificado e acelerada implantação.
• Suporte para vários idiomas de terceira geração para personalização além dos recursos
existentes de uma plataforma.
• Capacidade para desenvolvedores cidadãos criarem aplicativos (simples) sem codificação.
Mas atenção: low-code nem sempre significa "adequado para usuários não técnicos".
• Controles de governança integrados para TI para proteger os dados, os processos e a
integridade operacional de uma organização.
• Um alto nível de independência de plataforma em aplicativos móveis, web e desktop.

Anotações da aula de Programação Low Code e


8/1/2023 19
Automação RPA
Possíveis desvantagens
• O Vendor Lock-in pode apresentar problemas significativos, dependendo da sua situação. A
portabilidade entre plataformas pode ser difícil ou impossível sem uma reescrita completa.
• Os modelos de preço podem ser complexos e opacos. Nenhum dos fornecedores da
Forrester Wave obteve pontuação alta nesse quesito.
• Componentes visuais e lógica orientada por modelos trocam facilidade de uso e velocidade
de desenvolvimento. Actualmente, isso pode ser menos flexível do que as plataformas
baseadas em código, embora a lacuna esteja se fechando à medida que as plataformas
low-code evoluem.
• O conhecimento técnico ainda é exigido até certo ponto. O caminho pode ser mais fácil,
mas quando as coisas dão errado, consertá-las muitas vezes requer um programador
experiente.
• Desenvolvedores profissionais podem ser mais difíceis de encontrar para trabalhar em
plataformas low-code – muitas vezes preferindo usar conjuntos de ferramentas diferentes.
• É provável que a seleção de plataformas seja mais crítica do que com plataformas de alto
código. Considere suas necessidades cuidadosamente e espere que a plataforma
escolhida atenda às suas necessidades futuras. Isso é especialmente importante devido ao
bloqueio do fornecedor.
• O low-code pode promover a TI paralela sem governança e suporte eficazes de sua equipe
de TI. No entanto, os riscos podem ser reduzidos e geridos se forem consolidados em uma
única plataforma.

Anotações da aula de Programação Low Code e


8/1/2023 20
Automação RPA
Leituras para discussão
• Mandatorias
– Gartner Magic Quadrant for Enterprise Low-Code Application
Platforms
– Forrester Wave for low-code
– Low-Code Platform
– Characteristics and Challenges of Low-Code Development: The
Practitioners’ Perspective
• Opcionais
– An Empirical Study of Developer Discussions on Low-Code
Software Development Challenges
– The Importance of Citizen Development for Digital Transformation

Anotações da aula de Programação Low Code e


8/1/2023 21
Automação RPA
FIM!!!

Duvidas e Questões?

Você também pode gostar