Freitag, 27. März 2015

Kohärenz in Software-Ökosystemen

Heute gibt es kaum mehr ein Unternehmen, das bezüglich Software-Infrastruktur auf der „grünen Wiese“ steht. Gerade in Spitälern ist eine ganze Reihe spezialisierter Systeme im Einsatz. Diese bieten ausgezeichnete Dienste, agieren aber meist isoliert und tauschen abgesehen von administrativen Patientendaten kaum Informationen aus.

Dabei hat bereits Aristoteles vor mehr als 2000 Jahren festgestellt: „Das Ganze ist mehr als die Summe seiner Teile“. Hier liegt ein enormes Potential, das noch immer unterschätzt wird. Wenn wir es schaffen die „Software-Teile“ zu einem „Software-Ökosystem“ zusammen zu fügen entsteht ein System das mehr leistet als die Summe seiner Teile. Viel mehr.

Die „Consumer IT“ macht es uns vor: Es gibt kaum ein Fitness-Armband ohne REST API. Dank den APIs von Google oder Microsoft ist es ein Kinderspiel Informationen auf einer Karte zu visualisieren und ein Schnappschuss mit der Kamera ist innerhalb von Sekunden auf Facebook oder Instagram. Es scheint so als ob „Alles mit Allem“ verbunden werden kann. Die Vorteile des „App-Ökosystems“ sind offensichtlich und stellen einen echten Mehrwert für die Benutzer dar.

Diese Kohärenz zwischen Plattformen und Systemen kann und soll man auch im Unternehmensumfeld nutzen. Aber wie kann aus unabhängigen, einzelnen Systemen ein Software-Ökosystem entstehen?

Grundlage dafür ist eine Serviceorientierte Architektur (SOA). Dabei agieren die einzelnen Teilsysteme als Services welche über einen Service Bus verbunden werden. Der Service Bus liefert die Kommunikationsinfrastruktur und stellt sicher, dass die Systemkomplexität nicht exponentiell steigt, wenn weitere „Teile“ bzw. Services hinzukommen. Wir sprechen hier von einem Service Bus im engeren Sinne wie z.B. NServiceBus von Particular Software.

Um als Service im Ökosystem teilnehmen zu können muss ein System über eine Standard Service API wie REST oder SOAP verfügen. Leider sind Service APIs nach wie vor selten ein Evaluationskriterium beim Kauf von Software. Entsprechend existieren viele Systeme welche eine schlechte oder gar keine haben. Solche Systeme können meist über einen Service Adapter erschlossen werden, diese Art der Integration ist aber immer zweite Wahl.

Mehrwert des Ökosystems:
  • Integrierte Funktionalitäten: Das Ökosystem kann Funktionalitäten bieten welche kein einzelnes System je leisten könnte
  • Komplexe Workflows: Ermöglicht zusammenhängende asynchrone Transaktionen über Systemgrenzen hinweg
  • Integrierte Sicht: Benutzer müssen nicht ständig zwischen den verschiedenen Applikationen wechseln
  • Basis für Apps: Das Ökosystem versorgt mobile Applikationen mit Daten und Funktionalitäten
  • Transparenz: Über den Service Bus ist ein detailliertes Tracking der Prozesse möglich
  • Stabilität: Der Service Bus kann Ausfälle von Teilsystemen handeln und sorgt dafür, dass nie Informationen verloren gehen

Das Ganze ist mehr als die Summe seiner Einzelteile. Indem man bestehende Systeme zu einem Ökosystem verbindet kann in Unternehmen echter Mehrwert generiert werden.

www.afca.ch