FAQ

O que é o AS/400?

AS/400 é uma família de computadores concebida nos mais modernos e sólidos conceitos computacionais. Uma plataforma com solução total para aplicações comerciais e até mesmo científicas, dado graças ao poder de fogo dos novos processadores RISC PowerPC de 64 bits, o AS/400 é empregado em mais de 500 mil sistemas em 120 países e 46 línguas diferentes por todo o mundo, o que o torna um dos mais populares computadores corporativos do mundo.
 
A plataforma AS/400 utiliza o sistema operacional próprio OS/400, implementando independência da tecnologia do hardware, ou seja o sistema operacional e as aplicações não necessitam interagir diretamente com o hardware, mas apenas com uma interface própria, independente de tecnologia; uma camada de microcódigo abaixo desta interface perfaz todas as interações com o hardware. Sendo assim as aplicações e o próprio sistema operacional não necessitarão serem recompilados para se ajustar a uma nova tecnologia ou a um "upgrade" do hardware.
 
Outra característica notável é o armazenamento de nível único, com ele o sistema resolve de forma elegante o problema da memória virtual, estendendo-a a todo o espaço disponível de armazenamento da máquina. De fato as unidades de disco do sistema e a memória RAM são vistas indistintamente como parte de um grande endereçamento, denominado de armazenamento de nível único. As capacidades de endereçamento de um sistema AS/400 são imensas, atualmente possuindo endereços efetivos de 64 bits, porém no projeto AS/400 foi reservado ponteiros de 128 bits para o endereçamento, o que possibilita estender ainda mais essa capacidade.
 
O banco de dados DB2/400 é de fato um dos primeiros bancos de dados relacionais do mundo, possuindo tudo aquilo que modernos bancos de dados possuem. Um ponto interessante é que o DB2/400 é nativo no AS/400, possuindo parte do seu código implementada em hardware (microcódigo da máquina) e parte no sistema operacional, o que incrementa ainda mais sua segurança e desempenho.
 
Como servidor de arquivos, o AS/400 possui um complexo sistema de arquivos, que agrega em si: os objetos nativos do sistema nas chamadas bibliotecas (ou libraries), um sistema de arquivos padrão POSIX para compatibilidade com ambientes UNIX, um sistema de arquivos PC, um sistema de Shared Folders para aplicações de escritório (Office Vision/400), um sistema de arquivos para oferecer um servidor Lan Manager a partir de um sistema AS/400 e um sistema de arquivos para servidor de dados ótico, ou melhor dizendo, unidades de CD-ROM. Essa estrutura é denominada de Integrated File System e visa prover arquivos aos mais diversos ambientes em que um AS/400 esteja conectado.
 
A segurança de um sistema AS/400 também é reforçada, sendo parte dela incrementada em microcódigo para melhor performance da máquina. Existem 5 níveis de segurança em um sistema AS/400, sendo que o último implementa nível de segurança C2.
 
Podemos acrescentar ao AS/400 um hardware especial denominado de servidor PC Integrado. Um servidor PC Integrado permite que instalemos e rodemos em um sistema AS/400 um servidor de Arquivos e Aplicações que normalmente rodariámos em um Servidor PC em nossa rede, suportando que aplicações e sistemas operacionais como o OS/2 Warp Server for AS/400, Windows NT Server 4.0, Lotus Domino, AS/400 Firewall, Novell Intranetware 4.11, dentre outros rodem nesta placa sob o controle do OS/400 como se existisse um servidor PC na rede executando essa função.
 
Com um pacote denominado de ClientAccess completa a integração do AS/400 com estações de trabalho rodando Windows, DOS e OS/2. A montagem de ambientes Client/Servidor é simplificada graças ao suporte oferecido por pacotes de desenvolvimento consagrados, como a solução com Delphi 3.0 C/S e Delphi/400.
 
Um AS/400 pode estar conectado a ambientes de rede Ethernet, Token-Ring, Fast-Ethernet, ATM, DDI (FDDI e SDDI), bem como a ambientes Frame Relay, X.25, ISDN e Wireless Networks (redes sem fio) e permitir a conexão de terminais twin-axial, dentre outras formas de conectividade. Adaptando-se perfeitamente bem a maior parte das estruturas de redes e conectividade existentes.
 
Em uma rede TCP/IP, o AS/400 pode atuar como uma solução plena, possibilitando a montagem de um servidor de Web, FTP, Mail, Telnet dentre outros serviços.
 
Diversas linguagens possuem versões disponíveis para o AS/400. O ambiente de desenvolvimento de aplicações é integrado, sendo o mesmo independentemente da linguagem adotada. Além de implementar o JAVA nativamente em sua versão mais recente do seu sistema operacional.

 

Por que AS/400?

Um sistema AS/400 oferece uma disponibilidade média acima de 99,9%, causando aos seus clientes uma média de menos de 9 horas de tempo de queda não planejada por ano. Essa alta taxa de disponibilidade conseguida com um único sistema AS/400 ultrapassa a de diversas outras plataformas que utilizam dois sistemas idênticos interligados em um ambiente de "clustering". Existem ambientes AS/400 para diversos tipos distintos de soluções e aplicações, para pequenas e grandes companhias, suportando de dezenas de a milhares de usuários. Um sistema AS/400 demostra desta forma alta confiabilidade tanto para aplicações críticas quanto para pequenos pacotes comerciais, sendo que 75% dos sistemas AS/400 hoje são usados em ambientes Client/Server para conectar mais de 12 milhões de PCs em todo o mundo. 98 das 100 empresas maiores empresas que constam na revista Fortune possuem algum sistema AS/400. A própria Microsoft implementa AS/400 em sua solução interna.
 
Com tudo isso verificamos que o AS/400 é uma plataforma sólida e bem aceita no mercado, sendo uma das mais atuais soluções multi-servidor, permitindo a um único sistema AS/400 substituir diversos servidores PC em uma rede de computadores. Aliado a isso, a integração de seus componentes é um dos motivos que o fazem uma opção a considerar na redução do TCO, custo total de propriedade, da manutenção de um ambiente de rede com centenas de estações, onde uma única máquina AS/400 pode servir a toda rede, prover arquivos e impressoras, oferecer bases de dados, filtrar o acesso a Internet atuando como um "firewall", com um mínimo de manutenção possível, o que só seria conseguido com tal eficácia por ao menos dois ou mais servidores PC.

Quais as principais características do AS/400?

Algumas características incluem DBMS rápido, uma interface dirigida por menu, suporte multi-utilizador, terminais (IBM 5250) e impressoras, segurança, comunicações e um extenso sistema operacional baseado em bibliotecas, o OS/400. No entanto o nome AS/400 também é muitas vezes aplicado ao sistema operacional. A maior vantagem é que as aplicações podem rodar sem a modificação de qualquer modelo na linha de produto, desde máquinas para desenvolvimento de um único utilizador até 8 ou 16 formas de clusters multiprocessador. A arquitectura do sistema AS/400 assim como o microcódigo, é baseada em EBCDIC e não em ASCII, o que faz com que o sistema seja dos mais seguros do mercado.

Processador

A máquina foi criada originalmente num processador CISC IBM, mas mais tarde migrou para PowerPC baseado na família de CPU RISC, eventualmente conhecida como RS64. Os modelos mais atuais são baseados em processadores POWER5.

Camada de abstração de hardware

A máquina usa a camada de abstração de hardware (HAL de Hardware abstraction layer) do seu microcódigo (chamado de TIMI de Technology Independent Machine Interface pela IBM) que permite ao sistema operacional e aos programas de aplicação tirar vantagem do hardware e software sem recompilação. Isto significa que um programa escrito e compilado num S/38 pode rodar como um programa de 64 bits nativo. O HAL permite que um sistema de preço razoável rode exatamente o mesmo sistema operacional e software como um outro sistema que custa cerca de 2 milhões de dólares.

Gerenciamento de tarefas

Adicionalmente, as tarefas tais como manuseamento de bloqueios de gravação e atualizações de filas são geridas automaticamente pelo sistema, fazendo com que aplicações multi-usuário sejam fáceis de criar, manter, e extremamente confiáveis.

Linguagens de programação

As linguagens de programação disponíveis para esta máquina incluem RPG, assembly, C, Java, COBOL, SQL, BASIC, PHP, Delphi/400 e REXX. Várias ferramentas CASE para Engenharia de software estão disponíveis: Synon, AS/SET, GeneXus e o Lansa. Atualmente, o sistema permite que uma aplicação seja composta por várias linguagens de programação que, depois de complidadas, criam objetos que são chamados através de CL/ILE Control language, ou mesmo diretamente pelo seu nome final. Chama-se a este ambiente ILE, Integrated Language Environement.

O que é o OS/400?

OS/400 é um sistema operacional desenvolvido pela IBM Corporation e utilizado pela primeira vez em 1988 nos sistemas AS/400. Atualmente denomina-se por i5/Os na versão 5.3.

Quais as caracterítiscas do OS/400?

Baseado em objetos – é um sistema operacional baseado em objetos que podem ser “modelados", ou seja, torna o sistema operacional independente do hardware o que lhe permite que a sua utilização em sistemas diferentes seja possível sem a sua compilação. Exemplos de tipos de objetos são: diretórios, perfil de utilizadores, bilbiotecas, device descriptions, etc...

Flexibilidade de aplicações – suporta aplicações de outros sistemas operacionais, por exemplo do Linux, do Windows, do NT2000, do UNIX, etc

Multiutilizador e multitarefa – permite vários utilizadores em sessão simultânea, bem como varias tarefas.

Linha de comandos CL (command language) – este sistema operacional possui uma linha de comandos com comandos próprios designados por Command Languages (CL)

· CRT - create
· DEL - delete
· WRK - work
· CHG - change
·RNM - Rename

Integridade e segurança – possui cinco níveis de segurança que tornam este sistema operacional seguro e confiável.

SO primário dividido em duas partes – está dividido em duas partições o que permite a instalação e execução de outros sistemas operacionais, sem que estes entrem em conflito dado que este sistema operacional consegue distribuir os seus recursos (memória interna, espaço em disco e tempo de processamento).

Armazenamento num único plano – a informação é armazenada na mesma estrutura o que torna mais fácil e rápido o acesso à informação.

Funções:

Control Language – conjunto de comandos utilizados para gerir e navegar no sistema.
Data Management – permite ao utilizador consultar e administrar informação.
Work management – permite executar várias tarefas ou trabalhos em simultâneo.
Programmer services – fornecem a sustentação para fazer desenvolvimento de programas.
System operator services – o operador de sistema presta serviço de manutenção.
Communication support – o programa OS/400 suporta uma larga escala de funções de comunicação que permite que o seu sistema AS/400 comunique com outros sistemas.
Security – o sistema implementa um conjunto de elementos que garantem a segurança dos dados e dos recursos.

Segurança – Níveis

GO SECURITY – comando de verificação do nível de segurança implementado no sistema.
Nível 10 – tem acesso total ao sistema sem recorrer a senha. Este nível já não é utilizado.
Nível 20 – é necessário a introdução de senha e dá acesso a todos os recursos do sistema.
Nível 30 – requer senha para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objetos e recursos do sistema.
Nível 40 - requer senha para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objetos e recursos do sistema. Os programas falham se tentarem ter acesso a objectos através de interfaces não suportadas.
Nível 50 - requer senha para iniciar sessão e os utilizadores têm de possuir permissões para ter acesso a objetos e recursos do sistema. Os programas falham se tentarem passar valores de parâmetros não suportados para interfaces suportadas ou se tentarem ter acesso a objetos através de interfaces não suportadas.

Outros Comandos CL:

CHGCURLIB – Alterar a Biblioteca corrente
EDTLIBL – Editar Lista de Bibliotecas
DLTLIB – Eliminar Biblioteca
CRTLIB – Criar Biblioteca
ADDLIBLE – Adicionar Entrada de Lista de Biblioteca
RMVLIBLE – Remover Entrada da Lista de Biblioteca

Comandos CL para Processos

WRKACTJOB – Trabalhar com processos/ trabalhos ativos
WRKJOB – Trabalhar com trabalho
WRKSBSJOB – Trabalhar com trabalhos de subsistema
WRKSBMJOB – Trabalhar com trabalhos submetidos
WRKUSRJOB – Trabalhar com trabalhos de utilizador
CHGSYSJOB – Alterar o sistema de trabalho
CHGJOB – Alterar trabalho
WRKRDR – Trabalhar com Leitor
WRKWTR – Trabalhar com Escritor
WLSJOB – Libertar Trabalho
RLSJOB – Libertar trabalho se estiver na condição de retido
RLSRDR – Libertar Leitor
RLSWRT – Libertar Escritor
SBMJOB – Submeter Trabalho
HLDJOB – Reter Trabalho
SPLFILE - Reter arquivo em Spool
HLDRDR – Reter Leitor
HLDWTR – Reter Escritor
ENDJOB – Terminar trabalho
ENDRDR – Terminar leitor
ENDWTR – Terminar escritor
 

O que é o CL/ILE?

Control Language/Integrated Language Environement, ou Linguagem de controle/Ambiente Integrado de Linguagens. O CL é a linguagem de controle do sistema AS400, um conjunto de comandos que servem para operar e configurar o sistema. Usualmente é através desta linguagem que se fazem executar os programas, tenham sido feitos em que linguagem for. Serve esta, para passar parâmetros, de programa a programa ou vindos de Menu ou de arquivos de tela. Serve também para selecionar e/ou ordenar registros de bases de dados, para tratamento em programas e chamar os programas. Por conseguinte poderá ser a base ou "esqueleto" de uma aplicação. Podem-se usar comandos de CL de dentro de um programa de CL/ILE.

O que é a Linguagem de Controle?

CL - Control Language, Linguagem de controle. É um conjunto de comandos que servem para operar e configurar o sistema. CL400 ou CL/ILE, é também uma linguagem de programação própria do AS400. Usualmente é através desta linguagem que se fazem executar os programas, tenham sido feitos em que linguagem for. Serve esta, para passar parametros, de programa a programa ou vindos de Menu ou de arquivos de tela. Serve também para selecionar e/ou ordenar registos de bases de dados, para tratamento em programas e chamar os programas. Por conseguinte poderá ser a base ou "esqueleto" de uma aplicação. Podem-se usar comandos de CL de dentro de um programa de CL/ILE.

Um pouco de História...

Era uma vez em Minnesota...
 
Normalmente seria de se esperar que, como a maior parte dos sistemas computacionais do mundo, o AS/400 fosse produzido na ensolarada costa leste dos EUA baseado em idéias e pesquisas desenvolvidas anteriormente por alguma das universidades ou dos institutos de pesquisa da região. Bem longe do vale do Sílicio, em um local onde o frio se faz constante, estamos em uma cidadezinha chamada de Rochester, no Estado de Minnesota nos EUA, onde um dos laboratórios de desenvolvimento da IBM idealizou uma linha de computadores comerciais que daria origem a moderna plataforma AS/400.
Talvez pela distância, talvez pelo fato de ser originada de uma equipe de desenvolvimento sem experiências anteriores em desenvolvimento de computadores, o fato é que essa linha de computadores não seguiu as tendências existentes nos anos 60, resultantes de projetos como o MULTICS do MIT, e que deram origem a sistemas como o UNIX desenvolvido nos Laboratórios Bell.

Em meados dos anos 60 a equipe da IBM de Rochester desenvolveu algo que eles mesmo chamaram de "máquina gravadora de unidade", a Advanced Unit Record Systems, uma máquina que processava cartões perfurados, o que na verdade seria para Rochester algo como um projeto-piloto no seu caminho no desenvolvimento de sistemas. Usualmente a programação de sistemas de processamento de cartões perfurados é similar a um painel de controle tefefônico antigo, onde deveria-se programar a máquina através da conexão de pares de fios nesse painel, para possibilitar rodar um programa diferente por vez poderia-se trocar um painel programado por um outro com a programação do novo programa. A IBM desenvolveu anteriormente uma linguagem de programação que possibilitava manipular dados de unidades de cartão de 80 colunas, o RPG. Como a unidade de Rochester possuia cartões de 96 colunas, desenvolveu-se, baseado no RPG, o RPG II o qual tornava fácil a programação, eliminando a necessidade de programadores especializados e fazendo essa "máquina gravadora de unidade" um sistema computacional específico e otimizado bastante fácil de ser usado e adaptado pelo usuário final, surgia o System/3. Um ambiente de baixo custo em uma máquina de lote cuja a entrada era a base de cartões e a saída impressa ou estar em cartões perfurados também, em pouco tempo fez sucesso e surgiu um sistema baseado em disco com conexão a terminais. Era o primeiro computador de Rochester.

Seguindo a mesma linha de computadores de baixo custo voltados a aplicação comercial, foram desenvolvidos os System/32, System/34 e System/36 baseados na mesma arquitetura do System/3, porém acrescentando diversos melhoramentos. O System/32 era uma "mesa biônica"  surgindo em 1975 e voltado para pequenos escritórios de negócios. Em 77, o System/34 reuniu as melhores características de ambos os sistemas anteriores. Isso tudo posteriormente evoluiu ao System/36 em 1983 que entre outras inovações possuia processadores possuía processadores inteligentes separados para operações de I/O. Mas infelizmente como a arquitetura x86, ainda havia no System/36 limitações decorrentes ainda do projeto original do System/3. Era necessário inovar a própria inovação...

Começa o futuro...

A IBM propôs em 1970 a revolução: uma arquitetura totalmente independente da tecnologia empregada hardware agregado a ela, e caso a tecnologia de hardware evoluísse ou até mesmo  mudasse radicalmente os códigos internos da máquina seriam alterados sem provocar impacto algum nas aplicações desenvolvidas para os clientes. De fato colocando as funções do próprio sistema operacional que necessitem falar diretamente com  o hardware da máquina numa chamada "interface de máquina independente de tecnologia". Sendo assim, idéias novas necessitam de mentes novas e abertas a mudanças tão revolucionárias quanto estas. Uma nova equipe de desenvolvimento cuidou do que se chamou de System/38 e que foi lançado em 1978. Uma novíssima arquitetura que diferia de tudo que Rochester já tinha feito anteriormente, necessitando contudo de uma maior incremento em memória e hardware que o seu antecessor, o System/36.

O System/38 viria a ser a base da arquitetura do projeto Silverlake, uma nova plataforma de hardware e software implementada em Processador CISC que utilizava o melhor do System/36, como por exemplo a interface com o usuário e os múltiplos processadores dedicados a I/O, e do System/38, como a independência de tecnologia e o ambiente de desenvolvimento de aplicação, as bases do Silverlake estavam lançadas, baseadas em um sistema operacional totalmente orientado em objetos, com memória de nível único, maximizando o uso da memória e dos recursos da máquina e implementação de alto nível de segurança e confiabilidade, com toda a força proporcionada por 48 bits. E do projeto Silverlake, surge em 1983 o Aplication Systems/400, ou simplesmente AS/400. O futuro começava em 1983.

Com a força dos 64 bits...

Como uma inovação tecnológica, o AS/400 foi personagem de uma série de outras inovações tecnológicas da indústria, implementando multi-processamento simétrico fortemente acoplado, graças a memória de nível único, desde 1990. Em 1994, se tornaria a primeira plataforma a rodar em um processador PowerPC de 64bits. Com toda a força computacional de um processador RISC, o AS/400, agora intitulado de Advanced Series/400, cujo foco inicial é o ambiente comercial ganha um forte poder computacional não apenas para aplicações comerciais críticas, como também para aplicações científicas. A independência de tecnologia de hardware, implementada desde o System/38 permitiu a todos migrarem de máquinas AS/400 CISC para a nova tecnologia RISC sem a necessidade de recompilar uma única linha de código.

Eis nosso AS/400...

Um microcódigo enxuto cuida das interações com o hadware, livrando o sistema operacional de "conhecer" e se adaptar a tecnologia de hardware empregada; um banco de dados relacional e profundamente integrado ao sistema, com implementação de parte do código no micro-código acompanha desde as origens o AS/400, denominado de DB2/400; um ou mais barramentos de I/O com processadores inteligentes dedicados às operações de I/O; barramento óptico interno em modelos mais robustos do AS/400; multi-tasking incorporado; armazenamento de nível único, gerenciando melhor os recursos de memória e dispositivos de armazenamento; nível C2 de segurança; completa integração com ambientes computacionais baseados em PC e UNIX, graças a um sistema integrado de arquivos; ambiente computacional cliente-servidor e interativo; completa integração com a Internet e suíte de protocolos TCP/IP; alto nível de conectividade são algumas das coisas que fazem do AS/400 hoje uma das mais arrojadas arquiteturas do mundo.

Quais são as diferenças entre o comando SAVLIB (Save Library) com LIB (*NONSYS), LIB(*IBM), ou LIB(*ALLUSR)?

Quando você executa um SAVLIB LIB(*NONSYS, *IBM, ou *ALLUSR), são salvas certas bibliotecas em ordem alfabética nas mídias de backup que você seleciona. Executando um SAVLIB LIB (*IBM) e um SAVLIB LIB(*ALLUSR) salva as mesmas bibliotecas como SAVLIB LIB(*NONSYS), mas restaurando de um SAVLIB LIB (*IBM) e SAVLIB LIB(*ALLUSR) requer dois comandos de restore em vez de um. SAVLIB LIB(*NONSYS) salva todas as bibliotecas opcionais OS/400 (por exemplo, QHLPSYS, QUSRTOOL), bibliotecas de programa autorizadas (por exemplo, QRPG, QCBL), bibliotecas de IBM com dados de usuário (por exemplo, QGPL, QUSRSYS), e todas as bibliotecas de usuário. Você deveria executar um SAVLIB LIB(*NONSYS) regularmente em seu sistema e quando são atualizadas as bibliotecas de usuário. Antes de você usar SAVLIB LIB (*NONSYS), seu sistema deve estar em modo restrito; para alcançar isto, feche todos os subsistemas com o comando ENDSBS (End Subsystem) ou ENDSYS (End System). SAVLIB LIB(*IBM) salva bibliotecas opcionais OS/400, bibliotecas de programa autorizadas, e bibliotecas de usuário que começam com a letra Q que normalmente designa bibliotecas IBM-supplied. (Para evitar confusão, você deveria evitar criar bibliotecas de usuário que começam com " Q "). Você deveria executar um SAVLIB LIB(*IBM) depois de aplicar uma nova release, instalando um produto de programa autorizado novo, ou instalar PTFs.

 (SC41-5304) para mais informação sobre o save-while - característica ativa.). A propósito, restaurando bibliotecas usando o comando RSTLIB (Restore Library) com SAVLIB(*IBM) exige que o sistema esteja em modo restrito.


SAVLIB LIB(*IBM) não exige que seu sistema esteja em modo restrito. Porém, se você rodar SAVLIB LIB(*IBM) enquanto o sistema é irrestrito, tenha certeza as bibliotecas especificadas não estejam em uso. Se objetos de uma biblioteca estiverem em uso enquanto for salvo com SAVLIB LIB(*IBM), esses objetos não serão restaurados a menos que você use a característica ativa save-while. (Veja OS/400 Backup and Recovery


SAVLIB LIB(*ALLUSR) salva todas as bibliotecas de IBM com dados de usuário e todas as bibliotecas que os usuários criaram, mas não salva bibliotecas de usuário que começam com a letra Q. Como o comando SAVLIB (*NONSYS), você deveria executar um SAVLIB(*ALLUSR) regularmente. SAVLIB LIB(*ALLUSR) não exige que o sistema esteja em modo restrito. Porém, se você rodar SAVLIB LIB (*ALLUSR) enquanto o sistema é irrestrito, qualquer biblioteca objeto em uso não será restaurado a menos que você use a característica save-while ativa.

 


Debbie Saugen é o técnico owner do IBM’s AS/400 Backup and Recovery and a Senior Business
Recovery Specialist for IBM Business Recovery Services. Você pode localiza-lo em dsaugen@us.ibm.com

 

 

 

 

A IBM fez alguma melhoria de desempenho para salvar objetos em diretórios AS/400 Integrated File System (IFS) ?

Uma PTF SF57986 recentemente lançada para V4R4 pode melhorar a performance da salva quando você usa o coamndo SAV para salvar um grande número de objetos em diretórios de IFS. Tipicamente, quanto mais objetos você salvar, maior será a melhoria de desempenho.
Debbie Saugen é technical owner of IBM’s AS/400 Backup and Recovery and a Senior Business Recovery Specialist for IBM Business Recovery Services. Você pode localiza-lo em dsaugen@us.ibm.com <mailto:dsaugen@us.ibm.com>.