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.