sábado, 14 de abril de 2018

OutSystems - Arquitetura básica

  Quando pensamos em arquitetura de um sistema, devemos primeiro entender o contexto onde a solução será aplicada. Dependendo do porte, da expectativa de vida da aplicação, nível de manutenção, podemos tomar uma decisão de criar um sistema totalmente escalável, ou algo mais simples que resolva o problema e que será logo descontinuado (porém cuidado com os provisórios que tornam-se permanentes).

  Um sistema pode ser arquitetado de várias maneiras. Mas a mais tradicional é o modelo Model, View, Controller (MVC). Nele os componentes do sistema são distribuídos em módulos ou packages que agrupam funções ou classes de acordo com sua finalidade.
Na camada Model ficam os objetos que gerenciam a comunicação com o banco de dados (as DAOs por exemplo ou os métodos de conexão com o banco).
Na camada Controlller ficam as estruturas ou classes do sistema, e a regra de negócio. Nessa camada são realizadas todas as rotinas relativas a controle das regras de negócio, como por exemplo validações de integridade de dados e etc., de maneira independente do banco de dados usado e da interface gráfica que está requisitando essas ações.
Na camada View fica a interface gráfica, que é onde o usuário vai interagir com o sistema. Pode ser que um sistema tenha várias interfaces de entrada: mobile, web, um client desktop.

  Além de criarmos uma aplicação no modelo MVC, podemos também utilizar outros tipos de arquitetura em conjunto.
 
  Uma arquitetura Service-Oriented Architecture (SOA) é composta por vários (micro)serviços que executam rotinas muitas vezes independentes. Esse tipo de arquitetura favorece a escalabilidade e manutebilidade do "ecossistema" de aplicações.

  Nos grandes ambientes corporativos esse tipo de arquitetura encaixa-se bem, pois normalmente há uma grande quantidade de sistemas que operam paralelamente, e as ações que serão executadas através das ferramentas criadas no OutSystems estarão integradas com vários desses sistemas, executando tarefas, consultando dados e etc..

  A OutSystems possui um conceito chamado 4 Layer Canvas (4LC), que facilita a implementação de uma arquitetura SOA e também a aplicação do modelo MVC. Nesse modelo proposto existem 4 camadas:

 
 

Camada de orquestração

Orquestração cross application

  Nessa camada  informações, processos, páginas de diferentes aplicações OutSystems são mescladas para unificar a experiência do usuário em uma única UI. Pode ser através de Dashboards, ou através do agrupamento de telas de vários módulos ou até mesmo usando o BPT (será apresentado em post futuro).
O conceito desta camada é utilizar parte dos recursos de vários módulos para resolver uma necessidade.



Camada de apresentação ao usuário

Processos de usuário

  Telas de usuários e processos são implementados nessa camada. Os serviços disponíveis nas camadas Core e Library são utilizadas nesta camada. As telas aqui são individuais, específicas para solucionar uma necessidade. Cada módulo desta camada não se comunica diretamente com outro módulo  EndUser, somente com Cores e Libraries.



 

Camada Core

Serviços core business

  Serviços e processos relacionados às regras de negócio, entidades relacionadas ao negócio e conceitos de negócio ficam nessa camada. Pensando no modelo MVC, esta camada representa Modelo e Controle, pois aqui ficam as regras de negócio expostas nas telas e a modelagem dos dados na base. Os objetos do sistema (entidades) são definidos aqui neste módulo.
Validações de regras de negócio devem ficar nesta camada porque além de telas Web, uma tela Mobile pode chamar as ServerActions disponíveis no módulo.


 

Camada de biblioteca

Serviços genéricos

  Padrões de interface, rotinas genéricas que não dependem de regras de negócio, conexão com serviços externos, como o conector SAP por exemplo. Aqui ficam as rotinas que são independentes e fornecem ServerActions para vários cores.

  A imagem abaixo traz alguns exemplos do que pode ser encontrado em cada uma dessas camadas.

 





Nenhum comentário:

Postar um comentário

OutSystems - Validação de arquitetura

  A OutSystems indica a utilização de 3 regras para o desenho da arquitetura. Há uma ferramenta chamada Discovery Tool que analisa as de...