O IBM® CICS® Transaction Server é um servidor de transações que acima de tudo é executado em mainframes IBM System z® no IBM z/OS®.
Ele controla as interações entre aplicativos e usuários (de poucos usuários a milhares de usuários).
Os aplicativos CICS oferecem alta disponibilidade e fácil escalabilidade.
O aplicativos CICS possuem redundância integrada, que usa várias interfaces do cliente que vão desde terminais e navegadores até serviços da web.
O CICS Transaction Server possui uma ampla gama de recursos que poderá ser usada de imediato por aplicativos implementados em tempo de execução.
Arquitetos de aplicativo podem depender de qualidades de serviço em tempo de execução fornecido pelo CICS, sem necessidade de projetar as qualidades de serviço nos
códigos do aplicativo.
Tais qualidades de serviço incluem segurança, integridade transacional e despacho de trabalho para múltiplos processos ou clusters de hardware.
Conforme o Guia de Solução do IBM Redbooks® descreve, a arquitetura do aplicativo CICS (Figura 1) possui vários benefícios técnicos e de negócios.
Você sabia?
A primeira liberação do CICS ocorreu em 1969 e continua muito difundido nos dias de hoje.
Um número considerável de operações eletrônicas comerciais são processadas pelo CICS Transaction Server:
- Mais de 30 bilhões de transações são processadas pelo CICS a cada dia.
- Pelo menos três clientes do CICS estão atingindo volumes de transações acima de um bilhão por dia.
- O CICS processa um trilhão de dólares em transações a cada semana.
Valor de negócios
O CICS Transaction Server é um ambiente de gerenciamento para hosting de aplicativos transacionais de alto volume, altamente eficiente.
Em vez de requerer que os desenvolvedores gravem funções do sistema dos aplicativos, o CICS poderá executar os serviços automaticamente ou a pedido de um aplicativo.
Com o uso dos recursos do CICS, os desenvolvedores poderão se concentrar na resolução de problemas de negócios e na codificação da lógica de negócios nos seus
aplicativos em vez de se preocuparem com as funções do sistema, como por exemplo pontos de integração com o banco de dados e controle de segurança.
A abordagem oferece várias vantagens, incluindo ciclos de desenvolvimento mais curtos, manutenção mais fácil e incorporação mais fácil de novas funções.
Os aplicativos não terão que sofrer alterações para funcionar com novas liberações do sistema operacional ou com bancos de dados devido ao fato do CICS Transaction
Server manipular as interfaces com estes sistemas.
O CICS fornece uma maneira rápida, de baixo custo e de baixo risco para desenvolver aplicativos de negócios.
Ele fornece oportunidades significativas de economia e melhora a produtividade.
Pelo fato dos aplicativos poderem ser ajustados por meio dos recursos do CICS e devido ao fato do CICS poder suportar diversas linguagens de programação, a economia
poderá ser substancial.
Visão geral da solução
O CICS fornece um conjunto de interfaces de programação de aplicativos (APIs) que possibilitam acesso simplificado aos recursos controlados pelo CICS.
As APIs também permitem que serviços de contêiner do CICS forneçam qualidade de tempo de execução, como por exemplo gerenciamento de transacionalidade,
segurança e carga de trabalho.
As APIs do CICS simplificam significativamente o desenvolvimento de aplicativos por meio do fornecimento de uma linguagem padrão neutra, para acessar recursos,
como por exemplo arquivos, filas ou outros programas.
E as APIs ativam um modelo de desenvolvimento modular por meio da separação lógica de negócios da lógica de gerenciamento de sistemas que a suporta.
É possível ler, gravar e regravar um arquivo sem usar a sintaxe da linguagem do programa selecionado.
Referencia-se o alias do recurso e executa-se o comando CICS usando a API adequada.
Um benefício adicional das APIs do CICS é que fica mantido a compatibilidade do módulo de carregamento em todas as liberações CICS.
Mesmo quando as APIs forem descontinuadas ou removidas, os módulos ainda assim poderão ser usados em novas liberações do CICS se forem codificados antecipando
erros relevantes.
Os negócios usam várias linguagens de desenvolvimento de aplicativos baseadas nos requisitos e nos conjuntos de qualificação existentes.
Devido ao fato do CICS suportar muitas opções de idioma, os aplicativos executados no CICS poderão residir em um ambiente verdadeiramente heterogêneo que consiste
em módulos processuais (como por exemplo COBOL) e linguagens orientadas a objeto como por exemplo Java ouC++.
A figura 2 resume os idiomas suportados pelo CICS
Central de suporte ao idioma CICS é o IBM z/OS Language Environment®, que o CICS usa para integrar os diferentes tempos de execução da linguagem de programação.
Cada linguagem de programação (por exemplo, PL/I, COBOL e C/C++) possui sua própria biblioteca no tempo de execução do ambiente de linguagem, de modo que o CICS
possa fornecer uma comunicação simples entre diferentes programas no nível de idiomas.
O REXX usa os serviços CICS diretamente e não tem nenhum vínculo com as bibliotecas de ambiente de linguagem.
O tempo de execução de diversos idiomas do CICS inclui os benefícios a seguir:
- Comunicação interlinguagem, que fornece flexibilidade e eficiência nos processos de design e de desenvolvimento.
Ela também permite aos desenvolvedores usarem um método adequado para o propósito de selecionar a melhor linguagem de programação para cada projeto.
- Conjunto padronizado de interfaces nos APIs de CICS para interagir com quaisquer recursos controlados pelo CICS.
O CICS também fornece uma API para Java, que, embora implementada em Java, se comporta de forma idêntica a um API CICS padrão.
A API fornece simplicidade de desenvolvimento, consistência entre idiomas e um jeito fácil de explorar as qualidades de tempo de execução do CICS do serviço, tais
como segurança, gerenciamento de carga de trabalho e transacionalidade.
- Diagnóstico Central, que é um layout comum para as informações fornecidas pelo sistema quando os errosforem lançados.
Ele reduz o tempo e o esforço necessários para determinar a origem dos problemas, que poderá melhorar a qualidade do aplicativo.
Arquitetura da solução
O CICS oferece amplo conjunto de comandos de programação que um programa de aplicativo pode usar para solicitar serviços CICS do tempo de execução do CICS.
O CICS também usa o conjunto integral de funções e procedimentos fornecidos pelo tempo de execução do idioma nativo.
O conjunto de comandos CICS é conhecido como API.
Os comandos são instruções macro suportadas por uma faixa de idiomas e traduzidos pelo tradutor do CICS antes da compilação.
Eles fornecem a chave para se obter a vantagem da qualidade do serviço, como por exemplo transacionalidade e segurança, a partir do tempo de execução do CICS.
Comandos do CICS
Os comandos fornecidos por meio da API são categorizados nas áreas a seguir:
- Serviços de apresentação são usados para comunicação entre o usuário, diretamente ou com um sistema intermediário e o servidor de processamento de transações.
Os serviços de apresentação funcionam com as instalações de gerenciamento de apresentação do sistema, como por exemplo um navegador da web ou um dispositivo de
exibição 3270, que poderá ser externo quanto ao sistema CICS.
- Serviços de dados recuperam e atualizam dados e fornecem acesso a arquivos,filas de dados temporários ou armazenamento temporário e diários CICS.
- Serviços de negócios manipulam dados da hora em que foram recuperados do armazenamento até a hora em que serão apresentados ou atualizados e que cobrirão muitas
funções.
Ao usar o API do CICS, o desenvolvedor de aplicativos poderá manter a independência entre os serviços do aplicativo de negócios e o tempo de execução da transação.
A independência permite a criação de aplicativos de negócios focados na solução de processamento de negócios.
Modelo modular reutilizável
O modelo de design modular padroniza componentes que podem ser montados para construir um componente maior.
O modelo é frequentemente referenciado como engenharia de software baseada em componentes.
O design decompõe o processo em elementos mais simples que podem ser arrumados em muitos padrões para se beneficiarem de sinergias entre os componentes.
A figura 3 ilustra as camadas da arquitetura do aplicativo modular CICS.
O cliente ou o consumidor do serviço inicia a solicitação. Exemplos incluem um solicitante de serviço da web, navegador da web, IBM WebSphere® cliente MQ, cliente
de soquete TCP/IP, dispositivo 3270, programa em lote z/OS ou outros aplicativos CICS.
Então, a solicitação flui através das camadas de arquitetura a seguir:
- A camada do adaptador processa os protocolos e dados com o cliente, estabelece a transação e o contexto de segurança no CICS e trabalha com a camada de negócios
ou de integração.
- A camada de apresentação é um caso especial para aplicativos da web ou 3270, onde a interface com o usuário é fornecida diretamente no aplicativo CICS.
- Opcionalmente, quando necessário a camada de integraçãoimplementará a sequência de chamadas para a lógica de negócios para a situação onde será mais eficiente
ou oferece melhor encapsulação.
Outra situação é quando ela faz com que os serviços sejam mais fáceis de usar, se as chamadas forem feitas no CICS em vez do cliente realizar várias chamadas
diretamente para a camada de negócios.
- A camada de negócios implementará as funções de negócios do serviço e frequentemente é a camada mais extensiva que possui a maioria dos requisitos de
processamento.
- A camada de acesso a dados fornece a lógica para acessar o armazenamento de dados em uso, como por exemplo o IBM DB2®, IMS™, Virtual Storage Access Method (VSAM)
ou outros recursos.
Separar o acesso a dados da camada de negócios facilita a reutilização e permite alterações no tipo de armazenamento de dados, sem afetar outros módulos.
Cenários de uso
Empresas em praticamente qualquer área do segmento de mercado e do comércio dependem do processamento de transações do CICS.
O CICS é amplamente usado nos segmentos de mercado a seguir, entre outros:
- Agricultura
- Arquitetura
- Automotivo
- Financeiro
- Químico
- Construção
- Educação
- Serviços financeiros
- Governo
- Seguro
- Manufatura
- Mídia e transmissão
- Médico e farmacêutico
- Militar
- Petróleo, combustível e mineração
- Imóveis
- Pesquisa e desenvolvimento
- Varejo
- Frete e transporte
- Telecomunicações
- Viagem
Conforme mostrado na figura 4, mais da metade de todas as instalações CICS são usadas pelos segmentos de mercado financeiro e de governo.
Integração
Integração é o principal para o CICS e permite que aplicativos construídos para um propósito sejam modernizados de modo que possam continuar a ser usados nos dias
de hoje.
Esta seção examina algumas das opções da integração para reutilização e extensão de aplicativos existentes.
Serviços da web CICS
Programas de aplicativo que são executados em CICS poderão participar em um ambiente de serviços da web heterogêneos como solicitantes de serviço, provedores de
serviços ou ambos.
O suporte CICS para serviços da web estão em conformidade com padrões abertos, incluindo SOAP 1.1 e 1.2, HTTP 1.1 e Web Services Description Language (WSDL) 1.1 e 2.0.
O CICS suporta o tipo mais comum de comunicação entre o solicitante de serviço e o provedor de serviços, que é um SOAP vinculado a HTTP e mensagens SOAP para o
WebSphere MQ.
Suporte de ferramentas para os serviços da web CICS é fornecido pelo assistente de serviço da web CICS e o IBM Rational® Developer for System z.
A figura 5 mostra uma visão geral do suporte dos serviços da web CICS.
Java Connector Architecture
O Java EE Connector Architecture (JCA) define um conjunto padrão de APIs e interfaces para conexão da plataforma Java EE ao Enterprise Information System
heterogêneo (EISs).
Ao usar os padrões JCA, fornecedores como a IBM poderão fornecer um adaptador de recursos JCA para conexão e serviços de chamada no CICS.
O suporte é ativado com o CICS Transaction Gateway, que fornece adaptadores de recursos para conexão com aplicativos CICS.
Estes adaptadores de recursos são executados em um servidor de aplicativo Java EE.
A figura 6 mostra uma solução z/OS, onde o JCA é fornecido por meio do uso de um WebSphere z/OS Optimized Local Adapter.
Suporte da Web CICS
O suporte da web CICS fornece ou listener HTTP e um programa de adaptador de mensagens que pode ser escrito usando APIs da WEB CICS.
A figura 7 mostra como o HTTP é usado diretamente com o CICS.
Com o suporte da web CICS, um aplicativo CICS poderá iniciar uma solicitação HTTP e receber a resposta do programa do servidor HTTP, fornecendo suporte
bidirecional para o protocolo HTTP.
Sistema de mensagens com o WebSphere MQ
Ao usar o WebSphere MQ, é possível trocar informações por todas as diferentes plataformas, integrando aplicativos de negócios existentes no processo.
O WebSphere MQ assegura entrega confiável de mensagens, distribui de forma dinâmica a carga de trabalho nos recursos disponíveis e ajuda a fazer programas móveis.
O WebSphere MQ fornece APIs do Serviço de Mensagens Java (JMS) e APIs básicas do WebSphere MQ APIs para serem usadas por solicitantes de serviço em várias
plataformas, com muitas opções para roteamento e mensagens criptografadas antes de chegarem no WebSphere MQ for z/OS.
A figura 8 mostra o WebSphere MQ acionar o programa de monitoramento fornecido pelo CICS.
É possível usar o programa para que inicie automaticamente um programa de adaptador de mensagens adequado quando as mensagens chegarem.
O adaptador de mensagens usa APIs de configuração básica do WebSphere MQ para receber a mensagem, transformá-la se necessário e chamar o programa de lógica de
negócios.
Uma mensagem de resposta poderá ser enviada usando a fila de resposta definida na mensagem.
© Copyright IBM Corp.