Artigos Rem soft Sistemas

Arquitetura de Software

 
A arquitetura de software é um assunto largamente discutido nos dias de hoje, principalmente pelo fato de o mesmo ser uma das principais causas de insucesso nos projetos de software (mais especificamente sendo considerada como a segunda maior causa de insucesso, logo depois da definição de requisitos). Logo, uma arquitetura consistente e bem definida se torna fundamental para que o projeto seja implementado eficientemente.
 
 
Arquitetura de software nada mais é que a definição de uma representação abstrata de comportamentos e componentes do sistema. Se um programador disser, por exemplo, que para implementar uma determinada funcionalidade ele precisará criar uma interface gráfica com uma extensão X que envia requisições através de um protocolo Y para um determinado componente ou recurso W que acessa o componente de integração ao banco de dados Z, ele estará descrevendo a arquitetura utilizada por seu sistema. Repare que isto tem muito a ver com o estilo de desenvolvimento utilizado.
 
 
Existem algumas classificações de arquitetura, como por exemplo as que irei detalhar aqui, a arquitetura de referência e a arquitetura de distribuição.
 
 
Arquitetura de Referência: é um tipo de arquitetura que possui uma terminologia unificada, com a definição consistente de padrões de componentes e seus respectivos papéis/responsabilidades. Possui como principais características o fornecimento de flexibilidade e contém um conjunto consistente das melhores práticas de mercado muitas vezes provenientes da consolidação de funcionalidades amplamente utilizadas para resolver um determinado problema em um contexto específico.
Exemplos desta arquitetura: JEE, SOA e JME.
 
 
Arquitetura de Distribuição: é mais relacionada com topologia de servidores e componentização, porém não significa necessariamente que a aplicação necessite estar separada fisicamente, mas ela deve permitir que isso aconteça caso essa separação seja necessária um dia. Por exemplo, se uma aplicação roda hoje em um único servidor no qual estão instalados o contâiner web e um servidor de e-mails ao qual esta aplicação web acessa, nada impedirá de um dia separarmos estes dois recursos em dois servidores físicos e um continue acessando o outro normalmente.
 
 
Uma arquitetura pode ser representada também por um mapa de camadas, como temos, por exemplo, representado pelo tão utilizado MVC. Uma outra boa representação, ainda mais detalhada, pode ser representado pelas seguintes 5 camadas:
 
 
CLIENTE | APRESENTAÇÃO | NEGÓCIOS | INTEGRAÇÃO | RECURSOS
 
O cliente pode ser representado por uma Applet ou uma página HTML, ou seja, é o que é gerado para a exibição ao usuário final.
 
 
A apresentação seria o processo de geração da página do cliente e a nossa camada de controle (ou o controller do MVC), o qual interage com a camada de visão.
 
 
A camada de negócios representa toda a implementação efetiva do negócio ao qual o sistema deve atender (as regras do sistema) e a estrutura de representação das entidades no qual o sistema manipula.
 
 
A camada de integração é onde estão os componentes que acessam os recursos externos à aplicação, como por exemplo, uma API JDBC para acesso a banco de dados.
 
 
E finalmente, a camada de recursos pode representar, por exemplo, arquivos XML, bases de dados, sistemas mainframe, servidores de e-mail, enfim, tudo o que representa interações externas ao qual o sistema depende para executar uma determinada funcionalidade.
 
 
Bom, é isto pessoal, espero ter desmistificado alguns conceitos básicos sobre a Arquitetura de Software. O próximo tema abordado tratará a respeito das capacidades de uma arquitetura.
 
  • Rem Soft Sistemas

    REM SOFT é uma abreviação de REMOTE SOFTWARE, pois somos especialistas em prover soluções digitais com larga experiência no trabalho remoto. Pensamos sempre “fora da caixa” quando se trata de inovação. Nossa equipe é apaixonada por tecnologia e atendimento diferenciado aos clientes. Nossas equipes são organizadas em Squads multidisciplinares e temos o HOME OFFICE no nosso DNA.

Escrito por:

Está gostando do conteúdo? Compartilhe!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos Recentes

Usando a Metodologia SCRUM em seus projetos

O que é Scrum? Scrum é uma metodologia ágil para gerenciamento de projetos, especialmente útil no desenvolvimento de software. Baseia-se em um conjunto de valores, princípios e práticas que promovem a colaboração, a comunicação e a flexibilidade. Qual o propósito do Scrum? Scrum serve para melhorar a gestão de projetos,

Leia Mais »

Integração de Sistemas: ecossistema digital unificado e eficiente

No mundo frenético dos negócios modernos, as empresas enfrentam o desafio constante de se adaptar e prosperar em um ambiente em rápida mudança. A integração de sistemas surge como um aliado poderoso nessa jornada, conectando softwares e aplicativos díspares para criar um ecossistema digital unificado e eficiente. O que é

Leia Mais »

Desvendando o DeFi: Vantagens, Desvantagens e Casos de Uso no Dia a Dia

As Finanças Descentralizadas, ou DeFi, representam um novo paradigma no mundo financeiro. Baseado na tecnologia blockchain, o DeFi permite a criação de serviços financeiros que não dependem de intermediários tradicionais, como bancos e corretoras. Em vez disso, esses serviços operam em plataformas descentralizadas, oferecendo maior transparência, acessibilidade e segurança. Como

Leia Mais »

Edge Computing

Edge computing é um paradigma de computação distribuída que visa processar dados e executar aplicativos mais próximos da fonte de dados ou da borda da rede. Esta proximidade com a fonte de dados pode oferecer as seguintes vantagens comerciais; tempo mais rápido para obter insights, tempos de resposta mais curtos

Leia Mais »

Desafios na Integração de Sistemas Hospitalares: Como Superá-los

A integração de sistemas hospitalares é um processo crucial para garantir a eficiência e a qualidade dos serviços de saúde. No entanto, este processo pode ser complexo e repleto de desafios. Neste post, vamos explorar os principais obstáculos encontrados na integração de ERPs hospitalares com plataformas de compras online e

Leia Mais »

Sobre o Autor

Mais sobre tecnologia

Gostou do Artigo?

Recebemos sua Assinatura com Sucesso!

Obrigado por assinar nossa newsletter!

Enviamos um e-mail para você confirmar sua assinatura, assim que confirmar passará a receber novidades em tecnologia da Rem Soft Sistemas.

Lembre-se sempre se caso não receber nosso e-mail na caixa de entrada,
Observe sua caixa de spam em seu e-mail.