# Sopera

Sopera ist ein Framework für eine Serviceorientierte Architektur (SOA). Die SOA-Plattform wurde von der Deutschen Post AG seit 2001 entwickelt. Um die Plattform zu vertreiben sowie Beratung, Service und Support für das Produkt anzubieten wurde im März 2007 die Sopera GmbH von Ricco Deutscher und Harald Weimer in Bonn gegründet. Sopera ist ein quelloffenes, modulares und standardbasiertes Produkt.
Die Software ist seit dem März 2008 als Open-Source-Software unter der Eclipse Public License erhältlich. Die Eclipse Public License ist eine leicht geänderte Form der Common Public Licence, welche zu den Open-Source-Lizenzen gehört.
Die Firma Sopera ist Mitglied in der Open Source Business Alliance. Der Sopera-ESB dient als Integrationsplattform für die einzelnen Komponenten des Lisog Open Source Stacks.

## Architektur

Bei Sopera handelt es sich um einen erweiterten Enterprise Service Bus (ESB). Dieser stellt grundlegende Messaging-Funktionen zur Verfügung. Um eine vollständige SOA aufzusetzen, werden zusätzliche Komponenten benötigt, die sich als Plugins einbinden lassen. Sopera besteht aus mehreren Blöcken. Einer Toolsuite, einem Runtime Framework und einem Management Block.

### Toolsuite

Mit der Toolsuite wird die Planungs- und Designphase von Services der SOA unterstützt. Die Servicebeschreibungen und -schnittstellen werden mit Editoren definiert, die auf der Eclipse Web Tools Platform (WTP) basieren. Verschiedene Formate wie die Web Description Language oder XML Schema können damit im- und exportiert werden. Die Toolsuite unterstützt auch die Prozessbeschreibung im Rahmen des Business Process Management. Es wird ein grafischer Editor bereitgestellt, der auf einer Process Engine ablaufen soll. Es müssen Process Engines für die Business Process Execution Language (BPEL) von Drittanbietern über Plugin-Konzepte eingebunden werden.

### Runtime Framework

Für den laufenden Betrieb existiert ein Runtime Framework. Dieses wurde ursprünglich für die Java Platform, Enterprise Edition entwickelt. Es werden derzeit aber auch Microsoft .NET, BEA WebLogic, Apache Tomcat und WildFly unterstützt. Zukünftig sollen auch IBM WebSphere, SAP NetWeaver, Sun/Oracle GlassFish und Apache Geronimo unterstützt werden.
Das Kernstück des Runtime Frameworks ist der Distributed Service Bus, welcher im engeren Sinn ein Enterprise Service Bus ist. Dieser ermöglicht die Kommunikation der einzelnen Services untereinander. Er unterstützt die Protokolle HTTP und HTTPS. Message Oriented Middleware Systeme lassen sich über die Schnittstelle Java Message Service einbinden.

### Management

Ein weiterer Block unterstützt das Management der Services. Sopera nutzt dafür eine Service Registry, welche den Standard UDDI 3.0 unterstützt. Damit werden Schnittstellen, Policies und Metadaten dokumentiert, welche für den Betrieb notwendig sind. Es lassen sich über Plugin-Konzepte auch andere Registries einbinden.

## Swordfish SOA Runtime Framework Project

Swordfish ist der Name eines Projektes in der Eclipse-Entwicklungsgemeinschaft. Der Quellcode des Sopera-Frameworks war der anfängliche Beitrag für dieses Projekt. Das Ziel des Swordfish Projektes ist die Bereitstellung eines erweiterbaren SOA Frameworks, der durch zusätzliche Open Source Komponenten erweitert werden kann. Mögliche Komponenten könnten eine Service Registry, ein Messaging System oder eine BPEL Engine sein. Das Projekt befindet sich in der Inkubationsphase. Es ist geplant, dass im Juni die Version 0.9 im Rahmen des Eclipse Galileo Releases verfügbar wird. SOPERA ist strategisches Mitglied der Eclipse Foundation.

## Ähnliche Produkte

* JBoss Enterprise Middleware Suite (JEMS)
* Apache Produkte
* Mule