Portrait Christoph

Praktikumsbericht
Christoph B.

ErgoDent, die richtige Lösung für Ihre Zukunft

Entwickeln bei der CCS AG

Nach 4 Jahren Studium war es an der Zeit, die vertrauten Gebäude zu verlassen und die grosse weite Welt im Rahmen eines Praktikums zu erkunden. Die beste Möglichkeit, um mit Firmen in Kontakt zu kommen, ist meiner Meinung nach die Kontaktparty des VIS. Viele Firmen präsentieren sich und man kann auf eine einfache und unkomplizierte Art in Kontakt kommen. Dabei erhält man auch bereits einen ersten Eindruck des Unternehmens und der Mitarbeiter. Auf diese Weise lernte ich die CCS AG kennen, die im Bereich der Zahnarztsoftware tätig ist. Das folgende Vorstellungsgespräch, die Führung durch die Räumlichkeiten sowie das Kennenlernen des kleinen aber motivierten Entwicklerteams hinterliessen einen guten Eindruck bei mir. Und so entschied ich mich, die Theorie für eine Weile Theorie sein zu lassen und auszuprobieren, inwiefern mein Wissen in der Praxis bestand hat.

Einführung

Am ersten Tag wurde mir ErgoDent, die Zahnarztsoftware die die CCS AG entwickelt, etwas näher gebracht und ich wurde mit den Arbeitsabläufen bekannt gemacht. Danach konnte ich mich bereits an meinem Arbeitsplatz einrichten. Die nächsten Tage lernte ich die .NET Umgebung und vor allem WPF (GUI Framework von .NET) kennen. Dies tat ich im Rahmen eines kleinen Projektes, in dem ich einen ColorPicker implementierte, der, wie der Name schon sagt, das Auswählen einer Farbe ermöglicht.

iCalendar

Danach bekam ich bereits mein eigenes Projekt, nämlich das Entwickeln einer Library, die das Exportieren von Terminen ermöglicht. Das Endziel war es, Termine aus der Agenda von ErgoDent mittels eines Webservice zugänglich zu machen, so dass Patienten oder Mitarbeiter ihre Termine auch auf dem Smartphone oder in ihrer Kalenderapplikation wie z.B. Outlook sehen können. Die Library soll die Termine im iCalendar Datenformat (.ics oder .ical) speichern und das Hinzufügen, Entfernen und Ändern von Terminen erlauben.
Standards wie das iCalendar Datenformat sind meist in einem RFC (Request for Comments) definiert. In diesem Dokument ist das Format bis ins kleinste Detail beschrieben. Mit diesem Wissen konnte ich dann entscheiden, welche Informationen der Termine exportiert werden sollen und wie die Architektur der Library aussehen soll. Um einzelne Termine in einem .ics File zu ändern oder zu löschen brauchte ich auch einen Parser. Ich schätzte die Freiheiten sehr, die ich bei der Umsetzung dieses Projektes hatte, wusste aber auch, dass ich jederzeit auf die Hilfe von erfahrenen Entwicklern zurückgreifen konnte.

Installer

Als nächstes durfte ich die Installation des ErgoDent Online Servers automatisieren. Bis anhin wurden alle Dateien manuell kopiert, die Services über Batch Files gestartet oder beendet und alle Konfigurationen von Hand angepasst. Da die Zielplattform Windows ist, entschieden wir uns ziemlich früh, WiX zu verwenden. Das ‚Windows Installer XML (WiX) toolset‘ ist ein OpenSource Projekt um Installer zu erstellen und wird mittlerweile auch von Microsoft eingesetzt. Wie der Name schon sagt ist es eine XML Sprache, in welcher die Bedingungen und die Ressourcen der Installation definiert werden.
Zu Beginn musste ich alle Abhängigkeiten und Systemvoraussetzungen ausfindig machen. Diese müssen dann vom Installer während des Installationsvorgangs überprüft werden und im Falle einer Verletzung einer Voraussetzung wird die Installation abgebrochen und die Änderungen rückgängig gemacht. Für viele dieser Voraussetzungen gibt es vordefinierte XML Elemente, z.B. um die Betriebssystemversion abzufragen oder zu limitieren. Für die komplexeren Abfragen werden externe Funktionen, die in unserem Falle in .NET geschrieben wurden, aufgerufen. Dazu (wie auch für die zu installierende Software) muss natürlich das .NET Framework vorhanden sein. Somit gehörte es auch zu meiner Aufgabe, einen Bootsloader zu erstellen, welcher, falls nötig, das .NET Framework installiert. Dieser Bootsloader stellt nur sicher, dass die richtige Version des .NET Frameworks vorhanden ist und startet danach den eigentlichen Installer.
Der Installer musste danach natürlich auch ausgiebig getestet werden, da er ab Windows XP sowie ab Windows Server 2003 funktionieren muss. Dazu hatte ich Zugriff auf virtuelle Server und führte die meisten Tests manuell durch. Dabei entdeckte ich immer wieder einmal kleine Unterschiede zwischen den Betriebssystemen und ihrem Verhalten mit Installern.

Arbeitsalltag

Der erfreulichste Unterschied zum Studium war für mich die 42 Stunden Woche. Ich will damit nicht sagen dass ich während dem Studium immer mehr Zeit aufwenden musste, aber die Arbeit ist auf diese Zeit beschränkt und abgegrenzt von der Freizeit. Der kostenlose Kaffee hilft am Morgen auf die Sprünge und an Anlässen wie dem Weihnachtsessen, dem Skiweekend oder Fondueplausch lernt man die Arbeitskollegen ausserhalb des Büros besser kennen. Diese Wertschätzung der geleisteten Arbeit motiviert und ist sicherlich nicht selbstverständlich.

Fazit

Das Praktikum ist eine super Möglichkeit, um das mühsam erlernte Wissen anzuwenden, eine neue Sichtweise auf Probleme zu erlangen und den Einstieg in die Arbeitswelt zu erleichtern. Ich habe sehr viel dazugelernt, sei dies konkretes Wissen über Frameworks und Programmiersprachen oder über das Arbeiten in einem Team. Auch schätzte ich es, viel Freiraum bei der Entwicklung zu haben und eigene Ideen umsetzen zu können, auf der anderen Seite aber bei schwierigeren Entscheidungen oder Unklarheiten auch immer eine Ansprechperson zu haben.

Praktikumsbericht
Christoph B.
Bachenbülach, 25.04.2013

ETH Studenten

Portrait Beat ErniSind Sie daran interessiert, in unserem Team mitzuwirken, und haben Sie weitere Fragen? Gerne steht Ihnen Beat Erni (Geschäftsführer) unter
Tel. 043 411 44 40 oder E-Mail an für weitere Informationen zur Verfügung.