4. OPEN GRID SERVICE ARCHITECTURE – DATA AND INTEGRATION
4.2. Arquitetura do OGSA-DAI
A arquitetura OGSA-DAÍ, representada na Figura 10, é composta de várias camadas com suas respectivas funções e finalidades. Dentro destas camadas existem componentes e entre as camadas existem um tipo de interface.
Figura 10 - Arquitetura do OGSA-DAI
4.2.1. Camada de dados (data layer)
De baixo para cima está a camada de dados que consiste dos recursos de dados que são suportados pelo OGSA-DAI, sendo esses recursos: relacionais, bancos XML, arquivos e diretórios em formatos conhecidos pelo software.
4.2.2. Interface entre camada de dados e camada lógica de negócio
Entre a camada de dados e a camada de negócio existe uma interface que permite uma comunicação em ambas as direções de informações. Para que ocorra tal comunicação é preciso que cada recurso de serviço de dados tenha um assessor de recursos de dados que irá controlar acesso para um recurso de dados adjacente. Dentro do OGSA-DAI ainda existe a possibilidade de o usuário construir o seu próprio assessor de recurso de dados para expor novos tipos de recursos de dados (Figura 11).
Figura 11 – Data Service Resource
4.2.3. Camada Lógica de Negócios (Business Logic Layer)
Esta camada do OGSA-DAI contém a funcionalidade do seu núcleo. Esta consiste de componentes conhecidos como recursos de serviço de dados. Como mostrado na Figura 10, vários recursos de serviços de dados podem ser instalados para expor várias fontes de dados. Existe uma relação de 1-1(um para um) entre recursos de serviços de dados e recursos de dados. Algumas das funcionalidades ou até responsabilidades de um recurso de serviço de dados são listadas abaixo.
• Execução de documentos de desempenho – este documento descreve as ações que um recurso de serviço de dados deve tomar no interesse do cliente. Cada ação é conhecida como uma atividade. O OGSA-DAI já inclui um número alto de atividades para que sejam realizadas as operações mais comuns como
queries de base de dados, transformação de dados e entrega de dados.
• Geração de documentos de resposta – este documento descreve o status da execução de um documento de desempenho e pode conter resultados em forma de dados, por exemplo, os resultados de uma query na base de dados. • Acesso a recursos de dados – interações com os recursos de dados
acontecem graças ao componente de recursos de dados.
• Funcionalidade de transporte de dados – dados podem ser transportados de um recurso de serviço de dados para um cliente ou outro recurso de serviço de dados qualquer e vice-versa.
• Gerência de Sessão – seria a criação, acesso e terminação de objetos de sessão permitindo que estados possam ser guardados através de múltipos pedidos para o recurso de serviço de dados. Todos os pedidos de documentos de desempenho são processados dentro de uma sessão. Sessões também servem para guardar streams que foram usadas pela funcionalidade de transporte de dados sendo assim conhecidas por sessões stream.
• Gerência de propriedade – seria a criação, acesso e remoção de propriedades associadas com os recursos de serviços de dados sendo conhecidos como propriedades de recursos de serviços de dados. Estes geralmente são usados
para expor os datos, por exemplo, o status de um pedido ou um esquema de recurso de dados adjacente.
4.2.4. Interface entre a camada lógica de negócios e a camada de apresentação
Esta interface faz a comunicação com as duas camadas adjacentes, lógica de negócios e de apresentação, em ambas as direções. Ela suporta a chamada de funcionalidades do OGSA-DAI dentro da camada lógica de negócio de um jeito que é independente de um ambiente web particular. Quando pedidos de SOAP (Service
Oriented Architecture Protocol) chegam aos serviços de dados do OGSA-DAI, esta
interface é usada para passar informações e instruções para a camada lógica de negócio e vice-versa. A seguir é mostrado quais os tipos de informações que são passadas entre estas duas camadas.
Camada de apresentação Camada lógica de negócio
• São enviadas informações sobre os nomes dos data service resourses e suas propriedades, vomo também identificações de session streams • Certificado de Proxy do cliente e credenciais em um formato que não
depende da web.
• Documentos de desempenho e dados de clientes.
• Informação de configuração de recursos de serviços de dados incluindo
drivers para os bancos de dados, URIs dos mesmos, nome e senha de
usuários de base de dados, informação sobre atividades suportadas, informação sobre sessão de data service resourse recursos de serviços de dados e simultaneidade suportada.
Camada lógica de negócios Camada de apresentação
• É passado pela camada de apresentação os documentos de resposta e resultados em forma de dados.
• O status do processamento de um pedido dentro de uma sessão em particular. Isto é conhecido como status de pedido de sessão.
• Valores para as propriedades de recursos de serviços de dados como esquemas de um recurso de dados adjacente.
• Informação sobre as atividades que são suportadas pelos recursos de serviços de dados. Estas atividades são aquelas que podem ser pedidas pelo usuário usando documentos de desempenho.
4.2.5. Camada de Apresentação (Presentation layer)
Esta camada encapsula a funcionalidade requerida para expor recursos de serviços de dados usando interfaces que utilizam serviços web. O OGSA-DAI contém dois conjuntos destas funcionalidades encapsuladas, uma compatível com WSRF (Web
Services Resourses Framework) e a outra com WSI (Web Services Inter-Operability).
4.2.6. Camada de Cliente (Client layer)
Um cliente pode interagir com um data service resourse através de um data service correspondente.
O OGSA-DAI também inclui um client toolkit Java que proporciona uma API de alto nível para interação de serviços de dados. Este kit de ferramentas simplifica o desenvolvimento de aplicações fornecendo meios convenientes de construir e enviar pedidos e interpretar as respostas subseqüentes. Quando uma aplicação é escrita usando este kit de ferramentas de ciente, esta poderá interagir e acessar recursos de dados WSRF e WSI transparentemente.