A tecnologia de hardware tornou-se descartável como o jornal de ontem. A durabilidade de qualquer sistema de computador e a capacidade de proteger o investimento de seus clientes são os aspectos mais importantes na compra de um computador corporativo. Ao longo dos anos, os clientes do AS/400 ouviram sobre a arquitetura avançada desse sistema e como as novas tecnologias são incorporadas a ele de maneira que não causam impacto direto no usuário. Eles foram informados de que a arquitetura é independente de tecnologia, sendo essa característica a principal responsável pela proteção do investimento. Embora seja verdade que não tenham precisado alterar seus programas de aplicação para aproveitar as novas tecnologias, muitos não compreenderam totalmente — ou sequer se importaram — com o funcionamento do sistema, contanto que ele funcionasse.

Com a linha Advanced Series da IBM, a arquitetura do AS/400 voltou ao centro das atenções. Os novos modelos incorporam um tipo de arquitetura de processador chamada RISC (Reduced Instruction Set Computer). Para comparação, os processadores usados no AS/400 original, bem como em outros processadores populares, como o Intel Pentium e o Intel P6, são conhecidos como CISC (Complex Instruction Set Computer). Processadores RISC geralmente possuem instruções mais simples do que os CISC, o que significa que processadores de altíssima velocidade podem ser construídos a um custo razoável. Essa melhoria na relação custo/desempenho é uma das razões mais importantes para migrar para uma arquitetura RISC, mas também pode haver desvantagens.

Por exemplo, outros fornecedores de computadores migraram de processadores CISC para RISC, o que causou grandes transtornos entre alguns de seus clientes e fornecedores independentes de software (ISVs) que escreviam programas de aplicação. Alguns programas de aplicação ou partes deles precisaram ser reescritos para a migração para o novo hardware. Isso ocorreu, por exemplo, quando a Hewlett Packard (HP) introduziu sua Precision Architecture (PA) e quando a Digital Equipment Corporation (Digital) introduziu a arquitetura Alpha.

Para entender a magnitude dessa interrupção, considere o caso da Digital com sua mudança para a arquitetura RISC. A empresa estimou que a migração de sua base instalada para a arquitetura Alpha fez com que de 15% a 20% dos aplicativos antigos, baseados na arquitetura VAX, precisassem ser reescritos. Para qualquer cliente ou ISV, reescrever aplicativos nessa proporção pode ser um processo extremamente oneroso.

Em contraste, a arquitetura independente de tecnologia do AS/400 protege seus clientes e ISVs de tais interrupções à medida que avançam para os novos processadores RISC. Para compreender como isso é possível, é necessário observar como a arquitetura avançada do AS/400 difere de outras arquiteturas de computadores.

A arquitetura do AS/400 é baseada em um modelo desenvolvido há mais de um quarto de século. Devido a uma abordagem de design flexível desde o início, o AS/400 foi capaz de se adaptar rapidamente às necessidades e aos objetivos modernos. Com sua arquitetura independente de tecnologia, o AS/400 possui, há anos, características e capacidades que outros sistemas de computador ainda não alcançaram.

A arquitetura de um computador, sob a ótica de um programador, é definida como o conjunto de instruções, tipos de dados, operações de entrada/saída (E/S) e outros aspectos do sistema. A arquitetura total de um computador inclui tudo o que um programador precisa saber para garantir que um programa funcione corretamente. Isso envolve desde a maneira como os dados são processados até as interações com o hardware de entrada e saída.

Do ponto de vista do hardware, um computador possui cinco componentes principais: entrada, saída, memória, caminho de dados e controle. Os dois últimos componentes são frequentemente combinados e chamados de processador. A arquitetura do computador define quais operações podem ser realizadas por esses componentes. O processador recebe instruções e dados da memória, o hardware de entrada escreve dados na memória, e o hardware de saída lê dados da memória. O hardware de controle gera os sinais necessários para realizar as operações nos demais componentes do sistema.

É importante destacar que, embora muitos se referem ao processador como a Unidade Central de Processamento (CPU), o termo está sendo cada vez menos utilizado devido às novas tecnologias de hardware que permitem embutir processadores inteiros em um único chip semicondutor. Hoje, usamos os termos processador e chip de processador de maneira intercambiável, mas nem todos os processadores cabem em um único chip, e em alguns casos, é necessário um design multi-chip.

Os computadores modernos têm várias camadas de abstração no seu hardware e software. As camadas mais baixas, que lidam com detalhes eletrônicos, são ocultas para oferecer modelos mais simples nas camadas superiores. No nível mais básico, o circuito eletrônico de um computador é muito simples, processando apenas dois comandos, "ligado" e "desligado", ou, em termos binários, "1" e "0". Uma instrução, portanto, não passa de um número no sistema binário. A evolução do design de computadores permitiu que programadores usassem linguagens mais abstratas, como a linguagem de montagem e, posteriormente, linguagens de programação de alto nível como C, COBOL e RPG, facilitando a criação de programas mais complexos.

Entender a arquitetura de um sistema como o AS/400 não é apenas uma questão de conhecer a tecnologia por trás do hardware, mas de perceber como ela reflete uma evolução contínua da necessidade de maior desempenho e flexibilidade, sem sacrificar a compatibilidade e a estabilidade do sistema. Com a abordagem modular e independente de tecnologia do AS/400, os clientes podem atualizar seus sistemas sem os custos exorbitantes e as disrupções que outras migrações de arquitetura exigem. Assim, a arquitetura do AS/400 garante que os investimentos feitos pelos clientes sejam protegidos e, ao mesmo tempo, permite que eles aproveitem as inovações tecnológicas sem complicações desnecessárias.

Quais são os Modelos de Servidores em Computação Cliente/Servidor?

A computação cliente/servidor é uma arquitetura fundamental para muitas organizações, oferecendo uma maneira eficiente de distribuir funções entre máquinas e usuários. Quando se analisa o papel do servidor em um modelo cliente/servidor, podemos classificá-los em diferentes tipos, dependendo das funções que o servidor oferece. Esses modelos ajudam a definir como as interações entre clientes e servidores ocorrem, proporcionando uma compreensão mais profunda do funcionamento das redes e sistemas empresariais modernos.

O primeiro modelo de servidor que podemos abordar é o de servidor de impressão e de arquivos. Este modelo envolve um servidor único, que pode ser um PC, e vários clientes conectados por uma rede local (LAN). O servidor oferece serviços de impressão e armazenamento, permitindo que todos os clientes compartilhem recursos como impressoras e discos rígidos. Esse modelo remonta ao ano de 1973, quando o primeiro computador pessoal (PC), o Alto, foi desenvolvido no Xerox Palo Alto Research Center. Este computador foi pioneiro ao integrar funções de entrada/saída no microcódigo de um processador de 16 bits e se conectar à rede Ethernet, permitindo o uso de uma impressora a laser, o que marcou o início da computação em rede como conhecemos hoje. Apesar do avanço das tecnologias, este modelo de servidor ainda é amplamente utilizado em ambientes de trabalho menores devido à sua simplicidade e baixo custo de implementação.

À medida que as necessidades das organizações se tornam mais complexas, surgem modelos mais sofisticados. O segundo modelo de servidor que podemos destacar é o de servidor de banco de dados. Em vez de transferir arquivos inteiros entre máquinas, esse modelo permite que apenas subconjuntos de dados ou resumos das informações armazenadas sejam enviados em resposta a uma consulta. As consultas são geralmente realizadas em linguagens como SQL, e o servidor retorna apenas os dados necessários, o que torna o processo muito mais eficiente. Esse modelo é essencial para sistemas de suporte à decisão, que são usados para analisar dados e gerar relatórios, permitindo aos usuários tomar decisões informadas. É comum que empresas separem seus bancos de dados operacionais dos bancos de dados usados para suportar decisões, criando o que é conhecido como "data warehousing" ou armazenamento de dados, para garantir que informações atualizadas sejam constantemente transferidas entre sistemas.

Além disso, a mineração de dados tornou-se uma aplicação popular em bancos de dados de suporte à decisão. Ao contrário dos sistemas tradicionais, que dependem de um conhecimento prévio das relações entre os dados, a mineração de dados permite que as empresas descubram novos padrões e relações dentro de grandes volumes de informações, ajudando-as a otimizar seus processos de negócios e aumentar a competitividade.

Um terceiro modelo de servidor é o servidor de transações. Nesse modelo, o cliente envia uma solicitação SQL ao servidor, que executa uma série de comandos SQL ou outro programa residente no servidor sem interagir com o cliente. Esse processo é conhecido como "transação", e é o cerne de sistemas de banco de dados que precisam realizar operações complexas e consistentes sem envolver diretamente os usuários em cada etapa do processo. O uso de procedimentos armazenados é uma das formas pelas quais as transações são implementadas, permitindo que o servidor execute operações de forma eficiente e sem interrupções.

O quarto modelo que merece destaque é o de servidor de groupware. Groupware refere-se a tecnologias que facilitam a colaboração entre pessoas em um ambiente de trabalho, permitindo que várias pessoas contribuam para a criação de documentos, realizem conferências ou troquem e-mails. Servidores de groupware oferecem funcionalidades como gerenciamento de documentos, e-mail e conferências, permitindo que equipes distribuídas possam trabalhar juntas em tempo real, independentemente de sua localização. Esse modelo tem sido crucial para empresas que buscam melhorar a comunicação interna e a colaboração, especialmente em um mundo cada vez mais globalizado.

É importante destacar que, em ambientes corporativos de grande porte, os servidores frequentemente precisam integrar vários desses modelos para garantir que as necessidades complexas de processamento, armazenamento e comunicação sejam atendidas de forma eficaz. Por exemplo, uma empresa pode usar servidores de banco de dados para análise de dados operacionais, servidores de transações para processamento de pedidos e servidores de groupware para colaboração entre equipes. Cada um desses servidores desempenha um papel distinto, mas todos são essenciais para o funcionamento de um sistema de TI moderno.

Além disso, a escolha do modelo de servidor deve ser alinhada aos objetivos e à escala de operação da organização. O modelo de servidor de arquivos e impressoras pode ser suficiente para pequenas empresas ou grupos de trabalho, mas modelos mais sofisticados, como servidores de banco de dados e de transações, são necessários à medida que a organização cresce e as necessidades de processamento de dados se tornam mais complexas. A compreensão dessas diferenças e da forma como cada tipo de servidor pode ser implementado dentro de uma arquitetura maior é fundamental para qualquer profissional de TI ou gestor que precise tomar decisões sobre a infraestrutura de rede de uma organização.

Como o Sistema I/O do AS/400 Garante a Comunicação entre Sistemas Distribuídos

O sistema I/O do AS/400 é composto por várias camadas interligadas que garantem a comunicação eficiente entre os dispositivos e sistemas. Cada camada desempenha um papel crucial no estabelecimento de uma comunicação de rede robusta, seja entre sistemas locais ou remotos, e utiliza protocolos avançados para garantir que os dados sejam transmitidos de maneira eficiente e sem erros.

No contexto do AS/400, o gerenciamento da comunicação é feito através de componentes como o "Function Manager" (FM), o "Station IOM" e o "Line IOM". Esses elementos trabalham juntos para facilitar o envio e recebimento de dados entre sistemas, com um foco específico na implementação de protocolos de comunicação como o APPC (Advanced Program-to-Program Communication) e o APPN (Advanced Peer-to-Peer Networking).

O Function Manager (FM), componente essencial do OS/400, serve como a interface entre as aplicações e o limite do MI (Machine Interface). Sua função principal é garantir que a apresentação dos dados à aplicação seja feita de acordo com o que é esperado. Em termos de comunicação, o FM gerencia as camadas superiores do protocolo de comunicação. No caso do nosso exemplo, o FM é responsável pelo suporte à comunicação avançada de programa para programa, ou seja, o APPC.

O APPC, inicialmente implementado no System/38, possibilita sessões paralelas entre sistemas, permitindo que múltiplas aplicações em sistemas separados se comuniquem simultaneamente. A evolução do APPC para o APPN no AS/400 trouxe novas funcionalidades, como a busca distribuída por diretórios de rede, localização de sistemas remotos e a escolha da melhor rota para a comunicação entre os sistemas, com base nas configurações do serviço. O APPN também adiciona suporte a múltiplas conectividades de rede, permitindo que sistemas com diferentes serviços de rede possam se comunicar sem a necessidade de modificações nas aplicações existentes.

A conexão remota de sistemas através de I/O começa com o uso de um comando SQL CONNECT, que identifica um arquivo de dispositivo. Em nosso exemplo, utilizamos um modem para conectar um AS/400 local a um sistema remoto. O suporte DRDA do banco de dados AS/400 gerencia a transmissão de dados, passando o controle para o FM, que prepara a estrutura de I/O e cria o pedido de comunicação, chamado de REQIO. Este pedido inclui um ponteiro para a fila de respostas (MIRQ), um ponteiro para o descritor do dispositivo (DEVD), e um ponteiro para o buffer de dados (SSD), onde os dados a serem transferidos são armazenados.

A Station IOM desempenha um papel vital ao receber os pedidos do FM para estabelecer conexões com sistemas remotos. Este componente é responsável por gerenciar as camadas intermediárias do protocolo de comunicação, como controle de caminhos e rede. Cada tipo de caminho de comunicação tem um correspondente "Station IOM", que assegura que os dados sejam transmitidos corretamente entre os sistemas. No exemplo dado, estamos estabelecendo uma conexão de peer-to-peer usando o APPN Station IOM, que envolve o pedido de I/O com a informação de controle necessária para a sessão remota.

O Line IOM é responsável pela implementação dos protocolos de enlace de dados, permitindo uma interface transparente entre a Station IOM e a rede física subjacente. Ele gerencia o fluxo de dados e identifica as conexões físicas. Para o nosso exemplo, estamos utilizando o protocolo SDLC (Synchronous Data Link Control), um protocolo de comunicação confiável, que garante a integridade e a ordem dos dados enviados.

Por fim, o IPCF (Interprocess Communication Facility) é utilizado para enviar o pedido de I/O para o hardware, comunicando-se com o IOP (Input/Output Processor) que, por sua vez, está conectado à linha de comunicação física, como o modem. O IPCF usa os descritores do dispositivo para localizar o dispositivo correto, e os dados são então transmitidos pela rede até o destino.

Além disso, é importante destacar a complexidade dos controles de I/O, os quais são gerenciados por estruturas de controle como o Control Address Table (CAT) e outros blocos de controle, como o Available Message Queue (AMQ) e o Bus Control Table (BCT). Estes blocos contêm informações cruciais para garantir que os processos de comunicação sejam realizados de maneira eficaz, sendo atualizados durante a inicialização do sistema e acessados tanto pelo hardware quanto pelo software.

A maneira como o AS/400 gerencia o tráfego de dados, desde a camada de aplicações até a rede física, exemplifica uma abordagem altamente estruturada e flexível para garantir a comunicação em sistemas distribuídos. A integração de camadas de software e hardware permite que as organizações mantenham uma rede robusta e eficiente, adaptando-se às mudanças nas necessidades de comunicação e à evolução dos requisitos de rede.

A implementação do protocolo APPN, por exemplo, não só melhora a comunicação entre sistemas distantes, mas também facilita o gerenciamento de sistemas distribuídos em larga escala. Ao combinar funcionalidades avançadas como busca de diretórios, roteamento dinâmico e suporte a múltiplas redes, o AS/400 oferece uma solução de comunicação altamente escalável, capaz de atender às exigências das infraestruturas de TI modernas.