Os padrões revisados neste capítulo possuem características e aplicações diferentes, mas todos podem ser utilizados para aplicações de metadados. Nesta seção serão discutidas algumas características desses padrões, quanto às vantagens e desvantagens em relação a três aspectos ligados a metadados. São eles: modelagem, intercâmbio e reuso.
Tabela 3.1 – Comparações entre os padrões do W3C e OMG
Padrão Modela gem Intercâ mbio Re uso Vantagens Desvantagens XML X
Suportada por uma grande quantidade de ferramentas.
Sozinha não oferece muita facilidade de intercâmbio. Precisa estar aliada a um padrão de validação como DTD ou XML Schema.
DTD X
Fácil de aprender; Não possui sintaxe XML; Possui poucos tipos de dados; Não possui mecanismo para reuso dos seus elementos. XML
Schema
X X
Possui a sintaxe XML;
Os esquemas podem ser reutilizados através de namespace;
Permite a criação de tipos de dados;
É pouco utilizado, por ser uma especificação recente.
RDF
X
Flexível e evolutiva; Utiliza outros padrões como namespace e XML.
É uma solução genérica para codificação de metadados. Serve para modelos como para outros metadados.
Por tentar ser genérica, torna-se incompleta.
RDF
Schema
X X Possui as mesmas vantagens de RDF.
Possui as mesmas desvantagens de RDF.
XMI
X
Utiliza XML como formato. Um amplo suporte na Indústria de Software
Poucos modelos estão prontos atualmente para que possam ser intercambiados. São eles: CWM e UML.
MOF X X
Orientado a objeto; Flexível e evolutivo;
Poucas ferramentas dão suporte.
O aspecto modelagem significa dar suporte à construção de novas aplicações. Os padrões DTD, XML Schema e RDF Schema do W3C dão suporte à criação de esquemas XML. Os esquemas DTD e XML Schema validam a estrutura dos documentos XML. O esquema RDF
(RDF Schema) possui regras de como as sentenças de RDF devem ser interpretadas. O padrão MOF da OMG dá suporte à construção de metamodelos. A Seção 4.5 apresenta uma comparação mais detalhada entre o MOF e RDF.
O aspecto intercâmbio significa facilitar a transferência de metadados entre diversas ferramentas. Alguns padrões que oferecem as facilidades de intercâmbio são XML e RDF do W3C e XMI da OMG. XML facilita o intercâmbio, pois os dados XML são rotulados através de tags que descrevem os mesmos. RDF facilita o intercâmbio por possuir um padrão de codificação do seu modelo de dados para o padrão XML. O XMI é um padrão para intercâmbio de metamodelos MOF que utiliza a sintaxe XML.
O aspecto reuso significa permitir que componentes criados para uma determinada aplicação possam ser reutilizados em outras. Os padrões do W3C XML Schema e RDF Schema facilitam o reuso. XML Schema permite que novos elementos e tipos de dados possam ser construídos a partir de outros elementos e tipos definidos por outros esquemas. Estes elementos e tipos são importados de um esquema para outro através do mecanismo de namespace e são reutilizados através de herança. RDF Schema também utiliza namespace e herança para reutilizar as suas classes, propriedades e recursos. O MOF é um padrão estritamente orientado a objetos e utiliza herança como mecanismo de reuso.
Como apresentado na Tabela 3.1, cada padrão possui certas características que são adequadas a certos tipos de aplicações. Uma solução de metadados que implementa todos estes padrões tem a vantagem de suportar uma gama maior de aplicações. Pois cada aplicação poderá utilizar o repositório para gerenciar os metadados no padrão desejado.
3.4 Considerações Finais
Este capítulo realizou uma breve descrição de alguns padrões do W3C e OMG que podem ser utilizados para a representação de metadados. O padrão XML é semi-estruturado [ABS2000], o que facilita a representação de metadados de diversos formatos, tanto os mais estruturados quanto os menos estruturados. Além do XML, o W3C possui um conjunto de outros padrões que auxiliam no processo de validação dos documentos, na transformação, consulta, relacionamentos (links), entre outros. A OMG possui um outro conjunto de padrões que auxilia na modelagem, armazenamento e intercâmbio de metadados. Foi realizada apenas uma breve descrição de cada padrão, pois não era o foco principal deste trabalho. Uma descrição mais detalhada pode ser encontrada nas suas respectivas especificações.
4
4
MMOFOF
––
MMetetaa
OObjbjeectct
FaFacciilliittyy
Este capítulo discute a especificação MOF. O MOF foi utilizado na modelagem e implementação dos metamodelos da solução de metadados, proposta neste trabalho. É realizada uma descrição do que é o MOF, a sua arquitetura e quais os tipos de aplicações. Em seguida, é realizada uma breve descrição do modelo MOF e dos seus construtores. É abordado também o padrão de mapeamento entre os metamodelos MOF e API (Application Programming Interface) e é realizada uma breve descrição sobre as interfaces reflexivas do MOF.
A especificação MOF define uma linguagem abstrata e um framework para especificação, construção e gerenciamento de metamodelos independentes de tecnologia de implementação. Alguns exemplos incluem o metamodelo UML, CWM, discutido no Capítulo 3, e o próprio MOF. O MOF possui ainda um conjunto de regras para implementação de repositórios, que manipulam metadados descritos pelos metamodelos. Essas regras definem um padrão de mapeamento entre os metamodelos MOF e um conjunto de API para gerenciamento de metadados, instâncias do metamodelo. Por exemplo, o mapeamento MOF -> IDL (Interface Definition Language) é aplicado aos metamodelos MOF (UML, CWM) para produzir API CORBA que gerenciem os metadados, instâncias desses metamodelos. O mapeamento MOF -> Java, através do padrão JMI (Java Metadata Interface) define as mesmas regras de mapeamento para API Java. A especificação MOF compreende o seguinte:
• Uma definição formal para o meta-metamodelo MOF, ou seja, uma linguagem abstrata para a definição dos metamodelos.
• As regras para o mapeamento dos metamodelos MOF para uma tecnologia de implementação, por exemplo, CORBA ou Java.
• O padrão XMI para intercâmbio, em XML, dos metadados e metamodelos entre as ferramentas. XMI define um conjunto de regras que mapeiam os metamodelos MOF e os metadados em documentos XML.