Erstellung einer Java Applikation zur automatisierten Erstellung von Projekten im GitLab und Jenkins Jobs

Softwareprojekte werden größer, komplexer und immer mehr Entwickler arbeiten zusammen an einem Projekt. Um eine strukturierte sowie geordnete Entwicklung zu gewährleisten, muss es möglich sein, Änderungen von Quellcode und Dokumenten zu erfassen und rückgängig zu machen. Um diese Anforderungen zu erfüllen, setzt man sogenannte Versionskontrollsysteme ein. Die dotSource GmbH verwendet als Versionskontrollsystem GitLab, um ihre Projekte zu strukturieren und die Entwickler zu koordinieren.

Die Erstellung der Projekte im GitLab für sogenannte Functions erfolgt derzeit manuell auf einem aufwendigen und umständlichen Weg. Um schneller und effektiver arbeiten zu können, soll dieser Vorgang automatisiert werden. Eine Möglichkeit eine Automatisierung mittels einer Applikation zu realisieren, ist die REST API von GitLab. Mittels dieser Schnittstelle können dann die Funktionalitäten von GitLab von einem externen Programm angesprochen werden, wodurch es wiederum möglich ist, die Schritte zur Erstellung einer Function zu automatisieren.

In dieser Arbeit soll zum einen der derzeitige Erstellungsprozess für die Functions genauer betrachtet und zum anderen wird die Entwicklung der Applikation zur Automatisierung dieses Prozesses genauer analysiert werden. Nach dieser Betrachtung soll ein Fazit gezogen werden, ob die Entwicklung des Programmes gelungen ist und ob das Programm eine Zeit- und Aufwandsersparnis für die Entwickler mit sich bringt.

Nutzer Authentifizierung
Nutzer Authentifizierung

Kostenloser Download der gesamten Praxisarbeit

Externe Suchengines – FACT-Finder und Solr im Vergleich (2011)

Suchtechnologien werden heutzutage in allen Bereichen des Internets eingesetzt. Das bekannteste und erfolgreichste Beispiel ist Google. Das Hauptaugenmerk wird oft auf die Genauigkeit und Strukturierung der umfangreichen Informationen gesetzt.
Für Onlineshops ist eine Suchfunktion elementar. Viele Shopbesucher wissen schon vorher welches Produkt sie kaufen bzw. anschauen möchten und nutzen so die Suchfunktion. Hier muss also eine effiziente und genaue Suche erfolgen, um eine hohe Konversion zu gewährleisten. Eine eigene Entwicklung der Suchfunktion ist für viele Betreiber und Entwickler ein ressourcenaufwändiger Prozess. Deswegen greifen Onlineshopbetreiber oft auf externe Lösungen zurück.
Zwei sehr erfolgreiche Vertreter dieser Branche sind FACT-Finder und Solr, welche auf dem Gebiet der Suche in Online-Shops bzw. im E-Commerce sehr breite Anwendung finden, sodass an einem Vergleich dieser Produkte ein öffentliches Interesse besteht.
Der FACT-Finder basiert auf dem patentierten Algorithmus FACT und ist in der Programmiersprache C geschrieben. Die Suchergebnisse werden mit Hilfe eines mathematisch-linguistischen Verfahrens, welches auf dem Fuzzy-Set-Modell beruht, und einem phonetischen Vergleich, basierend auf der Omikron Phonetik, ermittelt. Für den Import stellt FACT-Finder vier Schnittstellen bereit, sodass die Ergebnisse entweder als HTML, XML, Webservice oder JavaScript Object Notation (JSON) empfangen werden. Im Vergleich zu Solr stellt der FACT-Finder eine kommerzielle Standardlösung dar.
Solr ist somit in seiner Standardversion eine von Apache kostenfrei zur Verfügung gestellte Suchfunktion. Es basiert auf dem Suchkern Lucene und erweitert diesen mit zusätzlichen Funktionen und Webkomponenten zu einem Suchserver. Lucene basiert auf Java und arbeitet basierend auf dem Booleschen und dem Vektorraummodell. Für den Import von Suchergebnissen bietet Solr unterschiedliche Methoden (XML, JSON, PHP, Java) an, die intern durch den entsprechenden ResponseWriter realisiert sind.

Die Arbeit im Gesamten stellt zunächst allgemeine Suchalgorithmen vor, danach folgt eine Festlegung der verschiedenen Bewertungskriterien aus Sicht der Shopbetreiber sowie aus Sicht der Shopnutzer. Aufbauend auf diesen Kriterien wird nach einer Erklärung der beiden Suchfunktionen Solr und FACT-Finder ein Vergleich gezogen. Um die Kriterien der Performance und des Integrationsaufwandes einzuschätzen, wurden beide Programme in die von dotSource entwickelte Social Commerce Komplettlösung SCOOBOX integriert.
Kostenloser Download der gesamten Diplomarbeit 

Open Source: Das „Workflow Tool“ als Eclipse Extension

Das Wachstum und die ständige Anpassung von Prozessen und Strukturen von Unternehmen wie der dotSource GmbH machen es nötig eine geeignete Steuerung vorzunehmen. Es entstehen immer neue verbesserte und optimiertere Abläufe und Standards. Diese Abläufe werden auch als Workflows bezeichnet.
Workflows sind IT-gestützte Prozesse mit einem definierten Anfang und Ende. In ihm enthalten sind einzelne Aktivitäten, welche entweder parallel oder sequentiell ausgeführt werden. In einen Workflow sind sowohl menschliche Arbeiten als auch vollautomatisierte Vorgänge integriert. Die grafische Darstellung erfolgt in einer festgelegten Reihenfolge. Die Grundbestandteile sind ein Start-Knoten, eine Sequenz von mit Pfeilen verbundenen Aktivitäten und ein Ende-Knoten. Um Workflows automatisiert ablaufen zu lassen, können Management Systeme verwendet werden.
Auf Grundlage der Funktionen der grafischen Editiersoftware JaWE ( Java Workflow Editor )  und der notwendigen Interpretation eines individuellen XML Dialektes, welcher von Eclipse nicht interpretiert werden konnte, enstand in der dotSource ein eigenes Workflow Tool. Dieses ermöglicht eine Zeiteinsparung, eine einfachere Anwendung und somit Kosteneinsparungen, denn vorher konnten interne XML Pakete, welche im XPDL Format  abgespeichert wurden, nur durch JaWe dargestellt werden.
Das Workflow Tool ist eine Extension für das quelloffene Programmierungstool Eclipse von IBM. Dieses Workflow Tool wurde in das dotSource Studio integriert. Es besteht aus 8 einzelnen Java Projekten, welche zusammen das WorkFlow Tool bilden und zur Logik in Kernkomponenten  und grafische Elemente unterteilt werden können. Über dotSource Labs stellen wir Interessierten den offenen Quellcode zur Verfügung.
Für nähere Informationen zum Entwicklungsprozess und den verschiedenen Funktionen und Möglichkeiten des Tools stellen wir eine Facharbeit zur Verfügung.
Kostenloser Download der gesamten Diplomarbeit 
Für alle die sich an dem Tool direkt interessieren, stellen wir über die dotSource Labs Plattform auf Sourceforge den Quellcode (Open Source) unter einer Lizenz zur Verfügung. Für die Übersetzung wird mindestens Java 5,  Eclipse ab Version 3.3 und das Graphical Editing Framework (GEF) Draw2d benötigt.
Hier gehts zum Workflow Tool auf Sourceforge.net (English description included)