03.2010-02.2011 Telekommunikationsunternehmen ============================================= Erweiterung der vorhandenen Abrechnungssoftware um einen neuen Zahlweg und der Möglichkeit von On-Demand-Abrechung. Aufgabe war Konzeption, Planung, Schneidung und Vergabe von Arbeitspaketen, Einarbeitung neuer Entwickler, Entwicklung, Unterstützung bei der Qualitätssicherung und Inbetriebnahme. Nebenbei wurden in der seit 6 Jahren gewachsenen Abrechnungssoftware umfangreiche Refactoring-Maßnahmen durchgeführt, welche die Software testbarer, erweiterbarer, performanter, pflegeleichter und zukunftssicher machten. Seit Nov. 2010 kamen als leitender Entwickler noch Schnittstellenvereinbarung, Prozessmodellierung, applikationsübergreifende Architektur und Koordination bei der Lösung von Problemen im Betrieb hinzu. Java 6, JEE 5, Spring 3, Sybase ASE 12.5 und 15, JDBC, JMX, Hibernate, SLF4J, XFire, CXF, Hibernate, JUnit, DBUnit, Maven 2, Ant, SVN, Magic Draw, Signavio, Eclipse, Linux, Solaris. _______________________________________________________________________________ 12.2009 - 02.2010 Staatliche Einrichtung ======================================== Konzeption, Entwicklung und Inbetriebnahme einer Software zur An- steuerung von LED-Anzeigetafeln auf dem Gelände einer staatlichen Einrichtung aus dem Sicherheitsbereich. Die Software wertet Nach- richten von einem Alarmierungssystem aus und zeigt entsprechende Meldungen auf den Anzeigetafeln. Das Personal in der Zentrale kann das Verhalten der Software über eine Weboberfläche steuern. Zum Betrieb dieser Software habe ich ein Ubuntu Linux 9.10 als Kiosk-System aufgesetzt, welches mit der Kombination aus Postfix und Dovecot Mails von dem Alarmierungsystem empfängt. Die Software habe ich mit Java, Spring, ZK, Netbeans und Maven entwickelt, läuft auf einem Tomcat Server, greift über Hibernate/JPA auf eine MySQL Datenbank zu, wird in einem Subversion (SVN) Repository verwaltet und über einen spezielle für ein Kiosk-System konfigurierten Firefox Browser bedient. Die LED-Anzeigetafeln steuere ich über eine von mir in C entwickelte und über JNI in die Software eingebundene Biblio- thek über einen USB-Serial-Adapter an. Java 6, JEE 5, Spring 3, ZK 5, JavaMail 1.4.3, SLF4J, Hibernate, JPA, MySQL, Netbeans 6.8, Maven 2, JNI, gcc, RS-232, Ubuntu 9.10, Postfix, Dovecot, SMTP, IMAP, Firefox _______________________________________________________________________________ 09.2009 - 12.2009 Softwarehaus ============================== Testdaten zur Prüfung einer Anzeige- und Verwaltungssoftware von S1000D-konformen Dokumenten erstellen. Entwicklung eines Tools, das die S1000D XML-Schematas nach vorgegeben Kriterien analysiert und daraus Testfälle ableitet. Entwicklung eines Testdatengenerators für S1000D-konforme Dokumente. Statistischen Auswertung von S1000D-konformen Produktivdaten und Abgleich der Testdaten mittels selbst geschriebener Tools. S1000D, XML, dom4j, Java 6, JUnit 4, Eclipse 3.3, Netbeans 6.7, SVN _______________________________________________________________________________ 08.2006 - 06.2009 Handelskonzern ================================ Betreuung, Weiterentwicklung, Überarbeitung und Migration verschiedener Anwendungen im SAP-Portal-Umfeld. Entwicklung und Projekt-Koordination bei einer ins SAP Portal integrierten Anwendung zur einheitlichen Dokumentation von Geschäftsprozessen. Ziel war Inhalte aus einem Pironet CMS, aus ARIS und aus SAP-KM unter einer einheitlichen WebDynpro Oberfäche zusammenzuführen und mit einander zu verknüpfen. Insbesondere wurden Web-Services entwickelt, um ARIS-Modelelemente mit Inhalten in anderen Systemen zu verknüpfen, generierte Dokumente im SAP-KM abzulegen und die Strukturen im ARIS mit denen im KM abzugleichen. Im einzelnen wurde ein Portal-Service erstellt, der die KM-Funktionalität hinter einer einheitlichen Schnittstelle für das WebDynpro Frontend, den Webservice und einem Scheduler-Task zur Datenreplikation kapselt. Aus Performance-Gründen wurde der KM-Dateibrowser in WebDynpro nachimplementiert. Vollständige Überarbeitung einer Intranet-Anwendung zur konzernweiten Erfassung und Konsolidierung von Steuerdaten. Einführung einer konsistenten, modularen Architektur. Umstellung der Persistenz-Schicht von EJB und JDBC auf iBATIS. Entwicklung von Unit-Tests. Bereinigung des vorhandenen Codes zur Workflow-Steuerung, der EC-CS-Anbindung über JCo und der Einbindung eines in PHP realisierten Worksheet-Servers der Firma Jedox. Umstellung der Webservices zur Kommunikation mit dem Worksheet-Server auf axis2. Einbindung ins SAP-Portal und Anbindung ans Active Directory für SSO (Single Sign On) und Rechteverwaltung. Entwicklung eines WebDynpro basierten Frontends zum konzernweiten Berechtigungsmanagement. Abstimmung der Backend-Schnittstelle und Ansteuerung des Backends über Web-Services. Einbindung von POI zur Generierung von Excel-Reports. Erweiterung einer vorhandenen HTMLB-Anwendung zur konzernweiten Verwaltung von Anwenderdaten. Dabei wurden Eingabefelder für zusätzliche Attribute ergänzt, die direkt per LDAP über ADAM in einem Active-Directory gespeichert wurden. Überarbeitung zweier WebDynpro-Frontend-Anwendungen mit SAP-Backend zum Talent-Management und zur Auswertung von Umfragen. Dafür war eine Anpassung des Portal-Theme zur Fehleranzeige notwendig. Mitarbeit (Konzeption und Test) bei der Einführung von SAP GRC zur automatischen Überwachung von Compliance-Regeln in SAP Systemen. Entwicklung einer modularen Monitoring Lösung für den Netweaver Application Server auf Basis von GRMG. Unterstützung und Beratung bei der Automatisierung von Build-, Deployment- und Testprozessen mittels Ant. Entwicklung, Bereitstellung und Betreuung verschiedener Werkzeuge zum Internationalisieren von JEE- und WebDynpro-Anwendungen und zum Vorbereiten großer Rollouts (User-Listen prüfen, LDIF-Skripte erzeugen). ----- SAP Netweaver 6.40 und 7.0 (2004s), NWDS, NWDI, WebDynpro, HTMLB , SAP-KM, SAP GRC, Java 1.4, J2EE 1.3, LDAP, Web-Services (SAP und axis2), Oracle IAS 10.1.2, Oracle 10g, JUnit, iBATIS, POI, Eclipse, Serena Dimensions, Mercury TestDirector _______________________________________________________________________________ 05.2006 - 07.2006 Online-Versandhandel ====================================== Migration mehrerer PHP- und Java-basierter Online-Shops von Sybase auf MySQL bei einem sehr großen Versandhändler. Konzeption und Entwicklung von Unit-Tests und Test-Generatoren für Stored-Procedures in MySQL nach vorheriger Analyse der Stored-Procedures in Sybase. Unterstützung bei der Diagnose und Bereinigung von Fehlern. Entwicklung, Durchführung und Auswertung von Performance-Tests für Stored-Procedures. Entwicklung, Durchführung und Auswertung eines Performance-Tests für ein PHP-basiertes Persistenzframework. Dazu wurden mit selbstenwickelten Commons HttpClient basierten Lastgeneratoren über einen Web-basierten Java-PHP-Adapter Last auf dem Webserver erzeugt und die Messergebnisse in eine MySQL-DB geschrieben. Diese Messwerte wurde nachträglich mittels JFreeChart visualisert. ----- Java 1.4, PHP, MySQL-Stored Procedures, Eclipse, Velocity, Groovy, Apache Jakarta Commons HttpClient, JUnit, JFreeChart, SUSE Linux _______________________________________________________________________________ 09.2005 - 06.2006 Handelskonzern ================================ Einführung eines Content-Management Systems auf Basis von Pirobase als Dokumentationsgrundlage für ein konzernweites Common-Template-Accounting System. Konzeption und Entwicklung eines Werkzeugs zur Migration von Daten aus Excel und Lotus Notes in Pirobase. Das Werkzeug liest die Daten über POI bzw. XML ein, parst und konvertiert HTML-Bestandteile mit NekoHTML und XSLT, verarbeitet Grafiken mit dem Java Advanced Imaging (JAI) API, führt ausführliche Konsistenzprüfungen durch und erzeugt mittels Velocity eine Pirobase-konforme Importdatei. Fachliche- und technische Unterstützung beim Komponententest vor-Ort beim Lieferanten mittels JUnit, Cactus, JMeter u. Beanshell. Das erforderte die Auseinandersetzung mit der J2EE-konformen, mit Spring u. Hibernate realisierten Backend-Architektur und dem Oracle-Datenmodell. Unterstützung des Fachbereichs bei Konzeption, Planung und Durchführung der Testaktivitäten. TestDirector Administration. Unterstützung bei Deployment und Fehlersuche. ----- Java 1.4, J2EE, Eclipse, XML, XSLT, SQL, Velocity, JMeter, JUnit, Cactus, Oracle IAS 9.0.4, Oracle 10g, Hibernate, Spring, PVCS Dimensions, Mercury TestDirector, Linux _______________________________________________________________________________ 03.2005 - 08.2005 Handelskonzern ================================ Bereichsübergreifende Standardisierung und Automatisierung von Build-, Test- und Releasemanagement-Vorgängen bei Java-Projekten. Konzeption, Planung und Durchführung der Umstellung von PVCS VM auf PVCS Dimensions. Entwicklung von Ant-Tasks und Buildskripten zum komfortablen Umgang mit Worksets, Design-Parts und Baselines über Eclipse. Entwicklung eines CruiseControl Plugins für PVCS Dimensions zur Automatisierung von Build-, Test- und QS-Aktivitäten. Konzeption eines Defect-Workflows und technische Umsetzung über TestDirector-Skripte. Durchführung von Lasttests mit JMeter. Entwicklung eines Konzepts zur Vereinheitlichung der Anzeige von Fehler- und Wartungsseiten bei verschiedenen Intranet-Applikationen. ----- Java 1.4, Eclipse, Ant, CruiseControl, PVCS Dimensions 8.1, Mercury TestDirector, JMeter, Dependometer _______________________________________________________________________________ 09.2004 - 02.2005 Handelskonzern ================================ QS einer Intranet-Anwendung zur konzernweiten Erfassung und Konsolidierung von Steuerdaten. Technisch wurde dies durch eine J2EE Anwendung gelöst, welche über einen WebService mit einem Worksheet-Server kommuniziert und über JCo Daten und Benutzerrechte mit ein SAP EC-CS System abgleicht. Aus Performace-Gründen lief die Anwendung auf einer Cluster-Umgebung. Unterstützung bei der Erarbeitung einer Architektur mit dem Ziel möglichst viel Code aus früheren Projekten wiederzuverwenden. Aufsetzen eines Build-Prozesses der mittels CruiseControl, Ant und Dependometer die Einhaltung von Architekturvorgaben überwacht, die Codequalität misst und bei Änderungen an von mehreren Projekten genutztem Code Alarm schlägt, wenn die Änderung in einem Projekt zu Fehlern führt. Durchführen von Lasttests mit JMeter und Unterstützung beim Performance-Tuning mit JProbe. Konzeption und Durchführung von manuellen Tests mit TestDirector und teilweise Automatisierung mit JMeter. Unterstützung bei Deployment und Fehlersuche. ----- Java 1.4, EJB 2.0, Eclipse, JProbe, JMeter, Oracle IAS 9.04, Oracle 9i, JProbe, Worksheet-Server von Jedox, PHP, Struts, JCo, SAP R/3 EC-CS, Windows 2000 _______________________________________________________________________________ 10.2001 - 08.2004 Handelskonzern ================================ Iterative Entwicklung einer Internet-Anwendung für Lieferanten zur Auftragsannahme und Vorbereitung der Lieferung mit Anbindung an ein Warenwirtschaftssystem in Hong Kong. Die Anwendung hat eine Workflow-Engine zum Verwalten der Auftragspositionen und zum Verschicken von Mail Benachrichtigungen. Als Nebenprodukt wurde mit den gleichen Sourcen ein Handwerkerportal entwickelt. Planung und Durchführung der Testaktivitäten. Entwicklung von Testprogrammen und Mock-Implementierungen um einzelne Komponenten unabhängig von Backend- oder Frontendfunktionalität zu testen. Automatisierung des Build- und Integrationsprozesses mit Ant, Cruise-Control und verschiedener, teilweise selbstgeschriebener Testframeworks. Konzeption und Durchführung von Last-, Performance- und Robustheitstests mittels JMeter, HttpUnit und einem selbstgeschriebenen Lasttest-Framework. Bestimmung der Engpässe mit JProbe und selbst geschriebenen Analysetools und Durchführung bzw. Koordination der entsprechenden Optimierungen. Automatische Software-Qualitätssicherung mit Tools zur Erstellung von Metriken wie JDepend und Dependometer. Entwicklung eines Programms für Diagnose und Überwachung der verschiedenen Web-Anwendungen. Beratung und Betreuung bei der Einführung neuer Technologien wie EJB 2.0, Webservices und Tapestry. ----- Oracle Applikationsserver und Datenbank, JBoss, Tomcat, J2EE, EJB, MagicDraw, JDeveloper, NetBeans, Eclipse, Ant, JUnit, JUnitPerf, HttpUnit, JMeter, JCo (SAP), Struts, Tapestry, jakarta-commons, JDOM, XML, XSLT, Dependometer, JProbe, ITracker, Mercury TestDirector, PVCS Dimensions, AIX und Windows NT _______________________________________________________________________________ 06.2001 - 09.2001 Softwarehaus ============================== Implementierung von fachlichen Komponenten einer Finanzcontrollingsoftware Konzeption und Implementierung einer Onlinehilfe mit Editiermöglichkeit. Realisierung der Authentifizierungskomponente (Login, Rollen- und Benutzerverwaltung). Konzeption und Realisierung eines sicheren Lizenzierungsverfahrens. Automatisierung des Integrationsprozesses über Ant. Entwicklung von JUnit-basierten Testprogrammen. Realisierung eines Frameworks für automatische Oberflächentests mit der java.awt.Robot-Klasse. ----- JDK 1.3, JCE, Enhydra (DODS), Ant, Tomcat, JBuilder, Rational Rose, PVCS, JUnit, XML, XSLT, Oracle 8.1.7 _______________________________________________________________________________ 08.1998 - 03.2001 Behörde ========================= Entwicklung eines Frameworks und einer Methodik zur Bereitstellung von Standard- software für Finanzämter. Konzeption und Durchführung der Integrationstests für die Komponenten des Frameworks. Coaching von neuen Mitarbeitern bei der Entwicklung von Testprogrammen. Festlegung von Richtlinien für nicht funktionale Tests (Robustheit, Performance). Entwurf und Implementierung eines Testframeworks. Planung und Entwicklung von Testprogrammen für Integrationstests. Festlegung und Prüfung von Annahmekriterien für Software-Komponenten. Konzeption und Entwicklung der Installationsprogramme für das Produkt sowohl für die Testumgebung, als auch für den produktiven Einsatz. Entwurf und Implementierung einer Komponente zur technischen Abbildung der Finanzamtsorganisation und der zugehörigen Schnittstellen. Verarbeitung des Geschäftsverteilungsplans im XML-Format und Abbildung auf persistente San Francisco-Datenstrukturen. ----- San Francisco, JDK 1.1, 1.2 und 1.3, Continuus, GNU-Tools, Rational Rose, JBuilder, Kawa, Apache, Tomcat, Oracle 8i, StarOffice, XML, XSLT, Perl, WinRunner, TestDirector, JProbe, JTest _______________________________________________________________________________ 08.1995 - 07.1998 Softwarehaus ============================== Planung und Entwicklung eines Besucherverwaltungssystems als Client-/Server-Anwendung Anforderungsanalyse Evaluierung von Entwicklungswerkzeugen DB-Entwurf nach ER-Methode GUI-Design und Implementierung in Clarion for Windows (ein Applikationsgenerator) Anpassung an verschiedene Datenbanksysteme Realisierung von kundenspezifischen Anpassungen Entwurf und Implementierung einer Intranetanbindung für das Besucherverwaltungs- system als Applet/Servlet-Kombination mit einer Datenbankschnittstelle über JDBC Erweiterung um kundenspezifische Anforderungen (z. B. Verwaltung von Besprechungs- räumen, Mitarbeiterdatenimport) Implementierung von Schnittstellen zu Spezialhardware, wie Barcodeleser, Ausweisleser, Anzeigetafeln, SPS und Touchscreen. ----- JDK 1.1, JSDK, JDBC, Visual Cafe, Windows 95, NT, Clarion, ODBC, Sybase Anywhere 5.5, MS-SQL-Server 6.5, Oracle 7.3, RS232-API