Conceitos e Tecnologias de Aplicações Web e Sistemas Legados

Classificado em Computação

Escrito em em português com um tamanho de 18,98 KB

Aula01 – Conceitos básicos das aplicações WEB, terminologia e taxonomia.

1 - Por que a Infraestrutura é business unaware?
A infraestrutura é business unaware porque não tem relação direta com o processo de negócio. A aplicação determina a necessidade da infraestrutura.

2 - Exemplifique as “regras do negócio” para uma aplicação corporativa do tipo tempo real.
- Disponibilidade dos dados: Informações usadas constantemente pelo sistema e usuários, exigindo acesso rápido e fácil. Ex: Acesso à conta bancária por um correntista.
- Tempo de resposta baixo: Execução rápida de transações para evitar danos. Ex: Sistema de controle de tráfego aéreo.
- Disponibilidade prioritária: Sistemas de tempo real não podem ficar indisponíveis devido à criticidade do que controlam, sendo o coração do negócio. Ex: Servidor de ERP de uma empresa.

3 - Por que as operações do staff operacional podem ser previsíveis?
São operações rotineiras e, portanto, previsíveis. Ex: Linha de produção.

4 - Exemplifique por que os dados são independentes nas aplicações de suporte à decisão.
São dados consolidados de várias aplicações para a tomada de decisões, como em um data warehouse. Ex: Dados de vendas, clientes, etc.

Aula02 – Tecnologias WEB.

1 - Manutenção de aplicação WEB com baixo desempenho operacional (E-commerce).

a. Do ponto de vista funcional, em quantas partes se divide e por quê?
A aplicação é dividida em 3 partes:
- Interface do usuário
- Aplicação propriamente dita
- Dados

b. Do ponto de vista computacional, em quantas partes se divide e por quê?
Computacionalmente, a aplicação é dividida em 2 partes:
- Cliente
- Servidor
O Cliente inicia a requisição de um serviço e o Servidor responde à requisição.

c. Do ponto de vista arquitetural, em quantas partes se divide, por quê e qual o desenho desta arquitetura?
Arquitetura dividida em 4 partes:
- Dados
- Servidor (BD e aplicação)
- Meio de segurança (criptografia e descriptografia)
- Aplicação (plugin e telas)
- Interface (browser)
O modelo é de distributed programs.

2 - Que tipo de mensagem deve ser dirigida ao computador do Data Center?
A forma de interação a ser enviada ao Servidor do Data Center deverá ser a RDA (Remote Data Access), que é uma leitura de dados realizada remotamente.

3 - Descreva seu entendimento do que é Middleware e o que ele seria em uma aplicação de apresentação de informações via website simples?
Middleware é uma camada de software que auxilia na construção de aplicações, como a comunicação. Reside sobre a rede e abaixo das aplicações, permitindo uma conexão genérica entre as duas partes do sistema. É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional. CORBA é um exemplo.

Aplicação |
Middleware |
Serviços Rede | Serviços locais |
Plataforma (HW e SO) |

4 - Desenvolvimento de aplicação de gestão de estoque para uma loja de roupas no modelo estruturado.
Enfoque da modelagem: Entrada – estoquista – gestão estoque (processamento) – inventário – saída. É crucial ter coesão dos dados.

5 - O Estoquista como Objeto em um sistema informatizado: como suas atividades podem ser solicitadas e executadas, comparando com a modelagem de Orientação a Objetos?
O código pode ser dividido em partes, cada parte faz uma única coisa e bem feita (coesão), evitando acoplamento. A Orientação a Objetos introduz conceitos como herança, classe e reaproveitamento de código, diferindo da programação estruturada tradicional.

Aula03 – Metodologia de Desenvolvimento.

1 - Sistema de controle de pedidos para uma empresa metalúrgica com acesso via WEB.
Arquitetura do sistema: Distributed Programs, Interface do usuário distribuída (servidor e cliente).
Alinhamento Negócio-TI (Henderson-Venkatraman): O alinhamento deve seguir a Estratégia do Negócio, Estratégia da TI e Infraestrutura da TI.

2 - Defina sistemas legados, suas características e seus 2 principais problemas.
Sistemas legados são sistemas computacionais antigos, mas que ainda fornecem serviços essenciais. Características: são antigos, não seguem padrões atuais, apresentam defeitos com frequência e são difíceis de manter. Principais problemas: pontos de estrangulamento que impedem a adaptação às novas necessidades da empresa e dificuldade na compreensão das regras de negócio implementadas.

3 - Cronograma inicial para solução de e-Commerce para empresa de autopeças.
Atividades iniciais agendadas:
1. Análise:
- Identificar demandas do negócio.
- Listar requisitos.
- Analisar oportunidades de negócio.
- Estimar custo/tempo preliminar.
- Identificar se a aplicação será nova ou se envolverá retrabalho em uma existente.
Justificativa: Nem sempre a solução de TI apresentada é a mais adequada ou a que minimiza custos, ou que alcança o futuro desejado, proporcionando vantagens competitivas.

4 - Metodologia OCSI (mix de cascata, espiral e prototipagem).
Características das metodologias:
- Cascata: Estrutura rigorosa, etapas sequenciais, inflexível a mudanças, ideal para requisitos bem conhecidos. O cliente só recebe o produto ao final.
- Prototipagem: Rápida codificação para o desenvolvedor, versão desenvolvida rapidamente para o cliente. Aspecto negativo: o cliente pode não perceber as melhorias incrementais.
- Espiral: Similar a outros processos, com foco em análise e resolução de riscos (novas linguagens, ferramentas indisponíveis). Problema: dificuldade em gerenciar todos os incrementos.
Aplicação na metodologia proposta:
- Passo 1 (Estudo iterativo): Ciclo com 4 fases: Análise (levantamento de necessidades/requisitos), Projeto (arquitetura), Implementação e Implantação.
- Passo 2 (Iteração nº 1): Plano geral focado no negócio. A arquitetura da rede e as ferramentas dependem do processo de negócio (Negócio – Aplicação – Infraestrutura).
- Passo 3 (Modelagem OO): Fundamentação das aplicações, com 4 fases: análise, arquitetura, implementação e implantação.

Aula04 – Arquitetura de Dados Corporativos.

1 - Defina e exemplifique Dados Corporativos.
Dados corporativos são dados compartilhados por vários processos de negócio. Podem ser um ponto fraco em muitas aplicações. Ex: Informações de clientes usadas em processamento de pedidos, cobrança, contabilidade, etc.

2 - Defina e exemplifique Normalização de Tabelas.
É uma técnica em BD relacionais para garantir a integridade dos dados, evitar informações sem sentido, organizar tabelas eficientemente, diminuir redundância e permitir evolução com mínimo de efeitos colaterais. Ex: Uma tabela única com todas as informações de nota fiscal (produto, cliente, campos calculados) gera enorme redundância e inconsistência, pois não haveria cadastro de cliente nem de produtos.

3 - Quantidade de possibilidades de alocação de dados corporativos.
Possibilidades: K (nº fragmentos) x 2^N (nº de máquinas)
Locais: 4 (matriz e 3 filiais)
Tabelas: 2 (Clientes e Pedidos)
Fragmentos: 8 (Locais x Tabelas)
Nº de Máquinas Candidatas: 12 (Máquinas x Locais)
Cálculo: 8 x 2^12 = 32.768 possibilidades de alocação.

4 - O que é coerência dos dados? Dê exemplos.
Coerência dos dados significa ter as mesmas informações em locais particionados. São cópias idênticas em máquinas diferentes. Ex: Ao trabalhar com redundância, é necessário garantir a atualização em todos os ambientes; a falta de atualização em algum deles compromete a coerência.

5 - Sincronização necessária para informações de Clientes e Estoque.
- Informações do Cliente: Se a alteração for de endereço de entrega, a sincronização deve ser feita por transação. Caso contrário, pode ser periódica.
- Informações do Estoque: A sincronização deve ser feita por transação, pois há movimentação constante de produtos. Os dados devem ser sincronizados em no máximo 1 segundo.

6 - Opinião sobre a distribuição de 10 cópias de dados corporativos.
Quanto maior o número de cópias distribuídas, maior será:
- A sincronização: cada alteração exigirá a atualização de todas as cópias para garantir a coerência.
- O armazenamento: mais discos para dados e backups.
- O I/O Local: maior número de transações entre as distribuições.
Um ponto positivo é o menor custo com comunicações e leitura quando há um maior número de cópias.

Aula05 – Exemplo de Arquitetura de Dados Corporativos.

1 - Interoperabilidade com o sistema ERP.
Interoperabilidade é a troca de informações entre o sistema de pedidos corporativos e o sistema ERP. Pode ser alcançada permitindo que as estações de trabalho acessem as informações no banco de dados, o que é possível em sistemas baseados em MVS/DB2 (Mainframe - UNIX).

2 - Importância e obtenção da portabilidade.
A portabilidade é importante devido ao rápido avanço tecnológico; quanto maior a portabilidade de uma aplicação, melhor sua aceitação no mercado, pois o usuário não fica totalmente dependente de uma única tecnologia. Para obtê-la, é necessário desenvolver sistemas bem estruturados, com componentes (Interface, Aplicação, Banco de Dados) independentes e facilmente migráveis.

3 - Tamanho de tabelas e motivo da transação T1 (24 leituras, 0 escritas).
Considerando cada tabela com no mínimo 5 campos de 32 caracteres (média), os tamanhos para clustering seriam maiores. A transação T1 originada nas filiais tem 24 leituras e nenhuma escrita porque a tabela de Pedidos está alocada na matriz. Provavelmente, todos os pedidos são feitos diretamente com a matriz, e as filiais apenas consultam para realizar as entregas.

4 - Distribuição das tabelas Cliente e Vendedores entre filiais com cópia na matriz.
Essas tabelas devem ser distribuídas porque os dados referentes à região e vendedor são divididos por localidade. Elas trabalham juntas e precisam estar acessíveis nas respectivas filiais, com uma cópia centralizada na matriz para consistência.

5 - Conectividade com o banco de dados DB2 na matriz.
A conectividade pode ser resolvida garantindo que os computadores onde estão os vendedores tenham acesso à base de dados e que o sistema utilize paginadores.

Aula06 – Sistemas Legados.

1 - Sistema de automação de laminador de placas (década de 60) como sistema legado.
Sim, é um sistema legado por ser muito antigo e desenvolvido em tecnologia provavelmente obsoleta. A estratégia recomendada seria analisar o processo de negócio antes de mudar o sistema legado, pois se o plano de negócio mudar, a troca do sistema legado pode ser integrada a essa mudança.

2 - Defina e exemplifique Sistemas Legados.
Sistemas legados são aplicações com valor que evoluíram para uma nova geração tecnológica; são aplicações úteis e importantes de uma geração tecnológica mais antiga. Ex: Sistema de compras desenvolvido há 40 anos.

3 - Outro motivo de importância dos sistemas legados além da dependência operacional.
São repositórios de informações históricas. Ex: Vendas realizadas no passado.

4 - Modelo de reengenharia da IBM (centralizada para distribuída).
O modelo empregado foi o de Processos do Negócio, pois houve uma conversão e modificação nos processos operacionais para torná-los mais autônomos e distribuídos.

5 - Solução para substituir sistema legado de gestão de pessoal (IHM integrada ao código).
A aplicação foi construída com dados decomponíveis, onde a interface e o código foram montados de forma integrada. A solução é alterar o Banco de Dados, adaptando-o para a futura aplicação, de modo que possa ser utilizado por ambos os sistemas.

6 - Plotagem do sistema anterior no gráfico de análise para estratégias de migração.
A estratégia adotada seria a AEHB: Integráveis, pois criaria o conceito de Data Warehousing, onde o acesso é feito apenas aos dados, incorporando-os ao novo sistema.

Aula07 – Data Warehouse - Conceitos.

1 - Defina Data Warehouse.
Um Data Warehouse (DW) é um grande repositório de dados que contém informações para suporte à decisão. Permite que níveis gerenciais tomem decisões de forma mais rápida e precisa. As fontes de informação para DWs incluem bancos de dados organizacionais e outras fontes externas não estruturadas (memorandos, minutas de reunião).

2 - Função e necessidade dos programas extratores. Como funcionam?
Função: Concentrar (popular) todos os dados de diversos sistemas no DW.
Necessidade: Facilita a busca de informações de forma concentrada, rápida, dinâmica e organizada.
Funcionamento: Podem operar por período de tempo (ex: às 3 da manhã) ou por eventos (quando ocorre algum evento importante).

3 - Exemplos de aplicação de DW.
- Um site de vendas armazena o trajeto do cliente para recomendar produtos similares.
- Uma agência de veículos descobre que mulheres jovens com renda acima de $50 mil compram mais carros esportivos pequenos.
- Uma transportadora identifica a quantidade de produtos entregues por cidade.

4 - Diferenças entre consultas em sistemas operacionais e de suporte à decisão.
- Sistemas Operacionais: Consultas baseadas no presente, no dia a dia. Buscam dados registrados no momento. Ex: Quantos rádios estão no estoque?
- Suporte à Decisão: Consultas baseadas no passado, no histórico, para tomada de decisões futuras. Ex: Qual o melhor mês de venda de rádios no ano passado?

5 - Diferenças entre usuários de sistemas operacionais e de suporte à decisão.
- Usuários de Sistemas Operacionais: Tarefas rotineiras, procedimentos pré-descritos, passo a passo. Modo previsível; Operadores de Linha de Staff; Concorrência alta; Atualização frequente; Tempo de resposta rápido; Pequena quantidade de dados.
- Usuários de Suporte à Decisão: Trabalham com históricos, consultas diversas. Modo de descoberta; Tomadores de Decisão; Baixos requisitos de concorrência; Consultas frequentes; Tempo de resposta alto; Grande quantidade de dados.

6 - Por que dados operacionais não são adequados para tomada de decisão?
Dados operacionais são detalhados, não sumarizados, orientados à aplicação, atualizados com frequência e em tempo real, o que não é ideal para a tomada de decisão.

7 - Necessidade de integração de dados para DSS.
Para padronizar as informações. Ao resgatar dados de bases operacionais, cada base pode armazenar um dado de forma diferente. A padronização é necessária. Ex: CPF no formato XXX.XXX.XXX-XX versus XXXXXXXXXXX.

8 - Exemplo de aplicação de Data Mining.
Mineração de dados busca padrões de comportamento em grandes volumes de dados usando inteligência artificial. Ex: Walmart percebeu que consumidores que compravam fraldas também compravam cerveja, e passou a posicionar a cerveja perto das fraldas.

Aula08 – Data Warehouse - Arquiteturas.

1 - Por que os Data Marts são independentes uns dos outros?
Data Marts são independentes por serem específicos a um determinado assunto ou área. São obtidos do DW desnormalizado, onde os bancos de dados são consolidados no DW sem correlação direta entre si.

2 - Discuta o modelo único de dados em um DW centralizado.
É a forma mais comum de usar DWs. Todos os usuários têm acesso aos dados centralizados, sumarizados e correlacionados de vários bancos de dados.
Vantagens: Um único logon de acesso, ambiente único que facilita a manutenção da consistência e administração centralizada.
Desvantagens: Definição do nível de detalhamento, formatação e nomeação dos dados; Desempenho.

3 - Explique o que é um Front End.
Software que consolida os dados para o DW. É um DW distribuído que guarda os processamentos para consolidar dados e os índices dos BDs externos para localizar e consolidar informações quando solicitadas.

4 - O que é um DW Virtual?
Um DW Virtual é um conjunto de Data Marts em uma única estrutura lógica. Ele simplesmente repassa as consultas dos usuários para os DWs respectivos.

5 - Por que um DW distribuído tem maior escalabilidade?
Permite adicionar quantos BDs externos forem necessários, sem limite de crescimento como um DW centralizado. Facilita o balanceamento de carga.

6 - Impacto das comunicações em um DW distribuído.
As técnicas de comunicação dependem do sistema. Se o sistema de comunicação tiver baixo desempenho, o tempo de resposta será muito grande.

7 - Como se obtém a granularidade grossa?
Granularidade grossa é um nível de detalhamento menor, obtido a partir do processamento e consolidação de informações finas. Ex: PIB do País.

8 - Defina “scape ratio”.
É uma métrica de acesso. Quando a informação não está no DW, o sistema busca nos BDs externos. O scape ratio (taxa de comunicação) informa quanto é buscado fora do DW, devendo ser no máximo 5%.

9 - Explique a estrutura de dados cumulativa simples.
Sumariza os dados diariamente. O programa de extração retira os dados diariamente, sumariza-os e carrega no DW.

Entradas relacionadas: