Interview mit Philip Washington Sorst von OXID

"Symfony passt am besten zu uns" – über OXIDs Symfony-2-Entscheidung
Kommentare

Anfang November berichteten wir über ein Blogpost vom Marco Steinhäuser, in dem er noch einmal die Gründe für eine von vielen begrüßte Entscheidung darlegte: Es ging darum, dass OXID künftig auf Symfony 2 setze und sich somit einer großen Community öffne. Natürlich wirft das einige Fragen auf – werde man OXID komplett umstellen, wieso Symfony und welche Version wird es am Ende werden?

OXID setzt also auf Symfony 2 Wir sprachen mit Philip Washington Sorst, Software Architect bei OXID, über diese Themen.

E-Commerce-Prozesse und -Funktionalitäten

Auf der OXID Commons 2014 wurde bekannt gegeben, dass ihr künftig das Symfony-Framework einsetzen wollt. Generell natürlich erst einmal die Frage: Warum habt ihr euch überhaupt dazu entschlossen, auf ein existierendes Framework zu setzen?

Philip Washington Sorst: Ein selbstgeschriebenes Framework kann man natürlich genau auf die eigenen Bedürfnisse zuschneiden – und man hat mehr Flexibilität bei Performanceoptimierungen. Allerdings ist der Aufwand ein solches System zu pflegen für den Hersteller beträchtlich. Warum also das Rad neu erfinden? Wir wollen uns in Zukunft verstärkt auf unsere Kernkompetenzen konzentrieren: die E-Commerce-spezifischen Prozesse und Funktionalitäten. Deshalb stützen wir uns bei den allgemeinen technischen Aspekten in Zukunft stärker auf externe Partner. So vergrößern wir den Pool der OXID-Entwickler, was sowohl für unsere Kunden als auch die Entwickler von Vorteil ist.

Wieso ist die Entscheidung am Ende auf Symfony gefallen? Es gibt schließlich zahlreiche Frameworks in der PHP-Sphäre …

Philip Washington Sorst: Symfony hat uns aus vielen Gründen überzeugt. Es ist sehr ausgereift, hat eine hervorragende Dokumentation und eine große Community. Zudem drängt es sich nicht auf und fördert die Verwendung von starken objektorientieren Prinzipien, einfach auch weil es mehr als „nur“ ein Web-Framework ist. Und last but not least waren für uns natürlich die kommerzielle Unterstützung und klare Entwicklungszyklen unerlässlich.

Philip Washington SorstPhilip Washington Sorst ist Software Architect bei der OXID eSales AG. Wie auch in seinen Bands liebt er in dieser Rolle die Mischung aus Kreativität und Struktur. Nach seinem Informatik-Studium an der Uni Freiburg und einem längeren Ausflug in die Java-Welt ist er jetzt wieder im PHP-Umfeld angekommen. Open-Source-Software und saubere Konzepte für komplexe Probleme sind seine Welt.

Gab es weitere Kandidaten, die es in die engere Auswahl geschafft haben?

Philip Washington Sorst: Wir haben uns selbstverständlich auch die anderen großen Frameworks wie Zend, Yii und CodeIgniter angeschaut. Alle sind natürlich auf ihre Art gut, sonst wären sie kaum so populär. Wir hatten aber von Anfang an das Gefühl, dass Symfony am besten zu uns passt – das hat sich während der Evaluierung bestätigt. Und auch wenn Yii mittlerweile das beliebteste PHP-Framework ist, in unserem Umfeld geht es vor allem um Stabilität und Zukunftsfähigkeit, das korreliert nicht unbedingt damit, wie „hip“ etwas ist.

Spielt der „Name“ Symfony dabei auch eine Rolle? Immerhin ist es das Framework der Stunde – zahlreiche Entwickler setzen darauf, es eröffnet sich auf einen Schlag ein riesiges Ökosystem.

Philip Washington Sorst: Teils, teils. Der „Name“ Symfony spielt insofern eine Rolle, als dass wir natürlich vorrangig auf ein etabliertes und kommerziell unterstütztes Framework setzen wollten – auch um die Lernkurve zu verringern. Allerdings waren wir da ergebnisoffen. Da wir selbst ein großes Ökosystem sind, wissen wir aber wie wichtig das ist; ein weiterer positiver Aspekt.

Kompletter Rewrite als Risiko

Wie sind eure Pläne die Integration betreffend? Wollt ihr das komplette System umschreiben, oder nach und nach einzelne Bereiche in Angriff nehmen?

Philip Washington Sorst: Eines der Hauptargumente für Symfony war, dass das Framework stark modularisiert aufgebaut ist. Bei einem hochkomplexen System wie unserem ist ein kompletter Rewrite mit einem viel zu hohen Risiken verbunden. Wir werden unser System also Stück für Stück erneuern. Symfony bietet die Grundlagen dazu.

Wollt ihr dabei das komplette Framework einsetzen, oder wollt ihr euch einzelne Komponenten herauspicken?

Philip Washington Sorst: Wir werden uns an den Best Practices orientieren. Dass wir das Framework „Full Stack“ einsetzen werden, ist unwahrscheinlich. Dies ist auch nicht die Intention eines Symfony-Einsatzes in einem bewährten Produkt wie OXID. Wir gehen agil vor, das heißt, wir strukturieren einzelne Teile mit Bedacht neu, ohne an den Bedürfnissen des Marktes und unserer Kunden vorbei zu entwickeln.

Gibt es bereits eine erste Implementierung?

Philip Washington Sorst: Wir sind gerade dabei, das Verwaltungsbackend des Shops in Symfony neu zu implementieren. Dabei geht es allerdings nicht nur darum die technologischen Grundlagen zu schaffen, sondern auch einen Erneuerungsprozess in der Modellierung unserer Domäne anzustoßen, um für die Zukunft gerüstet zu sein.

Die Symfony-Version der Wahl

Nun begibt man sich mit einem Framework immer in eine Art Abhängigkeit; so bringen sie beispielsweise eigene Systemvoraussetzungen mit, die unter Umständen über den eigenen liegen. Wie wollt ihr damit umgehen?

Philip Washington Sorst: Das sehe ich weniger skeptisch. Symfony setzt gerade einmal PHP 5.3.3 voraus und stellt sonst kaum Anforderungen. Problematischer ist natürlich, wenn man sich zu sehr mit einem Framework „verheiratet“. Gute Frameworks zwingen Strukturen aber nicht auf, sondern unterstützen saubere Softwareentwicklung. Ich nenne jetzt nur mal als Beispiel saubere Interface Definitionen und Dependency Injection. Sollte der Dependency Injection Container nicht mehr taugen, kann man ihn relativ problemlos austauschen. Schwieriger wird es da bei der Darstellungsschicht; aber mit einer sauber abgegrenzten Architektur lässt sich auch diese ersetzen, ohne alles ändern zu müssen.

Für Mai 2015 ist Symfony 2.7 angepeilt – das nächste LTS-Release, mit dem man vier Jahre planen kann, bis das EoL erreicht ist. Und es stellt aller Wahrscheinlichkeit nach das letzte Release des 2er-Zweigs dar. Wird das die Version eurer Wahl?

Philip Washington Sorst: Wir zielen zurzeit natürlich auf das 2.7er-LTS-Release ab. Da aber bereits die Migrationspfade Richtung 3.0 von Symfony abgesteckt und die Roadmap veröffentlich wurde, orientieren wir uns bei der Implementierung schon daran. So sollte ein späterer Umzug auf Symfony 3 nicht allzu schwer sein.

Vielen Dank für dieses Interview!

Aufmacherbild: vintage microphone von Shutterstock / Urheberrecht: Aaron Amat

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -