Os produtos de modelagem IBM Rational podem ser estendidos para tratar de necessidades específicas de uma empresa inteira, um projeto ou um usuário individual. Um esforço de extensibilidade pode ser tão simples quanto definir algumas propriedades adicionais ou tão avançado quanto definir um novo plug-in inteiro.
Os recursos de extensibilidade nos produtos de modelagem Rational são construídos sobre os componentes Eclipse de código aberto para suportar diversos esforços, incluindo as extensões típicas a seguir:
Todos os exemplos mencionados acima utilizam uma combinação de APIs (Application Programming Interfaces), pontos de extensão, ambientes de desenvolvimento especializado e utilitários. Reveja os componentes de extensibilidade fornecidos pelo Eclipse e pelos produtos de modelagem Rational para aprender a implementar suas extensões.
Os produtos de modelagem Rational propriamente ditos são construídos sobre a arquitetura de extensibilidade fornecida pelo Eclipse, a qual também está disponível para você.
Os plug-ins e os pontos de extensão que eles fornecem são fundamentais para a extensibilidade do Eclipse. Na realidade, o Eclipse é composto de um conjunto de plug-ins. Um plug-in é codificado em Java e reside em um diretório de plugins. Cada plug-in inclui um arquivo de manifesto que declara os pontos de extensão que ele fornece a outros plug-ins e os pontos de extensão que ele está utilizando de outros plug-ins. O PDE (Plug-in Development Environment), que faz parte do Eclipse SDK (Software Development Kit), fornece um conjunto de ferramentas para ajudá-lo em todos os estágios de desenvolvimento de plug-ins.
O JDT (Java Development Tooling) fornecido pelo Eclipse inclui um IDE Java que pode ser utilizado para incluir um comportamento específico do Java na plataforma Eclipse para criar plug-ins que interajam com programas ou recursos Java.
Um componente Eclipse que está mais estritamente relacionado à modelagem é o EMF (Eclipse Modeling Framework). As ferramentas e os aplicativos construídos sobre essa estrutura podem gerar código Java eficiente e personalizável a partir dos modelos. No EMF, os modelos são definidos utilizando XMI (XML Metadata Interchange). Esse formato de arquivo padrão facilita o intercâmbio de modelos entre ferramentas e a manipulação de dados relacionados.
Para acesso a modelos no nível apropriado de abstração e na etapa com a especificação Unified Modeling Language 2.0, utilize as APIs do UML2. Essas APIs fornecem uma execução baseada no EMF do metamodelo UML 2.0.
Os recursos de extensibilidade fornecidos pelos produtos de modelagem Rational são construídos sobre os recursos do Eclipse, na forma de plug-ins adicionais e pontos de extensão e APIs relacionados. Além disso, os produtos Rational oferecem um recurso exclusivo para estender o workbench, sem criar um plug-in formal, por meio de pluglets.
As APIs de Modelagem permitem a manipulação de modelos. Entre os pacotes incluídos, a API do MSL (Modeling Services Layer) é importante porque é útil para validação e notificação de alterações do modelo em batch. A API de Notação apresenta aspectos de aparência do diagrama, inclusive cor e tamanho.
A API de Padrões descreve a estrutura de padrões, que pode ser utilizada para aplicar padrões a um conjunto de elementos do modelo. Essa API complementa o recurso de autoria e aplicação de padrões fornecido diretamente nos produtos de modelagem.
A API de Transformações descreve a estrutura de transformação, projetada para transformar um modelo em outro ou em um outro metamodelo. Apenas as transformações criadas no Rational Software Architect geram código; o Software Architect é fornecido com suporte para transformações Java e C++, porém a estrutura pode ser utilizada para suportar outras linguagens.
A API do RAS é utilizada para manipular recursos em conformidade com o Reusable Asset Specification, fornecendo funcionalidade construída sobre os recursos RAS nos produtos de modelagem.
Os pluglets são aplicativos Java que fornecem uma alternativa aos plug-ins para estender o workbench. Como os plug-ins, os pluglets fornecem acesso às APIs associadas a plug-ins e os autores de pluglets podem utilizar o ambiente de desenvolvimento Java. Entretanto, o pluglet pode ser testado na mesma instância do workbench e um item de menu é incluído para executar o pluglet criado.
A API de Pluglets apresenta as propriedades e os serviços utilizados pelos pluglets.
Os produtos de modelagem Rational continuam a fornecer suporte completo para utilizar, criar e estender plug-ins Eclipse padrão.