Composable applications: o que são e por que você precisa delas

Composable applications são o futuro da agilidade nas empresas. Saiba aqui o que são e por que são essenciais para desenvolvedores e negócios de sucesso.

Ricardo Moreira - Technical Manager
Vivian Seixas - Technical Researcher
Composable applications: o que são e por que você precisa delas

Um estudo do Gartner aponta que as organizações que adotarem a abordagem composable até 2023 superarão a concorrência em 80% na velocidade de implementação de novos recursos.1

Mas você sabe por que a abordagem composable traz mais resultados e agilidade? Uma das respostas é porque tem como uma de suas peças-chave as composable applications.

Imagem com a representação de composable application

O que são composable applications?

Composable applications (ou aplicações combináveis) são uma das principais tendências tecnológicas para a aceleração digital na economia hiperconectada em que vivemos, tão dependente de softwares e sem profissionais de tecnologia o suficiente para acompanhar o crescimento da demanda do mercado.

As composable applications, além de serem parte de uma estratégia de negócios, também desempenham um papel prático muito importante para desenvolvedores:

Elas permitem reutilizar soluções ou códigos já existentes, ou seja, não é preciso desenvolver do zero.

Essas aplicações combináveis são construídas com blocos modulares reutilizáveis. Lembra quando você brincava de Lego e podia usar as peças para montar, desmontar e criar o que quisesse com elas? De maneira bem simplificada, composable applications também partem do mesmo princípio.

Como elas podem ser criadas com a reutilização de pedaços de códigos ou soluções já existentes, como se fossem módulos, é possível construir novas aplicações unindo peças menores em vez de criá-las, resultando em muito mais agilidade, inovação e adaptabilidade para as operações dos negócios.

Um exemplo prático disso seria um processo em que você consegue reusar funções de bibliotecas existentes como componentes para construir suas aplicações.

As composable applications proporcionam uma integração mais fácil de aplicações e sistemas, permitindo que informações e dados sejam compartilhados e acessados de maneira mais eficiente. Isso, consequentemente, aumenta a produtividade dos times e a agilidade nas tomadas de decisão.

As composable applications permitem isso por meio da montagem e da combinação do que o Gartner chama de Packaged Business Capabilities (PBCs), building blocks (blocos modulares) de aplicações que já foram adotadas ou desenvolvidas.2

Simplificando, building blocks são unidades funcionais, componentes que possuem funções específicas que, ao serem unidos, formam aplicações complexas e compostas.

Como os building blocks funcionam?

O conceito de composable applications se baseia na possibilidade de se quebrar uma aplicação em building blocks para serem reutilizados, então eles nada mais são do que aplicações que atuam independentemente ou podem ser vinculadas a outras.

Então vamos ver um exemplo de como os building blocks podem funcionar. Na imagem a seguir temos um conjunto de building blocks atuando de formas variadas e com funções específicas: como aplicações autônomas ou, ao serem unidas e conectadas, como aplicações combináveis e complexas.

Imagem com um building block de composable application

  1. Aplicações autônomas: cada aplicação encapsula recursos de negócios específicos (os PCBs), como gerenciamento de contratos, de clientes, de projetos e de dados relacionados.​​​​​​
  2. Aplicações combináveis simples: aplicações compostas pelas interações entre várias aplicações autônomas para alcançar a funcionalidade de negócios.
  3. Aplicações complexas: aplicações compostas que reúnem funcionalidades de várias aplicações simples e autônomas.

Como as composable applications são compostas por peças reutilizáveis, se você as dividisse em partes, você teria algo parecido com isso:

Imagem com exemplo de building blocks de composable applications

No exemplo acima, temos uma composable application formada por três aplicações autônomas e conectadas: uma para listar contatos, outra para listar clientes e a última para listar ordens de serviço. Cada uma utiliza um método distinto para busca de dados, porém o componente de front-end utilizado para montar a exibição da página é o mesmo, adaptando-se ao conteúdo entregue pelas APIs.

Cada uma dessas aplicações são independentes e podem ser executadas por conta própria ou vinculadas a outras, mas a parte mais legal é justamente o poder que a plataforma de desenvolvimento pode te dar para desenvolvê-las e permitir que elas possam ser reusadas como building blocks para criar aplicações poderosas e de uma maneira mais simples — uma plataforma de edge computing como a da Azion, por exemplo.

Mais um detalhe fundamental: todas essas peças, além de estarem unidas, transmitem dados entre si para que pareçam uma única aplicação, e esse é um importante conceito por trás de composable applications.

E diferentemente de aplicações monolíticas, que focam em um número específico de resultados e padrões de uso, as composable applications viabilizam um amplo número de casos de uso e resultados.

Quais são os benefícios das composable applications?

Algumas das vantagens de adotar composable applications em uma organização são:

1. Possibilitam Business Agility

Composable applications permitem construir, configurar e fazer deploys mais rápidos, acelerando o time-to-market e o time-to-value ao criar ecossistemas digitais e fazer integrações.

2. Possibilitam Citizen Development

Composable applications são uma maneira de superar a escassez de desenvolvedores pois possibilitam o uso de ferramentas no-code/low-code, que permitem que até mesmo funcionários sem formação técnica criem softwares sem escrever código.

3. Melhoram a Experiência do Desenvolvedor

Com composable applications, os desenvolvedores podem focar na criação de uma experiência de usuário perfeita enquanto a empresa gerencia o acesso ao conteúdo certo no contexto certo para o cliente certo. Qualquer sistema, independentemente de ser ou não escalável, pode ser incluído, pois as composable applications ​​oferecem aos desenvolvedores a liberdade de configurarem as APIs necessárias para suas aplicações.

De onde veio a necessidade de composable applications?

A necessidade veio de uma sucessão de eventos — como a pandemia da Covid-19, mudanças extremamente rápidas e a economia hiperconectada — que escancarou como tudo está intimamente ligado e como situações que acontecem do outro lado do mundo nos atingem quase instantaneamente.

Isso obviamente afetou as operações dos negócios. Hoje, empresas que querem estar preparadas para a pegada digital-first, de total transformação digital, precisam oferecer inovação e reagirem rapidamente para responder à aceleração e adequar-se às mudanças e exigências do mercado.

No mundo em que tudo precisa ser digital e tudo precisa de software, as composable applications, aplicações reconfiguráveis ​​e extensíveis, aparecem então como uma peça fundamental da engrenagem da digitalização, já que as aplicações monolíticas tradicionais são complexas, difíceis de manter e atualizar, e geralmente exigem muito tempo e esforço para serem desenvolvidas e mantidas. Além disso, elas são geralmente menos escaláveis e flexíveis, o que pode tornar difícil a adaptação a mudanças no ambiente de negócios.

Nesse cenário, muitas empresas buscam implementar o que o Gartner denomina composable enterprise, uma organização que entrega resultados adaptando os requisitos de negócio ao ritmo das mudanças do mercado.3

E isso faz parte do modelo de negócios composable business4, que permite que empresas tradicionais modernizem seu roadmap de TI e mantenham as operações por meio de soluções que orquestrem o ecossistema de aplicações de maneira totalmente integrada, com segurança e sem perder time-to-market.

Caso de uso de composable application

Geralmente, a segurança é um dos maiores motivos de preocupação em muitas organizações, então vamos ver um exemplo prático de aplicação combinável de uma solução de segurança na plataforma de edge da Azion.

Essa composable application é uma aplicação de autenticação de usuários que é representada por uma Edge Function na Azion, que verifica que o usuário é um usuário válido utilizando JWT Tokens e autorizada para seguir o fluxo. Essa function pode ser combinada com uma outra Edge Function que implementa uma outra aplicação combinável.

Abaixo temos o código de uma Edge Function endpoint de API que recebe um POST com os dados de login de um usuário e, com isso, acessa um banco de dados, verifica se o cliente existe e, caso positivo, retorna um token de sessão de usuário.

async function handleRequest(event) {
 let form;
	let responseBody;
	let statusCode = 200;

	try {
		form = await event.request.json();
	} catch (err) {
		responseBody = JSON.stringify({
			"errorCode": "form001"
		});

		statusCode = 400;
	}

	if (!form || !form.login || !form.password) {
		responseBody = JSON.stringify({
			"errorCode": "setOwnIDData002"
		});

		statusCode = 400;
	}

	if (!responseBody) {
		try {
			let loginData = await fetch("https://your.db.service", {
				body: JSON.stringify(form),
				headers: {
					accept: "application/json",
					authorization: `Bearer ${event.args.fauna_token}`,
					"content-type": "application/json",
				},
				method: "POST"
			});

			if (login_data) {
				responseBody = generateJWT(loginData);
				statusCode = 200;
			} else {
				responseBody = JSON.stringify({
					"errorCode": "userNotFound"
				});

				statusCode = 400;
			}
		} catch (err) {
			responseBody = JSON.stringify({
				"errorCode": "login001"
			});

			statusCode = 400;
		}
	}

	return new Response(responseBody, {
		headers: {
			"content-type": "application/json"
		},
		status: statusCode
	});
}

addEventListener("fetch", event => {
	return event.respondWith(handleRequest(event));
});

Composable applications mais poderosas no edge

A Azion trabalha continuamente para oferecer ferramentas que facilitem e acelerem o trabalho dos desenvolvedores, por isso nossa plataforma de edge foi desenvolvida para possibilitar a construção ou o reuso de aplicações de maneira simples e prática, sem vendor lock-in.

Além disso, o edge possibilita novas maneiras para desenvolvedores criarem aplicações mais personalizadas, eficientes e escaláveis, além de acelerar oportunidades de negócios. Com a Azion, você foca no que precisa e nós cuidamos de todo o resto.

Você pode criar ou reusar composable applications tanto a partir de bibliotecas gratuitas existentes em nosso Marketplace, como a partir de aplicações ou bibliotecas de terceiros, utilizando-as em uma aplicação nova ou já existente em nossa plataforma. Veja alguns exemplos aqui na nossa documentação.

Se você ainda não usa nossa plataforma, você pode experimentar agora. É grátis!

Crie uma conta agora mesmo e receba 300 dólares em créditos de serviço para começar a construir e reutilizar aplicações na plataforma da Azion.

Inscreva-se na nossa Newsletter