Erster appserver.io Hackathon ein voller Erfolg!

Vom 23. - 24.04.2016 fand in den Räumlichkeiten der TechDivision GmbH in Kolbermoor der erste appserver.io Hackathon statt. Bei der ersten Veranstaltung seiner Art im appserver.io Ökosystem, konnte das Team rund um Johann Zelger, Bernhard Wick und Tim Wagner erfreulicher Weise 9 Teilnehmer, aus drei externen Firmen, begrüßen.


Abb 1: Hans Höchtl + appserver.io Team beim Brainstorming


Ablauf

Nach einer rund einstündigen Vorstellung zur Historie und zum aktuellen Stand des appserver.io Projektes wurden gemeinsam Themen erarbeitet, die im Zuge des Hackathons umgesetzt werden sollten. Anschließend wurden Teams gebildet, die sich dann mit der Umsetzung der erarbeiteten Themen befassten.

Application Environments

Hans Höchtl und Bernhard Wick beschäftigten sich mit der Umsetzung eines, aus dem 8select Projekt-Team, von Andreas Klaiber kommenden Featurewunsches. 8select setzt appserver.io als Infrastrukturlösung für deren Curated Shopping as a Service Platform ein. Hierbei geht es primär um die Integration verschiedener Application Environments für Developlment, Staging und Production Context einer Anwendung. Einwickler haben damit die Möglichkeit, für jeden Kontext einer Anwendung eigene Konfigurationsdateien zu hinterlegen, die dann während des Bootvorgangs, abhängig von einer Umgebungsvariable, eingelesen werden. Wir gehen davon aus, dass wir das Features noch mit der nächsten Version 1.1.1, die Ende dieser Woche fertiggstellt wird, ausliefern können.


Abb 2: Hans Höchtl + Bernhard Wick


Windows Azure Cluster Umgebung

Ein Team rund um Michael Döhler vom Shopsoftwarehersteller Intellishop beschäftigte sich mit dem Aufbau einer Clusterumgebung in Microsoft Azure auf Basis einer maximal reduzierten appserver.io Infrastruktur und Ansible. Ein weiteres Ziel des Teams bestand darin, die Standard Servlet-Engine durch ein eigenes Webserver Modul zu ersetzen, das die Integration und Verwendung beliebiger Frameworks auf Basis des appserver.io Webservers, einem leichtgewichtigen multithreaded Webserver, geschrieben in PHP für PHP, erlaubt. Als Proof-of-Concept wurde eine minimale, funktionsfähige Servlet-Engine umgesetzt, die ein rudimentäres Session-Handling auf Basis von Redis implementiert.

Das Ergebnis kann über das freigegebene Bitbucket Repository als Basis für eigene Projekte verwendet werden.

Konsolenanwendung für appserver.io Konfiguration

Martin Mohr konzentrierte sich nach einer Testinstallation der aktuellen Intellishop Version auf die Implementierung einer Konsolenanwendung über die sich die Einstellungen einer lokalen appserver.io Instanz verwalten lassen. Im Rahmen das Hackathons konnte Martin ein Restart Command, ein Command zum neu anlegen/entfernen eines Servers, sowie zur Anpassung der Parameter implementieren. Erste Ansätze für das Scaffolding sind ebenfalls bereits vorhanden.


Abb 3: Martin Mohr, Tim Wagner + Ilya Shmygol


mod_include

Ilya Shmygol beschäftigte sich nach kurzer Einarbeitungszeit mit der Implementierung eines Server-Side-Include Moduls, das sich in seiner Funktionalität stark an Apache mod_include orientiert. Nach anfänglichen Problemen konnten die ersten Hürden schnell genommen und die Basisfunktionalität eines Webservermoduls implementiert werden. Ilya wird die minimal benötigte Funktionalität im Laufe der nächsten Wochen fertigstellen. Das Modul sollte somit in einer der nächsten Versionen des Webservers der Community zur Verfügung gestellt werden können und ergänzt den Webserver um ein neues und interessantes Feature.

fhreads und rockets

Bereits Ende letzten Jahres begann Johann Zelger mit der Arbeit an fhreads und rockets. fhreads wird Multithreading in PHP vollkommen neu definieren und, entgegen dem von Joe Watkins mit phtreads gewählten Ansatz, soweit wie möglich die Implementierung im Userland vornehmen.

Die Library stellt lediglich einen Wrapper für die Funktionen der POSIX Thread Implementierung dar, Klassen wie Threads, Mutex und Conditions werden hingegen in PHP implementiert. PHP Entwickler haben somit wesentlich tiefere Einblicke in die Internals und können benötigte Funktionalität bei Bedarf selbst integerieren. Zusätzlich hebt die Library, für PHP Entwickler schwer nachvollziehbare, Einschränkungen bei der Verwendung von zu synchronisierenden Objekten auf. Mit fhreads werden somit automatisch alle Objekte, egal ob in C oder im Userland implementiert, ohne Einschränkungen synchronisiert. Die interne, performancekritische Serialisierung von Objekten, die Übergabe von PHP Userland Objekten ausschließlich als Kopie sowie die Beschränkung, dass Objekte keine Closures enhalten dürfen fallen ebenfalls weg. Gleiches gilt für das Handling von Resourcen wie z. B. Sockets, bei dem es sich bisher um eines der größten Probleme bei der Implementierung von Serveranwendungen handelte.

rockets wird eine leichtgewichtige und multithreading kompatible *Next-Generation* Socket Implementierung, die anstatt schwergewichtigen, über Threads hinweg nur kompliziert zu verwaltende, PHP Resourcen einfache Integerwerte als Referenz auf Diese verwendet. Dadurch werden zum Einen die aktuellen Probleme bei der Verwendung von Sockets in multithreaded Umgebungen gelöst, zum Anderen werden momentan komplexe Implementierungen wie ein multithreaded Websocket Server einfacher und zwingend notwendige Features wie HTTP/2 überhaupt erst umsetzbar.

Im Rahmen des Hackathons konnte Johann Zelger fhreads und rockets an die aktuellsten PHP Version anpassen und den aktuellen Stand auf Github veröffentlichen. Aktuell befinden sich beide Libraries noch in der Betaphase, können zu Testzwecken aber jederzeit heruntergeladen und ausprobiert werden. Über Feedback sind wir natürlich immer dankbar. Siehe fhreads library.

Fazit

Da sich der Wissenstand hinsichtlich appserver.io bei den Teilnehmer auf einem durchaus unterschiedlichen Level befand, wurde natürlich versucht, das notwendige Wissen für Anpassungen, Neu- oder Weiterentwicklung im Rahmen des Hackathons in konzentrierter Form zu vermitteln. Aufgrund der Ergebnisse und des Feedbacks der Teilnehmer, kann man davon ausgehen, dass das auf jeden Fall gelungen ist.

Über den gesamten Hackathon hinweg hat sich gezeigt, dass der Webserver, als Basis von appserver.io künftig mehr in den Mittelpunkt des Projektes rücken wird. Zum Einen, da Dieser den ideale Einstiegspunkt für bereits bestehende Projekte, egal ob in Form eines Servermoduls oder einer eigenen Serverimplementierung darstellt, zum Anderen weil er durch seinen einfachen, komponentenorientierten Aufbau den Einstieg in das appserver.io Ökosytem enorm vereinfacht. Zusätzlich stellt der Webserver gerade beim Thema Microservices, eine leichtgewichtige Alternative zu Apache und nginx dar, die sich, bei Bedarf, auch mit einem Microservice oder dem SCS bundeln und ausliefern lässt.

Nachdem Samstag Nachmittag und Sonntag Vormittag konsequent an der Umsetzung der besprochenen Features gearbeitet wurde, konnten die Teilnehmer am Sonntag Nachmittag ihre Ergebenisse präsentieren. Auch wenn keines der Features vollständig fertggestellt wurde, so hat der Hackathon gezeigt, dass in relativ kurzer Zeit und zum Teil ohne Vorwissen, in kürzester Zeit beachtliche Features umgesetzt werden können, die bei konsequenter Weiterentwicklung sehr vielversprechend aussehen.

Final waren sich alle Teilnehmer einig, dass der erste Hackathon einerseits viel Spaß gemacht, andererseits das Projekt aber auch einen weiteren Schritt nach vorne gebracht hat. Das appserver.io Team wird versuchen, derartige Veranstaltungen künftig im Abstand von einigen Monaten zu organisieren und somit, insbesondere die für ein Open Source Projekt so wichtige Community Arbeit voran zu treiben. Darüberhinaus planen wir zukünftig Webinare und Online-Schulungen um die ersten Schritte mit appserver.io leichter meistern zu können. Mehr dazu demnächst!

Neueste Posts

360 Stories – ein Spiel für Teams Die B2B E-Commerce Pyramide
Digital Storytelling - ein Kurztrip in die Kreativität und wieder zurück
TechDivision veröffentlicht Magento 2 Schnittstelle für pixi* TechDivision wird von Focus Business als „TOP Arbeitgeber Mittelstand 2018“ ausgezeichnet

Archiv

Dezember November Oktober September August Juli Juni Mai April März Februar Januar
Dezember November Oktober September August Juni Mai April Februar Januar
Dezember November Oktober September August Juli Juni März Februar
Oktober September August Juli Juni Mai April März Januar
Dezember November Oktober September August Juli Mai April Februar
November Oktober September April Februar
Dezember September Juni Mai Februar Januar
Juli Mai April März Februar Januar
September August Juli März
Oktober September Juli Juni Mai März Februar
Februar

Kategorien

E-Commerce Unternehmensmeldung Online-Marketing Magento Commerce Neos TYPO3 SEO SEA Usability Digitale Transformation Agile Projektentwicklung Corporate Web Analytics Künstliche Intelligenz Mobile Marketing Social Media Veranstaltungen Research & Development

Unser Herz schlägt online -
Deins Auch?


Wir stellen uns jeden Tag neuen Heraus-forderungen des Online-Business – immer auf der Suche nach spannenden Lösungs-ansätzen und sinnvollen Technologien. Eine Vielzahl namhafter Kunden vertrauen auf das Online Know-how „Made in Kolbermoor / Rosenheim und München“. 

Lust auf TechDivision? Hier geht zu unseren Stellenanzeigen

eStrategy Magazin


Erfahren Sie mehr zu den Themen E-Commerce, Online-Marketing, Mobile, Projektmanagement, Webentwicklung und E-Recht in unserem kostenlosen Online-Magazin.

Jetzt herunterladen!

Whitepaper:
Agiles Projektmanagement


In unserem kostenlosen Whitepaper versuchen wir Basiswissen und Erfahrungen aus vielen Jahren täglicher Projekt- und Unternehmenspraxis zu vermitteln, mit denen Sie die Anforderungen des Arbeitslebens von Heute besser bewältigen können.

Jetzt herunterladen!

Autor

Haben wir Ihr Interesse mit unserem Blog geweckt?

Wir sind der richtige Partner für anspruchsvolle Projekte im Bereich E-Commerce, Corporate Web, Consulting und Online-Marketing. Sprechen Sie mit uns!

Autor

Josef Willkommer Geschäftsführer / CMO