Das CLOUD SEVEN Configuration Management Tool

Web-Anwendungen, die Forderung nach Lastverteilung und Verfügbarkeit oder auch Sicherheitskriterien führen vermehrt zur Entwicklung von Anwendungen, die gleichzeitig auf mehreren Systemen installiert und parallel betrieben werden.
Parametrisierung von Software ist immer ein Thema. Meist werden dafür Konfigurationsdateien (XML, Property-Files) genutzt. Für den effektiven Nutzen entsteht häufig um diese Dateien herum zusätzlicher Programmcode. Spätestens, wenn es sich um größere Softwaresysteme handelt und insbesondere bei verteilten Anwendungen, wird dies ein aufwändiges Thema, dessen Implementierung schnell mehrere Mannwochen in Anspruch nimmt. Mit c7 steht alles zur Verfügung, was für die Konfiguration zur Laufzeit einer Software benötigt wird.

Ebenso wichtig wie die Konfiguration, ist die Regelung der Zugriffsmöglichkeiten auf die Software durch ihre Anwender. Je nach Sensibilität der Daten müssen die Benutzer mit Rechten ausgestattet werden, die ihnen die Verwendung der verschiedenen Funktionalitäten erlauben oder untersagen. Abhängig von den Anforderungen an die Sicherheit variiert die Granularität der Rechte.

CLOUD SEVEN ist Framework und Middleware zugleich. c7 ist die Abkürzung für CLOUD SEVEN. Der Name CLOUD SEVEN (im Englischen eher cloud nine) ist eine kleine Anspielung auf den Hype rund um das cloud computing. CLOUD SEVEN soll Entwicklern und Anwendern Entspannung bringen, denn es ist eine unkomplizierte aber leistungsfähige Erweiterung Ihrer Software mit Parametrisierung und Benutzerverwaltung.

Der Einsatz von c7 spart auch in kleinen Projekten, in denen Lastverteilung keine Rolle spielt, Zeit und Geld.

Kurz und knapp

CLOUD SEVEN

  • ist ein zentrales Werkzeug für die Konfiguration verteilter Anwendungen.
  • ist eine Benutzerverwaltung mit Rechten und Aktionen.
  • ist flexibel und für den Einsatz in kleinen und großen Unternehmen geeignet.
  • dient Softwareentwicklern, Anwendungsexperten, Administratoren.
  • bietet verteilten Anwendungen gemeinsame oder instanz-abhängige Konfigurationsparameter.
  • ist durch drei verschiedene Schnittstellen (Java API, Soap, JMS) flexibel nutzbar.
  • bietet eine hohe Performance sowie zusätzliche Stabilität bei Nichterreichbarkeit des zentralen Servers durch lokales Caching.
  • erlaubt die Konfiguration komplexer Objekte durch die Kombination von Eigenschaften.
  • verwaltet die Konfiguration in einer DB, nicht in Dateien. Umständliches XML-Handling entfällt. Aktuell werden Apache DerbyMySQL, Oracle und PostgreSQL unterstützt.

Setup Beispiele

Features

  • Mandanten tauglich durch Unterstützung von gemeinsamen und spezifischen Parametern
  • Vereinfachter Zugriff auf NameSpaces (z.B. hostname.variante-ahostname.variante-b)
  • Unterstützt die Verwaltung von Konfigurationseinträgen mit gleichem Key
  • Ermöglicht Listenverwaltung von Einträgen mit gleichem Key
  • Einfaches Handling sowohl für Programmierer als auch für Soap- bzw. Message Queue-Anwender
  • Soap Service erfordert keine Webserver-Installation, der Webdienst ist integraler Bestandteil von CLOUD SEVEN
  • Out of the box lauffähig mit lokaler Derby Datenbank, also ohne zusätzliche DB Installation
  • Initialisierung auf Basis weniger Parameter über API oder Konfigurationsdatei
  • Optionale Verschlüsselung von Werten
  • Integrierte Benutzerverwaltung mit flexiblen Rechten und Aktionen
  • Läuft mit verschiedenen Datenbanken (Derby, MySQL, Oracle, PostgreSQL)
  • Nutzung eines vorhandenen oder eigenen DB-Schemas (DB-User)
  • Zwei optionale Caching-Varianten für Performance und Stabilität
  • Caching Garbage Collector, anpassbar durch Anwender
  • Verteilte Software kann auf den verschiedenen Rechnern gleichzeitig gemeinsame und spezifische Parameter nutzen
  • Synchronisation lokaler Caches
  • Nutzung von nicht persistenten Parametern nur zur Laufzeit
  • Versionierung von Parametern und deren Zuordnung zu Anwendungsversionen
  • Logging in Dateien und Datenbank

Einsatz

CLOUD SEVEN als Java Framework

Eine überschaubare API bietet einfachen Zugriff auf Methoden zur Verwaltung von Parametern (Properties). Mit wenigen Zeilen Code ist die Initialisierung abgeschlossen, für den Zugriff auf Properties und Property-Listen genügt eine handvoll Methoden. Optionale Anpassungen erfolgen ebenfalls über entsprechende API-Aufrufe.

CLOUD SEVEN als Middleware

Für die Anbindung an bestehende Systeme kann c7 als Vermittler zwischen Ihrer Anwendung und den dafür notwendigen Konfigurationsparametern dienen. Dafür stehen zwei Schnittstellen bereit:

  • Soap Service
  • Message Broker (JMS)

Da c7 für verteilte Anwendungen entwickelt wurde, können mehrere c7 Server unter Nutzung der verschiedenen Schnittstellen parallel betrieben werden.

Administration

Administratoren nutzen für die Konfiguration ein einfaches grafisches Tool oder – alternativ – ein Shell-Script.

 

Voraussetzungen

CLOUD SEVEN wurde als schlanke Java Lösung entwickelt und läuft deshalb ressourcenschonend auf vielen verschiedenen Plattformen. Durch den Verzicht auf ballastreiche Frameworks wurden Abhängigkeiten und damit die Voraussetzungen für den Einsatz weitgehend reduziert.
Für die Nutzung des Soap-Service muss kein Webserver installiert werden, da CLOUD SEVEN selbst die notwendigen Webdienste zur Verfügung stellt.

Das muss verfügbar sein:

  • Runtime: Java 7 SE bzw JDK
  • Datenbank: Derby, MySQL, Oracle oder PostgreSQL
  • Message Broker für Nutzung der JMS Schnittstelle (muss noch spezifiziert werden)