Glossar

Softwarelösungen für Anwendungsfälle im Webbereich gibt es viele. Trotz der Vielzahl an Optionen, lassen sich diese Systeme anhand ihrer Kernbereiche unterscheiden und kategorisieren. Diese Kernbereiche möchten wir Ihnen näherbringen. Damit Sie wissen, woran Sie entscheiden können, welche Lösung die für Sie passende ist und welche Aspekte dabei berücksichtigt werden sollten.

Inhaltsverzeichnis

Nutzungsrechte
Lizenzen
Hosting
Ressourcen
Support
Weiterentwicklung
Architektur
Technologie
Sicherheit
Roadmap
 

Nutzungsrechte

Viele Systeme können Sie unter freien Lizenzen nutzen (Open Source) - weitere sind geschützt (Closed Source). Finden Sie kein passendes System auf dem Markt der Softwareanbieter oder möchten Sie selbst zum Softwareanbieter werden, können Sie auch eine eigene Software selbst entwickeln oder speziell für Ihren Anwendungsfall entwickeln lassen (Eigenentwicklung).

Open Source

Der Quelltext kann öffentlich von Dritten eingesehen, geändert und genutzt werden. Mit dieser Methode schafft der Hersteller die Basis, dass die Software von Dritten weiterentwickelt werden kann. Um diese Rechte zu gewähren, stellt sie der Hersteller unter eine Open Source-Lizenz. Dadurch ist geregelt, dass die Software Open Source bleibt und nicht einfach kommerzialisiert werden kann. Sie kann daher in der Regel kostenfrei genutzt werden.

Closed Source oder auch proprietäre Software

Der Quelltext ist Eigentum des Herstellers und wird durch das Urheberrecht oder Lizenzbedingungen geschützt. Dadurch kann der Hersteller die Software exklusiv an unterschiedliche Marktteilnehmer kommerziell vertreiben. Der Hersteller gewährt dem Käufer durch den Erwerb einer Software-Lizenz zwar Nutzungsrechte und er darf beispielsweise Änderungen an Bereichen des Quellcodes durchführen, aber der Käufer erhält nicht das Recht auf kommerzielle Weiterverwertung oder -Verkauf des dadurch entstehenden neuen Produktes. Im Gegenzug dazu wird oftmals durch den Hersteller Support und Weiterentwicklung der Software innerhalb einer planbaren Roadmap gewährleistet.

Eigenentwicklung

Finden Sie am Markt keine passende Lösung für Ihren Anwendungsfall, kann es sinnvoll sein, selbst zu entwickeln oder entwickeln zu lassen. Da Sie bei der Eigenentwicklung auch die Urheberrechte am Quelltext der Software besitzen, legen Sie auch die Lizenz fest. Sie haben dann die Möglichkeit, ihr Produkt zusätzlich kommerziell unter einer proprietären Lizenz zu vertreiben.

Software als Asset

Die passenden Nutzungsrechte hängen von ihren Geschäftszielen ab. Ist Entwicklungssicherheit und Unterstützung von außen wichtig - oder haben Sie Know-How und Entwicklerressourcen und wollen selbst als Hersteller auftreten?

Lizenzen

Software wird unter verschiedenen Lizenzen verbreitet und vertrieben. Einige sind kostenpflichtig, andere nicht. Von der jeweiligen Lizenz hängt ab, welche Rechte oder in manchen Fällen auch Pflichten, auf den Lizenznehmer übertragen werden.

Kaufen

Der Kauf einer Software berechtigt Sie zu ihrer Nutzung und umfasst in der Regel eine bestimmte Anzahl Nutzerlizenzen. Die so erworbenen Nutzungsrechte beziehen sich zumeist nur auf die aktuelle Version der Software. Das Anrecht auf zukünftige Versionen oder andere Serviceleistungen, wie Updates oder Support, müssen Sie oftmals separat erwerben. Kauflizenzen finden Sie häufig bei Software, die Sie „on premise“ – also auf Ihren eigenen Servern, betreiben können.

Mieten

Anstatt eines Kaufs, können Sie Software auch für einen bestimmten Zeitraum mieten. Miet-Software wird oft in Form von SaaS-Lösungen (Software-as-a-Service) angeboten. Miet-Modelle zeichnen sich vor allem durch ihre unmittelbare Verfügbarkeit aus. Gebühren, die Miete, werden in der Regel periodisch gezahlt. Zusätzlich sind auch nutzungsabhängige Bezahlmodelle (Pay per Use) etabliert. In den Mietbedingungen und -kosten sind im Normalfall Wartungsvereinbarungen zwischen Dienstleister und Nutzer bereits inbegriffen. Der Nutzer hat dementsprechend Anspruch auf neue Versionen der gemieteten Software. Miet-Modelle sind vor allem für Unternehmen mit stark schwankender Nutzung der Software interessant.

Subscription

Subscription ist ein Lizenzmodell das wie ein Abonnement funktioniert. Sie können beispielsweise einen Subscription-Vertrag für 12 Monate schließen und im Voraus bezahlen, ohne dass er sich automatisch verlängert. Damit umgeht der Hersteller, dass das Bezahlmodell unter das in Deutschland mit hohen Haftungsauflagen verbundene Mietrecht fällt. Wie bei der Miete wird die Software auf der Infrastruktur des Herstellers betrieben.

Leasing

Wollen Sie das System gerne auf Ihren eigenen Servern betreiben, aber die Anfangsinvestition eines Softwarekaufs umgehen, dann haben Sie auch die Möglichkeit des Leasings.

Im Softwareumfeld treten Banken und dezidierte Leasing Firmen als Leasinggeber auf. Gerade spezialisierte Leasinggeber bieten häufig noch zusätzliche Serviceleistungen wie Wartung und Support an.

Open Source: GPL (General Public License)

Die GPL (General Public License) ist die am weitesten verbreitetste Open Source Softwarelizenz. Unterliegt eine Software der GPL Lizenz, können Sie diese lizenzgebührenfrei nutzen, verändern und weitergeben. Damit diese Rechte wirksam genutzt werden können, legt der Lizenzgeber den Quellcode der Software offen.

Allerdings beinhaltet die GPL Lizenz auch Pflichten. Die wichtigste Pflicht ist das sogenannte „Copyleft“. Diese Klausel stellt sicher, dass die Software, wenn sie verändert und weitergegeben wurde, weiterhin unter der GPL Lizenz stehen muss. Die Copyleft Klausel soll so verhindern, dass veränderte Versionen eines Werks kommerzialisiert werden.

Open Source: BSD (Berkeley Software Distribution)

Eine weitere Open Source Lizenzausprägung ist die BSD-Lizenz. Auch hier darf die Software frei verwendet werden. Im Gegensatz zu der GPL Lizenz muss allerdings nicht der Quellcode veröffentlicht werden und Änderungen müssen nicht explizit kenntlich gemacht werden. Unter dieser Lizenz ist es möglich, die erstellte Software als Vorlage für kommerzielle Produkte zu verwenden. Der Softwarehersteller ist frei, seine von ihm weiterentwickelten Softwareteile unter eine beliebige Lizenz zu stellen. Allerdings behält der nicht veränderte Ausgangscode die ursprüngliche BSD-Lizenz.

TCO und Kostenvergleich

Jeder Hersteller hat sein eigenes Lizenzmodell. Dafür werden unterschiedliche Metriken herangezogen: Gesellschaften, Mandanten, Nutzungszahlen im Frontend oder Backend, Server und IT-Landschaft. Diese vergleichbar zu machen und auf die Zeit gegeneinander zu legen, ist eine separate Aufgabe.

Hosting

Als Hosting wird im IT-Kontext das Unterbringen von Software bezeichnet, um sie über das Internet verfügbar zu machen und nutzen zu können. Große Softwaresysteme wie ein CMS (Content Management System) oder ein PIM (Produkt Informations Management System) benötigen in der Regel eine IT-Infrastruktur, um betrieben werden zu können. Diese kann auf verschiedene Arten bereitgestellt werden:

On premise

Bei Hosting „on premise“ wird die Struktur innerhalb der eigenen Serverumgebung aufgesetzt. Auf dieser kann die gewünschte Software in eigener Verantwortung betrieben werden. Die „on premise“ Lösung setzt allerdings viel eigenes Wissen oder oftmals sogar eine eigene IT-Abteilung voraus.

Alternativ gibt es auch fertige Webhosting-Pakete, die von Hosting Partnern angeboten werden. Hierbei werden die benötigten Server von einem externen Rechenzentrum bereitgestellt. Oftmals sind diese Hosting-Pakete schon für die jeweilige Software vorbereitet.

Cloud

Es gibt verschiedene Modelle, um Software in der Cloud nutzen zu können. Cloud-Computing umfasst dabei das zur Verfügung stellen von Speicherplatz als Dienstleistung. Eine Cloud funktioniert im Wesentlichen so: Ein Dienstleister stellt Ihnen über das Internet Speicherplatz für Daten zur Verfügung. Dieser kann als „virtuelle Festplatte“ genutzt werden. Cloud-Lösungen sind damit unempfindlich für Hardware-Ausfälle und über das Internet nahezu weltweit erreichbar. Im Cloud-Computing werden die beiden Begriffe Private Cloud und Public Cloud gegeneinander abgegrenzt.

Public Cloud

Eine Public Cloud ist für die Allgemeinheit über das öffentliche Internet zugänglich. Sie stellt ihren Nutzern Speicherkapazität oder auch konkrete Anwendungen zur Verfügung. Bezahlt wird in der Regel für die vom Dienstleister tatsächlich erbrachte Leistung, die sich etwa nach der benutzten Rechenleistung aufstellen kann. Allerdings sind auch Abo- oder kostenlose Clouds im Markt vertreten. Der Cloud-Dienstleister stellt die Voraussetzungen für eine Public Cloud zur Verfügung und steuert ihre Funktionalitäten selbst.

Private Cloud

Private Clouds stehen anders als Public Clouds nicht der Allgemeinheit, sondern nur einem individuell definierten Personenkreis zur Verfügung. Auch aufgrund von Datenschutzbestimmungen nutzen Unternehmen deshalb häufig Private Clouds. Eine Private Cloud stellt die gleichen Funktionalitäten und Vorteile einer Public Cloud zur Verfügung und ergänzt diese um einen höheren Datenschutz und mehr Sicherheit. Nutzt ein Unternehmen eine Private Cloud, kann es diese individuell gestalten, muss diese damit allerdings auch selbst verwalten und trägt damit auch mögliche Kosten und das Haftungsrisiko selbst. Private Clouds bieten damit ein hohes Maß an Flexibilität, können schnell an sich ändernde Rahmenbedingungen angepasst werden, ohne dabei auf Kontrolle und Sicherheit verzichten zu müssen. Gegenüber traditionellen IT-Infrastrukturen bieten sich teilweise deutliche finanzielle Einsparpotenziale.

Unterschieden wird zudem zwischen drei Ebenen, die zum Teil gleiche, aber auch erweiternde Funktionalitäten mitbringen:

Software-as-a-Service (SaaS)

Entscheiden Sie sich für ein „Software as a Service“ (SaaS)- Produkt, stellt der Hersteller die technische Infrastruktur gleich mit zur Verfügung. Ihre Mitarbeiter greifen über das Internet auf die Cloud zu und arbeiten damit losgelöst von stationären Servern oder der firmeneigenen digitalen Infrastruktur. Eine der bekanntesten SaaS-Lösungen ist Google Docs. Bei SaaS liegt die Software beispielsweise in der Cloud oder im CDN des Herstellers.Bei der Miete müssen Sie sich keine eigene Server Landschaft anschaffen. Sie tragen diese Kosten innerhalb der Mietlizenz für die Dauer der Nutzung. SaaS-Produkte sind in der Regel sehr serviceorientiert, können von jedem Mitarbeiter ohne technisches Vorwissen genutzt werden und sind schnell einsatzbereit – allerdings strukturell bedingt deutlich starrer in der Individualisierung.Die Gebühren für die Miete orientieren sich meist an der Nutzungsdauer, dem Funktionsumfang und an der Nutzeranzahl. Oft sind Serviceleistungen wie Wartung, Updates und Upgrades auf die neueste Version schon in den Mietgebühren enthalten.

Platform-as-a-Service (PaaS)

Etwas weniger Funktionalität und eine andere Zielgruppe soll mit PaaS-Lösungen angesprochen werden. Diese stellen eine Entwicklungsumgebung für Programme innerhalb der Cloud zur Verfügung und sind damit in erster Linie für Entwicklerteams geschaffen. PaaS-Lösungen umfassen physische Rechenzentren, Firewalls, Server und Speicher, Betriebssysteme und Tools zur Weiterentwicklung. Webanwendungen können von PaaS-Lösungen vom Erstellen über das Testen, Bereitstellen und die Verwaltung bis zur Bereitstellung unterstützt werden. Der Unterschied zu SaaS: Konkrete Anwendungen und Apps stehen nicht zur Verfügung. PaaS kann also nicht ohne Weiteres von jedem Mitarbeiter genutzt werden und ist eher als eine Werkzeugkiste für ein Entwicklerteam zu verstehen. Diese Werkzeugkiste wird in der Cloud gelagert und ist damit immer und überall für Entwickler und Systemarchitekten verfügbar. Auf diesem Wege werden der Programmieraufwand reduziert, neue Entwicklungsmöglichkeiten für alle Plattformen (Computer, Mobilgeräte etc.) geschaffen und eine kostengünstige Nutzung von Tools gewährleistet, die sich ein Unternehmen sonst nicht leisten könnte oder würde.

Infrastructure-as-Service (IaaS)

Die unterste Ebene im Cloud-Computing liegt im sogenannten IaaS – Infrastructure-as-a-Service. Diese Lösungen bringen einige der in SaaS und PaaS ebenfalls integrierten Funktionen und Dienstleistungen mit, sind insgesamt allerdings rudimentärer aufgebaut. IaaS umfasst in der Regel die Bereitstellung von physischen Rechenzentren, Netzwerkfirewalls und Servern bzw. Speicherkapazität und eignen sich beispielsweise für das Website-Hosting. Die Vorteile von IaaS liegen damit vor allem in der Geschwindigkeit: Über die Cloud kann von jetzt auf gleich auf entsprechende Kapazitäten zugegriffen werden, ohne dass der Aufbau einer digitalen Infrastruktur nötig wäre. Dazu lassen sich IaaS-Lösungen schnell an sich ändernde Rahmenbedingungen anpassen. Die laufenden Kosten für die IaaS-Nutzung sind gering, mögliche Investitionen in ein Datencenter, die vorab getätigt werden müssten, entfallen komplett.

Content Delivery Network (CDN)

Im Gegensatz zum Cloud-Computing, bei dem ein große Gruppe von Servern lokal betrieben wird, ist ein Cotent Delivery Network (CDN), ein Netz regional verteilter Server. Das Prinzip besteht darin, dass Netzwerkverbindungen vom jeweils geographisch günstigsten Server hergestellt werden und so die Geschwindigkeit der Datenauslieferung erhöht wird. Diese Lösung ist wie bei der Cloud häufig bei „Software as a Service (SaaS)“ Angeboten zu finden.

Anpassbarkeit und Sicherheit

Die Wahl des Hostings hat für Unternehmen oft eine strategische Dimension. Wie viel Anpassbarkeit an dem System ist gewünscht? Mit welchen Systemen muss gesprochen werden? Wie hoch ist der Sicherheitsbedarf und der Bedarf an die Verfügbarkeit?

Ressourcen

Im Gesamtprojekt einer Softwareeinführung gibt es außer Software und Hardware noch andere Ressourcen, die einen großen Teil der Gesamtkosten ausmachen können. Ein Softwareprojekt kann viele Abteilungen eines Unternehmens berühren und wird möglicherweise von verschiedenen externen Dienstleistern über unterschiedliche Projektphasen hinweg begleitet.

Mitarbeiter

Ihre Mitarbeiter sind wahrscheinlich Ihre wichtigste Ressource und ein ebenso großer Erfolgsfaktor für das System.

Anwender

Ein wichtiger Teil Ihrer Mitarbeiter wird mit der neuen Softwarelösung als Anwender arbeiten. Haben Ihre Anwender Schwierigkeiten mit der Software, da sie beispielsweise kompliziert zu erlernen ist oder Schwächen in der Bedienbarkeit hat, wird die Akzeptanz und Nutzung eingeschränkt und die Arbeitsabläufe werden gestört. Ebenso müssen neue Funktionalitäten beigebracht und geschult werden, damit ihre Anwender das System auch optimal nutzen können.

Fachabteilungen

Die Mitarbeiter aus Ihren Fachabteilungen (IT, Marketing, Vertrieb, HR) nutzen Ihr Fach- und Marktwissen, um Anforderungen gegen die Softwarelösung zu formulieren. Damit diese verschiedenen Anspruchssteller (Stakeholder) und Ihre Wünsche zusammengehalten werden und eine erwartungsgerechte Umsetzung erfolgt, benötigt es ein professionelles Anforderungsmanagement.

Entwickler und Architekten

Einige Softwarelösungen setzen bei Ihnen im Unternehmen Mitarbeiter voraus, die technisches Wissen haben und an der Entwicklung und Weiterentwicklung der Software eigenständig oder mit Unterstützung eines Dienstleisters arbeiten.

Dabei müssen Sie darauf achten, dass genug dokumentiertes Wissen über die Software in Ihrem Unternehmen verbleibt. Sollten zu viele Mitarbeiter, die mit der Software arbeiten oder an ihrer Entwicklung beteiligt waren, das Unternehmen verlassen, entsteht ein großes Risiko, dass das System nicht weiterentwickelt werden kann.

Dienstleister

Bei der Einführung eines neuen Systems können verschiedene Dienstleister involviert sein. Je nachdem, welche Aufgaben von Ihrem Unternehmen übernommen werden, können beispielsweise noch weitere Implementierungs-Partner, Hosting-Partner oder Design-Agenturen beteiligt sein.

Für die meisten Anforderungen lassen sich Servicepartner finden, die eine oder mehrere der gewünschten Leistungen abdecken. Da die Dienstleisterlandschaft je nach Software sehr groß sein kann, empfiehlt sich auf Basis des festgelegten Systems eine sorgfältige Auswahl der Dienstleister, mit denen das Projekt durchgeführt wird.

Hersteller

Wird die Software über eine kommerzielle Lizenz bezogen, sind je nach Lizenz bereits unterschiedliche Serviceleistungen des jeweiligen Herstellers enthalten oder können dazu gebucht werden. Das Angebot kann beispielsweise die Implementierung, die Wartung, den Support und das Hosting auf der herstellereigenen Cloud-Plattform umfassen.

Liegt die Software unter einer Open Source Lizenz, haben Sie keinen Anspruch auf Serviceleistungen. Wenn Sie professionellen Support wünschen, kann dieser aber von einem Dienstleister übernommen werden. Steht eine Entwicklergemeinde hinter der Software, gibt es zumeist Online-Foren die hilfreich sein können.

Ein System allein hat noch kein Problem gelöst

Das System wird sich nicht allein bedienen. Es kann auch nicht die Marktanforderungen für Sie einsammeln. Es ist immer nur ein Werkzeug um Geschäftsziele zu erreichen und Mitarbeitern die Umsetzung zu ermöglichen. Ebenso brauchen Sie fähige Unterstützung und Partner, die Ihnen helfen Systeme aufzubauen, einzuführen und weiterzuentwickeln.

Support

Das Arbeiten mit modernen Softwaresystemen ist ein dynamischer Prozess. Die Software wird meist kontinuierlich weiterentwickelt und ein hohes Servicelevel und ein gut erreichbarer Support wird daher von vielen Herstellern bereitgestellt. Zusätzlich gibt es häufig eine Community, die sich zusätzlich über das Internet über das jeweilige System austauscht.

Service Level Agreements (SLA)

Service Level Agreements (SLA) bezeichnen einen Rahmenvertrag zwischen dem Auftraggeber und dem Hersteller für wiederkehrende Dienstleistungen. Je höher das vertraglich vereinbarte Service-Level, desto besser ist die Qualität der gewünschten Dienstleistung. Inhalt des SLA‘s kann bspw. die Schnelligkeit der Bearbeitung von Supportanfragen oder eine möglichst geringe Server-Ausfallrate sein.

Kommerzieller Support

Nicht alle kommerziellen Hersteller haben ein vollumfängliches Serviceportfolio oder können die Nachfrage nach zusätzlichen Leistungen alleine abdecken.

Daher gibt es viele Dienstleister, die sich darauf spezialisiert haben, Serviceleistungen für Software-Projekte anzubieten. Das Angebot reicht von der Beratung über technischen Support und Implementierung bis zum Hosting der Software.

Freier Support durch die Community

Viele Systeme werden von einer Community unterstützt oder basieren sogar auf einer Entwicklergemeinde, die das System kontinuierlich weiterentwickelt. Ein Austausch findet u.a. in den jeweiligen Internetforen statt und es existieren oft sogar detaillierte Dokumentationen oder White Papers.

Die Ergiebigkeit dieser Support Methode richtet sich stark nach der Popularität des Systems bzw. der Größe der Community.

Unterstützung

Achten Sie darauf, dass Sie nicht im Dreieck zwischen Dienstleister und Hersteller landen und vom einen zum anderen geschickt werden. Um das zu verhindern, ist der richtige Aufbau der Supportumfänge wichtig.

Weiterentwicklung

Um sich den schnell ändernden Bedingungen im Internet anzupassen, ist eine kontinuierliche Weiterentwicklung der Software erforderlich. Hersteller liefern daher immer wieder Updates und in regelmäßigen Abständen erscheint die neueste Produktversion der jeweiligen Software. Diese Form der Weiterentwicklung kann bei kommerziellen Produkten über verschiedene Lizenzmodelle bezogen werden. Bei Open Source Produkten braucht es die eigenen Mitarbeiter oder einen externen Dienstleister mit Entwicklungskompetenz und Marktkenntnis, der die Software aktuell hält.

Standardmodule

Der Funktionsumfang einer Software kann häufig den individuellen Anforderungen angepasst werden. Ist das System modular aufgebaut, können gewünschte Funktionen hinzugenommen werden, um das System um Funktionalität zu erweitern.

Modifikationen auf Anfrage

Ist die gewünschte Funktion in keinem der vom Hersteller oder auf einem Marktplatz angebotenen Module enthalten oder treten im Nachhinein noch neue Anforderungen auf, ist es möglich, dass der Hersteller oder ein Dienstleister für diese Anforderungen individuelle Module entwickelt und zur Verfügung stellt. Viele Hersteller haben User-Groups oder kontinuierliche Treffen bzw. digitale Methoden (bspw. Ticketsystem mit Voting), um Marktanforderungen aufzunehmen und Ihre Produkte kundengetrieben weiterzuentwickeln.

Roadmap und neue Geschäftsmodelle

Idealerweise haben Sie ein Softwaresystem mit einem guten Draht zum Markt und seinen Entwicklungen und Anforderungen. Diese Weiterentwicklungen werden über eine Roadmap planbar umgesetzt und Ihnen zur Verfügung gestellt. Alternativ haben Sie ein individuelles System oder eine Kombination aus Standardsoftware in der Sie auf dem bestehenden "Standard" Ihre individuelle Umsetzung aufbauen und weiterentwickeln.

Architektur

Software kann in ihrer Struktur unterschiedlich aufgebaut sein. Hauptsächlich wird zwischen einer monolithischen Struktur und einer Microservice-Struktur unterschieden. Der gewählte Ansatz in der Entwicklung einer Software hat Auswirkung auf deren Weiterentwicklung und Funktionsumfang.

Monolithen

Software hat eine monolithische Struktur, wenn sie als Einheit in sich geschlossen und unabhängig von anderen Computeranwendungen ist. Häufig sind Monolithen stark an dezidierte Ressourcen, wie spezielle Hardware oder bestimmte Datenformate gebunden. Im Laufe der Nutzungsdauer können mehr Funktionen und Module hinzukommen, wodurch die gesamte Anwendung komplexer und die Wartbarkeit erschwert wird. Das kann dazu führen, dass durch die wachsende Komplexität, die Anwendung fehleranfälliger und langsamer wird.

Microservices

Eine Microservice-Architektur besteht aus vielen autarken Prozessen, die jeweils dezidierte Aufgaben erledigen. Die einzelnen Microservices sind durch sprachunabhängige Programmierschnittstellen (API) miteinander verbunden und können so in ihrer Gesamtheit komplexe Anwendungssoftware ergeben. Eine Microservice-Architektur gibt Entwicklern die Freiheit, Dienste unabhängig voneinander zu entwickeln und auszuliefern und sich in speziellen Teams aufzustellen (bsp. Checkout, Preisservice). Häufig wird in diesem Zusammenhang auch synonym von Containern oder einem modularen Aufbau von Softwareanwendungen gesprochen. Diese Architektur muss ebenfalls gut durchdacht und geschnitten werden, so dass die Microservices nicht zu kleinteilig werden und gut zusammenarbeiten.

Application-Programming-Interface (API)

Als API – Application-Programming-Interface – bezeichnet man eine Schnittstelle, die eine Software bereitstellt, um in andere Programme oder Systeme eingebunden werden zu können. Ziel ist es, Daten zwischen zwei Programmen strukturiert und effizient auszutauschen. APIs sind nicht für den User vorgesehen, sondern maschinenlesbar. Sie greifen auf das Backend einer Software zu. Hierbei werden Befehle zwischen zwei Systemen, die über eine API miteinander verknüpft werden, nach klar festgelegten Regeln ausgetauscht. Eine Syntax legt fest, was eine API leistet und was nicht. Über eine API an ein anderes System angebundene Systeme haben einen klaren Auftrag, der von ihnen ausgeführt wird. Solche Programmierungs-Schnittstellen haben mehrere Vorteile: Zum einen wird komplexe Software durch den Einsatz von APIs vereinfacht. Durch die Auslagerung einzelner Funktionen können diese zudem agiler und leichter modifiziert und an sich ändernde Gegebenheiten angepasst werden. Zwei einfach Beispiele: Die Anbindung von Bezahldienstleistern in Onlineshops findet ebenso über den API-Einsatz statt wie das Einloggen mit einem Facebook-Account auf anderen Portalen, für die damit kein eigener Nutzer-Account mehr angelegt werden muss.

Headless

Der Begriff „headless“ wird vor allem im Kontext von Content-Management-Systemen und Commerce-Systemen benutzt. Seine Übersetzung – kopflos – ist allerdings nicht Programm. Denn hinter dem Gedanken, ein CMS oder einen Online-Shop „headless“ zu gestalten, steht ein klares Ziel: Die Darstellung von Inhalten vom jeweiligen System, das dafür zuständig ist, zu entkoppeln. Wie funktioniert das? Ein „headless“ angelegtes System trennt das Frontend, also die Darstellungsschicht (die für den Kunden sichtbare Benutzeroberfläche), von den wirklichen Inhalten. Durch diese aufgelöste Verbindung wird der Inhalt flexibel ausspielbar und wie Inhalte dargestellt werden sollen, entscheidet die jeweilige ausspielende Frontendschicht. Das kann für jeden Kanal eigene Darstellungslösungen finden und individuell gestalten. Und Kanäle gibt es neben einer klassischen Website viele: Apps, Smartwatches, Screens oder auch Sprachassistenten. In einem headless CMS kommunizieren das Front- und das Backend über eine Programmierungs-Schnittstelle (API) miteinander.

Content-as-a-Service (CaaS)

Für die Abkürzung CaaS kennt die IT-Branche gleich drei unterschiedliche Bedeutung: Content-as-a-Service, Computing-as-a-Service und Container-as-a-Service. In diesem Kontext soll es um Content-as-a-Service gehen. Der Begriff ist inhaltlich mit „headless“ betriebenen Systemen verwandt. Das Ziel von CaaS-Lösungen ist es, Kunden auf einem verkürzten und effizienten Weg auf möglichst vielen unterschiedlichen Kanälen zu erreichen. Der dafür nötige Inhalt (Content) muss dafür kanalgerecht zur Verfügung gestellt werden. Jeder Kanal (Website, Apps, Wearables etc.) benötigt dafür eine andere Aufbereitung. Je mehr Kanäle mit einem Inhalt bedient werden sollen, desto größer ist also auch der Aufbereitungsaufwand. CaaS reduziert diesen Aufwand auf technischer Ebene. Die Inhalte werden den einzelnen Kanälen über eine API zur Verfügung gestellt. Diese können die Inhalte dann „selbstständig“ aufbereiten. Inhalte müssen demnach nur einmal erstellt werden. Das führt dazu, dass ein Frontend unabhängig vom verwendeten Content-Management-System gestaltet werden kann.

 

Informationsarchitektur

Eine Informationsarchitektur dient der Organisation und Strukturierung von Inhalten. Diese sollen vom Nutzer schnell gefunden werden können. Der Begriff Informationsarchitektur wird oft im Kontext der optischen Darstellung von Inhalten oder synonym zum Begriff Navigation benutzt – das greift allerdings zu kurz. Auch das Gleichsetzen mit der User Experience (UX) sollte nicht passieren. Eine Informationsarchitektur findet vielmehr auf technischer Ebene statt und bildet nur die Grundlage für die UX. Dabei geht es um strukturelle Fragen, nicht um die spätere Darstellung. Je mehr Informationen für eine Website strukturiert werden müssen, desto durchdachter muss auch die Informationsarchitektur sein. Eine gute Architektur beantwortet dem späteren User der Website Fragen wie: Wo komme ich her? Was finde ich hier? Womit geht es weiter? Wer beantwortet mir offene Fragen? Teile einer Informationsarchitektur sind damit die Navigation und eine Suchfunktion. Die Architektur muss sowohl die Bedürfnisse seiner Betreiber als auch die der späteren Nutzer erfüllen.

Ein System ist keine Insel

In der Regel sind die Systeme nicht alleinstehend und müssen in der Zusammenarbeit mit weiteren Bausteinen und Komponenten in einer Gesamtarchitektur Geschäftsprozesse unterstützen. Dabei ist es wichtig, dass die einzelnen Bestandteile der Architektur zusammenpassen und aufeinander abgestimmt sind.

Technologie

Software kann auf unterschiedlicher Technologie, also Programmiersprachen und Frameworks basieren.

Bibliotheken

Als Bibliotheken werden in der Programmierung eine Sammlung von Unterprogrammen bezeichnet, die nicht eigenständig lauffähig sind, sondern Hilfsmodule enthalten, die wiederum von anderen Programmen angefordert werden können. Manche von ihnen werden nur für die Entwicklung benötigt, andere zur Ausführung der Programme. Eine besondere Form von Programmbibliotheken sind Frameworks.

Frameworks

Ein Framework ist noch kein fertiges Programm, sondern stellt den Rahmen zur Verfügung, innerhalb dessen ein Programmierer eine Anwendung erstellen kann.

Dies kann eine Zeitersparnis bedeuten, da wiederkehrende Aufgaben in einem Framework schon vorprogrammiert sind. Diese Frameworks sind in einer bestimmten Programmiersprache geschrieben.

Programmiersprachen

Eine Programmiersprache dient dazu, häufig mittels einfacher Texteditoren, Anweisungen zu schreiben, die später in Maschinensprache übersetzt und ausgeführt werden können.

Die in einer bestimmten Programmiersprache häufig mittels einfacher Texteditoren erzeugten Anweisungen nennt man Quelltext (oder auch Quellcode).

Kompatibiltät mit Ihren Ressourcen

Es gibt die unterschiedlichsten Sprachen und Dialekte - auch in der Softwareentwicklung. Dabei ist es nicht so wichtig in welcher Sprache geredet wird, was meist auch eine Geschmacks- und Ansichtsfrage ist. Wichtiger ist stattdessen, dass die Menschen die damit arbeiten sollen (bspw. Ihre Entwickler oder Partner) und die Systeme die verküpft werden sich auf dieser Basis verstehen. Wenn Sie viel Java Wissen im Unternehmen haben, macht es oftmals eben Sinn darauf aufzubauen.

Sicherheit

Da heutzutage alle Unternehmensdaten in irgendeiner Form mit Software und somit auch mit dem Internet in Berührung kommen, spielt das Thema Sicherheit eine große Rolle. Um eine dauerhafte und reibungslose Nutzung sicherzustellen, wird oftmals neben der Nutzungslizenz noch ein Service Level Agreement (SLA) vereinbart. Läuft die Softwareanwendung trotzdem nicht wie gewünscht und ergeben sich durch ihren Einsatz Sicherheitslücken, ist im Zweifelsfall zu klären, ob der Hersteller in irgendeiner Form zur Verantwortung gezogen werden kann. Gerade Recht in der IT ist speziell, so dass unsere Aussagen dazu nur eine Indikation geben können und nicht rechtlich bindend sind.

Haftung

Bei einer mangelhaften Leistung muss der Hersteller zunächst "Nacherfüllen", d.h. seine Leistung wie geschuldet erbringen, also zum Beispiel den Softwarefehler beheben.

In bestimmten Fällen, wenn etwa die Nachbesserung scheitert, hat der Kunde das Recht vom Vertrag zurückzutreten. Die Haftung kann durch unterschiedlichste Leistungsmängel ausgelöst werden. Ergänzend zu den Ansprüchen auf Nacherfüllung oder Rücktritt des Vertrags, kann der Kunde Schadensersatzansprüche geltend machen.

Kann der Kunde etwa wegen eines Problems mit dem Content Management System (CMS) nicht auf Kundendaten zugreifen und entgehen ihm dadurch Geschäfte, hat der Hersteller den entgangenen Gewinn aus diesen Geschäften zu ersetzen.

Wartung

Der Begriff Wartung wird häufig zur Beschreibung von Serviceleistungen im Software-Kontext benutzt. Richtig wäre allerdings, in diesem Zusammenhang den Begriff „Softwarepflege“ zu benutzen. Wartung hingegen umfasst Leistungen zur Instandhaltung und Instandsetzung von Hardware, also ein physischer Vorgang zur Verhinderung von Verschleiß. Software verschleißt in dem Sinne nicht, sondern muss aktualisiert, an die Systemumgebung angepasst oder verbessert werden.

Softwarepflege

Softwarepflege ist eine komplexe Dienstleistung. Sie kann zum Beispiel Störungsbeseitigung, Updates/Upgrades und Beratung beinhalten und sich in ihrer Qualität stark unterscheiden. Sie kann von Herstellern oder von Dienstleistern angeboten werden. Auch aus einem Softwarepflegevertrag kann eine Gewährleistung resultieren, die aber streng von Gewährleistung der Softwareüberlassung abzugrenzen ist.

Agil, Festpreis oder agiler Festpreis?

Es ist in vielen Fällen schwierig und sehr kostspielig die Probleme im Projekt zu lösen. Besser ist es schon bei der Vertragsgestaltung und vor dem eigentlichen Beginn die richtige Basis zu legen und dafür zu sorgen, dass Rechte und Pflichten richtig verteilt sind und alle sich Ihrer Rolle bewusst sind.

Roadmap

Der Begriff Roadmap wird in der Software-Entwicklung gerne als Synonym für Strategie oder Projektplan verwendet und gibt an, zu welchem Zeitpunkt welche Teile oder neuen Funktionen des Systems erscheinen sollen. Innerhalb einer Roadmap gibt es sogenannte Meilensteine, die so nacheinander abgearbeitet werden.

Eine Roadmap ist wichtig für die Planung, da sie dem Kunden aufzeigen kann, wann er mit neuen Erweiterungen oder Technologien rechnen kann.

Bestimmte Themen sind heutzutage häufiger auf den Roadmaps zeitgemäßer Software-Hersteller zu finden:

Personalisierung

Personalisierte Inhalte sind wichtig, wenn es darum geht, Besuchern von Websites den für sie relevanten Content zu zeigen. Dies verlängert die Verweildauer und führt im Idealfall zu Leads/Käufen. Zu diesem Zweck ist es nötig, umfassende (Kunden)daten zu sammeln, um die Interessen der Website-Besucher herauszufinden.

Web-Tracking oder Social-Media-Monitoring-Tools können dabei helfen und lassen sich zumeist in Software, die im Internet stattfindet, einbinden.

Mit den so gesammelten Daten ist es mittels AI-Technologien möglich herauszufinden, mit welche Bedürfnissen und welchem Verhalten des Nutzers zu rechnen sein wird. So kann das Marketing bis ins letzte Detail optimiert werden.

AI (Artificial Intelligence)

Das Marktforschungsunternehmen Gartner Inc. Geht davon aus, dass bis zum Jahr 2020 fast in jeder Software oder virtuellem Produkt Artificial Intelligence (AI) enthalten sein wird. Bereits jetzt wird AI in Privathaushalten genutzt. Die Sprachsteuerung in Smartphones oder die Chatbots in sozialen Medien sind hierfür nur einige Beispiele.

Dank der wachsenden Social Media Reichweite und der Masse an Daten, die beim Surfen durch das Internet hinterlassen wird, hat AI ein riesiges Potential für das Content Marketing.

Ein Teilgebiet der künstlichen Intelligenz ist das sogenannte „machine learning“.

ML (Machine Learning)

Aus vorher gesammelten Datensätzen und Algorithmen lassen sich mittels maschinellem Lernens Muster und Gesetzmäßigkeiten erkennen. Daraus kann künstliches Wissen entwickelt und Vorhersagen für zukünftige Ereignisse abgeleitet werden. Im Internet findet maschinelles Lernen in Form von personalisierten Empfehlungen, wie beispielsweise auf Amazon oder Netflix oder bei der Gesichtserkennung auf Facebook Anwendung. Auch hinter E-Mail-Anwendungen, die automatisch Spam erkennen, stecken maschinelle Lernverfahren.

Usability und User Experience

Die Benutzbarkeit bewertet, wie gut der Kunde die gegebene Funktionalität anwenden kann. Er sollte sich möglichst intuitiv auf der jeweiligen Plattform zurechtfinden und seine Ziele schnell und effizient erreichen können. Gute Usability wird in der Regel gar nicht wahrgenommen, schlechte hingegen schon.Der Begriff User Experience erweitert den Begriff Usability um ästhetische und emotionale Faktoren, wie z.B. ein ansprechendes Design oder den Spaß bei der Nutzung.User Experience beschreibt den ganzheitlichen Ansatz eines Nutzungserlebnis einer Anwendung, bei dem es nicht nur darum geht, möglichst schnell sein Ziel zu erreichen, sondern auch positive Gefühle bei der Benutzung zu erleben.

Responsive Design

Der Begriff responsiv ist mittlerweile nicht nur IT-Experten geläufig. Er grenzt sich ein Stück zum Begriff adaptive ab. Unterschieden wird zudem zwischen responsive Designs und responsive Layouts. Entweder steht also das Ausgabegerät oder das Design und die Information im Vordergrund. Im Fall von „Responsive Designs“ geht es um das Ausgabegerät. Responsive ist etwa mit reaktionsfähig zu übersetzen. Auf technischer Ebene bedeutet das: Der Server einer Website sendet an jedes Ausgabegerät das identische Datenpaket. Der auf dem Gerät verwendete Browser entscheidet dann darüber, wie dieses Datenpaket dargestellt wird. In Abgrenzung zum „adaptive Design“ muss an dieser Stelle betont werden, dass mitgesendete Bilder oder Grafiken immer identisch sind, nur unterschiedlich dargestellt werden. Darüber hinaus bewirkt ein „responsive Design“ etwa die Ausblendung einer Seitennavigation. Entwickler solcher Designs müssen dabei den Spagat zwischen einer optisch ansprechenden Darstellung und einer guten Performance (zum Beispiel durch Ladezeiten) schaffen.

Adaptive Design

Adaptive Designs gehen - vereinfacht gesprochen – einen Schritt weiter als responsive Designs. Da es sich hierbei um serverseitige Prozesse und beim responsive Design um clientseitige Prozesse handelt, stehen adaptive Design „über“ den responsiven. Adaptive kann in diesem Kontext mit anpassungsfähig übersetzt werden. Auf Designebene bedeutet das in Abgrenzung zum responsive Design: Ein Server sendet an einen Browser nicht mehr identische, sondern gezielt zugeschnittene Datenpakete. Der Browser empfängt damit nur noch, was er für eine optimale Darstellung benötigt. Bilder und Grafiken werden demnach nicht mehr an alle Geräte gleich ausgesteuert, sondern angepasst. Konkret bedeutet das, dass Geräte mit kleinen Displays entsprechende Bilder in geringerer Auflösung erhalten als Geräte mit großen Displays. Solche Anpassungen bedeuten für Entwickler zwar einen größeren Aufwand, wirken sich allerdings positiv auf die Performance einer Website aus.

Progressive Web App

Bisher standen das offene Web mit responsiven Seiten im Gegensatz zur nativen App. Aus diesem Entweder-Oder wird allerdings mehr und mehr ein Miteinander. Sogenannte Progressive Web Apps schaffen die Verbindung zwischen beiden Welten und führen sei zusammen. Die Webnutzung hat sich lange Zeit kontinuierlich vom traditionellen, offenen Web in Apps verlagert. Das Web verlor damit an Bedeutung, die „Gefahr“ einer Isolation in Apps wuchs. Mittlerweile ist eine gewisse „App-Müdigkeit“ eingetreten. Die Hürde, eine App aus dem App-Store herunterzuladen und zu nutzen wird von Nutzern immer seltener übersprungen. Progressive Web Apps wollen beide Probleme lösen. Aus nativen Apps soll die Möglichkeit zur Nutzung von Schnittstellen, die lokale Datenhaltung und die Möglichkeit von Benachrichtigungen genutzt werden, aus dem offenen Web seine schnelle Verfügbarkeit und das Wegfallen von Updateprozessen. Progressive Web Apps werden über Webbrowser aufgerufen und damit über Google-Suchen auffindbar. Ein Herunterladen von Apps ist nicht mehr notwendig. Progressive Web Apps sind je nach Gerät in unterschiedlichem Umfang nutzbar. Das amerikanische Marktforschungsunternehmen Gartner schätzt, dass schon bald die Hälfte aller mobilen Apps durch Progressive Web Apps ersetzt sein werden.

Accessibility

Die Barrierefreiheit gibt in an, inwiefern ein Internet Angebot von allen Nutzern unabhängig von ihren körperlichen und/oder ihren technischen Möglichkeiten uneingeschränkt genutzt werden kann.Die Barrierefreiheit kann durch ungünstige Schriftarten, fehlende Kontraste oder eine komplizierte Navigation der Anwendung erschwert sein. Ein weiterer Aspekt der Barrierefreiheit stellt die Plattformunabhängigkeit dar. Der E-Shop sollte nutzbar sein, ohne dass eine bestimmte Hard- oder Softwarekonfiguration vorausgesetzt wird.

Omnichannel

Omnichannel oder auch Multichannel/Crosschannel sind Begriffe, die kanalübergreifende Geschäftsmodelle beschreiben. Ziel ist es, sämtliche Vertriebs- und Kommunikationskanäle zu bündeln und parallel zu nutzen, umso neue Zielgruppen und Absatzmärkte zu erschließen. Die Herausforderung besteht darin, Kataloge, Online-Shops, Online-Marktplätze und Anwendungen für Endgeräte gleichzeitig zu bespielen und so eine ganzheitliche E-Commerce Strategie zu verfolgen.

Search Engine Optimization (SEO)

Bei der Suchmaschinenoptimierung (Search Engine Optimization, SEO) geht es darum, eine möglichst hohe Position in den organischen Suchergebnissen zu erreichen.Das Ziel ist, dass der Kunde bei der entsprechenden Suchmaschine (oftmals Google, alternativ Bing) mit seinem Inhalt auf der ersten Seite der Suchergebnisse (idealerweise an erster Stelle) zu sehen ist. Nutzer klicken üblicherweise nur dann zur zweiten oder dritten Seite der Suchergebnisse weiter, wenn sie auf der ersten Seite gar nichts gefunden haben, was zu ihrer Suche passt.SEO umfasst alle Maßnahmen, die unternommen werden, um dies Platzierungen in Suchmaschinen zu optimieren.Die wesentliche Aufgabe von SEO ist es also, zu verstehen, wie die Algorithmen von Suchmaschinen funktionieren, um Webauftritte an diese anpassen zu können. Google ist auf Grund seiner hohen Nutzerzahlen natürlich der relevanteste.

Internet of Things (IoT)

Der Begriff Internet of Things – grob übersetzt „Internet der Dinge“ oder auch „Allesnetz“ genannt – beschreibt die fortschreitende Verknüpfung von (Alltags)-Gegenständen mit dem Internet. Im Internet der Dinge geht es im Wesentlichen darum, physische und virtuelle Gegenstände miteinander zu verknüpfen. Menschen sollen auf diesem Weg mit Systemen verbunden werden, aber auch Systeme mit Systemen, die wiederum dem Menschen seinen Alltag erleichtern sollen. Diese physischen und virtuellen Dinge arbeiten durch Informations- und Kommunikationstechniken zusammen. Dazu werden Alltagsgegenstände mit Prozessoren und Sensoren ausgestattet und miteinander verknüpft. Ein einfaches Beispiel: Eine Smart-Home-Anwendung registriert, wenn sein Bewohner über längere Zeiträume nicht zu Hause ist und steuert sich in der Folge selbst. Der Mensch ist zwar für die Steuerung und Programmierung der Gegenstände zuständig, kann diese aber nur begrenzt beeinflussen, da sie sich selbstständig auf äußere Umstände anpassen.

Vorausschauend agieren

Keiner weiß was morgen notwendig wird, um Geschäftsziele zu erreichen. Deshalb nur noch für den Moment zu entwickeln und keine langfristigen Weiterentwicklungen zu starten, wäre aber unsinnig. Daher werden zukunftssichere Systeme von beiden Einflüssen bestimmt. Gute Systeme haben eine Roadmap, die sehr konkret vorgibt, was demnächst für die Nutzer zur Verfügung stehen wird und Ihnen damit Planungssicherheit ermöglicht. Gleichzeitig haben diese Systeme eine grobe Vorstellung von den nächsten Themen für die weiteren ein bis zwei Jahre, lassen sich aber die Flexibilität auf Marktveränderungen zu reagieren.

Kontakt zu SUTSCHE:

SUTSCHE bietet unabhängige Beratung, Konzeption und Management von CMS-, e-Commerce und Onlinemarketing Projekten.
Dabei helfen wir Anforderungen aufzunehmen, die richtige Lösung auszuwählen und die passenden Dienstleister zu beauftragen.

 

Oftmals betreuen wir die komplette Durchführung als externe Projektleiter und sorgen für die fachgerechte Umsetzung des Konzeptes.
Durch unsere Unabhängigkeit sparen wir unseren Kunden Geld und Zeit, da wir ohne Interessenkonflikt beraten können.

 

Ihr Kontakt bei uns:

Alexander Stahlkopf

0521 - 923 742 22

E-Mail an alexander.stahlkopf@sutsche.com

Das Digitalprojekt in fünf Bausteinen

Die richtigen Bausteine ermitteln - Wie aus einzelnen Schritten ein gemeinsamer Weg wird.

Bausteine

Überblick gewinnen und behalten

CMS, PIM, DAM – alles Abkürzungen hinter denen viele verschiedene Systeme stecken

Systeme

Unsere Kunden - Unsere Projekte

Wir sind stolz auf jeden unserer tollen Kunden. Erfahren Sie mehr über unsere Projekte.

Referenzen

Ihre Ansprechpartner bei uns

Erfahren Sie mehr über die Projektkümmerer und nehmen Sie mit uns Kontakt auf!

Kontakt