In der Software-Entwicklung sind Atlassian Produkte wie JIRA und Confluence heute weit verbreitet. Aber auch in anderen Bereichen werden diese Tools immer häufiger eingesetzt. Atlassian bietet seine Anwendungen mittlerweile auch als Cloud Produkte (SaaS) an, welche von Atlassian gehostet werden. Für den Anwender ist dieser Ansatz sehr einfach, er kann die Anwendungen nutzen, muss sich aber nicht um Installation und Betrieb kümmern.
Allerdings sind die vielen bereits vorhandenen Add-ons für die Server Variante nicht in den Cloud Anwendungen verfügbar *1. Mit Connect liefert Atlassian daher ein eigenes Framework zur Erweiterung der Cloud Anwendungen mittels Add-ons. Unterstützt werden aktuell JIRA Cloud, Confluence Cloud, HipChat und Bitbucket Cloud.
Add-ons mit Connect
Die bisherigen Server Add-ons sind in Java implementierte OSGi Bundles, welche direkt in die Anwendung installiert werden. Diese Art der Installation ist in den Cloud Anwendungen nun nicht möglich. Stattdessen sind Connect Add-ons eigenständige Webanwendungen. Sie kommunizieren mit der Anwendung (z.B. JIRA) über REST Schnittstellen und können Inhalte liefern, welche in die Anwendungsoberfläche eingebunden werden.
In der Grafik (Quelle: Atlassian ) wird das Kommunikationsschema sehr gut verdeutlicht.
Die Registrierung der verschiedenen Funktionen des Add-ons geschieht mittels eines Descriptors, welcher diese an bestimmten Stellen der Anwendung anmeldet. So gibt es die Möglichkeit, dass das Add-on Elemente zu der Oberfläche hinzufügt. Dazu wird eine URL zum Add-on hinterlegt, zusammen mit der Information an welcher Stelle der Inhalt eingebunden werden soll. JIRA ruft dann die URL auf und bindet das zurückgelieferte HTML mit Hilfe eines iframes in die Seite ein. Außerdem können auch Funktionen ohne grafische Oberfläche angemeldet werden. So kann das Add-on auf verschiedenste Ereignisse (z.B. Ändern eines Vorganges) reagieren oder Post Functions zum Workflow beisteuern. Auch in diesem Fall wird im Descriptor eine URL (webhook) angegeben, welche die aufzurufende Funktion definiert. Grundsätzlich kann das Add-on per REST-API Funktionen in der Anwendung aufrufen und damit z.B. weitere Daten erfragen aber auch Änderungen vornehmen.
Da das Add-on eine eigenständige Webanwendung ist, welche über REST Schnittstellen aufgerufen wird, ist man nicht mehr an die Technologien der eigentlichen Anwendung gebunden. Stattdessen können Programmiersprachen, Frameworks etc. frei gewählt werden. Atlassian und die Community bieten auch Bibliotheken und Tools für verschiedene Sprachen und Technologien an, um die Entwicklung weiter zu vereinfachen und grundlegende Aufgaben abzunehmen. Auch der aktuelle Trend zu Microservices hat neue Bibliotheken und Tools hervorgebracht, welche dieses Modell hervorragend unterstützen.
Der Add-on Anbieter betreibt und administriert bei dieser Variante aber auch die Anwendung, das heißt, er hat deutlich mehr Aufgaben als die reine Entwicklung. Er muss sich zusätzlich auch um Themen wie Hosting und Verfügbarkeit kümmern. Dafür hat er den Vorteil der größeren Kontrolle über die Anwendung. So können beispielsweise Updates einfach durchgeführt werden und gelten automatisch für alle Kunden. Kein Kunde muss mehr manuell die neue Version installieren, wie es bei Server Add-ons der Fall ist.
Im Gegenzug bedeutet dies aber auch, dass der Kunde weniger Kontrolle hat und dem Anbieter noch mehr Vertrauen entgegenbringen muss. Stellt dieser nicht den durchgehenden Betrieb sicher oder führt inkompatible Aktualisierungen durch, dann kann der Kunde das Add-on nicht verlässlich nutzen.
Einschränkungen gibt es beim Funktionsumfang der Connect Add-ons im Vergleich zu den bisherigen Add-Ons. Da diese nicht so tief in die Anwendung integriert sind wie die direkt installierte Variante, können sie auch nicht an so vielen Stellen eingreifen. So können beispielsweise nur Workflow Post Functions erstellt werden, aber keine Workflow Validatoren. Auch Internationalisierung (i18n) wird noch nicht unterstützt. Während einige Funktionen vorgesehen sind und irgendwann eventuell unterstützt werden, ist dies bei anderen nicht zu erwarten. So ist es kaum vorstellbar, dass ein Add-on mit eigenem HTTP-Filter über Connect umgesetzt werden kann.
Installation
Die Installation erfolgt wie gewohnt über den Marketplace. Die Add-ons können sowohl kostenpflichtig als auch kostenfrei angeboten werden. Auch ein privates Listing ist möglich, sodass das Add-on nur innerhalb der eigenen Organisation verfügbar ist. Die Bezahlung kostenpflichtiger Add-ons ist genau wie bei Server Add-ons sowohl über Atlassian als auch über den Anbieter selbst möglich.
Fazit
Mit Connect bietet Atlassian grundsätzlich eine gute Möglichkeit zur Erweiterung der angebotenen Anwendungen.
Für Add-on Entwickler (im Sinne von Programmierern) gibt es eine deutlich größere Flexibilität in Bezug auf den Technologiestack, was auch den potentiellen Entwicklerkreis stark erweitert. Dafür ist das Framework nicht so mächtig und bietet eine weniger tiefe Integration. Für Add-on Anbieter im Allgemeinen steigt der Aufwand durch neue Herausforderungen wie den Betrieb der Anwendung.
Atlassian hat angekündigt , dass Connect nicht für JIRA Server und Confluence Server verfügbar sein wird. Das bedeutet aber auch doppelten Pflegeaufwand für Add-ons, welche auf Server und Cloud verfügbar sein sollen. Außerdem kann es für eine Zersplitterung der Community sorgen, mit Auswirkungen auf Dokumentation, Tutorials, Hilfeseiten usw.
Für Nutzer ist der Unterschied zu den Server Anwendungen eher gering. Die Add-ons erreichen noch nicht den kompletten Funktionsumfang und es sind nicht alle Erweiterungen verfügbar, aber die Entwicklung in diese Richtung geht voran. Das größte Risiko besteht darin, dass der Anbieter sein Add-on einfach abschalten könnte und es plötzlich nicht mehr verfügbar ist. Atlassian selbst gibt auch Hinweise zur Auswahl vertrauenswürdiger Add-ons.
Im nächsten Artikel werden wir untersuchen, wie es um die Sicherheit von Connect Add-ons bestellt ist.
Wie sieht es bei Ihnen aus? Kommt die Cloud Variante für Ihr Unternehmen in Frage? Schreiben Sie gerne in die Kommentare, ob Sie bereits gute oder schlechte Erfahrungen mit Connect Add-ons gesammelt haben.
*1 Einzelne Server Add-ons werden in Cloud Instanzen vorinstalliert, aber das ist ein Sonderfall, auf den man nicht spekulieren sollte. Dies ist wohl eher als temporäre Lösung zu betrachten bis Connect diese Funktionen abbilden kann.
Weitere Beiträge
von Erik Petzold
Dein Job bei codecentric?
Jobs
Agile Developer und Consultant (w/d/m)
Alle Standorte
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Blog-Autor*in
Erik Petzold
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.