Freitag, 6. September 2013

Teile - und herrsche!

Schimpfen Sie auch häufig über die Monolithen in Ihrer Anwendungslandschaft – weil Sie nie auch nur ein kleines Stück Software mal einzeln aktualisieren können? Gerade in großen Unternehmen mit unternehmenskritischen IT-Prozessen findet man sehr große Blöcke von Monolithen, oft in Cobol oder auch Java. Andererseits hatte der uralte Host auch seine Vorteile: oft bestand die Anwendung aus Einzelprogrammen, die man nacheinander aufgerufen wurden. Vorteil: einfach mal ein Programm austauschen können.


Schnell erinnert man sich an den ollen Cäsar und die Grundlagen-Vorlesungen der Informatik: Divide et impera! Teile und herrsche! Das hat die IT auch beherzigt: von Objektorientierung über CORBA bis zu SOA.


Erinnern Sie sich noch an SOA – Service-orientierte Architekturen? In der IT-Zeitrechnung ist das schon ewig her. Wie war das noch? Komponenten oder Teilsysteme, die Services bereitstellen! Kapselung in verschiedene Teile! Eigentlich eine ganz simple Idee. Klar, durch die Marketing-Maschinen der Berater, Fachzeitschriften und Messen wurde SOA DAS Thema. Mit jeder Menge an Sub-Themen wie Service-Orchestrierung, Service-Interferenzen, Business Modellen für die Unternehmens-SOA und wahrscheinlich auch Bach-Blüten-Therapie für Alt-Systeme...


Damals setzte man noch auf WebService-Technologie – mit ich glaube mehr als 200 Standards heute etabliert – aber natürlich in Gänze extrem aufwändig. WebServices basierten auf dem nahe liegenden Ansatz, Services technologiefrei durch das neutrale XML zu realisieren. Endlich keine zeitraubenden Konvertierungen und Fehlersuchen mehr – dachten wir. Gut, wir haben gelernt: Standards lassen sich nur mit passendem Tooling wirklich anwenden. Und: XML-Konvertierungen kosten Laufzeit – also nichts für den Hochlast- und Massendatenbereich, falls sie noch keinen Quantencomputer oder das Budget der NSA haben. Für die Integration externer Systeme macht XML Sinn: man will nicht wissen, was die da betreiben. Lieber stabil und ein paar Kisten mehr kaufen.



Interne Services sowie modernere Internet-basierte Services setzen zunehmend auf REST. Grundidee war mal, per http-Aufruf Objekt-Aktionen wie Anlegen, Löschen etc. durchzuführen mit minimalem Overhead in der Darstellung. Der Vorteil eines einfachen http-Services gegenüber eines echten WebServices liegt auf der Hand: kein XML-Parsen, JSON geht da deutlich schneller. Und zwar so schnell, dass man den Monolithen endlich aufbrechen kann:
  • Geschäftsprozesse wie Angebot, Kauf, …
  • Partner: Kunden, Beteiligte wie Versicherungsnehmer, …
  • Produkte: Katalog, Artikel, Varianten
  • Aufträge / Verträge: die wirklich fakturierbaren Einheiten



Wenn Sie das geschafft haben – dann können Sie auch das Partner-System austauschen, ohne die anderen Systeme massiv zu beeinflussen!


Falls Ihnen das Schema oben bekannt vorkommt: viele Unternehmen setzen seit Jahren separate Systeme für die Partnerverwaltung ein. Standardsoftware-Hersteller bieten Module an. Neu ist das alles nicht – aber mit REST-Services deutlich ressourcenschonender und auch für kleinere Unternehmen machbar.


Sie können das noch weiter treiben: setzen Sie als schnellen Zwischenspeicher eine NOSQL-DB wie die MongoDB ein – aus der nur gelesen wird. Sie werden sich wundern, was dabei an Performance trotz Kommunikationsoverhead möglich ist!


Derartige Hybrid-Techniken, also traditionelle Datenbank-Speicherung in Kombination mit schnellem Lese-Speicher, werden gerade durch die Teilung in Komponenten und Services vereinfacht. Gehen Sie es also endlich an und fräsen Sie Blöcke aus dem Monolithen heraus!


Keine Kommentare:

Kommentar veröffentlichen

Kommentare? Erwünscht!

Aus rechtlichen Gründen werden Kommentare moderiert...

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.