📖
C&D.tech - Docs
  • 🇧🇷PORTUGUÊS - BRA
    • Apresentação
    • Engenharia de Dados
      • Conceitos
        • Conceituando dados
        • O que é Engenharia de Dados
        • Profissionais de Dados
      • Fundamentos de Engenharia de Dados
        • Arquitetura de Dados
          • O que é arquitetura
          • Tipos de Arquiteturas
            • Arquitetura Transacional
            • Arquitetura Analítica
              • Data Warehouse e Data Mart
              • Data Lake e Lakehouse
        • Formato de Dados
        • Formato de Arquivos
    • Índices e Referências
      • Referências
        • 📗Livros
        • 📑Artigos
        • 📹Vídeos
        • 👨‍💻Cursos
        • 👨‍🏫Profissionais
        • 📃Outros Materiais
      • Índices
        • 🗂️Figuras e Imagens
        • 📇Siglas Utilizadas
    • Contato
Fornecido por GitBook
Nesta página
  • O que é sistema transacional?
  • Sistemas de Processamento de Transações (SPT)
  • Sistemas de Informações Gerenciais (SIG)
  • Sistemas de Informações Estratégicas
  • Quais arquiteturas mais comuns em sistemas transacionais
  • Arquitetura Monolítica
  • Arquitetura de Cliente-Servidor
  • Arquitetura MVC (Modelo, Visualização e Controle)
  • Arquitetura em Camadas
  • Arquitetura Orientada a Serviços (SOA)
  • Arquitetura de Microsserviços
  • Modelo de Arquitetura de Microsserviços
  • Arquitetura Portas e Adaptadores (Hexagonal)
  • Referências
  • Siglas

Isto foi útil?

Editar no GitHub
  1. PORTUGUÊS - BRA
  2. Engenharia de Dados
  3. Fundamentos de Engenharia de Dados
  4. Arquitetura de Dados
  5. Tipos de Arquiteturas

Arquitetura Transacional

Nesta página é destinada a compreensão do conceito de arquitetura transacional

Atualizado há 7 meses

Isto foi útil?

Escrito por

O que é sistema transacional?

Antes de conceituar o que significa um sistema transacional, é necessário entender o contexto sobre os tipos de sistemas existentes e suas funções. Para isso, precisamos adentrar na teoria de sistemas da informação.

Os sistemas de informação são classificados quanto à sua funcionalidade e objetivo, atendendo à demanda dos tomadores de decisões. Eles se dividem em três tipos:

Sistemas de Processamento de Transações (SPT)

Sua funcionalidade é registrar os dados básicos referentes às transações (atividades e rotinas) da empresa. Seu objetivo é garantir que os dados sejam coletados e armazenados de forma íntegra e que haja desempenho para lidar com múltiplos acessos e transações, como inserções, exclusões e atualizações.

Sistemas de Informações Gerenciais (SIG)

Sua funcionalidade é processar e distribuir informações gerenciais derivadas dos dados das operações da empresa. Seu objetivo é fornecer suporte à tomada de decisões, melhorando a eficiência e a eficácia organizacional por meio da disponibilização de informações precisas e relevantes.

Sistemas de Informações Estratégicas

Sua funcionalidade é dar suporte às decisões da empresa quanto à produtividade e excelência operacional, financeira e econômica. Esse sistema se divide em dois subtipos:

  • Sistemas de Apoio à Decisão (SAD): Seu objetivo é auxiliar os tomadores de decisões com informações, como modelagem de problemas, simulações e construção de cenários.

  • Sistemas de Apoio ao Executivo (SAE): Seu objetivo é fornecer informações detalhadas dos negócios por meio de indicadores de desempenho.

Vejamos a figura abaixo para compreender melhor a aplicação desses sistemas e suas funções.

Tipos de Sistemas de Informação

Lembram da pirâmide DIKW? Aqui ela é aplicada juntamente com o conceito de teoria de sistemas. Um ponto a se frisar é que o sistema transacional é a “porta de entrada” e, posteriormente, com a aplicação de técnicas e tratamentos adequados, torna-se informação relevante para os tomadores de decisões.

Quando usamos o termo "tomadores de decisões", não nos referimos apenas ao executivo, mas a qualquer pessoa que precise tomar uma decisão: assistente, gerente, supervisor, analista, etc.

Desta forma, conceituamos as arquiteturas transacionais como aquelas construídas para softwares que realizam as operações da empresa. Existem diversos modelos de arquiteturas transacionais, e é comum um sistema de transações ser composto por mais de um modelo.

Quais arquiteturas mais comuns em sistemas transacionais

Arquitetura Monolítica

Como o próprio nome sugere, é mono = um. Neste modelo, há um forte acoplamento, ou seja, todas as camadas estão em um único servidor: banco de dados, aplicação (lógica de negócios) e front-end. Foi um dos primeiros modelos de arquitetura e ainda é utilizado até hoje. Como tem um forte acoplamento, qualquer mudança de tecnologia ou regra pode gerar confusão.

Modelo de Arquitetura Monolítica

Arquitetura de Cliente-Servidor

Esta arquitetura é muito comum para sistemas transacionais e é utilizada por grandes sistemas ERP como TOTVS e SAP. Seu princípio se baseia em um servidor onde fica a aplicação, e os demais se conectam a esse servidor. Neste modelo, o cliente não compartilha nenhum de seus recursos com o servidor, mas solicita alguma função dele, sendo o cliente responsável por iniciar a comunicação.

Modelo de Arquitetura Cliente-Servidor

Arquitetura MVC (Modelo, Visualização e Controle)

Neste modelo, há uma separação de camadas de aplicação denominadas de modelo, visões e controle. Essa é uma vantagem em relação ao modelo monolítico, que concentrava tudo em um único lugar. Este modelo surgiu com as primeiras linguagens de programação orientadas a objetos (POO). Seu princípio é separar a camada do usuário, aplicação e persistência de dados. A visualização (view) representa a interface gráfica para o usuário; o controle (controller) é a camada intermediária que trata e interpreta eventos e requisita dados à camada modelo; o modelo (model) contém as classes e regras que dão acesso ao banco de dados

Modelo de Arquitetura MVC

Arquitetura em Camadas

Neste modelo arquitetural, a aplicação é construída em camadas, cada uma com suas responsabilidades, atuando de forma modular. Há um baixo acoplamento na aplicação. É comum o uso de três camadas, mas não há limite, embora mais camadas aumentem a complexidade. Um exemplo apresentada pelo Código Fonte TV para o modelo é:

  • Controller: Gerencia as requisições e respostas no fluxo da aplicação.

  • Service: Mantém as regras de negócio da aplicação.

  • Repository: Manipula as operações com o banco de dados.

  • Entity: Abstrai a tabela do banco na aplicação.

Modelo de Arquitetura em Camadas

Arquitetura Orientada a Serviços (SOA)

Neste modelo, o software é "quebrado" em componentes menores, conhecidos como serviços, que podem ser desenvolvidos, implantados e mantidos de forma independente. Cada serviço executa uma função específica e pode se comunicar com outros serviços conforme necessário. Uma grande vantagem dessa arquitetura é a flexibilidade na escolha das tecnologias, permitindo, por exemplo, que um serviço seja desenvolvido em Python e outro em Java.

Além disso, a SOA facilita a reutilização de serviços existentes e a integração com sistemas legados, promovendo uma maior agilidade e escalabilidade no desenvolvimento de aplicações complexas.

Modelo de Arquitetura SOA

Essa arquitetura é parecida com a de Microsserviços, no entanto, utiliza-se um único banco, ou caso se utilize mais de um banco, este é compartilhado com todos os serviços.

Arquitetura de Microsserviços

Esta arquitetura é uma evolução da SOA, onde a aplicação é dividida em pequenos serviços, cada um com seu próprio banco de dados e regras de negócio. Esses serviços são independentes e comunicam-se entre si através de APIs. A principal diferença em relação à SOA é o alto grau de descentralização e independência dos serviços.

Cada microsserviço pode ser desenvolvido, implantado e escalado de forma autônoma, o que permite uma maior flexibilidade e rapidez na implementação de mudanças. Para coordenar a comunicação entre os microsserviços e gerenciar autenticação e autorização, é utilizado um API Gateway, que centraliza as requisições e garante a segurança e integridade das interações entre os serviços.

Modelo de Arquitetura de Microsserviços

Arquitetura Portas e Adaptadores (Hexagonal)

Proposta por Alistair Cockburn, a Arquitetura Hexagonal, também conhecida como Arquitetura de Portas e Adaptadores, visa desacoplar totalmente a lógica de negócio das tecnologias externas, como interfaces de usuário, bancos de dados e APIs externas.

Nesse modelo, a aplicação é estruturada em torno do domínio de negócio, que é isolado e protegido por portas (interfaces) e adaptadores (implementações). Cada porta define um contrato que pode ser implementado por um adaptador específico. Esse desacoplamento facilita a manutenção e evolução do software, permitindo que mudanças nas tecnologias externas não afetem a lógica de negócio. Além disso, promove testes mais fáceis e eficientes, uma vez que cada componente pode ser testado de forma isolada.

Modelo de Arquitetura Hexagonal


Referências

Siglas

API - Application Program Interface

DIKW - Data, Information, Knowledge, Wisdom

ERP - Enterprise Resource Planning

MVC - Model, View e Controler

POO - Programação Orientada a Objetos

SAD - Sistema de Apoio à Decisão

SAE - Sistema de Apoio ao Executivo

SIG - Sistema de Informações Gerenciais

SOA - Service-Oriented Architecture

SPT - Sistemas de Processamento de Transações

Figura 13 - Tipos de Sistemas de Informação (Fonte: )
Figura 14 - Exemplo de Monolítico (Fonte: )
Figura 15 - Arquitetura Cliente-Servidor (Fonte: )
Figura 16 - Arquitetura MVC (Fonte: Adaptado de )
Figura 17 - Arquitetura em Camadas (Fonte: )
Figura 18 - Modelo de Arquitetura SOA (Fonte: )
Figura 19 - Arquitetura de Microsserviços (Fonte: )
Figura 20 - Modelo de Arquitetura Hexagonal (Fonte: )

🇧🇷
Matheus Sampaio
Sistemas de informações gerenciais na atualidade. Marco Antonio Masoller Eleuterio. Editora‏‎ InterSaberes.
Instituto Consuplan. Concurso TJM-MG, 2021.
Arquitetura de Software | Marcos Dósea
Service-Oriented Architecture (SOA) | University of Applied Science
What are Microservices | Middleware
The Quick Introduction to Microservices Architecture | MasterDC
What's Hexagonal Architecture | Luis Soares - Medium
Aplicação Monolítica // Dicionário do Programador
MVC // Dicionário do Programador
Arquitetura de Software // Dicionário do Programador
Arquitetura Hexagonal (Explicação de Ports & Adapters) // Dicionário do Programador
Sistemas de informações gerenciais de Marco Antonio Masoller
MasterDC
Instituto Consulplan
Código Fonte TV
Código Fonte TV
University of Applied Science
Middleware
Luis Soares - Medium