1strom.de - Tarifrechner
Client : Energiebörse Deutschland - www.energieboerse-deutschland.de
Die Seite 1strom.de entstammt nicht meiner Feder, sondern wurde von der Energiebörse Deutschland (EBDTL) auf Joomla basierend erstellt. Mein Teil der Arbeit beschränkt sich hier auf den Stromtarifrechner, der mittlerweile auch Gas- und Heizöltarife vergleicht.
Die Idee zu diesem Tarifrechner kam in der Zeit auf, als der deutsche Strommarkt gerade liberalisiert wurde, was zu einem Preiskampf der Stromkonzerne führte.
Das Projekt war Anfangs auf etwa zwei Monate angesetzt. Diese Einschätzung stellte sich als utopisch heraus: Das Datenniveau war zu dieser Zeit, in der diese Daten erst erfunden wurden, noch unreif und veränderte seine grundlegende Struktur bereits nach drei Monaten völlig. Langfristig führte dies dazu, dass der Tarifrechner immer mehr unterschiedliche Daten verarbeiten musste, und ich die anfängliche Programmierung entsprechend lockerte.
Dies ging so weit, dass man diesesn Tarifrechner nun innerhalb weniger Minuten per XML auf Tarife egal welcher Art umstellen kann. Nach Fertigstellung des Stromrechners kamen Gastarife ins Gespräch. Ich war selbst etwas überrascht, als der Rechner nach etwa zehn Minuten Konfiguration mit den völlig neuen und andersartigen Daten zurecht kam, und diese gleichfalls darstellen konnte. Als dann das Heizöl dazu kam verringerte diese Zeit sich durch gewonnene Erfahrungswerte nochmals.
Die vertragliche Regelung mit der EBDTL sieht vor, einen Stromtarifrechner zu stellen, und enthält eine Standard-Konkurrenz Klausel. Allerdings liegen die Rechte an der Software weiterhin bei mir, so dass ich diesen Rechner innerhalb weniger Minuten für ein entsprechende Projekt betriebsbereit aufsetzen kann. Vielleicht haben Sie ja eine Idee?
Das Anspruchsvolle an diesem Projekt habe ich im Absatz zum Datenniveau sicherlich schon umrissen. Aber hinter der Oberfläche verbirgt sich weit mehr, als man als Benutzer des Rechners denken sollte. Die hier verwendeten Techniken sind PHP, SQL, XML und Javascript. Abgesehen vom Letzteren alles auf einem sehr hohen und umfangreichen Nivau:
- Das XML definiert die grundlegenden Datenstrukturen. Daher ist es auch so einfach den Rechner umzuwandeln. Im XML File wird den PHP Klassen erklärt, welche Datenbanken was enthalten, und wie die unterschiedlichen Datenströme sich auf einen gemeinsamen Nenner vereinen lassen. Beim Strom etwa gibt es etwa 15 verschiedene Arten von Daten, die teilweise gar keine Gemeinsamkeit haben (abgesehen von einem Namen und einem Anbieter). Trotzdem erhalten sie durch die implementierten Routinen am Ende mindestens die eine Basis: einen Preis den man gegeneinander vergleichen kann.
- Zu den Daten, die in verschiedenen Datenbanken lagern, kommen Daten aus verschiedenen XML Schnittstellen, also ist nicht nur das Niveau sehr verschieden, sondern auch die Quelle.
- Die Anwendung ist pfeilschnell, und dass, obwohl die Datensammlungen sehr umfangreich sind (einige Tabellen haben 60.000 Einträge, insgesamt gibt es etwa zwanzig Tabellen). Hier greifen eine gute Serverausstattung und eine sehr modulare, objektorientierte Programmierung ineinander.
Unerwähnt bis jetzt sind weitere Features, die ich nur mit Stichworten anreißen möchte: Datenadministration, PDF Verarbeitung, Instanziierung des Rechners auf Seiten von Vertriebspartnern, Verteilung des Projektes auf drei verscheidenen Servern (Files, Working Copy und SVN), automatische Datenbereinigung uvm..
