• Nenhum resultado encontrado

O MOF define um modelo que é implementável, provendo um conjunto de interfaces para manipular os metadados. Ele pode ser utilizado em muitas áreas e aplicações que necessitem ou utilizem metadados. A seguir são apresentadas algumas destas áreas.

4.2.1 Desenvolvimento de Software

O suporte ao desenvolvimento de aplicações orientadas a objetos e distribuídas foi uma das primeiras aplicações do MOF. Um ambiente de desenvolvimento poderia consistir de um repositório de serviços para armazenamento e gerenciamento de modelos de software independentes de plataforma, por exemplo, modelos UML. Os projetistas poderiam criar estes modelos, carregá-los para o repositório. Os programadores poderiam consultar tais modelos e transformá-los em implementações de software. Neste exemplo, o repositório poderia se comunicar com ferramentas, editores gráficos que permitiriam ao projetista criar os modelos de software e carregá-los para o repositório. O repositório poderia possuir ainda um gerador de interfaces (CORBA e Java) que faria o mapeamento entre os modelos armazenados no repositório e suas implementações, através do mapeamento MOF -> CORBA IDL, MOF -> Java, ou outro mapeamento para uma outra plataforma que vier a ser construído. O uso do repositório MOF num ambiente de desenvolvimento de software seguiria os seguintes passos:

1. Os projetistas construiriam os modelos, utilizando ferramentas que se comunicariam com o repositório utilizando uma determinada notação como XMI.

2. Quando os modelos estivessem prontos, os programadores executariam os geradores de interfaces para uma determinada plataforma, que transformariam estes modelos em interfaces para o gerenciamento dos objetos, instâncias dos tais modelos.

3. Os programadores examinariam as interfaces geradas, repetiriam os passos 1 e 2 e refinariam os modelos.

4. Após o processo de refinamento dos modelos, os programadores poderiam então implementar tais interfaces geradas, construindo o servidor de objetos e construir as aplicações clientes que utilizariam tais objetos.

O repositório MOF implementaria o MOF Model, apresentado nas seções seguintes. Outras ferramentas poderiam implementar as interfaces reflexivas que permitiriam realizar operações sobre os objetos do modelo, sem um prévio conhecimento do modelo, ou seja, o usuário consultaria o repositório para verificar quais modelos estariam armazenados e, a partir de tais modelos, poderiam consultar as suas instâncias, que são os objetos. Funcionalidades como persistência, controle de versão e controle de acesso deveriam ser suportadas pelo framework repositório ou delegadas a um SGBD.

4.2.2 Gerenciamento de Tipos

Este segundo caso refere-se ao gerenciamento dos vários “tipos de informação” providos por serviços CORBA [MOF1999]. O CORBA Interface Repository (IR) é um servidor central que provê serviços de persistência de objetos que representam os tipos das IDLs CORBA e disponibiliza estas informações (metadados sobre as IDLs) aos clientes CORBA em tempo de execução das operações disponíveis por tais IDLs. O IR da especificação atual possui suporte apenas à leitura ao repositório; não existe um padrão para as alterações dos tipos das interfaces e não há uma maneira de aumentar as informações sobre as definições das interfaces. Alguns dos serviços providos pelo IR CORBA são: acesso dinâmico e verificação dos tipos envolvidos nas assinaturas das interfaces; interoperabilidade entre diferentes implementações de ORBs (Object Request Broker) e gerenciamento da instalação e distribuição das definições das interfaces.

Através de um simples ambiente de desenvolvimento baseado em MOF, os desenvolvedores poderiam escrever os modelos de informações para CORBA IDL usando o modelo MOF. O resultado poderia então ser transformado para IDL CORBA através do mapeamento MOF -> CORBA IDL e essas interfaces poderiam ser utilizadas no lugar do IR. As vantagens de utilizar as interfaces mapeadas seriam:

• Suporte às alterações das interfaces;

• Ser extensível, no sentido de facilitar a extensão do metamodelo CORBA IDL, através dos construtores da especificação MOF;

• Tornar fácil a federação de múltiplos IRs e representar associações entre tipos das interfaces CORBA e outros tipos de informações.

4.2.3 Gerenciamento de Informação

Este cenário diz respeito ao gerenciamento da informação de domínio geral, isto é, o projeto, implementação e gerenciamento de grande quantidade de informações estruturadas. Neste cenário, o repositório MOF serviria para armazenar modelos de informações de um determinado domínio. O usuário construiria o seu modelo, similar a um esquema de banco de dados, e poderia criar e gerenciar os objetos, instância deste modelo. O MOF oferece vários benefícios para o gerenciamento de grandes quantidades de informações estruturadas como, por exemplo, acesso à meta-informação em tempo de execução, consulta aos objetos do

repositório sem um prévio conhecimento do modelo que descreve tais objetos, e um padrão único, o XMI, para o intercâmbio dos objetos.

4.2.4 Gerenciamento de Data Warehouse

Como foi visto no Capítulo 2, um ambiente de Data warehouse depende efetivamente de uma boa infra-estrutura de metadados. Esses metadados descrevem os aspectos relevantes dos dados e processos do Data warehouse.

O MOF pode ser utilizado neste cenário na modelagem e implementação dos modelos específicos para os esquemas das fontes de dados, os esquemas do próprio Data warehouse, os modelos de transformação, entre outros. A vantagem disto seria a integração desses modelos em tempo de execução do Data warehouse com o ambiente de desenvolvimento, como os modelos UML das aplicações operacionais.

Atualmente, o CWM é uma especificação que define um conjunto de metamodelos MOF para um ambiente de data warehousing [CWM2001].