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.