Software-Architektur und Software-Design

ANIGMA ist entwickelt moderne Softwarelösungen und webbasierte Business Anwendungen Individuell zugeschnitten auf Ihre Geschäftsprozesse: serviceorientiert, skalierbar, agil.

Individuelle IT- / Software-Architektur : Lösungen nach Maß

Wir sind Software Dienstleister für moderne Softwarelösungen und webbasierte Business Anwendungen. Individuell zugeschnitten auf Ihre Geschäftsprozesse entwickeln wir ihr Anwendungs-System: serviceorientiert, skalierbar, agil.

IT-Architektur

Die IT-Architektur beschreibt Aspekte der IT wie zum Beispiel die

  • Infrastruktur (Hardware, Standorte, Netzwerke, Software (Anwendungen), Daten)
  • Management (Konfigurations- und Kapazitätsplanung, Lastverteilung, Datensicherung, Verfügbarkeit, Ausfallsicherheit, Katastrophenfall-Planung etc.).
  • Schnittstellen für die reibungslose IT-Unterstützung der Prozesse im Unternehmen.

Die IT-Architektur fixiert die Grundstrukturen der IT und definiert Regeln, die das Zusammenspiel aller Komponenten koordinieren. Analog zu einem Bebauungsplan einer Stadt gibt die IT-Architektur eine Leitlinie für alle an der Planung und dem Betrieb von IT-Systemen und IT-Infrastrukturen Beteiligten.

Software-Architektur

Die Analyse und der Entwurf von Softwaresystemen basiert auf einer erfolgreichen Anforderungsanalyse und transformiert die Rahmenbedingungen und die fachlich / technischen Anforderungen in eine Spezifikationen für die Realisierung einer Softwareanwendung. Die Spezifikation beschreibt, wie das geplante System die geforderte Fachlichkeit technisch umsetzen wird. Ein exakter Entwurf der Software ist die Voraussetzung für eine effiziente und korrekte Implementierung des Systems.

Im Entwurfsprozess ist nicht nur die Kenntnis der Domäne wichtig, sondern auch der sichere Umgang mit den verschiedenen Werkzeugen im Entwicklungsprozess sowie den Technologien der unterschiedlichen Zielplattformen.

Das Konzept Service Orientierte Architektur (SOA)

Der Begriff SOA (Service Orientierte Architektur) ist ein Konzept und eine Vorgehensweise mit einer Anwendungsarchitektur und Beschreibungsformaten für Daten und Abläufe.

Das Konzept

Die Grundidee ist, eine Architektur zu etablieren, die anstelle großer monolitischer Softwarepakete für einzelne Fachaufgaben, die Kombination aus kleinen flexiblen Software Modulen treten. In der Regel definieren die Fachabteilungen die Geschäftsprozesse, welche dann in einer Software wiedergegeben werden. Daraus entstehen viele Programme, die immer wieder gleiche Funktionen verwenden. So findet sich z.B. die Bearbeitung von Kundendaten in zahlreichen Software Systemen wie z.B. Wareneingang, Kalkulation, Produktion, Vertrieb und Marketing. Wenn sich die Struktur der Aufgaben bzw. der Fachabteilungen ändert, wie z.B. beim Umstellen des Vertriebs von regionaler zu einer Produkt orientierten Ausrichtung, dann entsteht ein hoher Aufwand für Umstellung oder Anpassung der Software. Dies steht der Flexibilisierung der Geschäftsprozesse entgegen.

 

Das Ziel

Das Ziel der SOA ist es kleine Module mit klaren Aufgaben, Funktionen und Schnittstellen zu definieren. Diese fein granularen Einheiten (Services) werden dann zu grob granularen Anwendungen kombiniert. Dieses Zusammenfügen wird in der SOA als „Orchestrierung“ bezeichnet. Im obigen Beispiel wäre das Lesen und Aktualisieren der Kundendaten ein solcher Service.

Um eine SOA zu etablieren, muss zunächst eine Analyse der bestehenden Software und der Geschäftsprozesse erfolgen. Ziel ist es, gemeinsame Funktionen zu erkennen und zu beschreiben. Bei dieser Bottom Up Strategie ist ein Moderator hilfreich, der zwischen den Fachabteilungen, der TI Abteilung und der Geschäftsführung vermittelt. Die gefundenen Funktionen können dann sukzessive in Webservices umgesetzt werden. Dabei muss bei der Beschreibung und der Komplexität der Services jeweils die Gesamtheit der Prozesse im Auge behalten werden. In der Praxis kann es auch sinnvoll sein, zunächst bestehende Systeme über eine Webservice-Schnittstelle zu öffnen. Die Einführung kann in einem Rutsch umgesetzt werden. Bei der Einführung ist zunächst mit höheren Kosten zu rechnen, weil ein großer Planungsaufwand erfolgen muss.

Welche Vorteile bietet SOA?

  • Weniger Redundanzen. Kernfunktionen werden nur einmal erstellt und wieder verwendet.
  • Höhere Flexibilität. Wenn sich Geschäftsprozesse ändern kann die Software leichter angepasst oder ergänzt werden.
  • Verteilte Anwendungen können auch über das Internet genutzt werden. Damit können externe Partner auf Kunden und Lieferseite besser angebunden werden
  • Leichtere Anbindung von Online Shops, Procurement- oder Supply-Chain Systemen
  • Langfristige Kostensenkung bei der Anpassung der Systeme.
  • Die Zusammenarbeit über Unternehmensgrenzen wird einfacher.
  • Für das zugrunde liegende XML Format gibt es zahlreiche Tools.