SOA Generation - Arquitetura SOA para Cobol/CICS/DB2
SOAG
SOAG (Service Oriented Architecture Generator) tem com o objetivo facilitar o trabalho dos profissionais: analistas e desenvolvedores de sistemas focados na arquitetura SOA.
Ao longo de muitos anos em desenvolvimento de sistemas, seus criadores perceberam que a grande dificuldade que os analistas enfrentam é transferir para os desenvolvedores todos os detalhes que envolvem a definição dos serviços, sejam elas regras de domínio, persistência, integridade, nomes de programas e códigos de mensagens entre outros.
Em quase sua totalidade, estes detalhes já estão explícitos na definição do modelo de dados, seja ele apenas um ER ou um DB já existente.
O SOAG expõe de forma amigável estes detalhes e também permite que o analista/desenvolvedor interajam e complementem estas informações.
-
Reduzir o custo no desenvolvimento de software;
-
Modernizar suas aplicações utilizando as mais modernas tecnologias;
-
Serviços com baixo nível de acoplamento e interdependência;
-
Processo 100% automatizado;
-
Interface web.
No desenvolvimento de software, não há qualquer novidade no modo como pensamos sobre a decomposição de um aplicativo em partes componentes. É o paradigma central da orientação de objetos, das abstrações de software e da “componentização”. Atualmente, essa fatoração tende a assumir a forma de classes e interfaces entre as camadas de tecnologia e as bibliotecas compartilhadas. Em geral, uma abordagem em camadas é adotada com um repositório de "back-end", lógica de negócios de camada intermediária e uma IU (interface do usuário) de "front-end". O que mudou nos últimos anos é que os desenvolvedores estão compilando aplicativos distribuídos para a nuvem orientados pelos negócios.
Entre as necessidades variáveis dos negócios estão:
-
Um serviço que é compilado e opera em escala para atingir clientes em novas regiões geográficas (exemplo);
-
Entrega mais ágil de recursos a fim de conseguir responder rapidamente às demandas dos clientes;
-
Melhor utilização de recursos para reduzir os custos.
Essas necessidades comerciais estão afetando o modo como criamos os aplicativos, desta forma uma arquitetura com base em micro serviço se torna cada vez mas atraente.
Os objetivos do SOAG são:
-
Gerar serviços CRUD+L em COBOL/CICS/DB2 na arquitetura SOA;
-
Gerar aplicações WEB em Python.
O enfoque SOA do SOAG é utilizar seus próprios serviços e também serviços corporativos.
As palavras principais do SOAG são:
-
Simplicidade e padronização.
O modelo de programação do SOAG mainframe está dividido em três camadas:
-
Módulo Mensageiro - programa que troca mensagens com o "front end" e distribui as tarefas aos outros serviços;
-
Módulo Funcional - programa que valida as mensagens;
-
Módulo de Persistência - programa que persiste as mensagens no DB.
Design Monolíticos:
-
Aumento de complexidade e tamanho ao longo do tempo;
-
Alta dependência de componentes de código;
-
Escalabilidade do sistema é limitada;
-
Falta de flexibilidade;
-
Dificuldade para colocar alterações em produção.
Design Micro Serviços:
-
Manutenção e evolução dos serviços mais estáveis;
-
Serviços com baixo nível de acoplamento e interdependência;
-
Escalabilidade do sistema;
-
Redução de custos;
-
Flexibilidade de tecnologia;
-
Facilidade de implementar alterações em produção.
Figura 1: A imagem demonstra um arquitetura SOA de encontro com a implementação do SOAG
-
Padronização de mensagens;
-
Mensagens por regras de negocio a partir de colunas de dados;
-
Importação de Meta Dados;
-
Check Lista para acompanhamento do processo;
-
Padronização de Nomenclaturas (Tabelas, Campos);
-
Criação de regras de negócios a partir de colunas;
-
Integração com ERWIN;
-
Revisão de tabelas, colunas, "primary keys", "foreign keys";
-
Nomeação de programas.
Figura 2: Esta imagem ilustra o modulo do SOAG para padronização de mensagens na geração dos micros serviços
SOAG:
• Windows 7 ou acima (32/64 bits);
• Espaço no disco rígido: recomendado um mínimo de 2 GB para uma instalação completa;
• Uma instalação completa inclui o instalador do produto SOAG (aproximadamente 1 GB) e o Web2Py (incluído);
• Memória do sistema: recomendado um mínimo de 4 GB;
• Driver de conexão DB2 LUW/ DB2 ZOS.
White paper:






