Entendendo a arquitetura do sistema SAP

Entendendo a arquitetura do sistema SAP
Por André Nadjarian
0 Comentário

Os softwares SAP fornecem instrumentos poderosos para ajudar as empresas a gerenciar suas finanças, logística, recursos humanos e outras áreas de negócios. A espinha dorsal da oferta de software da SAP é o sistema ERP (Enterprise Resource Planning).

É uma boa ideia começar a responder à pergunta “como o SAP funciona?” com uma discussão sobre quais são os componentes de um sistema SAP ERP, como eles estão relacionados entre si e quais são seus objetivos. Devemos mencionar que o SAP ERP não é o único componente de software do SAP. Existem outros componentes de aplicativos de negócios, como Business Intelligence (BI), Supply Chain Management (SCM) e Customer Relationship Management (CRM). 

No entanto, neste artigo, focaremos no SAP ERP, porque é o componente principal e fornece recursos para integrar dados de negócios de outros componentes de aplicativos. O sistema é geralmente estruturado em uma arquitetura de cliente/servidor de três camadas. 

A arquitetura de três camadas é a recomendada, pois permite alta escalabilidade e flexibilidade, mas o SAP também pode ser implementado em arquiteturas de duas e uma camada. Na de três, a camada de apresentação fornece a interface para o usuário, a camada de aplicativo processa a lógica de negócios e a camada de banco de dados armazena os dados de negócios.

A camada de apresentação

A camada de apresentação geralmente está localizada nos PCs dos usuários corporativos e fornece o SAP Graphical Interface (SAP GUI). O SAP GUI é um aplicativo leve que pode ser instalado em qualquer computador com Windows ou Mac e fornece a interface para comunicação entre o usuário e o sistema SAP ERP.

A camada de aplicativo

A camada do aplicativo é basicamente o coração do sistema SAP ERP. Ele executa a lógica comercial, responsável pelo processamento de transações do cliente, trabalhos de impressão, execução de relatórios, coordenação do acesso ao banco de dados e interface com outros aplicativos. É possível distribuir a lógica do aplicativo entre várias máquinas servidores em situações em que a carga excede o poder de processamento de um único servidor.

A camada de banco de dados do SAP

O banco de dados é usado para armazenar dois tipos de objetos: os dados gerados pelos negócios e os programas de aplicativos SAP. Os dados gerados pelos negócios representam objetos de dados criados pelos usuários como parte de vários processos de negócios. Por exemplo, pedidos de vendas ou registros de clientes são classificados como dados gerados pela empresa. Os programas de aplicativos SAP são rotinas escritas em ABAP (linguagem de programação especial usada no SAP) carregadas nos servidores de aplicativos SAP a partir do banco de dados em tempo de execução.

É possível usar bancos de dados de diferentes fornecedores (por exemplo, Oracle ou Microsoft) e cabe à empresa decidir qual fornecedor de banco de dados escolher. Geralmente, a licença do banco de dados é incluída no preço do SAP. A camada do banco de dados possui os mais altos requisitos de disponibilidade, confiabilidade e desempenho, porque geralmente cada sistema SAP é implementado em uma instância de banco de dados. Portanto, o desempenho da camada do banco de dados determina a escalabilidade de toda a instalação do SAP ERP.

Implantação do SAP com uma ou duas camadas

Há situações em que três camadas podem ser reduzidas a duas ou uma. A possibilidade dessas situações depende do poder de processamento disponível e do número de usuários de negócios. Por exemplo, é possível instalar todas as três camadas SAP em um único computador para fins de demonstração. Por outro lado, grandes instalações produtivas do SAP requerem vários servidores poderosos para cada uma das camadas, a fim de garantir o bom desempenho do sistema SAP.

Como funciona o SAP?

Acima dessas camadas, a arquitetura SAP pode ser ainda mais segmentada em vários módulos de aplicativos. Cada módulo contém os programas aplicativos SAP e dados de negócios relacionados a uma área de negócios específica, como contabilidade financeira (FI) ou gerenciamento de materiais (MM).

Embora os módulos de aplicativos da SAP abranjam processos de negócios e áreas de completamente diferentes, tecnicamente eles funcionam de maneira semelhante. A diferença está apenas nos programas ABAP e nas tabelas de dados que são usadas em cada um desses módulos do SAP. Por esse motivo, nosso artigo não se concentrará em nenhum módulo SAP específico, mas explicará como o SAP trabalha com a arquitetura de três camadas em geral.

Como foi explicado acima, o coração (ou kernel) do sistema SAP está na camada de aplicativos (servidor de aplicativos). O servidor de aplicativos obtém entrada e exibe a saída na camada de apresentação (SAP GUI). Além disso, ele armazena dados na camada do banco de dados.

O kernel do sistema SAP é uma coleção de programas executáveis ​​e ferramentas auxiliares para o processamento da lógica de negócios. Todos os processos do kernel iniciados ou parados são chamados de instância do SAP. O sistema SAP ERP normalmente contém várias instâncias, de forma que cada uma esteja sendo executada em um computador servidor dedicado.

Cada instância do SAP contém um expedidor e vários processos de trabalho. O expedidor distribui tarefas para um dos processos de trabalho. O sistema SAP possui diferentes tipos de processos de trabalho que foram criados para várias tarefas. Aqui está a lista de seus tipos:

  • Processos de trabalho de diálogo responsáveis ​​pelo tratamento de solicitações transacionais online dos usuários;
  • Processos de trabalho em lote responsáveis ​​pelo processamento de trabalhos em segundo plano agendados no sistema SAP;
  • Atualize os processos de trabalho responsáveis ​​pela realização de atualizações no banco de dados. Essas atualizações podem ocorrer de forma assíncrona nos processos em lote e de diálogo;
  • Processar processos de trabalho responsáveis ​​por ativar a impressão no sistema SAP;
  • Processos de trabalho de gateway responsáveis ​​por permitir a comunicação entre aplicativos. Apenas um processo de trabalho do gateway é necessário para um sistema SAP.

Como dissemos acima, o sistema SAP ERP pode conter várias instâncias de aplicativos SAP, mas entre essas instâncias deve haver uma instância especial chamada instância central (IC). A instância central possui dois componentes adicionais chamados processo de mensagem (M) e servidor de enfileiramento (E).

O processo de mensagem (M) da instância central é usado para estabelecer a comunicação entre várias instâncias de aplicativos incluídas no sistema SAP. Por exemplo, quando um usuário efetua login no sistema SAP, ele é automaticamente atribuído pelo processo de mensagens a uma das instâncias de aplicativos disponíveis. Em seguida, todas as solicitações transacionais relacionadas a esse usuário serão roteadas novamente pelo processo de mensagens para a instância de aplicativo escolhida.

O servidor de enfileiramento (E) da instância central é usado para gerenciar bloqueios nas tabelas do banco de dados. Esses bloqueios garantem que as atualizações do banco de dados sejam executadas em uma sequência adequada e garantam a consistência dos dados comerciais.