pages/technical_details #
Daily Fratze existiert seit 2005. Zu Beginn war es ein einfaches PHP Skript, dass alle Dateien aus einem bestimmten Verzeichnis, die entsprechenden Namenskonventionen genügten, auslas und kalendarisch darstellte.
Dies wurde sehr schnell unhandlich und im Frühjahr 2006 nahm ich das erste Rails Buch in die Hand und es entstand die erste Daily Fratze Version, die Mehrbenutzerfähig war und einen intelligenten Upload hatte.
Zu dieser Zeit war gerade Ruby on Rails 1.1 aktuell.
Bis zum Sommer 2011 entwickelte ich die Ruby on Rails Version kontinuierlich weiter und erlebte unter anderem die Versionen 1.2, 2.0, 2.1 und 2.2 des Frameworks mit. Mehrfach haben diese Upgrades “geschmerzt”, da sie oft nicht abwärts kompatible Änderungen mit sich brachten. Ich hielt Ruby on Rails bis Version 2.3.5 die Treue.
Mit Rails > 2.3.5 hielt ein Bug Einzug, der zumindest im 2.3.x Zweig bis heute nicht gefixt ist: Im Zusammenhang mit Rack wurden Formulardaten “verstümmelt”. Hinzu kam die Entwicklung mit Rails 3. Es gibt etliche Tutorials, wie eine 2.3.x Anwendung auf Rails 3 migriert werden kann und keines davon bietet einen “einfachen” Weg. Etliche Teile meiner Anwendung hätte ich neu schreiben müssen.
So kam es, dass ich im Dezember 2010 mit der Arbeit an einer komplett neuen Version der Anwendung begann, die im Juni 2011 veröffentlich wurde. #df2 ist nun eine Java Anwendung auf Basis des Springframeworks.
Das Datenmodel ist so gut, dass ich es problemlos weiter nutzen kann. Als ORM Mapper kommt natürlich nicht mehr ActiveRecord, sondern JPA2 mit Hibernate Implementierung zum Einsatz.
Die aktuelle Anwendung liefert keine XHTML 1.0 Dateien mehr aus, sondern HTML 5. Das Layout wurde von Grund auf neu entwickelt, nur die Farben sind, wenn auch anders verteilt, dieselben geblieben.
Aktuell nutze ich als IDE die SpringSource Tool Suite und setze GIT als Source Repository ein. Beides Werkzeuge, die im Vergleich zu TextMate und SVN die Produktivität ungemein gesteigert haben.
Statt Phusion Passenger kommt natürlich nun ein Java Application Container zum Einsatz, namentlich Tomcat, der per mod_proxy_ajp an Apache angebunden ist.
Ich bin froh, lange und intensiv mit Ruby on Rails gearbeitet zu haben, denn es hat meine Sicht auf viele Dinge grundlegend verändert und dafür bin ich dem Framework und den Menschen dahinter dankbar. Für mich war es Zeit, etwas neues zu wagen und die aktuelle Java Version von Daily Fratze bestätigt meine Entscheidung.
Weitere “historische” Einzelheiten wurden in diesem Post zusammen gefasst.
'Daily Fratze früher' zeigt, wie sich Daily Fratze seit 2006 verändert hat
Von September 2006 bis März 2007 lief die Rails Version auf einem Mac Mini bei mir zu Hause, danach bis Februar 2009 einem Server bei Manitu unter Debian Etch. Seit Februar 2009 steht der Server nun bei Strato und hat seitdem Debian Etch, Lenny und Squeeze gesehen und in der Zeit sowohl die Rails Version als auch bis jetzt die Spring Version betrieben.
Der aktuelle Server steht nun im zweiten Jahr bei Hetzner und läuft nach Squeeze nun auf Wheezy. Mit dem Preis/Leistungsverhältnis von Hetzner bin ich nach wie vor sehr zufrieden.
Meine Fachkenntnisse aus diesem Projekt und meinen beruflichen Projekten umfassen unter anderem:
- Professionelle Java J2SE Entwicklung mit Java 1.4 und Java 5
- u.a. Datenbankgestützte graphische GIS Anwendungen
- Professionelle SQL Entwicklung
- Umfassende Erfahrung mit Eclipse
- Umfassende Datenbankkenntnisse in Oracle 8, 9i und 10g, u.a.
- Stored Procedures / Functions und Packages
- Stored Objects
- J2EE in der Datenbank
- Fundierte Oracle Forms 6.0 Kenntnisse
- Datenbankentwicklung mit MySQL 4.x und 5.0
- J2EE Entwicklung mit Spring und Hibernate sowie sichere Handhabung des Grails Frameworks
- Ruby On Rails Entwicklung (von Version 1.1 bis 2.3.12)
- Programmierung mit PHP 4 und 5
- XML Verarbeitung mit JDom, Xalan, JAXB und JAXP sowie sicherer Umgang mit XSLT
- Sicherer Umgang mit (X)HTML und CSS.
- Sicherer Umgang mit Unixartigen Betriebssystem (Mac OS X sowie verschiedene Linuxdistributionen), Kenntnisse in Bash Programmierung
- Gute Kenntnisse in der Konfiguration und Verwaltung von Windows 2000 und XP
- Seit Mai 2008 bin ich obendrein SCJP
- Adobe Flex / ActionScript Kenntnisse
- Facebook API Programmierung
- Plotter Steuerung mit Java SE
- Projektmanagement
- Automatisierte Edifact Verarbeitung
- Seit Mai 2012 bin ich Certified Spring Professional
- Umfassende Kenntnis von JPA2 (mit Hibernate 3.x / 4 als Provider)
- Umfassende Erfahrung und Arbeit mit Spring 3.0 / 3.1
- Grundkenntnisse JEE 6
Nützliche Erfahrungen teile ich gerne unter info.michael-simons.eu.
Bei Fragen zum Projekt selber oder anderweitigen technischen Fragen sowie Projektangeboten wendet euch bitte an die im Impressum angegebene Adresse.
Dank für den freundlichen Support geht an: