sexta-feira, 14 de novembro de 2008

Conceitos do AS/400 - Conjuntos de Memória


No AS/400 , toda a memória principal pode ser dividida em atribuições lógicas denominadas conjuntos de memória.
Deste modo, controlam-se os recursos e a quantidade de trabalhos que pode ser realizado num determinado subsistema, dimensionando-se o número e o tamanho dos conjuntos de memória.
Quanto maior for o tamanho de memória de um subsistema, mais trabalhos se podem realizar nesse subsistema.

A existência de vários conjuntos de memória, ajuda a controlar a competição entre trabalhos pelos recursos disponíveis do sistema. Por exemplo, podemos crer que os trabalhos interactivos durante o dia tenham melhor tempo de resposta do que os trabalhos batch, e o contrario durante o período nocturno.
Por defeito, o sistema gere a transferência de dados e programas para o conjuntos de memória. Se os dados já se encontram na memória principal, podem ser consultados, independentemente do conjunto de memória onde estão.
No entanto, se os dados necessários não existirem em nenhum conjunto de memória, serão trazidos para o conjunto de memória do trabalho que os consultou (o que constitui uma falha de pagina).

Quando finalmente os dados são transferidos para o conjunto de memória, outros dados serão deslocados e, caso sejam modificados, automaticamente guardados na memória auxiliar (a este processo chamamos paginação).
O conjunto de memória deve possuir tamanho suficiente para permitir um nível razoável de transferência de dados (paginação), uma vez que a velocidade de transmissão afecta o rendimento.

Existem conjuntos de memória privados, definidos exclusivamente pelos utilizadores que contêm apenas uma determinada quantia de memória principal e que apenas pode ser utilizado por um único subsistema para a execução dos trabalhos.
Como conjuntos de memória partilhados, temos:

*MACHINE – Conjunto de memória de maquina utilizado em programas de maquina e de sistema operativo altamente partilháveis. Disponibiliza memoria para tarefas que o sistema deve executar que não precisem da atenção do utilizador. O seu tamanho está especificado no valor de sistema relativo ao tamanho dos conjuntos de memória (QMCHPOOL) e não existem trabalhos de utilizador executáveis neste conjunto de memória.

*BASE – Conjunto de memória Base, que contem toda a memória principal não atribuída do sistema, ou seja toda a memória principal que não é necessária para qualquer outro conjunto de memória. Este conjunto de memória é utilizada para trabalhos Batch e diversas funções do sistema. O valor de sistema (QBASPOOL) define o tamanho mínimo deste conjunto de memoria.
Existem ainda alguns conjuntos de memória principal, que por poderem ser utilizados por vários subsistemas em simultâneo, se designam por conjuntos de memória partilhada:

*INTERACT é o conjunto de memoria interactivo utilizado para trabalhos intercativos;

*SPOOL é o conjunto de memória utilizado para escritores em Spool (impressão);

*SHRPOOL1 a *SHRPOOL60 são conjuntos de memória que podem ser utilizadas pelo utilizador;

O comando WRKSYSSTS , trabalhar com o estado do sistema, permite-nos trabalhar com informação sobre o estado actual do sistema, apresentando o numero de trabalhos em sistema, a capacidade total do conjunto de memoria auxiliar do sistema, etc.

quinta-feira, 30 de outubro de 2008

Conceitos AS/400 - Subsistemas


Um subsistema (*SBSD) é o local onde determinado trabalho é realmente processado num sistema AS/400.
Cada subsistema é um ambiente único, predeterminado através do qual o sistema coordena o fluxo do trabalho e a utilização dos recursos necessários á execução do trabalho.

Todos os trabalhos, á excepção dos trabalhos de sistema, são executados em subsistemas, e conforme o número de utilizadores e de trabalhos no sistema vai aumentando, é recomendado dividir esses trabalhos por vários subsistemas permitindo assim uma melhor gestão dos trabalhos , aumentando-se o rendimento e a disponibilidade do sistema.
Seria catastrófico se todos os trabalhos dos utilizadores fossem encaminhados para um único subsistema.

O subsistema de controlo é um subsistema interactivo que se inicia automaticamente, quando o AS/400 é ligado, e também onde o operador de sistemas controla o sistema através da consola do sistema.

Este subsistema de controlo encontra-se identificado , no valor de sistema QCTLSBSD , que faz parte de uma tabela denominada de “valores de sistema” que contêm especificações de sistema que podem ser utilizadas para controlar e alterar a operação global do AS/400.
A IBM fornece de fábrica , duas descrições alternativas de subsistema de controlo completas:
QBASE (o subsistema de controlo predefinido) e o QCTL.

Apenas um destes sistemas de controlo pode estar activo.

O subsistema QBASE, é capaz de executar todas as funções executáveis do QCTL (trabalhos interactivos, trabalhos batch e de comunicações) , mas é mais fácil de gerir pois é constituído por um numero menor de subsistemas .

1.QBASE

QSERVER – Subsistema do servidor de ficheiros;

QSPL – Subsistema de Spool que suporta trabalhos leitores e escritores;
QSYSWRK – É o subsistema de trabalho do sistema, contém trabalhos que suportam funções de sistema que são iniciadas automaticamente no arranque do sistema e quando este sai de um estado restrito;
QUSRWRK – É o subsistema de trabalhos dos utilizadores, contém trabalhos que são iniciados pelos servidores para realizar trabalho em nome de um utilizador;
A configuração predefinida QCTL, permite mais controlo individualizado sobre as operações de sistema, mediante a divisão da actividade do sistema em diferentes subsistemas com base no tipo de actividade.

2.QCTL

QINTER – Este é o subsistema que suporta trabalhos interactivos, exepto os que se encontram na consola;

QBATCH – Este é o subsistema que suporta trabalhos batch;

QCMN - Este é o subsistema que suporta trabalhos de comunicações ;

QSERVER - É o subsistema do servidor de ficheiros;

QSPL – É o subsistema de Spool que suporta trabalhos leitores e escritores;

QSYSWRK – É o subsistema de trabalhos do sistema. Contem trabalhos que suportam funções de sistema que são iniciadas automaticamente no arranque do sistema e quando este sai do estado restrito;

QUSRWRK – É o subsistema de trabalhos dos utilizadores. Contem trabalhos que são iniciados pelos servidores para realizar trabalho em nome de um utilizador;

É possível e desejável, criar uma configuração de subsistema própria, sendo a QCTL muito mais fácil de utilizar como ponto de partida.

Quando todos os subsistemas, incluindo o subsistema de controlo, são terminados, é criada uma condição restrita. O comando ENDSBS permite desligar um ou todos os subsistemas activos (no exemplo desligamos todos os subsistemas .

Ex. ENDSBS SBS(*all) OPTION (*IMMED)

O comando WRKSBSD permite criar, alterar, apagar, visualizar, e trabalhar com os trabalhos de determinado subsistema, e iniciar ou parar um determinado subsistema.

segunda-feira, 20 de outubro de 2008

Conceitos AS/400 - Jobs/Trabalhos

O AS/400 tem duas formas de processamento : interactivo e batch.

Um trabalho interactivo, inicia-se quando um utilizador efectua o seu login na sua estação de trabalho (sign on), sendo criada uma sessão de trabalho interactiva, através da qual o utilizador pode interagir com o sistema de forma interactiva.

Quando o utilizador termina a sua sessão (sign off) encerra também o trabalho interactivo.
Através da sua sessão interactiva, o utilizador, pode submeter um trabalho batch, utilizando por exemplo o comando SBMJOB (Submit Job), comando que coloca o trabalho numa fila de trabalhos (Job Queue) aguardando pela sua vez para ser executado.

Quando o subsistema que controla a fila de trabalhos respectiva, ficar disponível, esta executará em “background” o trabalho submetido.

Cada trabalho, tem o seu próprio nome qualificado , que consiste em três partes: um numero do trabalho (Job Number) que é um numero único atribuído pelo sistema, um nome do utilizador que submeteu o trabalho ou sobre o qual corre o trabalho (User Name) e por ultimo o nome do trabalho (Job Name) que é o nome da estação de trabalho que o utilizador utilizou para submeter o trabalho.

Quando procuramos um trabalho podemos utilizar o comando WRKJOB, identificando por exemplo o nome qualificado do trabalho que procuramos.

Ex. WRKJOB JOB(000578/PGPS/DSP01)

Existem vários comandos relacionados com a procura de trabalhos, um dos mais utilizados é o WRKACTJOB, que permite trabalhar com informações de estado e rendimento de todos os trabalhos activos no sistema.

Outro comando interessante é WRKUSRJOB, que nos permite trabalhar com uma lista de trabalhos de determinados utilizadores .

Cada trabalho que corre no AS/400 tem que ter associado uma descrição de trabalho (Job description), que é um objecto do sistema que contem um conjunto de informação ou atributos que especifica como um determinado trabalho deve correr no subsistema respectivo do AS/400.
Por defeito, o sistema atribui a descrição de trabalho QDFTJOBD. Como informações ou atributos de descrição de trabalho temos a data do trabalho, a fila de trabalhos, a prioridade do trabalho na fila de trabalhos, a biblioteca da fila de trabalhos, o perfil de utilizador a utilizar na execução deste trabalho, etc.

Existem trabalhos (Autostart Jobs) que se iniciam automaticamente sempre que um subsistema é iniciado. Por exemplo os subsistemas QGPL e QCTL, tem um “autostart Job” que inicia o “spooling” de impressão.
(...)

quarta-feira, 1 de outubro de 2008

Conceitos AS/400 - Ficheiros Fisicos e Lógicos


Já vimos anteriormente que um ficheiro é um objecto de uma biblioteca que contém código-fonte ou dados.

Os ficheiros de dados podem ser de dois tipos:

1 – Ficheiros Físicos:

Um ficheiro físico (PF) é um ficheiro de base de dados que contém registos de dados. Estes registos de dados são agrupados em membros do ficheiro físico, onde cada membro tem um caminho de acesso próprio para os dados.
Em regra, os ficheiros de base de dados, tem apenas um membro que, por defeito, é adicionado ao ficheiro quando este é criado.
Os ficheiros físicos podem ser o resultado da compilação das informações contidas num ficheiro origem (código-fonte) DDS (Data Description Specifications) ou das informações especificadas na utilização do comando CRTPF (criar ficheiro físico).
Os ficheiros de sources são por exemplo, um tipo de ficheiros físicos, que contém os dados necessários para a criação de objectos , tais como instruções origem de linguagem de controlo (CL), utilizadas para criar um programa CL. Um ficheiro físico origem pode conter um ou mais membros. Podemos assim concluir que um ficheiro de sources é uma especíe de pasta onde organizamos os vários ficheiros com o código propriamente dito e com os respectivos objectos executáveis (após compilação do ficheiro fonte).

Por convenção e boa prática os ficheiros source seguem um determinado padrão:

- QRPGSRC – ficheiro que guarda os membros escritos em linguagem RPG tradicional
- QCSRC – ficheiro que guarda os membros escritos em linguagem C
(…)
Analisando, verificamos que os nomes começam sempre pela letra Q e terminam com as letras SRC. Podemos pois criar um ficheiro de sources (neste caso para guardar membros escritos em linguagem RPG), na nossa biblioteca pessoal (Mendes), utilizando para o efeito o comando
CRTSRCPF File(mendes/QRPGSRC)
Os ficheiros físicos são constituídos por duas partes, uma primeira parte, que contem alguns atributos do ficheiro (nome, proprietário, tamanho, numero de registos, campos-chave, …) e as descrições dos campos que indicam os atributos para cada campo no registo.
A segunda parte do ficheiro físico contem apenas os dados.

2.Ficheiros Lógicos:

Os ficheiros lógicos (LF), ou “vistas” como são chamados no SQL/400, não contêm nenhum registo de dados, mas descrevem a forma como os registos existentes num determinado ficheiro físico devem ser apresentados.

Assim, são constituídos por três componentes principais, uma descrição , um caminho de acesso (caminho de acesso ao ficheiro físico) e apontadores para os diversos campos de dados dos ficheiros físicos. Deste modo, pode por exemplo ser criada uma vista a partir de uma base de dados (ficheiro físico) que é distinta da sua definição original.

terça-feira, 16 de setembro de 2008

Conceitos AS/400 - Sistema Ficheiros Integrado



O Sistema de ficheiros integrado é uma componente do OS/400, constituída por uma base de dados integrada que contem apenas objectos, e que suporta o input/output de sequência e gestão do armazenamento de memória de forma semelhante a um computador pessoal e ao dos sistemas operativos Unix, fornecendo ao mesmo tempo uma estrutura de integração entre todas as informações armazenadas no AS/400 (Directórios, Bibliotecas, Objectos, Documentos, Ficheiros de BD, etc).


Deste modo, o sistema de ficheiros integrado inclui cerca de onze sistemas de ficheiros, cada um com o seu próprio conjunto de estruturas e regras lógicas para interagir com informações armazenada.


Os componentes básicos do sistema de ficheiros integrados são:

- Uma estrutura hierárquica de directórios que permite a organização dos objectos numa estrutura tipo arvore.


- Suporte para armazenar informações em ficheiros de dados contínuos que podem conter cadeias de dados longas e contínuas. Estas cadeias de dados podem ser por exemplo, o texto de um documento ou os elementos de imagem de uma imagem.

- Uma interface comum que permite aos utilizadores e aplicações acederem não só aos objectos de dados contínuos, mas também a ficheiros de base de dados, documentos e outros objectos que estão armazenados no AS/400.

- Uma vista comum dos ficheiros de dados contínuos que estão armazenados localmente no seu AS/400.

Podemos assim concluir que um sistema de ficheiros fornece o suporte necessário para se aceder a segmentos específicos de armazenamento que se encontram organizados como unidades lógicas (ficheiros, directórios, bibliotecas e objectos).

Cada sistema de ficheiros tem um conjunto de estruturas e regras lógicas para interagir com as informações em memória. Estas estruturas e regras podem ser diferentes de um sistema de ficheiros para outro.


Alguns exemplos dos sistemas de ficheiros existentes:


1)Sistema de Ficheiros “raiz” (/)
O Sistema de ficheiros “raiz” (/) , tira o máximo partido do suporte de ficheiros de dados contínuos e da estrutura de directórios hierárquica do sistema de ficheiros integrado. Apresenta as características dos sistemas de ficheiros do OS/2 e DOS.

2)Sistema de Ficheiros QOpenSys
O sistema de ficheiros QOpenSys é compatível com as normas do sistema aberto com base em Unix. Á semelhança do sistema de ficheiros “raiz” (/), este sistema de ficheiros também tira partido do suporte de ficheiros de dados contínuos e de directórios, fornecido pelo sistema de ficheiros integrado.

3) Sistema de Ficheiros UDFSs
Os sistemas de ficheiros definidos pelo utilizador (UDFs – User Defined File System) residem no conjunto de memória auxiliar (ASP – Auxiliary Storage Pool) ou no conjunto de memoria auxiliar (ASP) independente á sua escolha.


4) Sistema de Ficheiros QSYS.LIB
O sistema de ficheiros QSYS.LIB suporta a estrutura de bibliotecas do servidor AS/400. Este tipo de sistema de ficheiro fornece acesso a ficheiros de base de dados e a todos os outros tipos de objectos do servidor AS/400, que o suporte de biblioteca gere no ASP do sistema e nos ASPs base do utilizador.

5)Sistema de Ficheiros QDLS
O sistema de ficheiros QDLS suporta a estrutura de pastas, facultando assim o acesso a documentos e pastas. Este sistema de ficheiros pode ser acedido através da interface do sistema de ficheiros integrado utilizando o servidor de ficheiros do AS/400 ou os comandos do sistema de ficheiros integrados, os ecrans e as APIs.


6) Sistema de Ficheiros QFileSvr.400
O sistema de ficheiros QFileSvr.400 fornece um acesso transparente a outros sistemas de ficheiros que residam em servidores AS/400 remotos. É acedido através de uma estrutura de directórios hierárquica. O Sistema de ficheiros QFileSvr.400 pode ser considerado como um cliente que actua em nome dos utilizadores para executar pedidos de ficheiros. Este sistema de ficheiros interage assim com o servidor de ficheiros do AS/400 no sistema destino para executar a operação de ficheiro real.
(…)


Pode-se interagir com os directórios e objectos do sistema de ficheiros integrado a partir do próprio AS/400, através da utilização de menus e ecrãns ou de comandos de linguagem de controlo (CL).

Para alem disso, também se pode utilizar interfaces de programas de aplicações (API’s) para tirar partido dos ficheiros de dados contínuos, directórios e outro suporte do sistema de ficheiros integrado.

Existe também a possibilidade de interagir com o sistema de ficheiros integrado através do iSeries Navigator, uma interface gráfica de utilizador (GUI – Graphical User Interface) utilizada para gerir e administrar o servidor a partir de um posto de trabalho Windows.

Por ultimo , existem alguns conceitos importantes ao nível dos sistemas de ficheiros integrados que gostaríamos de identificar:

Conceito de Directório
Um Directório é um objecto especial utilizado para localizar outros objectos (ou outros Directórios) através de um nome especificado pelo utilizador. Deste modo , cada Directório contém uma lista de objectos ou outros directórios a ele ligados.
O sistema de ficheiros integrado (IFS) fornece uma estrutura de directórios hierárquica que permite aceder a todos os objectos do sistema AS/400.

Conceito de Ligação
Uma ligação é uma ligação com nome entre um directório e um objecto. Assim, um utilizador ou programa pode indicar ao sistema onde se encontra um objecto, especificando o nome de uma ligação ao objecto.


Conceito de Nome de Caminho
Um nome de caminho indica ao sistema como localizar um objecto. O nome de caminho é expresso como uma sequência de nomes de directórios, seguida do nome do objecto. Os directórios individuais e o nome do objecto são separados por uma barra (/);
Ex, directório1/directorio2/ficheiro

Conceito de Ficheiro de dados contínuo (Stream Files)
Um ficheiro de dados continuo é uma sequencia de bytes acessível aleatoriamente, sem qualquer estrutura adicional imposta pelo sistema . Um ficheiro de dados continuo é mais adequado para o armazenamento de cadeias de dados, tais como o texto de um documento, imagem, áudio e vídeo.Os Documentos armazenados nas pastas do AS/400 são ficheiros de dados contínuos. Assim, um ficheiro de dados continuo é um objecto de sistema que tem um tipo de objectos *STMF

quarta-feira, 3 de setembro de 2008

Conceitos AS/400 - Bibliotecas

Uma biblioteca é um objecto especial que tem a função específica de conter outros objectos, um pouco como acontece com uma pasta do Windows.
No entanto, no caso do AS/400 uma biblioteca não pode conter outras bibliotecas.

Apenas a biblioteca QSYS que contem algumas das componentes do Sistema Operativo do AS/400 pode conter outras bibliotecas.
Todos os comandos que executamos estão guardados em bibliotecas específicas do sistema.

Quando não é explicitamente indicada a biblioteca onde o comando se encontra, o sistema vai procurar em cada biblioteca pela ordem em que estas se encontram na lista de bibliotecas do sistema. Por exemplo, se existirem dois comandos com o mesmo nome nos sistemas, mas em bibliotecas diferentes (única possibilidade se forem do mesmo tipo), o AS/400 vai executar aquele que estiver na biblioteca mais acima na lista de bibliotecas.

Podemos ver a lista de bibliotecas, executando o comando DSPLIBL.

Deste modo podemos afirmar que uma lista de bibliotecas (Library list), não é mais do que uma lista de procura de objectos , que nos indica quais são as bibliotecas onde estes devem ser procurados e qual a ordem de procura.

Cada objecto existente no AS/400 poder ter a sua própria lista de bibliotecas. A lista de bibliotecas de um determinado objecto é automaticamente criada quando o trabalho se inicia e termina quando o trabalho finaliza.

Existem no entanto várias maneiras de referenciarmos um objecto numa lista de bibliotecas. Podemos utilizar o nome simples do objecto, e neste caso o sistema procura cada biblioteca da lista de bibliotecas do objecto até encontrar o referido objecto.

Podemos no entanto indicar ao sistema que para todos ou apenas um determinado numero de objectos, para procurar exclusivamente e especificamente numa determinada lista de bibliotecas.

Existem uma serie de funções que podem ser executadas numa biblioteca, desde que tenha autoridade suficiente para realizar essas funções e autoridade adequada á biblioteca e respectivos objectos.
Como algumas destas funções temos:

CLRLIB – Elimina todos os objectos da Biblioteca especificada, relativamente aos quais tem autoridade para os eliminar;

CRTLIB – Adiciona uma nova Biblioteca ao sistema (dentro da Biblioteca QSYS);

CHGLIB – Permite alterar o atributo de tipo, a descrição de texto, o valor de autoridade para criar assumido e o valor de auditoria de objectos assumido de uma Biblioteca;

CPYLIB – Copia o conteúdo de uma biblioteca para uma nova biblioteca;

DLTLIB – Elimina do sistema uma biblioteca especificada, só depois de todos os objectos nela existentes terem removidos.

DSPLIB – Permite visualizar o conteúdo de uma ou mais bibliotecas especificadas (nomes e atributos de cada um dos objectos existentes nas bibliotecas);

DSPLIBD – Permite visualizar a descrição de uma biblioteca;

SAVCHGOBJ – Permite guardar objectos alterados existentes numa biblioteca;

SAVLIB – Permite guardar uma ou mais bibliotecas;

RSTLIB – Permite restaurar uma ou mais bibliotecas previamente salvaguardas com o comando SAVLIB, para o sistema;

WRKLIB – Apresenta uma lista das bibliotecas no ecrã permitindo depois copiar, eliminar, imprimir, guardar, restaurar e limpar as bibliotecas definidas;

WRKOBJ – Apresenta uma lista de todos os objectos existente numa ou mais bibliotecas;

As bibliotecas são utilizadas para organizar os objectos do AS/400, normalmente de acordo com uma lógica de relacionamento lógico. Por exemplo, todos os objectos de um determinado utilizador ou Aplicação podem estar numa biblioteca específica, de forma a facilitar as tarefas relacionadas com esses objectos, por exemplo tarefas de cópia de segurança.

As bibliotecas seguintes, são bibliotecas do Sistema OS/400 e nunca devem ser apagadas, tal como acontece com os seus objectos:

QSYS – System Library;

QSYS2 – System library for CPI’s;

QUSRSYS – Additional IBM-suplied objects;

QHLPSYS – Online Documentation for some System functions;

QGPL – Users general purpose library;

QTEMP – User’s temporary library;

QSPL – Spooling library;

QDOC – Documentation and Folders filed by Office users;

segunda-feira, 1 de setembro de 2008

Conceitos AS/400 - Objectos


Já sabemos que o AS/400 é um sistema operativo orientado a objectos,
o que o torna independente do Hardware.
Deste modo tudo o que existe e ocupa espaço num sistema AS/400 é considerado um objecto.

Cada objecto é constituído por um determinado tipo de atributos que o descrevem e o caracterizam. Estas diferenças operacionais entre os vários tipos de objectos, torna cada objecto único.

Por exemplo, um objecto que contem dados e que denominamos do tipo (*file – Objecto Ficheiro) tem características operacionais diferentes do tipo de objectos programas que contem instruções (*PGM – Objecto Programa).

Como atributos de um objecto, temos o nome, o tipo, o tamanho, a sua data de criação um pequena descrição, e o nome da biblioteca onde este se encontra.

Se na linha de comandos do AS/400, executarmos o comando DSPOBJD , ou seja ver descrição de objecto, podemos analisar todas os atributos existentes.

DSPOBJD OBJ(QSYS/QSYS2) OBJTYPE(*all)
Neste caso poderemos analisar todos os objectos (*all) por tipo (todos os tipos existentes) que existem na biblioteca QSYS2, e cujo nome do objecto é QSYS2.”


Cada objecto existente no AS/400, é representado por um nome simples (Ex. Prog02) ou por um nome qualificado (Ex. QSYS/Prog2), que é constituído pelo nome da biblioteca onde o objecto se encontra e pelo nome do próprio objecto.

Os nomes dos objectos são como números de telefone para o AS/400 pelo que cada objecto tem um nome único (biblioteca/nome e tipo de objecto).

Alguns objectos existentes no AS/400, fazem parte do sistema operativo ou dos programas licenciados da IBM, pelo que para melhor identificação, grande parte deles começam pela letra Q (Ex. QGPL, QSYS, QHLPSYS, QPRINT, QBATCH….).

Existem pois cerca de 80 tipos diferentes de objectos, dos quais destacamos por exemplo:

*AUTL – Objecto lista de autorizações , que contem uma lista dos utilizadores e das respectivas autoridades necessárias para proteger e utilizar outros objectos;

*CMD – Objecto comando, que pede uma função de sistema;

*DEVD – Objecto descrição de dispositivo, contem uma descrição do dispositivo ligado ao sistema e descreve todas as características do dispositivo;

*DTAARA- Objecto área de dados, contem um valor de dados que pode ser utilizado e alterado por diferentes trabalhos;

*DATQ – Objecto fila de dados, serve para comunicar e guardar dados utilizados por vários programas num trabalho ou entre trabalhos. Múltiplos trabalhos podem enviar e receber dados de uma única fila de dados;

*FILE – Objecto ficheiro, define um ficheiro de base de dados, um ficheiro de dispositivo ou um conjunto de registos relacionados de um ficheiro;

*JOBD – Objecto descrição de trabalho, contem um conjunto especifico de atributos relacionados com o trabalho, que podem ser utilizados por um ou mais trabalhos;

*LIB – Um objecto biblioteca, contem ficheiros, programas e outros objectos que funcionam como um directório para outros objectos;

*MENU – Um objecto Menu contem objectos utilizados para serem visualizados num Menu;

*PGM – Um objecto programa contem um conjunto de instruções que informa um computador onde obter input, como processar esse input e onde colocar esses resultados. Um programa é criado quando é compilado ou quando é criado a partir de um ou mais objectos modulo utilizando o comando criar programa (CRTPGM);
(…)

Como podemos verificar anteriormente, cada tipo de objecto tem uma forma abreviada precedida de um asterisco (Ex.*PRD), que significa que esta é uma palavra reservada ao sistema.

Alguns tipos de objectos podem ter vários atributos diferentes, como é o caso por exemplo do tipo de objecto programa (*PGM) que pode ter um atributo de RPG, CBL, C ou CLP consoante a linguagem de programação. Outro exemplo é o objecto ficheiro que pode ter por exemplo um atributo do tipo PF, LF, DSPF, DDMF ou SAVF (…). Cada um destes atributos permite aprofundar níveis ou subtipos de objectos.

Existe um comando do AS/400 que nos permite listar todos os comandos relacionados com um determinado tipo especifico de objectos , GO CMDobjecttype :

Ex. GO CMDPGM
“Deste modo vamos para um menu (Menu Comandos de Programa) onde podemos escolher todos os comandos existentes para concepção, escrita e teste de programas.”

Cada objecto existente no sistema tem um proprietário (Owner) que tem um papel imprescindível na sua segurança . Deste modo , o proprietário de um objecto pode atribuir , retirar, condicionar o acesso ao objecto do qual é proprietário. Um utilizador nunca pode ser apagado do sistema sem primeiro se apagar ou transferir todos os objectos do qual é proprietário.

sexta-feira, 29 de agosto de 2008

Comandos do AS/400 - Command Language (CL)


O sistema operativo OS/400 , disponibiliza ao utilizador um conjunto de menus e ecrãs onde o utilizador pode navegar e executar todas as operações do sistema operativo de uma forma simples e eficaz.

Todas estas operações do sistema operativo OS/400 podem também ser efectuadas na linha de comandos, utilizando comandos de CL Command Language.
A sintaxe da linguagem de controlo do AS/400 , Command Language, é extremamente simples já que os comandos são tipicamente constituídos por duas partes (geralmente de três letras cada), o verbo e o substantivo (por vezes existe uma terceira parte denominada de objecto).

Por exemplo, para analisar todos os trabalhos activos no sistema num determinado momento, utiliza-se o comando WRKACTJOB,

WRK - “Work” Verbo
ACT - “Active” Substantivo
JOB - “Job” Objecto

Exemplo de Verbos:
ADD Add
CHG Change
CPY Copy
CFG Configure
CRT Create
DLT Delete
DSP Display
GO Go to a Menu
RMV Remove
STR Start
WRK Work With

Exemplo de Substantivos:
DEV Device
DEVD Device Description
F File
FLR Folder
LIB Library
OBJ Objecto
OUTQ Output Queue
MSG Message
SPLF Spool File
WTR Writer (Printer)

Vejamos agora o comando CRTLIB que é constituído pelo verbo “CRT-Create” e o substantivo “LIB – Library”, e que nos permite criar uma nova biblioteca no sistema.

No final de o escrevermos na “prompt” do sistema , fazemos F4 para que o sistema nos ajude a completar a sintaxe do comando ou escrevemos o comando completo e fazemos “enter”.

Ex. CRTLIB LIB(xpto) TYPE(*PRD)

"Neste caso criamos a biblioteca “xpto” no sistema e indicamos ao sistema que a biblioteca criada é uma biblioteca de produção (PRD)."

Outra facilidade interessante para quando pretendemos procurar um comando, do qual apenas conhecemos as duas primeiras letras, por exemplo WR, se executarmos na linha de comando a sintaxe WR* teremos como resultado um ecrã contendo todos os comandos cujas primeiras duas letras são WR (Ex. WRKACTJOB, WRKCFGSTS…).

O comando “GO VERB “ ajuda-nos também na identificação dos comandos, pois permite-nos seleccionar comandos de acordo com o tipo de acção que se pretende utilizar (por exemplo criar, alterar, visualizar). O Menu inicial (por defeito), num sistema AS/400 é o "OS/400 Main Menu".

Como podémos observar, o AS/400 é uma plataforma onde o interface com o utilizador é muito simples e intuitiva, disponibilizando várias formas de ajuda ao utilizador na interacção com o sistema.

Finalizava esta minha intervenção, sobre os comandos do AS/400, desafiando-o a criar uma conta no site http://www.rzkh.de/english/accounteng.html , onde pode usufruir de um acesso gratuito a um sistema AS/400 que se encontra on-line, e no qual poderá experimentar esta magnifica tecnologia.

sábado, 9 de agosto de 2008

Arquitectura AS/400



O AS/400 utiliza um sistema operativo próprio, o OS/400, que funciona independente da tecnologia de hardware graças á existência de um “micro código” (SLIC – System Licensed Internal Code) que interage directamente com o hardware.

Assim o sistema operativo e as aplicações não interagem directamente com o hardware, mas sim com um interface conhecido como TIMI – Technology Independent Machine Interface , que se interliga com o micro código SLIC.

As vantagens, ficaram perfeitamente demonstradas quando foi alterada a tecnologia do AS/400 de CISC (Complex Instruction Set Computing) para RISC (Reduced Instruction Set Computing ) em 1995, sem a necessidade de se alterar ou recompilar qualquer programa, ao contrário do que aconteceu com outras arquitecturas.

Outra característica interessante é o facto das unidades de disco do sistema e a memória RAM serem vistas indistintamente como fazendo parte de um único e grande endereçamento, ou seja um armazenamento de nível único. Desta forma, a memória virtual estende-se a todo o espaço disponível de armazenamento da máquina, aumentando a sua capacidade.

Tal como acontece com o TIMI, o conceito de armazenamento de nível único significa independência relativamente às características dos dispositivos de hardware de armazenamento (discos, memória) residente no SLIC. Toda a memória é gerida automaticamente pelo sistema, sem qualquer intervenção do utilizador, sendo que os programas trabalham com objectos, e os objectos são acedidos através do seu nome e não pelo seu endereçamento.

O AS/400 é um sistema operativo baseado em Objectos. Tudo o que existe no sistema (Impressoras, ficheiros, programas, ecrans, terminais, etc) e que pode ser guardado ou obtido é um objecto. Um objecto é constituído por um conjunto de atributos, dos quais por enquanto destacamos o nome e o tipo de objecto que são utilizados para o seu importante processo de identificação.

Cada objecto tem características diferentes. Por exemplo, um programa é um objecto que contém instruções, enquanto um ficheiro /físico) é um objecto que contém dados.

O sistema de arquivos do OS/400 é uma base de dados integrada que como vimos contem objectos em vez de ficheiros de arquivo tradicional. O “Integrated File System” do AS/400 permite assim uma integração completa com ambientes baseados em PC (Windowss e Linux) e UNIX. Por exemplo, existe de base uma interface típica de sistemas de arquivos hierárquicos, compatível com os sistemas UNIX.

Com uma base de dados relacional profundamente interligada com o sistema, o seu código está dividido entre o micro código da máquina e o sistema operativo, tornado o DB2/400 uma base de dados de elevado desempenho, versátil e segura.

Por este motivo, cada vez mais o AS/400 é utilizado como servidor de base de dados “Backend”, para aplicações cliente/servidor.

Outra característica interessante do AS/400, é a elevada velocidade de interpretação e execução do código Java, pelo facto do “Java Virtual Machine” residir ao nível do iSeries Layer (TIMI).

Este ano a IBM anunciou o Power System, uma nova plataforma IBM baseada em processadores POWER6 muito mais poderosos, e utilizando uma nova tecnologia de virtualização exclusiva da IBM (PowerVM), baseada na experiencia adquirida nos ambientes mainframes.

Uma das principais características é o micro particionamento, que permite a consolidação num único sistema AS/400 de várias “boxes” isoladas, optimizando e simplificando arquitecturas complexas, e reduzindo os custos de aquisição, utilização e gestão.

O PowerVM permite o ajuste dinâmico das cargas de trabalho e seu desempenho, de forma manual ou automática, atendendo a prioridades que num ambiente de produção se encontram constantemente em alteração.

O LPAR-Logical Partitioning dinâmico , possibilita o ajustamento dos recursos de processamento e de armazenamento em servidores virtuais (LPArs), ao transferir por exemplo a capacidade de partições inactivas ou com pouca importância para partições de produção, que por vezes tem picos de processamento de transacções.

Por último, gostaria de destacar a segurança do sistema. No AS/400 existem vários níveis de segurança, que determinam o tipo de autoridade dada aos utilizadores, sendo o nível mais seguro o nível 50, que implementa o nível de Segurança C2, padrão estabelecido pela National Security Agency (NSA) como sendo suficientemente forte e confiável para proteger dados não classificados mas sensíveis.
(…)

quinta-feira, 31 de julho de 2008

Introdução - AS/400 para dar e durar !!!


Com mais de 1.200.000 unidades vendidas em todo o mundo ao longo dos últimos dezanove anos, e cerca de 400.000 sistemas operacionais, o AS/400 é o sistema empresarial com mais êxito.



O AS/400 - Application System/400, foi criado em 1988, nos laboratórios da IBM em Rochester (Projecto Silverlake), tendo como base os antigos System/36 e System/38.



Ao longo dos anos, foi servindo de montra a enumeras inovações tecnológicas, como sejam o multiprocessamento simétrico em 1990, ou em 1994, com a implementação do revolucionário processador PowerPC a 64 bits e a mudança de arquitectura de CISC para RISC que lhe valeu um novo nome AS/400 - Advanced System.


Em 2000, surge um novo equipamento, o eServer iSeries, o primeiro servidor do mercado com tecnologia SOI (Silicon-on-Insulator), interconexões de cobre e com uma das hiperligações de I/O de alta velocidade mais rápidos do mercado. Com este novo “AS/400” a IBM entra profundamente nos padrões abertos (Java, XML, Linux, …) procurando satisfazer o seu novo conceito de “e-Business on demand” .


Segue-se em 2004, o lançamento o primeiro chip do mercado com dois processadores (dois core – dual core), o Power4, duplicando a velocidade de processamento do AS/400.


Depois em 2005 surge o eServer i5, com o microprocessador Power5, podendo integrar múltiplos sistemas operativos em simultâneo (i5/OS, Windows, Linux, AIX) e incorporando uma nova tecnologia de virtualização e micro particionamento que permite a consolidação num único servidor de várias boxes isoladas (criação de partições lógicas – LPAR), optimizando e simplificando arquitecturas complexas e reduzindo custos de aquisição, utilização e gestão.



Finalmente em 2008, a IBM anuncia o Power System, uma nova plataforma IBM baseada em processadores POWER6, utilizando uma nova e versátil tecnologia de virtualização exclusiva da IBM (PowerVM) e com uma redução significativa do consumo energético (preocupações ambientais – tecnologia EnergyScale).
Esta nova tecnologia PowerSystem, integra a família dos sistemas AS/400 (System i) com os sistemas AIX (System P) criando assim a nova plataforma (i+p) .


Como se pode observar ao longo dos anos esta plataforma foi evoluindo progressivamente contribuindo também para o desenvolvimento da indústria informática, com soluções revolucionárias que sempre acompanharam as solicitações do mercado, deixando os clientes descansados quanto aos desafios do negócio no futuro.


Apesar das constantes alterações de nome, o AS/400 está no mercado para “dar e durar”!!!!

terça-feira, 29 de julho de 2008

Introdução



Pois é, já lá vão quase vinte anos desde que iniciei a minha “história” profissional na informática, e curiosamente o meu primeiro contacto foi logo com um dos primeiros sistemas AS/400.


Estávamos na era dos terminais estúpidos, dos cabos twinax , das impressoras barulhentas de agulhas, e onde configurar uma placa de comunicações era um autentico desafio.

Na prática, o AS/400 funcionava emulando um System/36, já que naquela altura julgo que nenhuma “software house” possuía aplicações desenvolvidas para AS/400.


No entanto, rapidamente a situação se alterou e surgiram no mercado enumeras aplicações nativas para AS/400 aproveitando as enormes potencialidades deste grande sistema, que não tem parado de evoluir e de nos surpreender com as suas capacidades.

Juntando a coincidência do aniversário (carreira profissional vs plataforma AS/400) decidi criar este site, com informações úteis sobre os sistemas AS/400 (AS-Application System) e por outro lado divulgar e aprofundar um pouco mais o conhecimento sobre esta plataforma da IBM.

A propósito, a IBM tem alterado o seu nome, AS/400 , iSeries, i5 e agora PowerSystem (i+p) mas para quem trabalha será eternamente conhecido como AS/400.

Espero que a informação seja útil , procurarei ter o tempo necessário para actualizar o Blogg!!!

Cumprimentos ,