SoaML (Service oriented architecture Modeling Language) ist eine Open Source Spezifikation von OMG zur Beschreibung eines erweiterten UML-Profils für die Modellierung von SOA-Diensten.
Der Schwerpunkt von SoaML liegt auf der Beschreibung von möglichst wiederverwendbaren Diensten aus der geschäftlichen und architektonischen Sicht. Zu den elementaren Konzepten der Sprache gehören folgende Stereotype:
- Participant (mitwirkende Komponenten, die an Service Ports Dienste bereitstellen und/oder Dienste nutzen → bidirektionale Dienste)
- ServiceInterface (Schnittstellendefinition der bereitgestellten bzw. genutzten Dienste)
- ServiceContract (Definition von Vertragsbedingungen, Rollen und der Choreographie für die interagierenden Participants)
- ServicesArchitecture (Beschreibung der Zusammenarbeit mehrerer Participants mit ihren zu erfüllenden Service-Verträgen)
- ServiceCapability (Aufstellung von Diensten in Abhängigkeit ihrer Leistungen)