ReEngineering OPTIMIZANDO A CONFIABILIDADE E A PERFORMANCE DOS PROCESSOS BATCH EM AMBIENTE OS/390 E zos A ReEngineering consiste numa metodologia e numa tecnologia que são indispensáveis tanto para optimizar aplicações batch existentes quanto para desenvolver novas aplicações. O objectivo é melhorar significativamente tanto a qualidade por uma maior padronização, maior segurança e confiabilidade - quanto a performance - pela redução do tempo de processamento e uma melhor utilização dos recursos. A criação de novos objectos (Jobs e Redes de Planificador) é completamente automática e pode ser facilmente inserida num contexto de Gestão da Mudança. O Problema O desenho, gestão e manutenção dos Jobs e Redes de Planificador Batch é frequentemente uma tarefa altamente complexa devido aos inúmeros factores envolvidos. Estes incluem, entre outros, a estrutura complexa dos próprios processos, a necessidade contínua e constante de modificações, a aquisição de pacotes de aplicação desenvolvidos externamente, o tempo limitado disponível entre a fase de criação e modificação de uma aplicação e sua activação em produção, a dificuldade em obter toda a informação necessária a respeito da utilização dos recursos pelos processos envolvidos, e a complexidade de rede de links lógicos e físicos que estabelecem entre aplicações. Estas dificuldades objectivamente podem conduzir a perda de qualidade, sob a forma de uma ou mais das seguintes consequências directas: O desenho e geração das Redes que têm um layout no qual as actividades são predominantemente executadas em sequência ao invés de em paralelo, consequentemente aumentando o tempo total do processamento; Uso não-optimizado dos recursos disponíveis; Adicionalmente, pode também existir um número de consequências adversas, incluindo: Uma relação insuficiente entre o número de recursos humanos disponíveis e o número das aplicações, devido ao volume excessivo de informação necessária para sua gestão; Dificuldades na Gestão da Mudança dos objectos (alinhamento entre os diferentes ambientes, e entre a produção e o desenvolvimento, assim como com a sincronização das mudanças dos diferentes tipos de objectos, tais como Programas, Aplicações Batch e Jobs); A falta de conhecimento provoca também uma série de dificuldades na tomada de decisão sobre a ação correctiva adequada após uma paragem (freeze) ou uma terminação anormal (abend) de um processamento batch. As actividade de backup/restore são frequentemente redundantes "por precaução" devido à falta de informação, levando a um desperdício de tempo de recursos; O risco de que as operações de backup/restore estejam incompletas; Não adesão aos padrões definidos pela instalação;
ReEngineering Figura 1- A execução em paralelo reduz o tempo total A Solução A componente tecnológica, por outro lado, torna A ReEngineering optimiza os processos batch, reduzindo os seus tempos de processamento, tornado-os possível automatizar as actividades aplicando padrões padronizados e aumentando a sua confiabilidade ao previamente especificados, assegurando a criação assegurar a exatidão na Gestão da Mudança dos objectos. automática das aplicações batch (e de todos os Jobs contidos nelas) que ficam prontas para a execução A parte metodológica da solução oferece aos utilizadores através dos planificadores mais usuais. uma análise crítica dos processos existentes e um Todas as actividades podem ser executadas utilizando desenho optimizado dos novos processos, promovendo-os aos padrões técnicos e comportamentais uma interface interativa ISPF chamada PROPOSTA ou na gestão de todas as peculiaridades dos processos batch executadas através da componente de automatização que requerem uma atenção especial, tais como as 1SR (One Step ReEngineering) após uma fase inicial de actividades backup/restore e restart, checkpoints, Setup. ficheiros temporários, GDGs, relatórios e códigos de condições. A primeira opção (PROPOSTA) aumenta significativamente a possibilidade de Fine Tuning, a segunda opção 1SR (One Step Outro benefício particularmente importante resulta do enquanto redesenho lógico, "fechando as aplicações e isolando as ReEngineering) oferece maior automatização e componentes básicas dos processo de produção em velocidade. unidades lógicas de processamento. Fig.2 - Fluxo operativo do módulo PROPOSTA
ReEngineering Benefícios A ReEngineering oferece importantes benefícios em termos de qualidade: û A geração de jobs e redes batch padronizados; û A padronização comportamental das aplicações em caso de uma terminação anormal do processo; û Processos de backup/restore totalmente fiáveis; û Documentação automática dos processos optimizados; û Alinhamento automático de múltiplos ambientes de produção e alinhamento quantitativo automático; û Redução drástica do tempo necessário para a activação de novas aplicações; û Redução drástica do tempo das intervenção nas aplicações já activas na produção; û Tempos de processamento optimizados para as próprias aplicações; Figura 3 - Fluxo operatico 1SR Principais Funções O output da ReEngineering consiste na geração de uma ou mais Redes de Planificador Batch e todos os Jobs que estão nela contidos. O input para o processo é tipicamente uma Rede de Planificador, mas também permite ao utilizador começar a actividade utilizando uma lista de Jobs que ele deseja que pertençam a uma nova Rede de Planificador. O sistema inicia então uma série de actividades que o utilizador pode controlar manualmente passo-a-passo ou, alternativamente, descrever ao produto previamente, assim obtendo o processo do 1SR (One Step ReEngineering). Este procedimento vai ficar mais claro analizando a descrição das macroactividades listadas adiante. Definindo a Sequência Inicial. û A ReEngineering cria uma sequência única de Steps nesta fase, que inclui uma lista completa dos Steps que formam os Jobs usados como inputs para este processo. Esta sequência única é criada para permitir as fases subsequentes de reorganização dos Steps em novos Jobs, cuja configuração dependerá do número de critérios diferentes de optimização. Calculando Dependências. û Nesta fase o sistema calcula o conjunto completo de links lógicos e físicos que ligam os Steps uns aos outros, no sentido de definir as primeiras sequência de Steps, ou seja a primeira proposta para uma futura aplicação de planificador. Os links que são analisados são aqueles que resultam de um ou mais Steps usando os mesmos recursos, aqueles que resultam das expressões condicionais inseridas manualmente nos Jobs originais etc,.
ReEngineering Geração de Sequências. O produto usa o termo "sequência" para referir a uma série de Steps que estão dentro de uma sequência de execução, os quais serão a base para a criação dos futuros Jobs. Os Steps podem ser agrupados em sequências através da escolha de diferentes critérios: û Automaticamente, na base da invariância do caminho crítico; û Manualmente; û Automaticamente, respeitando um determinado número de Steps por Job; A utilidade deste agrupamento torna-se evidente nos casos em que a Rede produzida é constituída por um grande número de Jobs que são não-críticos e de rápida execução, de tal maneira que a sua execução simultânea representaria uma sobrecarga desnecessária à ferramenta de planificação, sem oferece nenhum benefício em termos de ganho de tempo de execução ou de maior paralelismo. Após a fase de cálculo automático, o utilizador pode inserir um número de dependências manuais entre Steps (naturalmente apenas quando utilizar a componente interactiva PROPOSTA). Nestes casos a escolha mais apropriada será utilizar os dados estatísticos do SMF sobre as execuções, existntes nas tabelas produção, DB2 do repositório, e optar por uma optimização automática, utilizando o critério da invariância do caminho crítico. Se não existe um número significativo de dados do SMF, pode ser preferível tratar os casos mais óbvios fazendo as operações de agrupamento manualmente. Optando por esta solução, é aconselhável proceder a actividade passo-a-passo, com um volume pequeno de Steps de cada vez e deixando a ReEngineering validar a nova configuração da Rede depois de cada modificação ou pequeno conjunto de modificações, até que se atinja uma configuração. A terceira opção, que é agrupar as Redes seguindo um critério de um número máximo de Steps, deve ser utilizada para Redes não-críticas, exclusivamente quando se pretende uma redução rápida e significativa no número de Jobs gerados. Fig.3 - PROPOSTA operative flow Fig.4 - Ponto de consistênca (Point Of Consistency) Fig.4 - Ponto de consistênca (Point Of Consistency)
Pré-Requisitos Mainframe OS/390 2.10 ou zos ISPF 4 ou superior DB2 UDB V6 ou superior Optimização do Restart PocP PocS ABEND ABEND ROLLBACK PocF PocF ROLLBACK POC Proceeding POC STOP Todos os nomes e produtos mencionados neste documento são marcas registadas dos respectivos detentores. www.res-it.com PORTUGAL: Tagus Space, Edifício Galileo R. Rui Teles Palhinha, nº6, 3ºG 2740-278 PORTO SALVO Tel. (+ 351) 214 212 658 Fax (+ 351) 214 212 660 e-mail: info@vantis.pt BRASIL: Edifício Market Place Av. Dr. Chucri Zaidan 920-9º andar CEP 04583-904 S. PAULO Tel. (+5511) 3048 4036 Fax (+5511) 3048 4099 e-mail: info@vantis.com.br ESPANHA: Edificio Cuzco IV Paseo de la Castellana, 141, 20º 28046 Madrid Tel. (+ 34) 917 893 424 Fax (+ 34) 915 707 199 e-mail: info@vantis.es