Für den größten deutschen Mischkonzern wurde eine Webanwendung entwickelt, die den Steuerberatungsprozess für alle weltweit stattfindenden Projekte des Unternehmens abbildet.
Der Einsatz gliederte sich in die Phasen "Entwicklung" und "Regelbetrieb". In der ersten Phase war ich Teil eines vierköpfigen Entwicklerteams. Die zweite Phase habe ich dann über ein Jahr lang als einziger Entwickler bestritten. Später kamen zwei Entwickler im europäischen Ausland dazu. Diese habe ich zunächst eingearbeitet, um die Weiterentwicklung der Anwendung im Anschluss gemeinschaftlich voran zu bringen. Die Kommunikation im Team fand dabei ausschließlich auf Englisch statt.
Die Webanwendung basierte auf JSF in Verbindung mit Richfaces. Die Geschäftslogik war in einer Schicht aus EJB-Services implementiert.
Der Zugriff auf die Oracle Datenbank wurde über JPA-Entities, JPQL-Queries und die Criteria API realisiert. In Fällen, die über den Standard hinaus gingen, wurde Hibernate direkt eingesetzt (Lazy-Loading über FieldHandler, Erweiterung des Dialekts, Sortierung). Ein Teil der über die Weboberfläche eingegebenen Daten sowie hochgeladene Dateien wurden in einem Java Content Repository (Jackrabbit) abgelegt.
Eine externe Reporting-Komponente war über eine REST-Schnittstelle angebunden.
Der Steuerberatungsprozess selbst war innerhalb eines Oracle BPM-Systems modelliert und wurde über einen Web-Service angesprochen. Eine besondere Herausforderung dabei war die Berücksichtigung der Nebenläufigkeit der dort stattfindenden Prozessschritte, die wechselseitige Kommunikation zwischen BPM und JBoss und die teilweise nötige Synchronisierung dieser beiden Systeme.
Ebenfalls über einen Web-Service wurde die Verbindung zu einer anderen Anwendung hergestellt, aus der regelmäßig Daten importiert werden mussten.
Meine letzte Aufgabe war die Ablösung des Oracle BPM-Systems, die Abbildung des Beratungsprozesses in einer eigenen, auf das Wesentliche reduzierten Implementierung und die Migration der zugehörigen Daten.
Im Rahmen dieses Projekts wurde eine für den weltweiten Einsatz konzipierte, mehrschichtige, java-basierte Webanwendung für einen großen deutschen Sportwagenhersteller weiterentwickelt.
Die Anwendung selbst basierte auf der Java Enterprise Technologie. Die Anbindung an die Oracle-Datenbank erfolgte über JPA/Hibernate. Als Front-Controller kam JavaServer Faces in Verbindung mit Facelets zum Einsatz. Die Javascript-Bibliothek jQuery wurde auf der Benutzeroberfläche für besondere interaktive Elemente eingesetzt.
Analyse
Beratung
Dokumentation
Entwicklung
Implementierung
Support
Für eine gemeinnützige Unternehmung wurde Beratungsleistung bezüglich der Onlinepräsentation der Organisation erbracht.
Im Anschluss an die Konzeptionsphase erfolgte die Umsetzung unter Verwendung des Content-Management-Systems Drupal.
Das System unterstützte mehrere Sprachen und ein rollenbasiertes Berechtigungskonzept.
Neben der reinen Vorstellung der Organisation im Netz wurden auch Community-Aspekte und die Unterstützung interner Arbeitsabläufe berücksichtigt.
Das Projekt wurde von mir eigenverantwortlich im direkten Gespräch mit dem Kunden durchgeführt.
Für ein Startup-Unternehmen wurde
ein Prototyp für eine webbasierte Handelsplattform entwickelt.
Ein besonderer Fokus lag darauf, ein offenes und skalierbares System für die wachsenden Anforderungen eines entstehenden Unternehmens zu schaffen. Eine Festlegung auf bestimmte Hersteller und Laufzeitumgebungen sollte in dieser Phase möglichst vermieden werden. Die Architektur sollte stattdessen auf die Austauschbarkeit und Erweiterbarkeit der Komponenten zu einem späteren Zeitpunkt ausgerichtet sein. Vor diesem Hintergrund wurde das System als verteilte, mehrschichtige Anwendung aus modularen Komponenten auf Basis des Applikationsframeworks Spring angelegt. Dem Model-View-Controller-Muster wurde durch den Einsatz von JavaServer Faces Rechnung getragen. Die Persistenzschicht benutzte JPA mit Hibernate als Provider und griff so indirekt auf eine MySQL-Datenbank zu. Eine Erweiterung um AJAX-Funktionalität (zB. über ICEfaces, RichFaces) war vorgesehen. Technische Aspekte wie Transaktionen und Sicherheit sollten über AOP isoliert werden. Die anvisierte Laufzeitumgebung war ein Tomcat-Server.
Eclipse diente als
Entwicklungstool.
Das Projekt wurde von mir eigenverantwortlich im direkten Gespräch mit dem Kunden durchgeführt.
In einem kleinen Team von Entwicklern wurde eine Software zur Ermittlung und Verwaltung von Betriebskennzahlen erstellt. Eine Komponente dieser Anwendung beschäftigte sich zudem mit dem Generieren von Berichten für verschiedene Zielgruppen innerhalb eines Unternehmens.
Die Implementierung erfolgte in VB.Net mit einer Anbindung an eine MS-SQL-Datenbank. Als Entwicklungstool kam Visual Studio .Net 2003 zum Einsatz.
Rolle: Berater, Architekt, Entwickler, (techn.) Projektleiter
Kunde: E-Commerce
Aufgaben:
Eine
inzwischen auf dem internationalen Markt für Pferde operierende Kundin
wurde bezüglich der Etablierung eines webbasierten Informations- und
Pferdevermittlungssystems beraten.
Es erfolgte zunächst die
Eigenentwicklung eines Content-Management-Systems auf PHP/MySQL-Basis.
Das System ist spezialisiert auf die Erfassung und Verwaltung von
Pferdedaten inklusive der zugehöriger Bilder, Videos und
Verwandtschaftsbeziehungen.
Mit zunehmendem Erfolg der Plattform fanden
2004 eine Umstrukturierung und Erweiterung statt. Um die ursprüngliche
Zielgruppe der potenziellen Kunden in den USA auch auf den
deutschsprachigen Raum auszudehnen, wurde das CMS 2006 um die Fähigkeit
erweitert, Inhalte in verschiedenen Sprachen anzuzeigen.
Das Projekt wurde von mir eigenverantwortlich im direkten Gespräch mit der Kundin durchgeführt.
Eingesetzte Technologien:
PHP, MySQL
Aufgaben:
Die Diplomarbeit beschäftigte sich mit evolutionären Algorithmen und Virtual Life. Der umfangreiche Softwareteil beinhaltete die Entwicklung einer komplexen Simulationsumgebung für virtuelle Lebensformen. Für die notwendigen physikalischen Simulationen wurde über das Java Native Interface (JNI) eine entsprechende C-Bibliothek eingebunden. Auf der 3D-Visualisierungsebene kam Java3D zum Einsatz. Beide Bibliotheken wurden aneinander gekoppelt, um laufende Simulationen in Echtzeit darstellen zu können. Aufgrund des prinzipbedingt hohen Rechenaufwands der Simulationen und der großen Anzahl durchzuführender Simulationsläufe wurde ein verteilter Ansatz nach dem Master-Worker-Schema gewählt. Den Kern bildete hierbei die JavaSpaces-Referenzimplentation von Sun zur zentralen Verwaltung von Task- und Result-Objekten. JavaSpaces basiert in Teilen auf dem Jini-Framework, welches anpassungsfähige netzwerkbasierte Dienste ermöglicht. Auf dieser Grundlage wurde ein dynamisches Netz aus beliebig vielen Worker-Clients und (in der Regel) einem Masterknoten realisiert. Die Durchführung jeder einzelnen Simulation durch einen Worker wurde über Transaktionen abgesichert. Im Falle des Absturzes eines Workers wurde über Verfallszeiten der Transaktionen und ein automatisches Neustarten des Workers ein "Hängenbleiben" des Gesamtsystems verhindert. Eclipse diente als Entwicklungsumgebung.
Eingesetzte Technologien:
Java, Java3D, JavaSpaces, Open Dynamics Engine, JNI, ECJ (Evolutionary Computation Library), Unix-Shell
2006
Abschluss des Informatik-Studiums an der Universität Paderborn als Diplom-Informatiker (Dipl.-Inf.)
ERFAHRUNG
Profil
Sprachen
Frameworks
Infrastruktur
Kommunikation
Testing
Storage
Building & CI/CD
Monitoring
Projektmanagement
IDEs
Reporting
weitere Kenntnisse
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.