A Linguagem Unificada de Modelação (UML - Unified Modelling Language) é um padrão do OMG (Object Management Group). A UML é extensível, possuindo mecanismos de personalização, nomeadamente Perfis e Estereótipos. Os modelos representados usando a UML podem ser utilizados na geração automática de código (Java, por exemplo).
A primeira especificação da UML foi proposta em 1997 pela Rational Software Corporation, nascendo da união das melhores práticas de modelação existentes. A Rational foi adquirida pela IBM em 2003. Existem inúmeras ferramentas de modelação em UML, não só comerciais, como também de código fonte aberto, nomeadamente o projecto aberto Eclipse, inicialmente criado pela IBM, que também serve de base ao IDE do produto WebSphere da IBM.
O projecto aberto Eclipse tem ainda em fase de incubação um projecto apelidado de Swordfish para a criação de uma framework de runtime SOA, mas já causa grandes expectativas. Tem também um projecto STP (SOA Tools Platform) com vários componentes para construir frameworks que permitam desenhar, configurar, montar, implantar, monitorizar, e gerir software desenhado em torno da SOA. No entanto, neste caso, o mais importante é o projecto EMP (Eclipse Modelling Project), que suporta as especificações UML 2.0, e desde a versão Europa suporta modelação SOA.
Por outro lado, a IBM tem o Rational Software Architect (baseado em Eclipse), que permite modelar SOA e gerar os componentes necessários à implementação, publicação, descoberta e consumo dos serviços (WSDL, por exemplo).
Parte de um documento com o título "Modelação SOA usando UML", da autoria de Nuno Ferreira, consultor sénior na unidade de negócio Projectos Especiais da Sinfic.
Produzido em 2008